I've been quiet here on gamedev for the past two weeks, but only because I've been busy getting story mode operational. Since my last update, I've managed to get all the core aspects of story mode functioning. Referring back to my wiki page on GitHub, I've completed points 1 through 3 and point 8 (because it was easy and natural to do so at the time):
- Levels will load dynamically, progressing the player through an entire campaign to completion.
- All types of win conditions are supported. The level designer has the choice of: number of a particular food item eaten, length of snake, or time survived.
- The level designer can define a maximum snake health. Hitting a barrier only causes the snake to lose a point of health.
- Eating food scores points. The game keeps track of how far the snake moved from the time food spawned, up to the time it was eaten. Bonus points are scored if the snake moves the shortest possible path.
- Multiple food spawns are supported, with carrots being the extra type of food supported so far. Each new type of food will have pre-determined characteristics; for carrots, they give a low score, but also heal the snake by a small amount.
- Story mode adds a "food spawned" sound effect that isn't present in quick mode.
I also spent some time blending grass textures together to help spruce up the visuals a little bit:
As soon as I got the second type of food spawning, and tested out being able to spawn multiple food instances, the game actually got kinda fun. I'm quite happy with how it's all coming together. ?
Now it's time to start thinking about the actual story behind Story Mode! I have a basic outline floating around in my head, but need to flesh out the details and figure out how that will translate into the actual game play.
In terms of features, the next smaller thing I want to add is "dangers". The first danger I'll add will be a spike that comes up from beneath the ground, causing damage to the snake if its body is present on that tile. In terms of level design, I have the ability to set where both food items and dangers will spawn. So I'll be able to provide a visual cue that certain tiles are dangerous; and avoid having food spawn there. Food might spawn near such tiles, though -- gotta make it a challenge!
And the next major feature will be cut-scene support. I'm expecting this to be a fair bit of development work... but hopefully also a lot of fun once it's working!