Final Advancement 2019-10-28 -> 2019-10-31
Those last days were intense for sure! In an effort to keep focused on finishing, I neglected a bit this log.
- Units are now rendered in the right order.
- Challenges and Quick Battle modes can now enforce specific units instead of having the whole list each time.
- Challenges are not anymore hard-coded - instead, they are generated from a JSON inside a JS file belonging to the project, into a Challenges Pack.
- It makes it much easier to have new challenges.
- I documented the binary format for easier implementation, and it might be useful for the upcoming C++ port.
- Most strings were converted into flash-only format to save RAM.
- A new Music generator was made.
- It’s based on an ADSR envelop, with events playing for notes (pitch, duration, loudness) and jumps (for looping purpose).
- For now, only a Sin-based generator was provided. Due to it being based on
Math.sin(), the output is rather “interesting”.
- Costed much less than having a sound representing a music.
- Musics are generated from a JSON inside a JS file belonging to the project.
- So far, 4 rather short musics were included.
- Time flow can be controlled when in a battle (and not controlling a Unit) by hold A+B and pressing Right/Left (Increase/Decrease from 12.5% up to 800%) or Down/Up (Pause/Unpause).
- Quite useful to speed up lengthy battles
- Added the Dasher, a unit that always runs and dashes through enemy units.
- While dashing they’re almost invincible, taking only 1 HP of damage.
- If they’re ready to dash and receive some hit, they’ll automatically dash to protect themselves.
- In the Result Phase they’re running in circle, except when controlled - in this case they’ll just leave away.
- Units on the Player Side added by a Challenge cannot be removed anymore.
- This is to allow “protect” challenges and to teach the Player about those units.
- Challenges that were completed are now marked as such in the list with a blood stain.
- Added a Cookie to save:
- Which Challenges were resolved.
- The current music that is playing.
- Added a Settings Screen where:
- The playing music can be changed - or nulled.
- The progression can be partially or fully erased.
- Added an introduction screen which also serves as the entry’s final logo.
- Made me panic because I finished it 20 minutes before the deadline, and testing on the actual device revealed it was freezing there!
- It involved shadows walking behind, but since that was what made it freeze on the device, I had to ditch it.
- And of course, the game was posted on itch.io and submitted as a Java of the Dead competition entry. (https://carbonacat.itch.io/totally-accurate-zombie-simulator)
The submitted comp’s title screen.
The fixed title screen. It features the Zombie Brawler, Lilas (Ditched out unit - A Zombie hero with an HP-absorbing melee attack and a special Zombie Raising power), Zombie Mage (Ditched out unit - Ranged, splash-damage unit), another Brawler and a Skeleton Slapper.
My true achievement.
MUST. RUN. I WILL REST ONLY WHEN DEAD.
Controlling a Dasher will make you feel powerful. Also, a big HP bar!
They’re great at distracting a lot of people while Archers rain down their arrows on them too.
Undocumented feature - Time control by using A+B. Very useful to speed up -or slow down- large battles! This will often be laggy for obvious reasons.
Ditched out conveyor as a victory pose (also ditched) for the Dasher. Now you should have a good guess at who the Dasher is inspired by!
Thank to everyone for allowing me to have gotten this far!
Ditched out Content
- Conquest mode - Use beans to summon your troops, seize those Coffee Plantations and conquer an island against an AI!
- Campaign mode - With story, optional objectives, dialogues and characters.
- Tutorial - Helping the newcomers enjoy this game more.
- 13 challenges - And more interesting, also.
- Unlockable challenges and units.
- A funny introduction.
- Diverse Maps - with a more interesting ground and obstacles.
- A level being a parody of Brew of the Undead - with both Matti and the Castle.
Ditched out Features
- GFX applied to Units - like blood splash.
- Showing the Performance bar only when enabled in the Settings.
- Adjustment in the Cursor and Camera movement.
- Time slowing down when the last unit of a side dies.
- Units emitting random noises when battling or dying.
- Victory posture for surviving units in the Result Phase.
- Top bar displaying portrait of both sides’ leaders, with expression depending on their situation (much like Advance Wars 1)
- Entering a seed to get a specific Randomized Battle - A probably interesting way to have randomized challenges.
- Unlockable Units and Challenges depending on the Campaign/Challenges achievements.
- Actual Projectiles - so the Player doesn’t have to imagine the Archer’s Arrows.
- Velocities for Units - so it feels more chaotic.
- Zooming in/out while in Battle - Also includes a Mini-map.
- Choosing a map in the Sandbox Mode.
- Scoring, with save for both Challenges and Campaign’s levels.
- Music playing where appropriate - such as a victory or defeat music.
Ditched out Units
- Tomb - Something precious to protect from those pesky humans.
- Lilas - A zombie, hero unit who wears a fast absorbing dagger and who can raise dead bodies as zombies.
- Skyrim’s Draugr/Dovahkiin - Wears a Sword, a Shield, and most importantly Fus-ro-dah their enemies away.
- Catapult - Slow-moving, Slow-attacking, Fragile, but very powerful ranged unit with large splash damage.
- Watch Tower - Basically a static, sturdier Archer with more range.
- Wall - Mostly a decoration.
- Proper balancing.
I spent at least 130 hours (most likely 150h) working on that game. That’s partially because of the length of the jam, but mostly because I neglected my sleep. Those were 130 hours of well spend time for sure!
What happens now?
Shortly I’ll have a proper debriefing session on that game, where I’ll check its weaknesses, its strengths as honestly as possible. I’ll also analyze my decision taking - I did a lot of things because it was fun to do so (like music playing) or to satisfy an obsession, not because it bring more to the game. That might take the form of a post-mortem, which will complete this very post.
After that … since I grew to love this game, my plan will be to remake it in C++. It’s mostly because I need a tighter control about how the memory is used, multiple kind of fixed point numbers, more easily defined static data too. I feel like only C++ will help me take this game where I originally intended to lead.
Its name will change in the process, as it won’t be exclusively related to zombie anymore - but it might still features them, maybe as a specialized campaign.
As for the sources, the competition version’s ones (code + arts) will be published in my github account on the next week. The C++ remake will also be published there, as soon as it’s started.
Additionally, I’ll start a wiki for the C++ version, to provide more insight about the development, how things work inside, etc. I don’t intend to do so for the Javitto version, but I already commented a good deal of the code, so that shouldn’t be hard to read for all you great minds. Well, it might actually, because of my broken English hahaha
Thank you for having followed the development of that game!
(Will be updated with more information after the Debrief session)