How to design a battle system?

This topic is 3621 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

One of the things I liked about Diablo 2 was its heavy emphasis on combat and skill-building and even cooler (to me, at least) was the system that was behind it all. Simple on the surface, but complex and rewarding underneath. Understanding how it worked allowed you to create character builds that didn't conform to the stereotypes of their classes (the enchantress, for one). One of the things that has always puzzled me was how the designers came up with the equations that the battle system and skill system both use (calculating damage dealt and received, chance to block, AR and DR, attack speed, etc). Just exactly where do they start? Did they draw up equations first and then design the whole battle system around those?

Share on other sites
I'm no expert on battle systems, but I've designed simpler systems before and I would imagine the general idea is the same.

Basically you'd want to establish your stats first. What sort of stats you plan to have. What type of health would you plan to use. Hearts? HP bar? Numbers? Is there a defense stat? Do you use a strength stat to determine attack power or do you use weapon attack power + strength + energy level... etc. Once you've decided on how your stats will work, it's merely a matter of coming up with formulas for attack that are balanced and work well.

There is no set formula to use for a damage calculation... you base the calculation on the stats that you've come up with. It all depends on how complex you want your combat system. You could have it as simple as "player has 5 hearts. each time they are hit they take a heart damage. if they have a shield they take half a heart damage" or you could have it complex like "player has 1234 health points. enemy attacks for 100 damage. player has 300 armor points. the formular for damage taken based on armor points is 'armor points/10' from 100 enemy attack subtract 'armor points/10' or '300/10' or '30' so 100-30 = 70 for 70 total damage to player.

That's still a really primitive combat formula. But you can get the idea.

Share on other sites
As noted, you can base a battle system on anything. But it is evident that the designers of Diablo II's combat system built up their combat system from some basic principles:

1. You kill things by reducing their health to zero.
2. You can kill things in two ways: weapons or spells.
3. Both for interest and realism, weapons need to hit to cause damage. A weapon attack is more likely to hit if the wielder is skilled (offensively), less likely if the defender is skilled (defensively). They could have made shields simply add to defensive skill here, but decided to give them a chance to prevent damage outright - this gives shields some interesting advantages/disadvantages.
4. Any damage-causing effect is of a type (magic/fire/physical etc.) which is reduced by % resistance of the appropriate type. This allows for a much larger degree of strategy in equipping a player (a necessity in a game based on loot). If there was just one damage type and resistance type, the game would be far less interesting.

The actual numbers they used weren't really based on hardcore mathematics or anything. You can see from the patch notes they had to make some big changes to offensive and defensive ratings to balance things out. I'm sure you could come up with something similar.

Share on other sites
Well, as a longtime Paper and Pencil RPG player, I would also say that another basic tenent of a "battle system" is the idea of a check.
Basically, a check is an equation that goes like this:

Player's stat (for example,defense) + appropriate modifier (if he has some kind of magical anti-harm amulet) VS enemy's stat (attack) + appropriate modifier (for example, the enemy's sword's Speed attribute).
IF Player's roll > Enemy's roll, then Player takes 0 damage/enemy misses.

From here, you can go anywhere. You can keep it this simple, or make it really complex, like adding the ability for the player to counterattack if the enemy is off-balance, having a number of different attacks that do different types of damage or have special effects, the ability to string together combos, etc. However, if you are doing something along the lines of Diablo or D&D, this kind of check will probably the basis for your system.

Share on other sites
Yeah, as far as I know Blizzard developed Diablo II ground-up and just experimented with ways of working stats and equipment and tweaked each individual one until it was as fun as possible.

And the best way to emulate their design technique is to do your own experimentation. I guarantee that a system nothing like Diablo II's could still be incredibly fun in a combat-focused RPG, it's just a matter of figuring out a unique solution to each individual problem that comes up.

I've designed things myself that started from stats, and you inevitably have to do huge amounts of revision once you realize what players are actually going to want to do in the game, and sometimes end up with useless stats or underpowered stats because they had no purpose in the first place. Some players like numbers, but there's no reason to give them numbers to play with that will waste their time or will not affect outcomes in ways that they can see.

The genius of Diablo II is the pacing: levels help you noticeably in overcoming the dungeons and certain enemy types, so your choices matter, and they come just frequently enough that they're worth striving for. This isn't because they wrote down a bunch of words, put numbers next to them, and then figured out how they relate. It's because they tried adding one action at a time, and if it didn't make the battles more fun, they cut it. Once they had something fun, they tweaked its existing stats until it was a viable option but didn't reduce the viability of other options, and then it was a system in equilibrium with no unnecessary bits to muddy the calculation and no single component that wasn't fun (mind you, it's not a perfect game, and a few things slipped through like the energy stat being underpowered, but it has far less of these flaws than many comparable dungeon-crawlers, and they clearly put a ton of time and creativity into differentiating the classes and giving players additional customization options that were actually worth using).

Share on other sites
One example of combat system design fail is World of Warcraft. All the monsters have fundamentally the same abilities and behavior, which means the player is not using different strategies for different monsters, boring. This contributes to the ridiculous amount of macroing among the game's players, because each character has a maximally-effective attack pattern that remains the same for several levels, and when it does change only changes a little. My guess would be because there's a lot of difference between how the abilities of different classes work, and with more complicated and varying monster behavior they couldn't balance the monsters to be equally difficult for different classes. Also the leveling system within each class is a narrowing type, where a character's build makes only a subset of that classes' range of spells available to each character. And most builds are only good for one one play style: soloing, tanking, dps, or healing, and pvm or pvp. So that makes the game feel even more boring and restrictive - you're stuck doing the same thing all the time, possibly dependent on whether you have an appropriate mix of other builds at appropriate levels online and willing to run dungeons with you.

All this also causes problems in WoW's pvp - certain classes are clearly superior to others at particular level brackets, the difference in combat ability between characters 10 levels apart is so big that there's almost no point trying to team pvp if you're in the lower half of your bracket. Leveling causes yet further problems because it essentially splits each class into 3 subclasses, some of which no appropriate gear exists for, which is a huge problem at higher levels because gear contributes a large factor to a character's stats.

1. 1
2. 2
3. 3
Rutin
22
4. 4
5. 5
khawk
14

• 9
• 11
• 11
• 23
• 12
• Forum Statistics

• Total Topics
633654
• Total Posts
3013168
×