Sep 12
Designing Combat System 2.0
Over the weekend, I’ve been working on setting up the new combat system for MMORPG Tycoon 2. It’s still very much just a framework, but it’s starting to take shape.
Here’s the basic idea:
Each MMORPG game has a set of attributes. The first attribute is “health”, and the player can set any number of additional attributes. Health starts as full, and slowly refills over time, when damage is taken. Other attributes might be (for example), “Energy”, which would be like Health, or “Rage”, which starts empty, and slowly drains to zero over time. Any of these attributes can be set up to kill someone, if it reaches zero or if it becomes full. (So, for example, you could have a “damage” attribute instead of “health”, which would kill the user when it became full, instead of when “health” became empty)
Moving on. Each character ability has a number of “effects”, which can modify those attributes. These effects can either be “once-off” or “Damage Over Time”. For example, most attacks will immediately decrease the target’s health. A healing spell, though, could increase the target’s health. However, it’d be easy to make a “bleed”-style attack which would do a small amount of damage every second for ten seconds.
There are also a few “status” effect types. These are your standard MMO status effects: stun, root, slow, confuse. These each have magnitudes (ranging from -10 to +10), and may be attached to any ability. So for example, you could have a “flash bang grenade” ability which does no damage, but which applied a “stun” to the target. Or alternately, a negative magnitude will undo those status effects.
Abilities can have a “cost” associated with them. You can use the “cost” to make spells rely on a “mana” attribute, or to do more complicated things; you could very easily make an attack which did damage to both the user and to his target, for example.
Abilities have a few other bits of configuration; they may be “click” powers, which just do their thing when clicked, they may be “toggle” powers which tick once per second until turned off, or they may be “duration” powers which tick a certain number of times in total. Abilities, once finished, have a configurable “cooldown” period before they can be used again.
Finally, abilities can be set to unlock at specific character levels. So you can have a PC who begins with a basic “attack”, and only starts learning more complicated spells as they level up.
(All of this is built into the PC AI system. Newbie players really like simplistic combat mechanics; they won’t be able to figure out more complicated setups which require them to use a weak ability “A” in order to later do big damage with strong ability “B”; they mostly just follow a strategy of using whatever biggest attacks they have available at any given moment. However, more expert players will become bored with those simplistic mechanics, so it’ll be important to have a few fancier classes available for them. The expert players love to manage more complicated interactions between their character’s attributes, if it means that they’re able to do more damage overall. Of course, they’ll be extremely unhappy if it turns out that their more complicated combat system turns out to be less effective overall than the simplistic one that the newbies are using!)
Can folks think of any big combat system pieces that I’m missing, here? Between configurable attributes and abilities that are click/toggle/duration and damage that’s static or DOT, I think that covers all the MMORPGs that I’ve ever played. I know that Champions Online has added a “charge up” ability type to the list; I’m not sure whether that’s really worth implementing here. I think that between “click”, “toggle”, and “duration”, that pretty well covers the basics, I think?
Actually, I seem to recall that WoW has a “global cooldown”, I believe, which lets some abilities put all other abilities on cooldown. Is that worth modelling here as well? It probably wouldn’t be difficult to do..

Will characters gain new skills over time or will they have the same skills that just increase in damage as they level up?
Yup, skills can be set to become available at particular character levels.
I’d really like to avoid having damage increase as you level up. Most MMOs handle damage increasing with level by having the player’s “stats” increase as they gain levels and gain access to better gear. Monsters have their own health and damage increase as they gain levels. In effect, it’s an awful lot of tuning work which, when balanced properly, results in no actual in-game effect.
In a real MMO this work is very important, even though it has no objective effect. One of the key pillars that MMO addiction rests upon is having numbers visibly increase, so having lots of statistics and damage values to increase over time is critically important for hooking players. But from the point of view of simply simulating an MMO, it doesn’t actually seem very important to me. And I can’t imagine that anybody would actually want to manually tune those damage/level curves to keep monster health appropriate for players and their equipment. (Please feel free to tell me I’m wrong about that, though!)
Instead, MMORPG Tycoon uses a system (first used in City of Heroes, to my knowledge) where a player’s damage is modified based upon the level difference between himself and the monster. Fight a monster who’s too many levels above you, and you won’t be doing much damage at all, even though the monster has the same number of hit points as a monster that’s the same level as you. (City of Heroes did this in addition to the traditional health/damage levelling curves. I’ve dropped those curves, at the moment, and just rely on the relative experience levels)
But come on! Part of the challenge of designing an MMO is take make it addictive, and you just said overwrought combat systems is a major way of making them addictive :)
Okay, it’s going on the “potential future work” list, which covers stuff for consideration post-MS3. :)
I still suspect that such a feature would need to be mostly automated. But it’d certainly be neat to have.
How about abilities that trigger when stats are at a certain amount? For enemies that explode when defeated, damaging nearby enemies, and such. Even allows for a ‘rage boost’ when a player or monster is below a certain amount of health. Or even passive abilities that offer small rewards for reaching certain levels.
Also, are you able to have it so that two abilities are mutually exclusive? For example, you have two similar abilities, with slightly different effects. Say one does fire damage, and the other ice. That is, assuming that you can do elemental damage, of course.
Interesting thoughts. Lots of MMOs have different types of damage; they treat “crushing” differently from “piercing” which is itself different from “toxic” and etc. And then your defence against each of these different types of damage can all be buffed or debuffed individually. This kind of feels like it’s an important concept to capture in MMORPG Tycoon 2, but I’m not entirely certain what I’d do with it. Requires a little more thought.
But ignoring that side of things, you could certainly make a fire attack (with red visual effects, of course) which did a damage over time effect, and an ice attack (with blue visual effects, of course), which applied a “root” status effect on the target, to freeze it in place for a little while. That pretty well captures the essential differences between fire and ice attacks in most MMOs, I think?
Well, it was more of an example rather than a request.