So as I chip at the next hero update, I thought I could share a bit on how the process looks like from the dev's perspective.
[h2]The Role[/h2]
Every hero in Bonfire fulfills a couple
roles that define their place in the party. For the initial five this was easy. We needed a character for each of the common roles (attacker, healer, damage mitigator, someone who pierces armor, and so on), and another one who can fill their boots in a pinch, to allow for some flexibility.
Things get more complicated for the heroes we started adding later on. These have to respond to the game's environment and fill up any unexpected niches that have formed. For instance, we've realised new players over-rely on Hildie, so a new damage mitigator available in the early game could increase build diversity. At the same time, highly armored enemies are a common danger in the late game, and only one character is truly adapt at dealing with them.
Enter the Witch. She uses hexes to weaken enemies' armor and power, places wards on allies, and can split-off her shadow to do these twice as fast.
[h2]The Code[/h2]
Once the role and the abilities of the new hero are decided, I start hitting at the keyboard until a working prototype of the character comes out. Basic implementation of skills and runes doesn't take that much time, actually. Bonfire's mechanics are rather modular and I can whip out something 90% functional in a couple days. The problem is those last 10% take 90% of time.
Final visuals and polish can take a while (depending on the ability), but the biggest problem is always finding and solving all the edge cases. What happens when a hex ward is placed on someone who's already covered? Why does it reduce damage done to a different character when the attack gets redirected through another ability? And how to fix it without breaking the redirection system itself? As skills and interlocked systems pile up with concurrent updates, this gets harder and harder to do, but honestly I love this part of game development. It's basically a cool puzzle to solve.
[h2]The Silhouette[/h2]
This may sound surprising, but finding the right
shape for the character probably takes more time than drawing the final assets.
Once the hero's role, stats, and abilities are set, it's critical to convey them well through how the character looks. Their speed and power must be reflected in what weapon they use but also even their default pose. Their clothing and bulk has to reflect their armor levels in relation to other characters. And so on.
Kate, our artist, usually does anywhere from 10 to 30 different sketches (both on paper and in Photoshop or Procreate) before moving to actual in-game sprites. We often use the promising ones as placeholders first, just to see how they work on screen with other characters and enemies.
[h2]The Story[/h2]
Bonfire may not be story-
centric, but it is story-
heavy, especially when it comes to characters, and we're currently at over 120 scenes, ranging from party banter to quest content. While individual scenes are relatively quick to write and implement (as long as I've got a good idea that is), this task keeps growing as we add more characters and inevitably come closer to the game's ending.
Each new hero requires interactions with all the existing ones, has to react to main story events, take part in group scenes, and posses a few mini-arcs of their own, including quest content. It's all very fun to write, and we consider it one of the stronger and more unique aspects of Bonfire, but the time it takes is one of the reasons why we've decided to reduce the target hero count from 10 to 9.
[h2]The Tests[/h2]
This is where I wish our "studio" was larger and had some people who could regularly playtest the game, both to find bugs and to experience normal progression. With the game's procedural structure and various inter-dependencies, the only real way to test everything is to start a new playthrough and get to the new parts naturally. And it takes
a lot of time!
That said, I may or may not often end up playing an a minute or sixty longer than it's strictly necessary.
I hope you found this interesting and let us know if you'd like to see more posts like this in the future. And as always - you can follow me on
Twitter or join our
Discord server for more updates (or just to chat).
-Tom