Behold, The Encounter Designer

Welcome back, weary traveller!

I know your search for the rarest of treasures, updates, has been arduous. It’s probably led you into an entirely new fetch quest and you’ve ended up having to get crafting materials to craft the materials for another fetch quest but fear not! I am here to bestow upon you a gift from the gods themselves, the mythical Encounter Designer. Legend has it that this sacred tool allows those who wield it to swiftly design combat encounters in the GoldScript Engine, save them, and reload them for further editing at a time that is of their choosing!

Ahem, yep, that’s right, the Encounter Designer is finally finished and while it may not be much to look at, it’s a pretty cool milestone and one that took me a crap load of time to get to. I’ve been on this thing in my very little spare time, on and off for about six months. To be honest what made this more challenging than other tools was the architecture of the data structure and the desire to make this tool truly modular. So here’s a little bit about how it works.

Combat maps now have a nested Encounter property that contains all the data required to load units into a map. Units are sorted into teams and defined by what the engine calls profiles, which are basically character sheets in code. You can configure everything about the units via the Encounter Designer itself and all of the options are imported into the engine directly from the game module (which is a separate package / repo altogether). Here’s a brief list of the things you can do with the Encounter Designer

  • Edit the Encounter name
  • Add as many potential teams to the encounter as you like
  • Place units on the map on specific tiles
  • Sort these units into the teams available
  • Edit each unit’s name
  • Edit each unit’s archetype (job/class)
  • Edit all of their stats
  • Edit all of their equipment
  • Edit all of their skills
  • Set their initial facing position
  • Move them from one tile to another after placement
  • Set their AI behaviour type

After you’re done editing to your heart’s content, you can simply save the encounter to a new file. When loading again, you can simply launch the tool again to edit, or run the combat simulator to play your designed encounter.

In the video you’ll see me actively playing an encounter I’ve designed. Granted there’s a huge amount of stuff missing, units don’t actually take any damage yet, so no one can actually win. There’s also no skills or anything super interesting to play around with and the current game module exports a very limited equipment set. Like I’ve always said, everything is about laying the foundations for something cool right now. I won’t be getting deep into designing content until I know the engine is as fit for purpose as it needs to be.

Luckily this is one nice step forward on that journey!

That’s all for now, the next post will most likely focus on the rewrite I’m currently doing of the AI system to something that is far more modular and composable. Until next time...