🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Nuts and Bolts of Combat Mechanics

Started by
5 comments, last by RidiculousName 7 years, 10 months ago

Okay so I have this idea for an RPG combat system, but when it comes to really crunching the numbers of stats, weapons, etc, I draw a blank. So my question is, where should you start when building the mechanics, character stats, weapon attributes, etc? Also, how do you keep track of it all?

I have more of a general question, but here is my idea for those interested.

My idea is a turn-based combat system where weapons have an optimum range(s). For example, a spearman will be able to strike a swordsman before the swordsman can strike back. The swordsman can get closer by winning attack rolls against the spearman. If the swordsman is able to move closer then the spearman will have a harder time attacking, defending and preventing the swordsman from closing in further. The farther away from the spearman's optimum range(s) the swordsman is, the greater the penalties. Potentially, the spearman may switch to a weapon with shorter optimum range, but that automatically gives the swordsman the ability to close in a little farther, or strike with a bonus-to-hit if he's in striking distance.

Characters with typical "ranged" weapons like bows and slings can potentially strike from very far away, but they take a lot of skill to me accurate with, characters with good armor or shields often have a very easy time blocking them, and opponents can close quickly and without winning attack rolls.

Advertisement

Maybe start by going through Ian Schreiber's course on Game Balance at https://gamebalanceconcepts.wordpress.com/2010/07/07/level-1-intro-to-game-balance/ .

Maybe start by going through Ian Schreiber's course on Game Balance at https://gamebalanceconcepts.wordpress.com/2010/07/07/level-1-intro-to-game-balance/ .

Firefox blocked the "Intro Video" link because people reported it as an attack page. Not sure I wanna override..

So you're looking to make a game similar to Final Fantasy: Tactics or Fire Emblem?

So you're looking to make a game similar to Final Fantasy: Tactics or Fire Emblem?

I've barely played FF: Tactics, and never Fire Emblem. What little I remember of FF:T wouldn't be very similar to what I'm trying to do here.

My advice is to come up with a basic system, program a proof of concept, build a few representative characters (a level 10 spearmen, an exceptionally fast level 3 swordsmen, etc.), come up with desired outcomes in pairings (a level 10 character should still win 10% of the time against a level 14 character, on clear terrain an archer should win 70% of the time if combat starts further than 50 meters apart, ...) and then simulate battles and tweak the algorithms/stats until they roughly line up with what you wanted.

For a simple system you can often calculate the "right" move and have the combatants always take it. For a harder system I'd probably code up some simple combat scripts (e.g. archer uses skill X until the distance is Y, then switches weapons to Z...) and see how they impact things (e.g., does win percentage go down enough choosing attacks randomly).

Sometimes rather than simulating battles you can also use excel formulas to get things like "at range X, it'll take an average of 5 turns for this unit to kill that one" and optimize around that, especially if things like tactics (flanking, skill combos, etc.) play too big a role to accurately simulate a battle without full AI built in.

My advice is to come up with a basic system, program a proof of concept, build a few representative characters (a level 10 spearmen, an exceptionally fast level 3 swordsmen, etc.), come up with desired outcomes in pairings (a level 10 character should still win 10% of the time against a level 14 character, on clear terrain an archer should win 70% of the time if combat starts further than 50 meters apart, ...) and then simulate battles and tweak the algorithms/stats until they roughly line up with what you wanted.

For a simple system you can often calculate the "right" move and have the combatants always take it. For a harder system I'd probably code up some simple combat scripts (e.g. archer uses skill X until the distance is Y, then switches weapons to Z...) and see how they impact things (e.g., does win percentage go down enough choosing attacks randomly).

Sometimes rather than simulating battles you can also use excel formulas to get things like "at range X, it'll take an average of 5 turns for this unit to kill that one" and optimize around that, especially if things like tactics (flanking, skill combos, etc.) play too big a role to accurately simulate a battle without full AI built in.

Thanks, I'll try that.

This topic is closed to new replies.

Advertisement