Today was the due date I set for myself for Spiral 4. The goal was to hash out preliminary aesthetics, redesign the track generator, and develop the setting. I expected a mostly artsy spiral apart from the track code.
As I documented the setting, new art requirements surfaced, so new systems needed to be built (one of which I spent two days on only to discard). I also lost just shy of two weeks to a depressive swing, so over a month passed before I was in a position to even think about doing any art. The good news is, I hit a good inflection point in systems development yesterday, so rather than double the turnaround time on what was supposed to be a one-month spiral, I’m going to stop here and split all of the art off into its own spiral.
My mental health is on the rise right now, despite the couple weeks of difficulty in July. I’ve built myself a more regimented work routine that’s more predictable — and thus easier to stick to — and gives me time for breakfast, meditation, exercise, a shower, and still get in six solid hours of focused work. I’m even allowed to sleep up to nine hours a night. I started motivating myself with a lot of positive-reinforcement drill sergeanting (“GO GO GO! UP! OUT OF THAT BED! YOU GOT THIS BRO! WHOO YEAH BABY! DON’T STOP! KEEP MOVING!”), but that left me feeling manic and stressed out and ended up exhausting me. I’m taking a more zen calm approach to motivation now that seems to be working out. I’ve been having a much easier time focusing lately. Feeling optimistic.
There is a LOT of new stuff in this build. I’ll go in chronological order.
I completely tore out the old track algorithm and replaced it with a smooth, Excitebike-like system. You still have three discrete lanes with gaps to jump over, but the elevation changes, which frequently made it impossible to see what was going on in anything but the frontmost lane, are gone. There are now obstacles that can slow you down — I really only put those in so I could test a way to present them that would make spatial sense. Finally, every few hundred meters, you’ll hit a section made up of a single lane that you need to stay on.
I didn’t retune the player acceleration to mesh with the new tracks, so you’re going to get very fast very quickly.
Once I got the track system together, I worked out a way to seamlessly texture them. Not an easy task when you have several permutations of touching edges that need to transition smoothly into each other. It took a day or so to work out the techniques to make everything match correctly. I’m happy with it.
With that working, it was time to think about backgrounds. The first thing I did (mostly because it was fun) was build a hill generator. The algorithm is based on this one with a bunch of modifications. The resulting hills look fantastic and I can’t wait to play with them some more as I build out the levels.
Then I built a background element system that allows me to place sprites within Z-depth ranges and orient them in screen space rather than world space. It took a ton of trig due to the way the camera is tilted, but I now have a system where I can think in screen coordinates at any distance from the camera instead of having to scale world coordinate ranges in my head for background elements that are far away. The system supports discrete sprites and my randomly generated hills, with lots of room for extension. I also built a little sprite randomizer for spice.
Finally, I put together a fun skysphere system that replaces Unity’s skybox component with something more visually interesting and animated. The skysphere you’ll see in the demo has four layers: A stationary, solid purple sphere in back, red and blue cloud spheres that rotate diagonally in opposite directions, and a white cloud sphere that rotates to the left as the track scrolls along. Wow am I happy with how this looks.
All of these systems are to support the setting. In the current vision, the game takes place in Magic Space Wizard Galaxy, a pastel sci-fi universe populated by fairy tale creatures, spaceships, and an evil, billions-of-years-old overlord by the name Neutron the Bad Guy. The heroes are the NOVA, a loosely knit agency of Space Wizards hailing from the myriad worlds of Magic Space Wizard Galaxy. Dashing through lands such as Serenity Meadow of the Death Fairies, the Technobear Space Fleet flagship Starship Teddyfloof, the weekly Saturday barbecue in Dino Lava Volcano, the psychic world of Unicorntron Omega Prime, and the Hyperprismic Wormhole of Sector Tau, the NOVA race against each other to catch and defeat the agents of Neutron and ultimately Neutron himself in a desperate bid for peace, freedom, and bragging rights. Considering changing the name of the game to Wizard Dash NOVA. I may have spent an inappropriate amount of time thinking about this.
Longterm strategy-wise, I’m leaning towards the idea of releasing the game with three or four levels for $0.99. After that, I’ll build more levels as part of a $0.99 or $1.99 Season Pass and possibly set the app itself to free. At some point in all of that, I’d also like to pivot back to Monsta Punch! for a bit. We’ll see.
That was a mouthful. Let’s do the demo.
I’ve switched the game back to one player so you can get a better look at the new graphical systems. Controls are the same as before: W/S to change tracks, Left Shift to jump, and E to use items.
For Spiral 5, it probably makes the most sense for me to work on game mechanics and juice for a bit. I’m really eager to do more art, but the game is so fabulously unfun right now that I think it behooves me to spend some more time on gameplay and not get caught up in aesthetics. I have the graphics systems I need. That ought to be enough for now.