top of page

Get emailed new posts

Last week, the soldier game was at 6 cards remaining. Now the game has 4 cards remaining. This doesn’t mean I spent an entire week just to come up with 2 cards, it just meant a few other cards died along the way. Otherwise there isn’t much to report, as there still isn’t any art or name or rulebook.


One day I got an idea in my mind: what if I had a game that updated every single day? Kind of like NYT Connections, or Temple Gates Games Dominion. Every day the game generates a new puzzle/kingdom that’s the same for everyone. It's a pretty easy way to get engagement, people can talk about the game every single day. I took the time to prototype this idea of a new thing every day and it worked out. I can have the RNG seed set to the current day in UTC, and it won’t change until another day passes. I even have the code be able to output how long it’ll take before the RNG seed will change.


I was going to make a quick word puzzle game to showcase this discovery, but have struggled with an idea for it. My first thought was a game where the game picks a word and then adds in random letters. Your goal is to select the wrong letters until you figure out a word, but this has the issue of, what if you find a word that wasn’t intended? My other thought is to do Cards of Fortune again, but it didn’t seem too exciting to make the same game again. Anyways, unless a great idea comes by I may not end up making a word game after all (especially since I should first finish the soldier game by the end of this month).


Instead, where else can I use this discovery? A good choice is Randomly Generated RPG: every day player abilities and enemies are predetermined, and maybe some cheats/challenges are forced on. It seems great except that I’ll have to first rewrite how players and enemies are generated. Also I never added in a way for you to manually select player abilities. The reason I never did it originally was because the game was always intended to be random, but maybe I should just do it anyway. Plus if I’m already having to rewrite how abilities get randomly selected, it should allow this functionality as well. Again I’ll get to this in a month from now.

Since I’ve already delayed the soldier game, I’ve decided to delay it from mid-May to end of May. The original plan was 30 player cards and 20 area cards. Now the plan is 35 player cards and 25 area cards, adding 10 more cards. After more work this week, I only need 6 more cards to be content complete. Except that when trying to make more cards at this point, the ideas remaining are more pinched and are harder to keep distinct from other cards. I’m also pretty sure I’ll commit to not getting art for player cards, it’ll just be the areas.


In order to generate more cards at this point, I’ve decided to break a rule: a few cards now get to do things beyond this turn. I decided against doing any permanent abilities like in Temporum, but I decided to allow a few cards to do things until the next Camp. For example, cards can give you guaranteed control over an area, or force you to ignore all other areas. What makes these enticing is that they’re effects that can’t be done through other means, and I think it’s worth it.


Another thing I learned while working on cards is that coins are weird. Battery RAM can give you lots of coins because they’re only one part in winning. You need to spend coins and cards to play a card for crowns. This game, you just need to spend coins to advance troops. This has 2 consequences. Large amounts of +Troops is already scary because that bonus directly translates to winning the game, but since coins is all that’s needed to advance troops, that means large amounts of +Coins is also scary. But another thing is that “+4 Coins” is literally a roundabout way of saying “+1 Troop” due to Road. This means that I can’t really do large amounts of +Coins, as they could just be +Troops. I can still do large amounts of +Coins if it’s through a formula (“+2 Coin per area you control”) as it can fluctuate between +2 and +4, but if a reward is always +4 Coins, it may as well be +1 Troop.


Looking back at the games I made in the past year, almost all of them involved math. It’s a great tool and I learned a lot, but also I’d like to take a break from it. Math isn’t at all necessary for making a fun game. But also I want to try making more games that don’t need much balancing, such as All Shapes and Sizes and Relentless Waves (they needed some balancing, but far less). But a game without a need for balancing has to be something where you can’t really complain about something being too strong or weak. All Shapes and Sizes is the example here, it makes no sense to say that one of the shapes is too strong or anything.


But while that game is still in the distant future, I still want to go back to Relentless Waves. I wonder if I can spice it up with some extra cheats and challenges, things that I can’t do with enemies. I could also make official levels with predetermined enemies instead of having only random ones, which could act as a tutorial. It sounds fun as a project for the future.

The soldier game has made progress but I’ve given up on finishing it by April. I’m at about 90% of cards (I’ve removed some I don’t like) and can probably finish them by next week. The cards still don’t have names and art and the game still doesn’t have a name, and because of that I don’t think the game will come out next week either. To follow up on last week’s post, I like having negative actions and money, but I decided against doing negative scouts. It just felt too weird and I don’t think I need it.


While working on cards, I briefly considered, should the 2 extra area cards always be in positions 2 and 3, and Camp and Road are always in positions 1 and 4? One advantage this change has is that areas can’t say things like “+1 troop from here” or “-1 troop from here” because if they’re in either area 1 or 4, those abilities may not do anything. And maybe some areas can take advantage of the fact that Camp and Road are always in the same place. In the end I decided I don’t need those effects, and that the variety in having the areas be in any place is better.


But also earlier this week I started toying with Relentless Waves again. I was trying to figure out if there could be a new enemy added, but I didn’t figure one out. An issue I kept running into is that any wave can have multiple of the same enemy. One idea that I thought had potential is a lightbulb; once you defeat it, the arena goes black and you can’t see any bullets for a few seconds. It may have been possible to make it work but it sounds frustrating and the code for it did not work out. Instead I just added some small changes and then released the update. 


First the game can now be played at 150% difficulty. I didn’t verify if it’s possible but it probably is. I tried 175% but it seemed way too hard, and anything above that is straight up impossible (plus super laggy). Then for the enemies, I added a visible timer to the phoenix when it’s defeated, that way it makes more sense when it comes back to life. I also changed the ghost to disappear faster after it shoots, now it actually spends some time invisible. Finally I changed how the UFO attacks. It used to just shoot bullets at you, but now it creates a circle that starts at its position, then grows larger. It’s to take advantage of the fact that it can move around and its circle will take over different positions.


While doing this though, I also wanted to experiment with something: translations. Since Relentless Waves has very little in-game text, this was the perfect time to try out translations. The system I have is that everything that needs to be translated is put into a text file, formatted like this:


Last Update=Last Updated: Apr 23, 2025

Language=Language


If someone wanted to translate the game to a different language, they’d take this file and replace everything on the right of the equal sign with whatever words. The game takes whatever language is selected and replaces all strings with it. I was going to google translate the game to Chinese and then include that file, but I didn’t have any fonts that rendered Chinese characters. This means that you can’t actually see the translation system work (there’s only the English file) but it does work (and if you download the project from my github you can test it). I don’t think I’m bringing this technology to the soldier game though, there’s a lot more words there (both for UI and the cards themselves).


Finally, while I almost never make games using flavor first, there is one idea I have, which is tarot cards. Basically the cards are all named after the 22 tarot cards, and they have 2 sets of instructions: a good and a reversed side. I have no idea what kind of game this would even lead to, and the flavor may just be no good (how would I make a card that represents the high priestess, for example), but it’s the only idea I’ve come up with.

Thomas Tang (DZ)

tt2195@nyu.edu

+1 (646) 236-5503

Redmond, WA

©2025 by Thomas Tang

bottom of page