31 Dec, ’24

Game dev, how I missed you

by Cal

Great news, everyone! I can work on game dev in my IDE again without my entire computer locking up and dying! I'm so happy.

Since I managed to get my dev environment working again, I've gotten a few things done on the Cozy Browser Game ™️ front.

Create a custom "patch" system

I'm gonna be honest, I am inordinately proud of this. It's a little script I can run that lets me update the game and game data both in my dev environments - and in the eventual live version - in a manageable and git-friendly automated way. The shell script itself is very simple:

That python data-patch script is my favorite part. It's nothing super complex: it reads in JSON-syntax .patch files from my patch data folder, cross-checks them with the table of applied patches, reads in the JSON data, and then applies the described changes to the database. It can currently create or drop tables (I'll be adding alter too, eventually), and it can insert, update, or delete rows from existing tables.

This might not seem like a big deal, but it is already making my life so much easier!

Finally get the wardrobe page working (almost)

I also got to finally finish what I was working on when my computer started doing the whole "Surprise! I'm Dead" thing at me: rewriting the page where you get to actually put clothing on your character, to work in Symfony and with my new-and-improved CSS-only tab system.

It works great! I got the starting clothing into new account inventories and it shows up in your wardrobe and you can preview how they look correctly. The only part that's still missing is saving the outfit layers onto your character image.

"Remember Me" and various bug fixes

Last but not least (...okay, no, definitely last AND least), I got a "remember me" checkbox into the login page so I don't need to keep logging back in all the time.

And I fixed a whole bunch of bugs in the authentication, account creation, and image loading/saving systems in the process.

Next up...

I've got a bunch of stuff in my to-do list, with "saving your character with their outfit" at the top. I've learned a bunch about how Symfony routing etc. works since I first set up the avatar preview and saving systems, so this is going to involve a light refactor of that whole system to be better organized and less redundant. Which means it might take longer, but it'll save me time and effort later! My favorite kind of task.

I've got a small bug in that system which I'm hoping to address at the same time (tails and wings aren't getting baked into the character image properly).

Alongside that, I have building the Action interface up at the top as well! That'll be the basic template for all the actual in-game actions, like gathering resources or crafting, so it's an important step to get done. Then I'll get to start implementing actual resouce-gathering!!