top of page

Get emailed new posts

For some reason the blog on the website didn’t work on Nov 14, which is why this didn’t go up. But I did write this post on that night.


While making cards, I made some changes to the game’s rules. First I planned on having a Play phase and a Defend phase. But I decided to merge both of them into one phase. One reason is it just seemed faster gameplay-wise. The other reason is with how actions worked. You can only use actions when playing cards, which means if you get any +actions during a Defend phase, you can’t use it that turn. Which means during a Defend phase, there’s no difference between “+action this round” and “+action next round.” Now that you can play cards during a Defend phase, there will be a difference between those 2 effects. Plus Play effects are restricted to doing things that Defend abilities can (e.g. they can only affect you and your cards).


Another change I made is with card abilities. My original intention is you can choose which abilities you want to use, and skip any you don’t want. But now I changed it to, you have to do as many as you can do. If you can’t pay for its cost (e.g. an ability costs 1 shield but you have 0) you’re fine, and you can choose the order for your abilities, but if you can use the ability, you have to. The reason why is to have abilities that aren’t actually a good trade. If a Defend/Attack ability is net-negative, it wouldn’t affect the math for a card, because you can just never use it. But if you’re forced to use that ability, that does affect the math. The main reason I want this is to have more variety in abilities/penalties, and for some potential combos (such as ordering your abilities to never have to pay for a bad ability).


I also changed how decisions are handled in the code. Mostly this is just cleaning up the existing code to be easier to work with. But also the old way was messy. Every time you had to choose an option on the screen, it created a window in the center of the screen with some buttons with text on them, and when you made your decision the game would delete that window. I got rid of this by reusing the same buttons and not having a window anymore. The only tricky part I haven’t quite figured out is what if you have to click on cards that aren’t on the screen, and how to do that without a window. Possibly for that situation I’ll have to just use a window. I don’t really know how to make “I talk about how I improved code” super interesting to talk about, but it does make my life way easier.


As for finishing the game, I’m at about 11 cards, and I think I want about 40 cards. I’m also aiming for the game to be done at the end of November. Which means I’ll have to make at least 2 cards every day for 2 weeks. Each individual card isn’t too difficult to program, the bottleneck is more thinking of what they’ll do and getting art for them. A lot of other miscellaneous features like resigning and summarizing what each player did at the end of the game is done too, it’s all down to the cards now.

I've finished programming most of the things required for the game to be playable. The only things left really are: being able to toggle whose hand you're seeing when spectating, and seeing stats at the end of the game. But for now it's to most of the fun part of making card games, actually making cards.


I decided that instead of green and red coins, I should give them actual symbols. I decided that green coins can be a shield, and red coins can be a sword. Which makes sense, since shields are (mostly) used in the phase where you use abilities that help you (and I'll call it the Defend phase now), and swords are (mostly) used in the phase when you use abilities to attack the other player (the Attack phase). I also cleaned up a lot of the code related to making decisions/undos, and for accessing custom properties. I'm sure there are even more ways they can be cleaned up, but even just right now it's so much easier to work with.


One thing I worried about when making cards is, abilities in the Attack phase may be very limited in variety. Mostly this phase will be attacking the other player and their cards, but there's not much else that can be done. If I want players to spend resources like their cards, swords, shields, and actions in the Attack phase, then I can't make any attacking abilities that interact with the other player's resources. Which means I can't do anything like "they discard a card" or "they lose a sword." Another idea is, you can stun a card. Stunned cards can't use any of their abilities, but works weird in the Attack phase (you stun their card, but that card is still attacking you. Another idea I had is, you can stun a card. If a card is stunned, you can't use its abilities. But one weird thing about this would be: if you stun another player's card in the attack phase, that card can still attack you. The stun would have to apply to the next round instead.


At first I was going to accept that I couldn't make any of these effects, but while typing this I had a solution. I could have these effects happen at the start of next round instead. For "they lose a sword", if it happened later, it won't have any issues of, 2 players are trying to change something at the same time. It also won't have issues like, they already spent all their swords and the ability just misses. I could even make Defend abilities that make your next turn better ("next round, +1 shield"). This all sounds great, although I don't think I can do things like "they lose 1 action next round" cause if that ability is stacked, they can never do anything for the rest of the game.

As predicted I started working on the new 2-player battling game. While doing preliminary work I came up with some ideas for the gameplay loop, and then scrapped them and came up with new ones.


One of my ideas was that you have 2 different kinds of coins: green coins and red coins. Again, during the first phase, you can only use abilities that affect you, and during the second phase, you can only use abilities that affect the other player. You can only use green coins in the first phase, and you can only use red coins in the second phase. The idea is that I could make cards that give you coins of a specific color, or take away coins from the other player. At one point I thought maybe it's just simpler to have 1 type of coin, but now I'm moving back to, maybe it's worth it.


I was also planning on having cards cost coins to play. The idea being, have some cards be played early and other cards be played late. But, and this has been a running theme, I don't want every single game to have cards that cost coins to pay. And also Fortress Siege already has cards that you pay coins to play, and I should try to make this game be as different as possible. Then I realized, I could use the trick in Territorial March. Cards cost 1 action to play, and you get more actions each turn. I could still have early game and late game cards by having their abilities cost different amounts of coin. Another thing is, Territorial March had to have this awkward rule where you can have negative amounts of coins and actions due to issues with how the areas worked. But this game won't this issue, which means this game will be the best place for the action mechanic to shine.


But then while doing math on some cards, I realized that early game cards are tricky to make. A card's power can be calculated based on its health and how strong its abilities are. If a card has stronger abilities, it'll have to have less health, and an early game card will have weaker abilities, which will mean more health. I don't want every early game card to have tons of health though. But there's an obvious solution: cards can give a bonus when you play them. The question then is, are those bonuses only allowed to affect you, as they can only be played in phase one? Probably I'll just have to live with it, just like how I'll have to live with the game being unable to support abilities like "you gain 2 health and they lose 2 health."


As for halloween this year: it rained all day and no one came knocking. Which I don't mind too much. I also realized that in last week's post, I forgot to acknowledge that it's the 2-year anniversary of these posts. I still don't actually know if this will continue into 2026. There was a period of not super interesting posts in the summer, but I think that was because I had to spend so much time on the secret project. But 1-2 months ago it was mostly finished, and now I could work on things I could actually write about.

Thomas Tang (DZ)

tt2195@nyu.edu

+1 (646) 236-5503

Redmond, WA

©2025 by Thomas Tang

bottom of page