Advertisement

Opinions on Guarding inside Combat Systems

Started by November 22, 2010 05:14 PM
6 comments, last by Platinum_Dragon 14 years, 2 months ago
I'm wondering what people think about combat systems that rely heavily on blocking/guarding? Does it feel like a burden? Do you usually just hack away at the opponent with little care about defense? Does it make the game more difficult to control?

I'm especially interested in thoughts of those who don't typically play action games, but any opinions would be much obliged!

I posted this on gamefaqs and the general idea is that it's okay if guarding has merit to it, but in fairness I only got 2 replies [dead]


Blocking and Guarding are just names and animations put to options. They might just be Dodge (or even moving out of the way), or any other name.

What is important is how they relate to your other options. If blocking and guarding are unnecesary because your other options dominate them, then they won't be used and wont be fun. Also, if blocking and guarding are so much better than other options, then they will always be used (and other options won't be used) and will also stop being fun (for the players that don't use them).

The other problem with addin in options that the player won't use is that it is wasted effort and resources from you. Besides not being fun, unused options reduce the time and resources you could have spent making the options the players do use even more fun and exciting.

Luckily there is a happy medium, and this is what balance is all about (it is not just about makeing things fair).

If you create a game without balance being included from the start, then you are adding in unused options and wasteing your time doing so. But, by designing in balance from the start, you eliminate these unused options and have your time, effort and other resouces put to an optimal use.

Have a look at this article: http://www.gamasutra.com/view/feature/1733/rock_paper_scissors__a_method_for_.php

It comvers the actions of a player in a beat-em-up game and how to create a balance and interesting strategies, but it also applies to all other game genras.
Advertisement
Interesting read. I understand the theory behind it all but I was more interested in the feeling behind it. While guarding is useful and makes the game more balanced, I rarely see it presented as making the game more enjoyable outside the fact of balancing things. I believe this is the reason why most enemies in single-player don't guard and rarely attack.

Still, after reading that article the question seems less important now.
Thanks!
The only game where I've liked the blocking mechanic was Mount and Blade. Yes, shields would block anything (although they break) but 2handers and polearms must be blocked 'manually'. That way turtling doesn't happen because only really good blockers can reliably do it.

It also leads to awesome duels when the last two players alive are both brilliant and have massive zweihanders or katanas.
Quote:
Original post by AntiGuy
I'm wondering what people think about combat systems that rely heavily on blocking/guarding? Does it feel like a burden? Do you usually just hack away at the opponent with little care about defense? Does it make the game more difficult to control?


The devil is in the details. At the simplest level, blocking might be a decision on whether or not to go one-handed with a shield (sword-and-board) vs two-handed (think polearm or big weapon). After making that choice I don't have to micromanage where I place my shield because the engine takes care of the all the calculations. It's a simple balance of defence vs offence.

Or you can design your game where you need to control your sword arm and your shield arm separately. If balanced correctly then there will be monsters that you must fight with a shield that you would have no chance without and accurate timing is key to winning the fight. Perhaps you might fight a high-damage, low hit point monster that is easier to take out with a two-handed weapon.

The first mechanism works better in MMOs and games where the player controls multiple characters. The second mechanism makes more sense for FPS style games.
In fast paced MUD/text game I was designing meelee attacks could be classified into broad types. bash(make person a pancake, IE like stun), toss(an attack that would send target out of melee range), halting(slow current action of target).

There were two types of defenses.
-The player could dodge instead of attack. But you incur a penalty like -5% damage on next attack
-Then triggered defenses, essentially a player could choose a stance that would trigger an ability automatically on a specific attack type, if that attack took place from a visible target(IE the player avatar would see it). for instance an anti-halting defense would make it so the player would still take damage but would attack faster+cheaper(berserk), while the anti-bashing defense would double the time of the enemy bash would take(IE time where enemy at mercy). Essentially there are around a dozen different defenses, and the player could pick 3 they would go into the level with(and one that would be active at any one time).

Game would be balanced so that attacking took a lot of energy and time, while virtually any other action took no energy, dodging takes no time(instant), defenses took a lot longer to set up than an attack but once a defense was up it would stay up even after getting triggered(Meaning you'd have to choose ahead of time what you thought you were going to get hit with, or be forced to dodge. And also meant that after an opponent saw a defense triggered they knew which defense you had up for the next attack or two, or you could keep that defense up to avoid attacks you hated the most).

The game is designed so that you don't want to get hit(everyone low health), and at the same time it's set up so that you can easily choose to never get hit by normal attacks. But at the same time have to take risks due to other side mechanics that offer guaranteed hits as the fight goes on(if you dodge you won't collect energy for the hits that normally win the fight). Also allowed for players to feel like a hero against AI that very slowly builds up guaranteed hits, and bosses that could play somewhat intelligently since it is easy to map options since it's somewhat turn based(at least in text).

Group combat was also set up a little differently, essentially everything would be 1 VS 1. But if an attack would go through to the side with more party members, one of the alternates would have a 40% chance to switch out with the person getting hit(if that alternate had a defense that could block it). Since I hate spam(only see your current battle) and spiking.

___________

This should map pretty easily to a graphical game as well, with some obvious changes.

Advertisement
This discussion is reminding me of 2 combat systems:
Assassin's Creed and (what I've heard about) Zelda: Skyward Sword.
In Assassin's Creed the first 2 games relied heavily on blocking and counterattacks. Both of these actions were to be timed exactly as an opponent moves a certain way so as to catch them off their guard and deliver a satisfying attack animation. This could slow down the combat, but added a large degree of skill to it, and blocking was invaluable when all the guards in town are attacking you, for instance. Though it was slow at times, I enjoyed the skill balance, and between the feeling of gratification when correctly timing an attack and the awesome animations, it felt totally worth it. Also, the blocking usually did not feel cumbersome or anything like that, and the assassins felt agile and fun to play as.

In LoZ: Skyward Sword, the Wiimote and nunchuk serve as your sword and shield. Different enemy types require different attack strategies, and different enemy animations cue you in onto when they will attack, so you can prepare to block. At other times they will be open for attack. Other weapons are introduced throughout the game to spice this formula up.

Just some games with blocking heavy gameplay that come to mind.
Players don't like passive roles like dodging or blocking or guarding. Instead, counterstrike is the active ability they will rather have. What is counterstrike? Counterstrike is the ability to attack the opponent or opponent's weapon in the middle of the opponent's attack. Countering against the opponent's weapon [usually this is classified as parry] is to decrease the opponent's strength, and thus, diminish the opponent's attack power. However, it can also be use to redirect projectiles from hitting the player or allies. Countering with an attack at the opponent's body usually results in critical hits because the opponent's mentality is focus on the attack.

Abilities List: Attack, Counter, Dodging, Blocking, Parry.

A realistic system should have these five elements as the basis. However, the emphasis of the game is to use minimal energy when fighting against opponents. Thus, dodging cause both players to lose orientation, so it will stall the battle. Blocking cause the player to diminish strength. Parry diminishes the opponent's strength. Counter will cause damage to return to the opponent.
Like in real life, blocking takes the least amount of time. Follow by parry. Next is dodging. Counter takes the most amount of time. An attack against the enemy is usually not advise when the opponent is attacking.
Countering requires a high time precision since counter is dodging and attack combined. Dodging requires a moderate time precision. Parry requires a moderate time precision as it is the combination of guarding and attacking [however the attack is against the opponent's weapon]. Blocking does not require much time precision, just needs to be started ahead of time and maintain until after the opponent's attack complete.

The merit of blocking is that most action game player don't use it often unless it is somewhat overpower. Most blocking system have the player takes minor damage and have a delay to when they can be active again. In such system, blocking in a corner equals lose the game. However, blocking in the middle of the field can have advantage against opponent's attack that have long recovery time. The recovery time of blocking is moderate, so simple attacks have advantage against them. However, non-simple attacks have long recovery time, so blocks have merit against these non-simple attacks only if a simple or quick attack can connect the block to get a hit against the opponent.

I prefer a system that has all five elements that I stated above.

A punch is 200 milliseconds. Pulling the arm back for a punch will make it total of 400 milliseconds. That's why advance fighters don't pull their arm back to get ready for a punch cause a 60% strength punch that hits is better than a 90% strength punch that gets blocked. Stepping forward takes about 450 milliseconds, so dodging has to be ahead of time or the punch reaches first. Dodging are sidestep, and sidestep usually takes 350 milliseconds after well martial arts training. However, blocking is about 250 milliseconds, so that's usually the first choice. A kick to counter the punch is usually not possible because kicking is about 300 milliseconds. Spin steps are use by advance fighters. Spin step is spinning on the ball or heel of your feet to take the shortest distance away from the opponents attack. These spin steps allow fighters to counter in the same amount of time the attacker takes to attack. The best dodging technique is the J step. The J step is a spin step with the front leg, and a side step with the rear leg that sets the person at an angle to their opponent. The J step is the best of the basic dodging techniques. The J step should be paired with a punch to the side of the opponent.

Okay, I made up those times so don't think those times are real.

[Edited by - Platinum_Dragon on November 28, 2010 9:07:28 PM]
I use QueryPerformanceFrequency(), and the result averages to 8 nanoseconds or about 13 cpu cycles (1.66GHz CPU). Is that reasonable?
I though that the assembly equivalent to accessing unaligned data would be something similar to this order:

  • move
  • mask
  • shift
  • move
  • mask
  • shift
  • or

    So it seems reasonable to say that it takes 14 cycles for unaligned data since we'll have to do the series of instructions once to access and once to assign?

This topic is closed to new replies.

Advertisement