top of page

I finished the update for Relentless Waves. It now has 3 extra levels: 2 tutorial levels that are only 2 waves, and an enemy rush level that’s 10 waves. I could have gone for more but decided this was good enough for now. The first 2 tutorial levels are supposed to be easy and they explain parts of the game (and some trickier enemies). The enemy rush level shows off all the enemies in the game in a row. My first attempt at making this level was way too hard and some specific waves took way too long, and I made it easier. So easy that I can beat it at 150% difficulty pretty easily (the random level though, no luck).


In addition to the ball juggling challenge (which at 150% difficulty is super difficult), I added a cheat: infinite bullets. Now you no longer need to pick up bullets from the sky. I didn’t add a cheat for enemies no longer attacking if they’re defeated though. It’s fine for cheats/challenges to change the game, but I don’t want anything that completely throws away the main concept of the game. I kind of wish I could have added more cheats/challenges, but this is all I have for now.


Now there’s still the pressure of figuring out what game is next. I did more research into the tarot card idea I had before, and realized that the idea of a card doing different things was something I had thought of before. I think I just like the idea that something can be good or bad. Many years ago I had the idea of cards being named after weather and natural phenomenon. A card like Snow’s Beauty would show kids playing in the snow or something, while Snow’s Wrath would show a blizzard, and the card effects would mirror each other. Anyways back to the tarot card thing. It seems hard to pull off, as several tarot cards have abstract meanings that would be hard to communicate on a card. Plus what would the main gameplay loop be? I still haven’t figured this out.


I also had another idea that I sort of like but also not really. Basically the game lasts several rounds, and in each round there are 5 prizes. Players secretly pick one of the prizes and apply a bonus to any of the prizes. The bonuses are “multiply by -1” or “multiply by 2”. For example if you pick +$50, but someone added -1 on it, instead of getting +$50 you get -$50. Whoever has the most amount of money at the end wins. The problem is, it only works with many many players, and it may just be completely luck based. Maybe there’s a different way to make it work.

A lot of this week was spent rewriting code for Relentless Waves. First I updated the translator to work with spreadsheets. In theory if someone wanted to translate the game, I was going to give them a txt file that listed all the things they had to write. But I realized a better way to do that is to give them a link to a spreadsheet (https://docs.google.com/spreadsheets/d/19CiC2QT3GX_mW_-fsajqhnjdXPyRAB7rgwfp4-efBxQ/edit?gid=0#gid=0) that they can edit. They can create their own column and add their own language. It’s also nice that the original English text will be there as well. When I did this I deleted the code I had for the original txt file, but decided to add it back in anyways. The code can handle the language field for both txt and spreadsheet, it’s fine.


I think I’m also going to change the scoring for the game. Originally your score was just the highest difficulty you beat the game at, and it listed the amount of bullets you missed + damage you took. It wasn’t the greatest but it was ok for a game with only one level. If I’m adding more levels and optional challenges though, it needs to handle that as well. Now the scoring formula is: [difficulty] * 100 - missed bullets - damage taken. If any challenges are enabled (like the one where you have to juggle balls), those will add 10 to your score. And the game will keep track of your high score for every level.


I haven’t actually added any levels, but I made the process of making levels easier. I rewrote the code to generate specific enemies in preset positions. One annoying part of Unity is that if you have a list of lists, it won’t show up in the inspector for you to edit. Instead I had to create 3 different classes to make this work. I have a class called Level, which just has a list of Waves. A Wave just has a list of Collections, and a Collection contains variables for an enemy and their spawn position (if the variable for the enemy is left blank, the game picks a random one). Three different classes, with no lines of code in any of them, just to allow direct editing in the inspector.


I’ve also recently started thinking about art descriptions. Basically, if I had an artist, what would I have to tell them to draw art for a game like Randomly Generated RPG. There are some character arts where I have a clear visual for what I’d like, and others where I’m ok with letting the artist come up with what they want for it. Now since there are 30 different characters, and they can be either Neutral/Happy/Angry/Sad, and Grounded/Elevated. If I force the artist to make different art for each character in all those states, they would have to make 240 pieces of art, which is super not happening. Another thing I’ve learned from Dominion’s art is that for human characters, you’re required to specify things like gender, age, and race, or else the artist will default to doing the same thing for every character. Which means I’ll have to go and preselect all those things for all the human characters.

2 months in the making (even though the 2nd month didn’t feel as productive), I finally finished the game about soldiers and scouts. It’s called Territorial March and it’s on itch.io. I spent 4 days doing nothing but trying to come up with names and art. I named all the player cards after verbs which worked out, although if I had to get art for them it would’ve been near impossible. Verbs are very specific. Then I had to come up with a game name and logo which were hard and eventually I just threw together something fast for it.


Anyways thoughts on the game. I like it, but since the economy of the game has limitations I still think something like Battery RAM is the better design. The negative coins and actions are definitely more of a bandaid than anything. The troops and scouts are great though, and after all that was the inspiration for me making the game in the first place. It’s also possible that having the classic “pay cost to put a card into your play area for abilities” is actually a better fit for this game, but I really wanted to make a different style of game instead. Maybe there can be a way to combine this game and Battery RAM but that sounds like something for the future (plus how do I avoid that game having too many rules to learn).


This week I went back to All Shapes and Sizes to give it an update. I thought the game mode where you have to minimize your score took too long, which is why I changed it so you drop fewer shapes, but you have to reduce your score even more. I also rewrote some code for it because the code is from 2023 and it aged poorly. Not everything (like the code for changing gravity), but some parts could easily be improved.


I’m also starting work on Relentless Waves again. I rewrote how the game generates enemies and now the game can handle levels where the enemies are fixed instead of random. I’ll see if I can come up with tutorial levels and such, like a campaign. (Randomly Generated RPG is not going to get anything like this, because it already has a tutorial mode.) I also experimented with a new gameplay challenge where you have to juggle balls. They fall down and you have to touch them to bounce them up. If any of them touch the ground you take damage. I also tried a mode where you never get any bullet recharge items; instead the only way to get more bullets is to kill enemies. I didn’t like it, it was too hard and if you wasted bullets (which is really easy) you were dead.


Finally there are some newer versions of Photon, the package I’m using for multiplayer games. I’ve been using an older version since that’s what I started with and it was sufficient for my card games, but I should probably try out some of the newer versions just to see what they can do. And maybe from there I can figure out what my next new game is.

Thomas Tang (DZ)

tt2195@nyu.edu

+1 (646) 236-5503

Redmond, WA

©2025 by Thomas Tang

bottom of page