LAST UPDATED JANUARY 2025

root vegetable boy

CHORUS MACHINE DEV LOG #9 - JULY 2024

BACK TO ARCHIVE



I think July might’ve been my most productive month yet! I really surprised myself with how much I achieved. It’s really satisfying proof that development is only getting faster & smoother the longer I go on.

I got some really really exciting stuff implemented, including but not limited to...


new mechanics!

  • a surge/dodge mechanic has been added! press the spacebar to avoid incoming attacks! you can use this both directionally for a boost of speed, or while standing still to become invulnerable to damage for 15 whole frames. woah!!!
  • healing flask!! fuck everything else I’ve said in every log, good game design is all about beautiful potions. like all good potion UI, you get a little visual of your flask emptying:


reworking older systems!

  • I’m currently in the midst of reworking my save/load system! I’m not going to say too much, because... It’s one of the main hooks of my game... but it’s going real swell. I only have to do one more thing before this is in a workable state, which is:
  • I need to create a new in-game menu system from scratch =_=
  • this is something I’ve known was coming for a while, but I find coding UI pretty annoying sometimes, so I’ve been putting it off. the current in-game menu isn’t up to par with the artistic style of everything else, so I want to re-do it. I also plan on separating out the save/load menu from the in-game menu.
  • HOWEVER! I was able to do a successful collisions/hitbox rework this month in its entirety! this is huge, it’s an issue I noticed in January and has been bothering me all year!! it’s kind of hard to explain this one, so let me whip out some visual aids:

  • the dark rectangle around her feet is her collision box; when I write code that references a collision with the player, it’s checking for a collision with that box. such as... collisions with walls! or furniture! having it just around her feet is what allows me to fake a 3D look with only 2D art, so she can stand/walk in front of walls and objects and it doesn’t look horribly strange.

  • if her collision box included her head, she would stop moving as soon as the top of her sprite touched the bottom of the wall.. it would look and feel very odd!
  • but, you can immediately see where this becomes a problem when enemy bullets are checking for a collision with the player. she would get shot in the head and just like, be fine, it would go right through her...
  • I had the same problem with one of the enemies I’ve implemented, where I wanted to figure out a way to have both the collision box that comes with the sprite and a differently shaped hitbox. I hunted through a lot of forum posts for the best way to do it, but ultimately decided on what I personally thought to be the most “elegant” solution:
  • an entirely separate invisble object that follows all of the player’s exact movements and handles all of the player’s health and taken damage. (that’s all it does: the player object got to keep all its other code.)
  • I actually have no idea if this is optimal! but it works, and I got it working with minimal effort. it was a little trickier figuring out how to apply this concept to enemies, but I was able to write a little script so that every enemy I place in a room will spawn its own hitbox object. task complete!! the 3D illusion is secure and I can still maintain expected combat logic.


actual game content!

  • ah, finally…! after 9 months of development, the first miniboss is here…!!!
  • like a lot of things in game dev, you never really think about how much goes into a boss fight until you make one... but I had So Much Fun crafting this. I'm absolutely buzzing with ideas for future fights!
  • so, this all included: a small arena, pre-fight dialogue that automatically triggers when walking into said arena, barrier objects that appear during the fight so you can’t escape, and associated save/load scripts so that the boss doesn’t respawn if you leave the room and go back in. as for the miniboss herself, she gets her own special health bar with her name attached, and a state machine that cycles through three different attacks until she dies. (I haven’t coded player death yet lol)


some miscellanious stuff!

  • you may have noticed if you watched the video above, but I’ve changed the aspect ratio from 4:3 to 16:9. I like the nostalgia of a 4:3 but... I think with the way combat is emerging, the experience only benefits from the added screen space. you get a lot more room to see, and thus more time to react.
  • I’m finally starting on implementing music!! it’s getting atmospheric, babey!!! I’ve also got a little list of sfx that needs doing and I’m stoked to get started on it. the video above doesn’t contain any sound because, I have not written a boss theme for her yet, and I didn’t want it to just be the shooting/damage sounds… I promise I am thinking a lot about sounds. and I can’t wait to dive into VCV Rack to whip some up!!
  • I finally set up a github source control. files are secured. every other hobbyist dev should do this way earlier than I did

I’m proud, I did a lot! ^_^ I really want people to be able to playtest the miniboss fight soon. Currently I plan on having one available to those interested in a couple of months! I have no idea how hard it actually is and I need some different eyes on it asap, so please let me know if that’s something you would be interested in.

Signing off for now... have a good August, everyone!


Originally posted August 1st, 2024.