It is time.


Oh, it's been since June that I updated the devblog? That's on brand. I did a bunch of stuff that I can't be bothered to mention here and then took some time off, but now it's time to once again... start yet another project.


This is actually a revival of an ancient project from my mayflystudio.tumblr.com days called A. CYBORG, which was essentially an After Burner ripoff but with a more elaborate, fully sprite-based landscape. This version of the project has a simpler landscape that would be more close to the original arcade game, where the "ground" was a solid color and randomly placed sprites on top of it created the "landscape." Because limitations lead to creativity, you know.

What's going on here is that we've got a bunch of billboard sprites that align to the camera, so I could support all-range mode Starfox style (allowing the player to fly in random directions) if I wanted, and behind the scenes the world is divided up into "chunks" that are requested from an async chunk generator so as to not slow down the game. Of course, modern computers are much faster than when I originally was working on this so the async chunk generation might not be needed, but on the other hand using modern C++ to handle the threading was shockingly easy so why not do it. Seriously, it's like six lines of code. One other interesting aspect of this setup is that we have "logical" chunks (say, "x = 15, y = 3") which are mapped into "canonical" chunks behind the scenes (say, every chunk with a Y of 3 is mapped onto "x = 0, y = 3"). This means that we can repeat chunks along axes if we want or even map them in more complex ways.

Oh, one other other thing is that the sprites were looking all distorted and I couldn't figure it out so I just randomly asked Copilot running GPT-5 what was going on and it instantly came back and told me that I was using the index count for the current vertex when building the mesh. It was right. Man, we truly live in an era of miracles and wonders.

Leave a comment

Log in with itch.io to leave a comment.