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.

Next
Next

Humble Beginnings