Game Journal #33 - Get Up And Go (Patreon)
Content
The two features that have to wait until after ECCC are kicks and throws, and all the above sprites are designed to facilitate those features. We'll hae to play with the numbers but when you kill a zombie there'll be something like a 1 in 20 chance its head rolls off when it gets knocked down, and you can punt that at someone else, hence all the soccer kick animations for the player characters. The design of the head sprites are that they're on a 3/4 perspective angle, but there's a sprite for W, SW, S, SE, E, NE, N and NW angle. Whichever way the zombie was facing the sprite can be facing, and whether its moving forward or backwards the sprites can cycle one way or the other and you get a tumbling, rolling or spinning effect. I listen to Pandora's shuffled playlist while I work and I actually got a really appropriate song to come up while I was making these:
You can see the way the sprites are meant to work. That angle and that rotation with those eight sprites should be enough to fit any direction the head might tumble, and without these there wouldn't be much to kick yet.
Likewise, throws can't really work without a getup animation from a non-lethal knockdown state. The knockdown/getup function is also intended for our dash attacks, but those can work without them for now so they were added to the build. One of the intended roles of a throw is being able to hold up-back or down-back to throw on an angle up or down, so you can put enemies on a different Y-axis plane.
Right now all our tools are very X-axis focused and bodies tend to form horizontal streaks on the ground, so having a way to toss one enemy at a diagonally-adjacent group of other enemies or into a friend's attack blender should open up gameplay for people to try new things.
When we get to the human factions animation will be a lot closer to how the player characters work, but right now while we're in zombietown I want to make all the undead as slinky and bendy as possible. When they're knocked down they get up in really abstract, floppy ways and that's I think one of the big details to give them character as something other than smelly grey people.
The runner zombie is different from the other three. She's the one complicated AI out of the bunch, and her role is to hunt the player, dive on them and attack on an angle from the corner, rather than from directly in front of them like her peers. Runners animate like they're a notch up the food chain, rather than like mindless feeding organisms the runner moves and acts like a predatory beast to try to sell the idea that she is going to do something you might not expect. I might need to rework the howling part of the animation a bit but for now it does the job.
With all this artwork done, I was free to start playing with the actual game engine, setting up sprite offsets and establishing frame timing. This was the point where I could actually start posting .gifs of in-game footage, rather than just proofs from my photoshop documents. We use Godot as our game engine, which means Jason can very kindly set up the game files with variables that are controlled by an artist-friendly UI so I can tweak the numbers and tune the game how I think it should be, and suddenly, we have a game! Last year's build had fairly empty streets but we're able to add prop collision and parallax foreground elementsto really enhance the visual presentation and make it a more substantial product than we previously showcased.
This was one of the first .gifs of the live build I captured. Lizzie is sort of the test subject since she's nice and easy to work with (Lou has super armor, Monday has weaponswitch attacks and Alice has regenerating health; Lizzie just moves quicker). Melee, ranged, walking, dashing, dash attacks and skid animations al clicked together, and all the work I've been doing was suddenly shaping up into whole characters!
One unforeseen problem that crept up was the dash attacks. I've boasted a lot about those animations and I shared them everywhere. I did some testing in Photoshop about how the animation cycle should go, but when applied to the game engine at the timing values I planned around I found the dash speed made them extend for kind of a long distance, like moreso than I wanted and maybe moreso than is useful.
This was especially a problem with Lizzie. I just mentioned how she was the easiest because of her speed boost, but her speed increase, applied to her dash, ends up making her dash attack much longer than the others', whose dash attacks were also exceedingly long. The original notes were the startup and recovery frames were 0.09 seconds, the three active frames were 0.12, 0.11, 0.1 seconds. For Lizzie and Alice's dash attacks this made them 1.05 seconds long, and Lou and Monday's were 0.87 seconds. I ended up subtracting 0.02 seconds from each frame, or a 0.22 and 0.18 second overall duration respectively, and this not only fixed the distance problem but also made the animation much smoother in the process!
At their new timing the dash attack is much snappier and more useful for repositioning in or through a crowd of enemies, without sending you careening off into a whole other zip code. This was probably the first major example of an idea revealing its problems only after it's been implemented and tested. But after lots of work we've basically got the game working how we need it to work in time for ECCC!
Next week I have to catch an early flight so I won't be able to make a weekly Patreon post. I'm going to share our game build on here and set it to all-patrons, as a thank you to the very kind comic-only patrons who put up with my games post over this past month. When I come home from ECCC I'm going to get back to work finishing the next comic page. I'm trying to decide if it'd be better to share the ECCC build we have in its current state or just wait a little longer and share the build with the missing features we didn't have the extra few weeks to implement- I feel like the latter would be more better so I'm not expecting people to download one build and then another build shortly after, but let me know what you think!
Thanks for your patience! Have a nice week!