top of page

Get emailed new posts

Some things I've been trying out for the new online game, that I still haven't figured out the actual gameplay of. One way to get the game to remember what things you had when you reconnect is to save it to the room. Rooms and players have custom properties that can be stored for a certain period of time. That means everything data that a player or a card has can be put there.


This works fine for something that's just a number, like how much money a player has. This gets harder for something like what exact cards a player has, because room properties can't store game objects. My first solution was to keep everything in arrays of integers, where the integers are the card's photon ID. The problem is that arrays are annoying to use, especially if has to constantly change (which will happen in a card game). My current workaround is to get the array, convert it into a list, modify the list, turn that list back into an array, and save that.


Then there's the question of sending information to other players. When you apply a room property, it automatically applies to all other players. Which in some situations I do not want, like in game with simultaneous turns (what they do on their turn should be hidden until everyone is done). Currently my solution is, the game keeps track of what properties you have changed during your turn, and only officially saves them to the room properties when your turn is done.


Most of this so far has just been brainstorming, most of it hasn't been implemented yet and combined with all my other systems (like undos). I think most of the hardest part of the brainstorming is done though.


I can also talk about how over the past 2 days I had to deal with a very odd bug. When creating an object, it would sometimes just disappear immediately for no reason. And it would only happen in the offline mode, if it's online the objects are created without issue. Eventually I found a workaround, which is to delay the creation of the object by a fraction of a second. I don't know why this solved it, considering I had never encountered this issue before in any project, but I guess this is what I have to do.

The game is now done and released. Even though this game was pretty much only 1 month of continuous work, it's been 4 months since I've actually released a new game publically. This ended up being because of a secret project (which finally is about done), work, and the fact that one of the games I tried to work (the platformer) hit a dead end. I don't know if I'll ever go back to that game, it may be a while. I'd like to try and get 2 more games done before the end of the year, even if one of them is a smaller one.


The fighting game I mentioned last week still sounds like a possible project, but it's definitely a more different kind of game than what I'm used to making. Which means I may put it off for later. I do have another idea, which is sort of inspired by Pacific, the game I made last week. You put things into areas, and they can make money for you and be moved into different areas. But I want it to be different than Pacific, and my idea is instead of having a bunch of copies of the same type of tokens, you instead put cards with instructions into the areas, and you move the cards around. The cards can also have boxes on them like in Moon Colony Bloodbath, and cards with boxes are more powerful and can be sacrificed.


Then there's changing up how you play the cards. I decided I didn't want to do another game where you draw cards and then pay a cost to play them, and I realized I could use Flower Draft again. Each turn you draw 2 cards, give 2 to another player (with 1 face down). When you're given cards from another player, you pick one for you to play, and they play the one you didn't pick. Unlike Flower Draft I don't think I want anything that cares if a played card was revealed or concealed, I just want cards that do things when they're played.


I have more ideas for this but I still have to figure out how to handle disconnecting with the rest of my other systems. That could take all of next week, and then I want to make a smaller game that is a first test to make sure everything is working out. I still don't know what that smaller game will be.

I finished 2 more minigames, and possibly the last 2. For these ones, I decided to try and look back at some previous games I liked and see if I could remake them. The first one is based off one of my games, Sky Attack. This time it's single player and you have to avoid skulls flying across the screen, while bouncing on the clouds. It wasn't really my plan to remake old small games for this, but since the original was 2-player and this isn't, I let it slide. I don't think I want to do that for other games though (like Chaos Pong).


The last minigame was inspired by a minigame in Epic Battle Fantasy 3, a JRPG I played many years ago. Epic Battle Fantasy 5 would later go on to inspire Randomly Generated RPG. But the important part is the 2nd minigame where you play as a narwhal to collect coins. The most interesting part were the jump physics, the more momentum you gain when swimming upwards, the higher you jump. I had to experiment a little to get that in my game. I decided that, whenever you weren't holding the up arrow, the game keeps track of your Y position, and when you leave the water the game uses that number to determine your jump height.


Since this game is close to done (except for some extra testing), what's next? I have a couple ideas for online card games, but still need to think about them more. One idea is, another game like Fortress Siege where you play cards to attack the other player. This time I have a solution to make it simultaneous. Which is: your turn has 2 phases. On the first phase, you can only play cards / activate abilities that affect you and your troops. On the second phase, you can only play cards / activate abilities that affect the other player and their troops. Now there's no more: what happens if a troop gains health and loses health at once, or what if a troop tries to get moved into 2 different columns. But I don't know if I want the new version to keep the column part, maybe that can be different to feel more like a new game.


But before I hop into that, I want to improve on my system for handling online games. The current version is working fine, but it'd be great if it could handle disconnecting / reconnecting. I've been experimenting with that a little bit, but there's still more work to be done to make it compatible with other systems, like undos (and AI opponents). This also means that the next online card game may want to be simpler if possible, because immediately incorporating all of this experimental technology into a larger game could be very difficult and time-consuming, and I want to make sure everything is stable first.


I also finished my digital version of Pacific. It only took 3 days of work, which is pretty fast. I don't know if I want to make it public though, chances are Donald X. wouldn't be interested in that.

Thomas Tang (DZ)

tt2195@nyu.edu

+1 (646) 236-5503

Redmond, WA

©2025 by Thomas Tang

bottom of page