Milestone In the Bank
This is the first of our monthly dev blog posts, and it’s a big one! At the time of writing this I’m preparing to send out a Friends & Family playtest build, so I’m doing all the last minute preparations and playtesting for that. This demo represents the culmination of a 4-month milestone (although I prefer to think of it as my Q3 milestone).
The original milestone demo was all about the core of the game, moving units on a grid, using attacks and items, taking damage. It was playable but very spartan.
Screenshot from my original demo build
Since that build the theme of this milestone has been “Persistance.” And I’m proud to say I’ve taken the game a long way from a group of hardcoded units on a hardcoded map, to a much more robust and data driven game. The changenotes for this milestone include:
Created a map editor tool (and maps!)
Integrated map editor improvements back into main game
Unit XP gain and level ups
Unit class promotion
Unit equipment selection
A persistent roster of units to select from
Saving and loading player progress
Persistent unit death
8+ new classes
20+ new weapons and items
Visual upgrade with post processing effects
New environment art, portraits, and unit art.
Clouds!
Music and SFX
Improved AI logic
Main Menu and Loading Screens
Bug Fixes & More!
The final battle in the new build. My roster is not prepared!
There are two big pieces in here that stand out to me looking at this list. I think I spent a month on the Map Editor and another month on the UI for equipment selection, promotion, and battle participation. Both of those features were monumental undertakings.
The map editor is a scene within Unity that I “play” in order to place tiles, doodads, and spawn points onto the grid and then the map is serialized and we can load it into the actual game from there. It was literally making a separate little game that just had a useful output. I decided to do serialized maps because I didn’t want to have a separate unity scene for each battle. I’ve had bad experiences in the past maintaining and updating that large number of scenes. However this does mean that I need to be able to pack and unpack literally everything about a battle. And adding anything means creating a system to understand it. But overall I’m happy with my choice. (for now)
The map editor tool with a preview of some content coming down the pipe :)
The pre-battle UI which has all the options for promotion, equipment select and roster select was also a huge undertaking. Each one of these menus has several states they can be in and data needs to pass between the states. States needed to be navigable forwards and backwards and components needed to be reusable. Each of these menus for example feature a unit selection sub-menu, so the flow is
Select the menu
Select the unit
Perform the modification (equipment, promotion, or participation)
I won’t lie, I got stuck a few times and had to re-think my approach. I started trying to make an omni menu that could contain any number of submenus in any order, but the logic to move between it all was too complicated. So I ended up making that omni menu a shell and adding a layer on top that managed what sub menus we needed and the logic to navigate through. So in some ways each menu is bespoke, but I got to re-use a bunch of UI layout. It’s not a perfect solution, but I think it is a model I’ll try and use when I start on the campaign UI in the future.
Choosing which unit should change their equipment.
The biggest upgrade I think from an outside perspective is the dynamic lighting and post processing effects. It takes the game from a very flat looking experience to a breathing 3d world made up of flat people. I was inspired by the likes of Octopath Traveler and Triangle Strategy who use similar effects in their games, and I hope to stand out from those two titles because of my more vibrant color palette and environments.
So what is next? Well the theme for this milestone was “Persistence” and I’ve decided that the next one will be “Strategy.” It’s still early days but my goal is to focus on all the things you might do in a battle that aren’t attacking, really filling out the strategic space. My list right now includes:
Buff & Debuff spells
Active effects (like poison or heal over time)
Class abilities
Unique abilities
Positional abilities (bonus for being near eachother)
Additional terrain effects
Conditional terrain effects (like how a closed door is impassible)
Conditional actions (like opening a door)
Lots of consumable items using all these new effects
Weapon proficiency (and the framework for support conversations)
AoE spells and attacks
Battle Objectives ( not just kill everyone)
That’s already quite a list! And I’d like to tack on a few extra things that aren’t quite on theme but I think are important as well:
UI revamp for some of the oldest menus and UX
Early skeleton campaign system
Pause menu
New battle tileset: Town (art and assets for battles in a town)
Ok I’m done. Jkjk I’ll think of more. I’d like to aim for another one of these milestone demo playtests around the end of the year with as many of these features as I can get through in that time. I’ll be posting updates here every month with what features I've ticked off and which ones are still to come.
Until then.