In my last entry, I was in the midst of working through the opening cut-scene, and fixing some of the cut-scene playback issues I discovered during that process. Since then, I've completed some extra features that I think will make story mode actually kinda fun:
- Updates to the food spawn triggers, to give level designers plenty of flexibility in how food items spawn.
- Added two new types of food with different effects on the snake. Green apples provide a way to heal. And chili peppers temporarily cause the snake to move 33% faster. Adding new types of food has proven to be rather painless; other than dealing with my poor art skills. ?
- Added support for triggered sound effects during story mode. I'm using this to complement the story mode, by having dialog play at key moments during game play.
Now that all the functionality I want is there, I'll be going all-in on level design. There might be some tweaks or fixes here and there, and maybe some new types of food I'll want to add, but for the most part the coding for story mode is behind me. The only significant pieces left on that front are a summary screen of the food eaten during each level, and adding the ability to resume a campaign previously started.
Looking at the priorities section from my story mode design page on Github, this is where I'm at:
- Dynamically loading campaigns and assets is complete.
- There are four food types and one danger type currently supported.
- All win conditions are supported.
- Cut-scenes are supported.
- Triggered sound effects during story mode are supported.
My notes on the features not yet supported:
- Point 6 - ability to save / restore a player's place within a campaign. I plan on tackling this when all of the level design is completed. I won't release without it.
- Point 7 - additional types of food. I do plan on adding a few more over the course of building the rest of the campaign.
- Point 9 - support for music loops. As I've been play testing, I've questioned whether this would be as cool a feature as I thought it might be. The idea was to have the music adapt, playing in loops and transitioning on certain triggers. I think for the first release, I'm going to just crop the music I want into shorter loops as appropriate for each level. Basically, I noew feel this is more of a level design issue, than a feature I want to try to program.
- Point 10 - additional types of dangers. I had a number of grandiose ideas on this early on during development, but they all fell by the wayside as I realized they would tax my terrible art abilities. ?
- Points 11 and 12 - support for replacement textures or sound effects. The intent is to allow level designers the ability to replace the way food, dangers, or the snake look for their campaigns; or the baked-in sound effects like eating an apple or running into a barrier. While this probably isn't a hard thing to do, I'm likely to hold off until after the first release of story mode.
- Additional feature: level summary screen. I feel this is a neat feature, so I plan on tackling it prior to releasing story mode.
- Additional feature: dynamic changes to the map during game play. I have a strong feeling this is going to come up as something I want to tackle as part of the Adam's Revenge campaign. It's just kind of a neat feature!
I still only typically get an hour or so on weeknights, and then a handful of hours over a weekend. And I'm going to be picky about getting all the details "just so". But I think I'm on track to have the "Adam's Revenge" campaign I have in mind finished before the end of November. I'd been hesitant to give a timeline up until now, but I'm fairly confident I can get it all done!