Don't wanna be here? Send us removal request.
Text
Final outcome
please pretend that it did NOT bug out at the end. Much appreciated.
0 notes
Text
Finishing my tarot cards
Out of my 5 cards, the Create and Convert ones cause nearly all of the bugs. I've been trying to fix them during development ever since they were added, and it's never been particularly successful. Moreover, I'm not happy with them on a design level - it's more fun to play around an enemy with a movement ability than it is one who can just create new units or convert yours as those require no skill to use well.
As a result of these and the time left, I've decided to just destroy them. The two cards can no longer be drawn, and I feel like the game is slightly more balanced and considerably less buggy.
i also finally managed to create a texture for my Double card, one that has been missing since I started. I went through the same process as I have with the other cards - I come up with a design and iterate on it until I believe it to be sufficient. The main reason this has taken so long to create is that I didn't know how to convey the piece's ability to move in different directions, so after googling to find ideas, decided on the idea to just convey the pieces ability to move twice. I'm overall just happy to have a texture, even if I'm not too happy on this iteration. With that being said, I don't imagine I'll ever be happy with any icon for this card.
0 notes
Text
Playtesting and final fixes and final performance review
Overall, I didn't really accomplish what I set out to do. Although I managed to create a game better than expected, I have no controller. Moreover, the game has cards that are so egregiously buggy I just had to oblitreate them from the game.
Time management and focus weren't really problems as I had expected them to be. I feel that, with the time I had, I have made a decent game. That said, it is not one I feel is up to my standards and as such will not be put on Itch.io.
I either should have comitted to the controller or game from the start as doing both was wildly impractical
After taking my prototype home and playing it with my family, I came to a few conclusions:
1] the game was extremely buggy - not a single round was completed
2] the convert card converted random pieces
3] the create card very much could create pieces on an enemy-occupied tile, creating an Ambiguous Piece [it was invincible and disguised as a friendly whilst being an an enemy one. somehow.]
These problems should ideally be fixed by the end of today, as the game will be shown at Norwich Games Festival.
I found this to be the problem with my Convert card - it had been using the Destination vector [which was effectively the location of the last-clicked tile] rather than the original vector. However, when swapping the two, nothing was converted.
0 notes
Text
Game Anglia
Yesterday, we presented our [last] games at a games show in the Uni. of Suffolk. Reece, Louis and I presented Chroma


We weren't present for most of the time that our game was displayed [we forgot], howver when we were there we saw problems we had been aware of for some time - the game can be vague at points and we don't tell the players what to use the paints for [very subtle, I know]. However, the reception seemed to be generally fairly positive. Whilst I didn't speak to many developers, we talked to the developed next to our us while our game was displayed, and tried his game Ball. It was rudimentary, but pretty fun to play [even if I didn't know what to do at the start]. We did see something interesting done with the game though - rather than pulling the lever, a player decided to try to clip out of bounds using the teleport paint through a window. I genuinely don't know how we would go about preventing this, although a respawn box could be used to prevent a softlock.
Next time, we should have someone stationed at the game just in case a player goes off-track and to answer questions.

The only professional game we played was Ruya. It was a simplistic puzzle game made by Miracle Tea [that I was pressured into playing], but it was very well-balanced and fun to play. I didn't have many comments to the developers on it, but that's primarily because I played it for 3 minutes. I haven't wishlisted it because I only just remembered what it was called, and it's not the type of game I typically play. Having said that, as I did enjoy it, I may pick it up.

South Of The Circle was a game we had presented to us but we didn't get to play. It looked absolutely brilliant, with smooth animation, beautiful art, excellent voice acting, a wide array of interesting characters and a particularly fascinating [and true] story. I have wishlisted this and fully intend to try it sometime. It was developed by State Of Play in Cambridge, known for their unique approach to games development, utilising physical models and material.

The last part of the event was the awards ceremony. Valerie was named Best Indie Game, Task Time the Best Game Of Show and Chroma as the Best Student Game - our game won! The team and I were extremely happy, and we had an idea we would win given the language Fergus used - talking about 'retro graphics', how good the movement felt, and how the level of polish made it feel like a real game from itch [which it technically was] or steam!
Overall, the day was good but went on for far too long - we weren't too interested in the games and would have rather been working on our own, but the diversity in games presented was interesting and given that we came home with a trophy, I can't complain.
0 notes
Text
Drawing cards
The final features my game needed were a button to draw tarot cards [because I refused to have it on an arbitrary keypress] and an animation for doing so.
I used a holographic purple material [I discovered them earlier whilst making the arrow and have used them since] and text box for the button. It's simple, but will have to do.
I then amended my code in the player character for clicking on something. Initially, the functionality node would only be called if what was being clicked wasn't a tile. However, this led to making every tile black when I clicked on the pawn above it, so I had to improvise this. I know that it works because I hooked up a print string from 'event functionality'
I then added an animation and card-drawing functionality to the button. However, the arrow would still be present when the animation played [strangely enough, disappearing once it finished]
Given that I didn't know how to fix it and was pretty tired, I decided to work on something else. This was the code that set the image in my new widget, displaying the drawn card
And this is how the animation was triggered. It occurs every time a new card is drawn. Whilst this works well, I had a problem that the player won't nescessarily know what to DO with the card, despite the arrow helping a bit [if it starts working again]. I have two competing solutions - use what I have now, keeping the card on screen for 2-3 second but add a 'what does this do?' button in the bottom left, or have an explanation on the card, and have it disappear on button press. I'm currently leaning towards the second as it's more accessible, letting each player take the time they need to read what the card says.
I used a similar system to the card texture in the body and header text, but using text rather than texture. I messed it up twice by making the header read body text, forgetting I could create new lines via shift+space, and also forgetting how to format the text.
After all that, this is now the display. I still need to change the font, but overall I'm happy with how it turned out [even if it doesn't look like a Balatro card.]
As a callback to Tempting Fate and because they used similar colours and themes, I looked through the fonts I'd considered and decided on Grand Casino as it was the most legible.
0 notes
Text
Final Board modifications
I've added to the turn indicator with a blue/red light on the board. I may still need to have text at the top saying whose turn it is, but ideally all UI will be part of the model so that it's properly integrated into the world.
I later changed the material as the original didn't glow enough and added a metal cage around it - the material may be changed later to fit the aesthetic.
I'd say that Walnut is a better texture than steel.
And now the colour transitions via a timeline - just for that bit of polish.
0 notes
Text
Progress Report 3
I have completely abandoned creating a new controller as a result of not having the time, components or knowledge.
A sufficient number of tarot cards have been implemented and work fairly well. I have also programmed an arrow which has one bug that needs fixing but shouldn't take long. The art for tarot cards has also been created, but not yet implemented.
I am presently behind on my schedule due to unforseen additions [arrow] and misuderestimating [thank you president bush] the work needed to implement tarot cards. As a result, I will neede to program the Creation card, add animations for them all, and art/anims for a loading and startscreen. Art/anim for when the game ends and for a button that draws cards would be good, but isn't top priority as of this week.
0 notes
Text
More tarot cards
This was the code for my Creation card. Initially, I tried using the original/destination location system I would on, say, a normal move. However, I decided this would be confusing and the player should be allowed to spawn it via the first click. After programming this, it didn't work. I tried as much as I could, using all the diagnostic tools I knew [print strings] but nothing worked. Then as soon as I changed the spawn vector to the CORRECT variable, everything worked exactly as intended - I amaze myself.
With that said, the tarot cards are all now coded.
0 notes
Text
Creating an arrow
To easier communicate with the player about where they can go, I've elected to add an arrow. This arrow will follow the cursor and change colours depending on whether the selected move is valid.
I first added an 'arrow' [triangle] and two spheres - one would double as the start, and one as the end.
Initially, I believed I wouldn't have to use On Tick as it's expensive via using a custom update tied to the tile manager. However, I quickly realised that this wouldn't actually work, so I begrudgingly used On Tick. I then needed to make the end point follow the cursor.
This was eventually achieved via the above post. I couldn't find the relevant node as it coming from the player controller wasn't shown. My next problem was the direction - X and Y made sense, but Z appeared to be the mouse's distance from an arbitrary point in the bottom middle of the screen. However, after 20 mins of trial and error [aaaa], I managed to get roughly accurate numbers
Said numbers were fed into a line trace to nodes that would set the location of the end point and the arrow [the start was set by the manager from whatever tile was selected]. The arrow was always at the exact centre of the two points.
The next two systems I added was getting the arrow to always look in the correct direction - this was pretty easy. However, getting it to scale properly wasn't.
My estimations worked well diagonally,
but very poorly otherwise. As a result, I realised I needed a new system for working out the scale.
I redesigned my code a little and realised my problem - the arrow would scale in X, but not Y - it could only recognise one axis.
So. Pythagoras won't work - at least however I've done it
PYTHAGORAS DOES WORK I'd just forgotten to account for scale - 1 in the arrow blueprint editor is 100 in the world, so I needed to divide by 100 for an accurate result.
wahoo.
It gets even better - not only have I optimised this system, I can now do more with it. By cacheing the hit actor and checking to see if it's the same one as last time, the arrow will ONLY EVER move if the mouse is hovering over a different actor. Moreover, this means I can now lerp to the new actor for a smoother transition AND change the colour.
Initially I tried reusing my code to check what tiles the player could move to, however this relied on having the destination. As a result, the arrow would always be red. I would need to check what tile the mouse is hovering over.
THIS DOES WORK
Well, only with the top-left diagonal tile because I messed up the code.
Well that was a mess.
However, the arrow now works exactly as intended - I just had to rewrite the code THREE times and then completely forgot how I was conceptualising the code. Now all I need to do are add the checks for whether a friendly tile is on the destination piece, add the animation, and update the arrow more.
By throwing more and more updat[e] nodes at the manager, I've managed to get the arrow to update so that it's always pointing the right way and coming from the right tile. It's not pretty but goddamnit the arrow WORKS.
Well, that's simpler than expected.
I have managed to, with Reece's help, get all line traces moving correctly. A problem I had earlier was that towards the edges, they would get VERY innaccurate, but I'd never considered why. As it turned out, setting the start point to the world location was the issue - as soon as they all came directly from the same point in the viewport [with adjustments to the end point multiplier due to the angle] I managed to get the end points consistently on the mouse.
0 notes
Text
Progress Report 2
Development hasn't been great. No progress was made over the weekend as it was my birthday [let me have this ok]. Work on the tarot cards has been near nonexistent and where it has occured, it's gone very poorly. It has also led to the realisation that I don't know how they will work - particularly with when they are drawn or triggered.
0 notes
Text
tarot card art
Since I don't trust myself to get good programming work done at home, I've resorted to creating the tarot cards. My inspiration are the tarot, but also spectral and planet cards of balatro, and I believe it's appropriate to identify major traits between them.
Planets

Although the planets themselves don't have the same level of stylisation as the tarot or spectral cards, the individual cards contain more information. For instance, the actual planet is displayed at the top and the card combination to score the upgraded hand is displayed at the bottom - looking at the card suggests what it does before you even see the tooltip. However I doubt this will be something I can use - the cards don't have the different types of information displayed in planet cards.
Tarot

Tarot cards have a lightly smaller frame than planet cards, which leaves much more room for the icon - likely as that will be the most recogniseable thing. Moreover, only 4 colours are used for each which makes the art much more simplified than they otherwise could have been. It also gives the cards a unique palette to identify them at a glance.
Spectral

Spectral cards have some of the most wide-reaching effects, and the cards need to convey this. Some of the cards - Wraith, Immolate - display what the cards signify and will do, whereas the others - Ankh, Deja Vu - are a lot more vague. The contrast of yellow/blue, highlighted with the white and different shades helps to emphasise each cards icon and how it fits into the background.
Despite their name, I intend on taking visual inspiration with Spectral card icons for my tarot cards, using them to suggest what they do.
My first design was based off my chessboard model and used the spectral card as a base. I like the idea, but might want to even out the checkerboard pattern since it will be a background
It's an improvement, but I may have gone too far
It's good enough, for now,
Adding a frame for the text and gems from the board makes the card look a fair bit better. I should keep iterating on this, but it's a good base
Upon creating my first swap design, I decided to match the background colours more evenly. I also experimented with how I would highlight the two pieces, but found that adding lines made the pieces seem a lot shinier - for some reason.
This was my first design for the 4x movement card - I didn't know how to convey that the player could move 4 times the distance visually, and this was the best I could do.
I decided to add the stripes of my earlier prototype, and remove the arrows as it was too difficult to distinguish what they are.
Based off the Deja Vu spectrail card, I gave my convert gem a mixture of the two colours.
The icon has been embellished a fair bit more
This was my first version of the icon for a 'creation' card - one that spawns a new pawn. Initially, I intended to make it look like Star Trek's transporter before realising that would confuse its purpose - a design that I could, however, reuse for another card. Eventually, i settled on the idea of a piece being constructed or put together. Although I liked this design, I struggled to see it well on the card's checkerboard.
As a result, I added a gold border which I then shaded [everything can, and will, be shaded]. This makes it stand out a lot more from the background but to keep consistency I will need to add this border to the other cards.
Upon working on new designs, I ended up redrawing my Create card. Instead of a piece coming together, now it's performing mitosis. This is a LOT more recogniseable for what it it [the earlier design looked like it was breaking apart] however it doesn't look as cool.
0 notes
Text
Programming Tarot Cards
This was the turn check I made [the variable is reset when a piece moves, but this will likely have to be changed]
And THIS was my attempt at making a system to make an enemy pawn friendly. I genuinely can't read this, and why yes I'm struggling.
IT WORKS!
overnight, I had the idea that instead of creating one mega-block, I could create different movement systems for each tarot card. This is my one for swapping two tiles [misnamed teleport]. Because of my use of select nodes, this works for BOTH players!
Initially I thought this was broken as I hadn't hooked up the below directory correctly [or at all], however it occured to me I'd probably forgotten to finish.
The different movement systems are triggered via these nodes, which take variables from my tarot generator above to decide which effect is implemented. I also decided that using a tarot card ends your turn.
This was my first rendition of my convert card code - it should turn an enemy piece into a friendly one. Although this may work, it doesn't show it. The player isn't switching to clicking on the destination, and the pawn's gem isn't changing.
the gems were swapped via making use of an unused function [if I deleted it, the editor crashes. I love UE5.] which swapped the gem and set it as the material.
clicking on the destination was fixed by consolidating the ends of all destination nodes into a custom event - basically, the turn's end can be triggered whenever and will always do the same thing.
When dealing with allowing for double movement, I realised that I didn't even need to create new VTTO or VTTD blocks, I could just put a check in the actual movement logic. This is what I intially tried, but I couldn't get around the issue of it screwing up normal movement.
I was worried this system wouldn't work either, as it allowed the piece to move infinitely. However, it occurred to me that maybe I'd screwed up my directory and, upon checking, saw that I was effectively setting Move Check to 1 each turn. Putting that change in the tarot system instead allowed the double movement to work as intended.
That said, sometimes it didn't work. Or sometimes the convert card did nothing and the game got stuck. I never actually found out what the cause WAS, but I think I managed to solve it via a redesigning of the turn end system. You may notice a new Update node - that's for a bit of UI I created quickly to show who's turn it is as a debug tool.
Creating a tarot card to x4 one pawn's movement was also pretty easy, only needing two additional select nodes. However, it was at this point that I realised the player may not actually know where to go. The obvious solution is to tell them, but I want to avoid having to literally spell out the instructions - instead, I could have some kind of arrow or other indicator.
0 notes
Text
Designing tarot cards
A core part of the my game's gameplay and part of its distinction from standard chequers is the tarot card system. This, especially considering where I am in the plan, needs to be done, and soon.

My main inspiration has been Balatro's tarot cards in how they affects the gameplay, and their visual style and consistency.
As for my ideas for the effects, they are as follows
Switch the positions of one friendly and one enemy unit Allow up to 2 pieces to move twice rather than just once Allow up to 3 pieces to move double the normal amount of tiles Allow the player to move pawns per turn Create a new unit [or two]
For ease of programming, I've decided to shotern the scope of the project - rather than up to 3 cards active, the player can draw one tarot card per turn by pressing a button on the board. However, I'm not sure whether making the cards one-time uses or their effects only persisting as long as they're held [since here only 1 would be able to be held] would be better for the game - consumeable cards would lead to more effects being active at any point [so I would likely have to reduce the amount of pieces], however cards that only have an effect when held might make the game not different enough from standard chequers.
I feel like instant-use cards might be easier to program, truth be told, since they will only affect the game once.
After programming the cards, I came to the conclusion that immediate draws would be easier on programming, and more balanced. This is because I wouldn't need to program a way for multiple different effects to be active or for a specific one to be replaced, and it would weaken the tarot card effects a bit so that they wouldn't define who wins.
0 notes
Text
Misc
I tried to add black/white marble textures to my pieces to go with the diamond/ruby additions I'd made, however the black marble stoof out FAR more than the white and it looked inconsistent
Going with nickel/gold and wood looked a little better
As did copper/gold and wood.
0 notes
Text
Camera, collision and animations
I made a custom preset for my pawns - now, they don't react to being clicked on as the line trace goes right through them. Not only does this allow the player to click anywhere on the tile, but it has the added effect of not making the pawn teleport to 0,0,0 when clicked [because no I never fixed that.]
I extruded parts of the board to give it a little more depth and then added it to the game. It's not perfect, but I like it.
I fixed the colour-change animation in the tile by getting the parameter BEFORE the animation plays. I also added an animation to make the tiles glow when selected, for some added flair. I may also add an animation for it flashing red briefly when you try to do a move you can't.
I intended to add the dead counters on either side of the board as initially planned, but looking at my board gave me an idea. I cut out the detailing on either side and, in UE5, added a 'balance' actor. This actor was added to an actor array in the manager, as was the below code
This code would move the balance further towards one colour depending on what the balance variable was.
And the balance variable was changed via the code in my pawns for when one takes another. Initially, it would add to the balance which would increase it exponentially. This made changing the multiplier much more difficult as I though my math was off, however after trying every number under the sun [between 5 and 25] I realised I'd probably coded it wrong.
0 notes
Text
Movement [cont.], board expanding and taking pieces
Now that I'm using chequers movement, the pieces can only move 1 tile diagonally [I actually had to watch gameplay because I'd forgotten how it was played]. I grabbed a centre tile [11] and checked the values of the tiles around it, and their difference from the original - they were 16 [+5], 14 [+3], 8 [-3] and 6 [-5].
that knowledge allowed me to create this. I didn't expect this to work, however it did almost flawlessly. The only problem was that I was calling tilereset before the destination tile could flash blue. Adding in a delay the length of the animation, however, fixed this.
I expanded the board to what would be the final size and added all the tiles to my manager's array exactly as I had, however the movement no longer worked. I was stumped when going through my code before I realised that the diagonal movement had been designed around a 4x4 board, not 8x8.
Upon changing the values in the Select node to 7, 9, -7 and -9, diagonal movement began working again.
However, once I implemented a turn system, it all broke as the opponent's tiles never moved
I managed to track the problem down to here - the boolean was never changing to true, so a destination was never being set
This is how many [11] opponent pieces are registered as overlapping tiles.
And here is the friendly count. Note how there is 12 now. I genuinely don't understand
Reece, although he didn't have a solution to fix the specific problem, suggested that I change how the system was operating. Originally, the player character was swapping between two versions of the blue/pink code but with Reece's advice I made it more flexible. Although this didn't fix my problem, it proved the issue WASN'T in my code - the code here, at least, since both player's pawns move on the same logic.
I added a few nodes in the diagonal movement on a hunch and found the problem.
The array locations were, somehow, REALLY messed up. I'd also managed to miss a whole row, so I renamed EVERY tile, deleted the array and remade it. At which point, everything began working.
I then tried to create logic for 'taking' a piece. Initially, I built a whole system to check if the piece on the destination tile is an enemy but none of that worked. After removing it, the idea occured to me that I could simply add code in the pieces so they would take enemy ones automatically.
I added this code in the pawn to try to get it to automatically take any enemy piece it goes over, however it never registered itself as overlapping any.
Changing the collision to OverlapAll not only fixed this, but also made a LOT of previous overlap bugs make waaay more sense.
I CAN NOW PLAY CHEQUERS. THE GAME WORKS!!!
0 notes
Text
Creating the board
I tried looking for models that I could 3D print, as I'd come to the conclusion that cutting into a plastic board would destroy it and I didn't have the tools to hollow out a wooden board. The most useful board I found was below, however I soon realised I didn't have the tools or knowledge to properly modify it for my purposes.
After speaking to Ruby, I realised that I could create a model in MagicaVoxel, a tool I had previous experience in. Moreover, it could double as the board I used in-game [or a variation thereof]. As a result, I would first need to design the board before modelling it and dissecting it to print.



These, particularly the Scrabble board, were used as inspiration
I created a board in MS Paint with very dark blue and very light red [they tend to look better than black and white] which I liked, but I tried adding 'gems' in the tiles which simply looked unpleasant, so were removed.
Changing the colour of the outer frame allowed me to use gold [the dark blue and very light pink would not have looked good only with the gold otherwise]. I looked back on the inspiration images and decided I could use some form of deatil on the borders so created a gold corner - this would be more detailed, but I'm only doing a sketch.
I created an identifier so the players will always know the board's orientation. I also decided to add the gems to the detailing - this is because they will also be used in the pieces to keep the colour palette both varied and consistent. The larger border also allows for more details in modelling
This is my initial model. I created a chequered board but, since this is the in-game model and the tiles there use their own actors, they'll be separate. I kept iterating and adding more detailing [well as much as I can] and tried to make it thick enough that, if I 3D printed it, it wouldn't break.
These were two alternative versions with different patterns on the top. I was never happy with the initial versions as they felt too out of place, but I feel like this is an improvement
This is likely going to be the final version. I've added more gold trimming and I really like the new chequered pattern at the top.
Overall, I'm happy with this iteration of the board and I think I've managed to achieve what I set out to do fairly effiicently
0 notes