DEV Community

Matthew Parke
Matthew Parke

Posted on

Battle Engine Devlog #3 - Turn Based Combat

Now that we're adventuring, the next core part of Battle Engine is searching a zone for a monster to fight. You and your friends can then take turns using skills to defeat the monster that spawns.

When thinking about how combat would play out, how people would interact with a monster when it spawns, a turn-based flow made the most sense. Here are some of the questions that went into the decision for turn-based:

  • how will characters be allowed to attack the monster?
  • how do we prevent spamming commands in a text channel?
  • how does everyone get a turn to act in the group?
  • how do we pace the monster's response to being attacked?
  • does the monster attack everyone or one person at a time?
  • does the monster wait until everyone is done attacking or react to the player characters?

Each character gets a turn to use a skill while in combat, and in-between character turns, the monster gets a turn to react.

To start a combat with your party:

.beng fight

A monster will spawn and you're now in combat!

Next up, we can use a skill, by naming the slug we want to use. For starters, the primary attack skill all novice characters have is a good ole' punch.

.beng use punch

Ouch! Looks like the wild boar fought back with a head butt skill. Every attack calculates the damage done based on a min/max damage range for the chosen skill, and responds with the remaining HP.

A few more punches, and we can defeat the wild boar!

At the end of combat, win or lose, a summary will show. If the result was a win, the summary includes some assigned XP for all members of the party. If you lose however, your character will become incapacitated and you will need to return home before fighting again. As of writing it's unlikely that you will lose a combat, since skill additions and skill effect interactions are still in early stages.

That's all for now, come say hi to us on discord! Join Battle Engine Discord.

Want to help out or report a bug? check out active issues and contribute to Battle Engine on GitLab. All skillsets and levels of experience welcome, whether it be content writing, art, development, or just ideas!

Top comments (0)