Tuesday, March 29, 2011

To Fight Legends

For decades now the dominant combat minigame in RPGs and MMORPGs is to reduce an enemy's bar to zero before he reduces one’s own to zero. To do that one uses skills, either to reduce the enemy's bar directly, or to prevent him from reducing one’s own bar.

To give the whole thing some immersive meaning, the bar was painted red and called health bar. It was meant to indicate how healthy somebody was. One broken rip: -10% health, a broken leg and one liter blood loss: -60% health.
Also, the designer doesn't want the player to visit a hospital after every fight. So along with one gameplay trick came another: the health bars would fill up at incredible speed after every fight. The race to the bottom was at full speed, when they added healers that would rescue the tank from deaths grip once every cooldown.

For a very long time I was scared. This gameplay mechanic was literally old when I was born! How can you even question something that old? How dare you?

Now, I admit that age is a viable argument here. Something that old is usually good - or at least better than the alternatives. And I am certainly not the first to think about how to change it for the better. But too much respect is a bad adviser and so I decided to set out and think about alternatives. One thing I came up with was this.

Every combatant has three stats of which the first two start out at a standard value at the beginning of each fight:
·         Offensive points (OP, 25/100)
·         Defensive points (DP, 50/100)
·         Health points (HP, ?/100)

Every second each combatant gains 5 OP. As long as the combatants don’t use skills, they just parry and dodge each other. Nothing else happens. To have an effect on the enemy, you have to use skills. Skills consume and/or grant any of these points to you, or to your opponent.

Examples would be:
·         “Disrupt”
Consumes 10 OP and reduces the enemies DP by 10.
·         “Block”
Consumes 20 OP. For 3 seconds any skill the enemy uses on you that decreases your DP, will decrease his DP instead.
·         “Defend”
You actively try to defend yourself and gain 5 DP. Consumes 10 OP.
·         “Charge”
Consumes 40 OP and cuts the enemies DP in half. If the enemy has less than 40 DP, he takes one HP damage for every OP you have in excess of 40.
·         “Retaliate”
Consumes 20 DP and hits the enemy for 5 DP. You gain 10 OP.
·         “Backstab”
Consumes 10 OP. If an opponent has less than 75 DP and you are behind him this skill deals 10 HP damage to him. Otherwise it reduces his DP by 5.
·         “Finish it”
Requires that you have 50 more OP than the enemy has DP. Consumes all your OP and deals 40 health damage to the enemy.
·         “Trip him up”
If you have more DP than your enemy has OP and another enemy moves beside you, you trip him up. No cost.
·         Strafing (via WASD) consumes 1 OP per second
·         Going backwards (WASD) consumes 5 OP per second, increases your DP by 5 per second and also increases the enemies OP by 1 per second.
·         Moving forward (WASD) consumes 2 DP per second and increases your OP by 10 for every skill you use that deals HP damage to the enemy.
·         “Band together”
Consumes 20 OP. Use on a friendly player within 5 meters. All OP/DP points are added and shared between the two of you as long as you remain within 5 meter. If your common DP fall below 20, “band together” ends and cannot be used again by either of you for 10 seconds.

You get the idea. The system works quite well if more than one enemy attacks you. It makes health valuable. In 90% of all fights you would hope to never ever come close to losing health. And in the few cases there are, you would need to visit a healer. The system is not annoying, because you are happy to have survived in these cases.

The simulation-aspect behind it is clear, I hope. When fighting an opponent, you constantly have to guess and re-guess how offensive you can risk to be. You need to attack to beat him, but every attack makes you open to counter attack.

The problem I face writing this is that I actually need a proto type and lots of iterations to make it work. But, I think, a few things can be said despite this limitation:

Firstly, the UI would need to show the OP/DP of you and of your opponent right in front of your eyes; maybe in the center of the screen. It might be useful to show a little slider inside the enemies DP bar that indicates how many OP you have. Your skill icons might have an overlay that tells you how much OP/DP are still needed before you can use the skill. UI would be a very major factor in making this work.

Secondly, the duration between key-presses would have to be reasonably long. The system is not as trivial as hit-and-do-damage on a one-dimensional scale. The visualization can still be rather fast, as the combatants fight, even if they don’t use skills. Thus, combat can look very engaging while allowing for more depth.

Thirdly, this system would need some additional thought for magic users and ranged combat.

Fourthly, please don’t tell me the numbers above need some more balancing. I came up with this example in about 10 minutes brainstorming. I feel there is a lot of potential tactical depth by using two bars (OP, DP) instead of only one (HP). It also is a lot more immersive than the status quo. 

Do you think this system can be used to design fun and engaging combat?


  1. I think this has some potential, although you are right that this would slow combat way down. On the whole, that isn't a bad thing, though I will say that any time moving costs action points, to me, that gets into the realm of turn based combat and not real time combat. That's fine if you want to go that way, but if you do want to keep combat real time, I would scrap or re-work that aspect.

    One of the reasons that most MMORPGs do health bars the way they do is that they are basically doing a modified version of the D&D combat system. Another alternative if you haven't ever seen it, is the way Warhammer Fantasy Roleplay handled health and combat. Basically, rather than having a big pool of hit points, and big damage numbers, every one has a small pool and does just a point or two of damage on average when they hit. Every time you hit though, you have a chance to crit, and when you crit, you don't do more damage, you roll on the crit chart. You don't die from taking damage, you die from taking crits, and your health acts as a modifier on the crit chart roll. So, for example, if you have 7 health, and take a crit to your left leg, and the person rolls say a 10, the GM looks at the chart, looks next to the 3, and sees that you are maybe tripped or something. If you are at -4 HP though in the same situation, it might be something like, your leg is gashed to the bone, you fall down, can't walk, are stunned, and you will die in 5 turns if you don't receive immediate medical attention. It's a fun and different way of doing things, and it really could work well in an MMO because, you know, computers alleviate the need for looking up the damn chart.

  2. Kobeathris, I wouldn't want turn based combat. But people who jump around just for the sake of it during combat, aren't perfect either, in my opinion.

    I know a lot of players - especially if they have roots in the FPS genre, would like movement to be very important. And so would I. I just don't want it to happen for no reason. It should be part of a tactical consideration and not because moving as much as possible in whatever direction works well against bad players.

    Thanks for bringing up another combat mechanic. My opinion on this is, however, that every mechanic that includes crippling cannot be part of a real-time MMORPG. Also, I'd rather make a combat minigame that works like chess than one that works like ludo.

    The perfect combat minigame is very easy to understand, very easy to use, very fast, latency-friendly, as little luck-based as necessary and still highly unpredictable.

    I also would like it to incorporate reaction to what the opponent does. Something that hasn't really been tried yet in popular MMORPGs. Even if AoC tried it a bit.

  3. I agree that movement should be more tactical. I think it really solves a lot of problems if moving is a bit more of a consideration than just, get out of the fire, turn the boss that way, etc. I just don't think movement having a determined cost is the best way to handle it in a real time system.

    Perhaps having some type of zones of control around characters would work. You could make most skills have a base line effect, and then an added effect when used on someone who is moving through your zone of control. You could go further with that, and do the opposite for ranged players, where they get the added effect if someone is standing still. Then you give your skirmisher type roles abilities that allow them to briefly ignore those zones. That gives you a bit of a chess like mechanic, and I think that would be fairly latency friendly, since movement and distance can be abstracted slightly in an MMO.

  4. This might fall under the "numbers that are irrelevant because they're unfinished" category, but for movement I'd make it non-linear in the DP cost. If I take a step forward, that should be a small loss. If I take a few steps, bigger loss. If I charge straight at you from ten yards away, just stab me right then and there and don't even bother calculating the DP loss.

    I like the idea, so I'd love to see more tweaking of the concept.

  5. I think having something like OP and DP is great, but as has already been mentioned it would slow things down and could make simple things more tedious than they need to be. Having shifts in offensive and defensive capacity is a great idea, but I wouldn't use it as a restriction for what you can do, instead I think it would be better to tie into the characters condition, vulnerability, and stats(somewhat dynamic stats during battle).

    For example: the player attacks repeatedly in sequence, doing this leaves them more vulnerable and their defense momentarily drops; the player is recovering they are not doing action or moving much and so their deffense increases slightly momentarily.

    Notice here that the player never *can't* do a skill because points run out, instead their condition shifts depending on what they do.

    On another note, I'm a firm believer in certain skills using health and/or mana. So on your idea on how to change hp, I think a good way is to change how hp is used.

    If a mage is far away and kiting, then it would make sense to me that the extra long distance attacks take health to be used (security come at a cost). If they didn't then there would be no incentive for the mage to get closer. If the mage gets close he or she is more vulnerable, would have to depend more on dodging, but would also be able to attack without losing health. In this case a skilled mage is rewarded for taking the risk and using skill.

  6. Thanks, Klepsacovic. The system is quite flexible, I think. If you add enemies that have very little DP, you mostly simulate the current one-dimensional mechanic. Your OP would be a WoW-like rogue energy bar.

    This is also why I do not think that it necessarily slows things down, Gilded. You can allow players to press a button without global cooldown or any cooldown if you want, for example. Increase the rate at which players gain OP and combat would become incredibly fast.

    I wouldn't like that, as it would give an advantage to simple tactics. Just like chess can be played as blitzchess and it makes chess very stressful and often creates quite trivial matches. Of course, this system is way easier than chess. Pressing one button every one-two seconds would create a nice flow, I think. And if you want to change pace in-combat just add some skill to increase OP gain for 10 seconds.

    In fact, the flexibility of the systems scares me right now. Maybe I'll program a proof-of-concept some day.

    The way you talk about health it feels like money. What is the simulation-aspect behind a mage losing health?

    One prime reason to introduce a system, like the one decribed, is to remove the need for constant healing. Every stupid rogue in Rift heals himself with his strikes. How absurd! I wish they would change the simulation-aspect. It just doesn't make sense that you constantly wander between top-health and almost-dead in an MMORPG.

  7. Sounds pretty damn good - it has the "yomi" element - guessing what your opponent will do, and countering it. Worked well in fighting and card games

    It can be as fast or as slow as needed (e.g. street fighter fast or almost turn based)

    The problem is I cant really see how to accommodate such system for massive MP combat. Its great for duels and 1vs1. When you have multiple people its starts breaking rapidly. 3 bars to track across multiple targets would overwhelm players, tactical thinking would fly out of the window and replaced with lowest common denominator tactics

    Also not really a fan of tying movement to points. Albeit it might work -really need playtesting

  8. Max, your OP, DP, HP are always the same. They are not opponent-specific. You would only ever see your points and your enemies points. For fighting together with other pepole I included that "band together" skill.
    That can also be used to tank a giant with e.g. five tanks.

    Otherwise, the system is quite similar to now: If two players attack you in WoW, your health drops twice as fast. If two players attack you in this system, your DP drop twice as fast. Being low at DP you take HP damage and go down fast.
    Consider the number of possible support skills. Instead of healers, people would motivate you, thus increasing your DP ...
    This way you could still win against 2 or 3 opponents. And if moving within your control zone is dangerous - you will be able to tank them!

    You are right in that not every thiankable skill is possible. Any skill that allows you to attack a third person (trip him up) depending on a relation of your points to your current enemy's points, doesn't really work.

    The tying of movement to points is not very serious in this example. You gain 5 OP every second, but lose 1 every second if you strafe. Not much a problem, really. Just a reason to not strafe without reason, or to confuse a bad player.

    To make moving forward and backward meaningful is certainly something I want to see in the future. At least in melee combat.

    For ranged combat and even magic the system could actually be copied. Because, what's more immersive: To distract an enemy with an arrow and thus reduce his DP, or to hit his heart and see him healed up, a second later?

    The system is actually very similar to DP=health, OP=energy, HP=the stuff you lose fast if you're out of DP.

    The simulation-aspect behind it, is what makes it innovative and powerful, not the gameplay.

  9. @Nils if a mage loses health for *long distance spells* it is part of the tactics, it isn't just thrown in. The idea is to balance safety with consequence. From a intuitive, traditional fantasy story perspective, magic usually takes the health of the user (traditionally a novice that tries to use an advance spell could risk death)

    As for health, it is like money, all stats are like money, the difference here is that you actually can spend your own money for an advantage instead of only having people steal from you.

    As for healing, are there no potions? Also if the player stays still for a few seconds why can't they get back some health from the rest? It would make sense especially given DP, once your DP fills up and you have even higher defense by keeping stationary, your character gets health back. Since you have high DP, getting attacked while stationary would not do as much damage.

    Things actually can balance out quite nicely, and having health be a bit more volatile gives weight to combat, it gives a necessary sense of risk when opting for more predictable options.

  10. @Gilded:

    From a pure gameplay point of view I agree. But I strongly disagree from a holistic point of view.

    Of course, you should always "balance safety with consequence". But the way you do it should make sense! If healing was like in the fantasy books: rare, I wouldn't have a problem with your proposal.

    But to take health away with a spell just to have it renewed by a healer behind you, or one of the 40 potions you carry with you, would not be compatible with the simulation-aspect of a game I want to play.

    If you want to "balance safety with consequence", do it by taking away DP, or by immobilizing the mage. From a gameaply point of view this is the same. But from a simulation-aspect point of view it makes much, much more sense.

  11. Also I'm not sure it's a good idea to try to take healers as directly out of the equation by drawing out combat to lessen their influence. By adding a "buffer" you lessen the need for different roles, which is fine for a single-player game, but I don't think it's the right goal for multiplayer.

    If the skill factor is taken into account then a player can compensate for a lack of a role through individual player skill. The player might not be able to fight as big of things as with a group, but they also wouldn't be sharing the effort and exp and would gain exp comparatively.

    Players also compensate for the lack of roles by buying things. They take a financial loss so that they can get potions to heal. If they are skilled, they won't have to take as much of a financial hit. If they don't take on slightly lower level content (progress at the same rate since they don't share the effort) than things balance out.

    This entire dynamic balances itself out (if implemented right). Players can invest time in playing skill or money in compensation to allow them to progress faster by doing content that would require a group. A player can solo and progress at a normal rate without these things as compared to the same rate for a player in a group that works on more difficult content.

  12. Perhaps the healer's healing of targets uses the healers health, if it's more of a health exchange, and the healer uses large amounts of mana only to self-heal (but mana actually regenerates at a decent rate).

    I think if the risk dynamic is put in the whole system you could make things less one sided (like as if having a healer is cheating)

  13. @Gilded Gemstones 3 sort of handled healing like that. Empaths were the main healers, and they would absorb injuries from others, then they had to heal themselves. This actually got kind of amusing when a low level healer would try to heal a really bad wound and kill themselves.

  14. This reminds me of Warlords/W4, i think its been a long time since I played that game. It was turn based tho. I have seen this combat system very similar somewhere. It doesnt matter where quite frankly, whatever game it was didnt last long or just never got popular enough to keep the combat mechanics for other games.

    Since simulation games tend to be more turn-based like, this would work very well. Wizardry and HM&M type games. However, this wont work in real time games and definitely not MMOs. If this system was introduced years ago, I could see it as the way to do things but people are spoiled simple is better, the less thinking they have to do the better, AoC's combat really stresses people out its so complicated. trying to remember so many combinations and constant button mashing, no thanks, I want more time to think. As with this system people would have to think to fast to keep up, eventually giving up if they fail too often. To see this in live action games people would have to be hardcore playes and think just as fast. Games are meant to be fun not mental workouts. I would vote this for simulation/turn-based games only.