Game Development Community

Combat Dynamics

by Phil Carlisle · in General Discussion · 04/02/2002 (8:51 am) · 60 replies

Had a bit of a discussion at work today about how this could work. We hefted around a few crap idea's but came up with a fair one....


Each race starts with a matrix of states and transition moves. Transition moves are effectively defensive or attacking moves. A table is generated with each state and its transition moves such that you get something like..

Current State -> list of possible transitions -> New State.

Initially, you only have one or two possible transitions between each state. This allows for some elements of "unlocking" transition moves as you progress.

How would this work? well, in combat, you can target someone, then after each move, you can then choose another move. So you essentially "plan" your next move in a combo fashion. Much like in a fighting game, but with combo's taking significantly more time than the button bashing of a fight game. What this allows you to do is to think of attack->block->attack combinations.

Given your number of transitions, it would allow for some fairly intricate combinations.

Here's an example.

I start off facing the enemy. I pull a "sword swipe" transition, which leaves me body away from the enemy (you always face them). I then pull a "overhead block" followed by a "overhead cleave". This takes the character from body away to body towards the enemy again.

Now if Ive unlocked my full range of moves, I might have had a "underhand cleave" which would swing down->up instead of up->down, thus meaning the enemy would need to block differently.

It'd need some prototyping, but essentially it would be a matrix of moves that you'd get used to combining with blocks. This sort of "lock step" combat would give each player 0.5 seconds to decide thier next move for instance.

Thats assuming we arent simply going for some sort of sword swipte->raycast damage thing. Just saying if we arent doing direct mouse/keyboard swordplay, then having this would provide some interest (rather than some automated system).

Phil.
Page«First 1 2 3 Next»
#41
05/13/2002 (12:29 pm)
That would work too, but can you explain further on your last idea about right and left weapons? If I'm understanding you correctly it seems you'd be holding down 2 buttons at once and then releasing them at different times. Kinda clunky, but I agree pressing a button is better than releasing it.

Also, about being prone to attack during the pattern execution of the special move, remember you can still move with the keyboard (strafe, forward, back, jump) the whole time - maybe you want to keep running towards this guy while you're pulling off a special attack, and then jump over his head. So you wouldn't be a sitting duck. It's still similar to Street Fighter (in that your joystick movements are moving you around while you're in the middle of your special attack) except you have much more control of where you're going using the WASD keys in this UI.
#42
05/13/2002 (2:15 pm)
Try Kengo: Master of Bushido for PS2

it was one of the first games out, and was largely ignored by the press, but is definately still one of the best "fighting" games every made.

It has this style of game play where you program your combos ( three attacks, with the previous one dictating what choices you have on the next attack )and when you press attack it does the first one, if it connects and you have the button down still it does the next one, and if it connects it does the third one. It works pretty much the same way if you miss a move but you are off balance and there is a delay in recovering from the miss.

There are 4 "Stances" that have 4 combos each. Which means your opponent can not tell what your first or second moves will be because lots of the moves start with the same Position on screen, say with the sword held above the head.

Blocking is done by counter attacking and defending there is even a grapple/parry move that is a single button.

Even though you don't have to have the reflexs of an 8 year old on crack the game is not "easy" to play. Also most 8 year olds on crack don't have the attention span to NOT press the buttons constantly and will really suck at Kengo.
#43
05/13/2002 (2:42 pm)
No, for right and left weapons:
When I write right/left this is right OR left.

So, for example: you've got a weapon on the right hand. So you hold the right button, make your moves and click on the left button.

Now, if this is on the left hand, you hold left button, make your moves and click on right button.
(Just inversed)

Yeah, of course you can move when making the special attack.
#44
05/13/2002 (2:48 pm)
Try this, this is the way I map my keys in EVERY FPS

MOUSE1 = foward
MOUSE2 = backward
MOUSE3 = prone
s = strafe left
d = strafe right
lcontrol = fire
lshift = alt_fire
a = jump
z = crouch
q = swim up / zoom in
w = swim down / zoom out
t = team chat
y = global chat ( yell )
e = use
r = reload
space = previous weapon
lalt = walk/sprint

then you have x, c, f, g, b and h all within reach for game specific things like

b = bandage
g = throw grenade or switch to grenade


by isolating movement and looking to just the right hand you don't affecting your aim by pressing the fire button on MOUSE1 and introducing unintentional motion to the mouse.

Try this!
#45
05/13/2002 (3:18 pm)
Andre, have you got a screenshot of what this looks like in practice?

Is it like the black and white gesture thing? or do you have a menu system for it?

Phil.
#46
05/14/2002 (9:32 am)
Phil, the UI would ideally be like in Black & White the way it draws the shape and you can see the trace of the entire pattern, or no visual aid at all could also work. All I have now is just a second dot that moves around the crosshair with the mouse movements so I can verify that it's doing anything at all. It doesn't leave a trace pattern I can snapshot.

Djaggernaut, about your explanation: so now you've done the pattern with the right mouse button, do you let go of the right mouse button and then click the left, or do you click the left and then release the right, or does it even matter? See what I mean about having to press 2 buttons at once? At some point you've got 2 fingers pressing both buttons - just a little awkward is all.
#47
05/14/2002 (10:54 am)
No, it doesn't matter.
You can release it, or click on the other when holding it.
In tribes, you're frequently holding Rmouse button (jetpack) then click on the left (fire).
The must important is to not have to do it at the same time (really hard).


The BW system can also be fun... :)
#48
05/15/2002 (12:18 pm)
While on paper the "glyph" idea appears work, I don't think, in effective practice, it will function quite as smoothly in game play conditions.

As soon as you click the Right-Mouse button to make an attack you'd release "free-look". Without "free-look" the player looses the ability to steer his character in game. In cramped locations or at very close range this could prove fustrating to a player as it complicates the matter of attacking his targets. A player would basically have to commit to an attack beforehand. In the enviroment of an action FPS, the gameplay is a tad too frantic and intense with players running, jumping, shooting and attacking for any system that requires a fair bit of cordinated finger dexterity to execute a simple action.

It might be good when there's only 1 other target for the player and both players are intent on attacking just each other with melee weapons. However, things will be different indoors of a small structure or against targets that are intent on getting away from the player.
Everytime a player proceeds to make an attack, if the target moves, the player would have to start over again or else his attack will miss. At close range, ie melee range, this will be even more exagerated.


The First Person Veiw of an FPS is a 90 degree window onto the gameworld. This window has proven more then suitable for living in a typical FPS. It proves enough of a veiw for the player to make accurate attacks and move and manipulate his enviroment. However, its primarily suited to "Ranged" weapons found in the common FPS where the targets are at moderate to long range. At close range, the handicaps and limitations in a 90 degree veiwing window become apparent.

members.fortunecity.com/spamurai/Fov.gif
Notice how both blue circles start and move the same distance across the players FOV. However, note that while the top circle starts and ends its move within the players veiw, the bottom circle doesn't. The bottom circle starts out of view, moves into and then completely out of view again. In the game, should both circles continue moving, this would translate into the player needing to correct his FOV very little to keep the top circle in veiw, but be constantly adjusting his FOV to keep the bottom circle in view.

The bottom circle sits in the blind spot for the 1rst person view. Seeing how melee combat would naturally place targets here in relation to the player, the 1rst Person View isn't the best possible mode to engage in melee combat from. Furthermore, if the player was constantly toggling free-look (the ability to adjust his FOV with the mouse) on and off to attack his targets as they moved, things would become fustrating, rather quickly, for the melee player.
#49
05/15/2002 (1:09 pm)
I messed with some ideas for H2H combat a while ago... this one is taxing on the animations and whatnot but it seemed to be the most agreed upon with my idea test group.

Have various modes/states:
Ranged weapon
Close combat

and a key that switches them.

When you switch to close combat, your mouse changes to this config:

M1 - Attack
M2 - Block
Movement of mouse - direction of attack

and the keyboard becomes like so

W - forward
S - backward
A - strafe left
D - strafe right

IE you press S while holding M1 and moving the mouse backward quickly, your character ingame moves backwards and slashes downward

IE2 you hold S, then release and tap W and M1, your character lunges forward with a jab

IE3 you press M2 and move the mouse right, your character blocks attacks coming from the right

IE4 you hold W and move the mouse in a diagonal motion (/), your character slashes from upper right to lower left

quite similar to the way the light saber works in JK:2 and the katakana works in MGS2:SOL

~ Jeff
#50
05/15/2002 (3:04 pm)
Anyone ever play the game Roboforge?

It incorporates a physics engine that determines force of impact depending on the actuators and the weight of components used in your robot.

Wouldn't it be cool if, as a gmax plugin, you could have players design their own melee moves, and pre-calculate the strike location, range and damage based on the way the skeleton is animated and the strength of the virtual muscles of your orc, and the mass and angular momentum of the weapon/arm system?

You could build your own combo system too, by having the moves end at the ready pose of the next move you design, so it speeds up the rate of attack of your character.
#51
05/17/2002 (10:26 am)
Perhaps what would be more useful than this discussion would be to implement some simple versions of all the ideas floating out there. Instead of posting another "how bout this", why not sit down and hack out something? Sure its not as easy as posting a great idea, but the first person to do so will definately become everyone's hero :)
#52
05/18/2002 (5:49 pm)
Let me first ask this: how many FPS games have good melee combat?

Answer: Not many. (None?)

Melee combat will suck unless you very deliberately make it otherwise. In nearly all FPS games "melee" combat is simply guns that have very short range.

Soon I will make a post about how melee combat can be done (after I think about it some more) but let me identify the problems so that others can brainstorm solutions. The perspective I am taking is of someone who plays 2d and 3d fighting games where melee combat is the entire game. (So it had better be good)

The problems are see are these:
Viewpoint Problems
Movement Problems
Character Interactivity

-------------------
Problem 1: Viewpoint Limitations

In a typical fighting game, positioning is an extremely important, perhaps THE most important, element of combat. However a first person view makes positioning very difficult. Judging exact distances is hard, determing relative postions of characters is very difficult. Judging how close you are to an enemy, or how far your attack reaches is nearly impossible.

A second problem with the viewpoint is that it places an emphasis on hiding behind opponents in their blind-spots. Typical FPS melee combat is two characters dashing madly about so that the the opponent loses track of them. (See next Movement Problems for more on this)

-------------------

Movement Problems:

In most FPS games, including the current Realm Wars demos, characters are for all practical purposes omni-directional hover-pads. They can stop on and turn on a dime, accelerate instantly, face any direction, etc. FPS games generally are "floating gun-turret sim." That simply does not work for melee combat. For one thing, actually getting into a melee position and staying there is nearly impossible.

Note that in every fighting game characters are limited on backwards movement in some way. Sometimes they cannot back away at all under certain circumstances, backing away is slow, back dashing might leave you unable to block. When you side-step you end up still facing your opponent. When you engage you generally stay engaged for some amount of time. Positioning is very important in part because your positions and transitions between them are constrained.

Compare that to FPS combat, where basically you dash in, try to run around them to their backside, swipe once then back dash out. It's like BallBlazer meets Joust.

So, if you want real melee combat, you need a system that encourages actual melee-ing, rather than point-blank drive-by shootings.

--------------------

Character Interactivity:

In FPS melee combat there generally is none. In a typical fighting game what you do depends on very large part on what the enemy does. They duck you do a mid-hitting move. They stand you do a low attack. They block you throw, the attack you block.

First, you need more options that simply "attack." Most FPS games have one attack and one defense. (Move/strafe) They attack, you move. You attack, they move. Boring.

Another problem is one tied to movement. Things move too fast. Characters turn too fast, strafe too fast, attack animations happen too fast. It's too frantic to try to react. Even if you could block or throw or high attack you realistically would have trouble doing so.

Essentially FPS melee combat is you do your thing and they do theirs, mostly independent of each other. And that thing is the same for all players, all character classes, and is the same as distance weapons...it is "melee" combat only in the sense that weapons have very limited range.

-----------------

So, IMO those are the problems. I think it is important to realize that most FPS games have major problems with melee combat and to attempt to address those problems - all of those problems. If you have a gesture-based attacking system and the movement is still the same as any other FPS game you aren't fixing much. If you have different strength attacks that come out at different speed all you've done is made short-range charge-cannon. Using it is just a simple optimization problem.

What you need to ensure is this:

#1: You can enter melee combat and stay there for some length of time.
#2: You have *non-trivial* attack and defense options that depend on the situation and what the opponent is up to.
#3: Fighting is about fighting and not about strafing and hiding.

There are some pretty simple way to ensure some of these things. For example, when you attack you set your feet. (IE cannot arbitrarily move and attack at the same time) This simple tweak alone will partially ensure 1 & 3.
#53
05/19/2002 (8:44 am)
I had been holding off on making any comments, since I'm a bit biased, but the last post pretty much secured it for me... ;)

People who have never played or seen Dark Vengeance should find it and try it (I think the demo is still up off of www.dark-vengeance.com, though you REALLY want to be playing the 1.2 demo, as it had completely overhauled the targeting/locking system -- which is key here).

It's certainly not perfect, but it was an attempt to shift out of the FPS world partway into the fighter-esque combat, yet keeping the basic inputs.

- input is based on a 'chorded' system. that is, you hold down additional keys to 'shift' the main UDLR movement keys into doing new functions.
- you 'lock on' and enter 'combat mode' to stay locked on a given target.
- while in combat mode, you typically have 3 attacks plus a block (or a 4th super attack).
- all movement and attacks have latency associated with them. Nothing is instantaneous, and bigger swings take more time, but do more damage.
- hth weapons have 'damage points', and the combat actions have 'damage zones' during which if the points 'go through' an opponent, they cause damage.
- 'unique' items are per-character special items (4 per character, chorded in...) that allow for non-offense items to enter the mix, but again in 'non-instant' usage model.

Just wanted to toss that into the mix. You're right -- the typical FPS doesn't map well into HTH combat. You really need to shift to a different model, different thinking, different concepts, in order to address HTH. And, you move away from FPS a bit, and more toward RPGs -- but somewhere inbetween is the goal.

d
#54
05/19/2002 (2:10 pm)
To follow up a bit on the post above this, some other games to consider would be Virtua-On, Phantasy Star Online, Mario 64, maybe Shen Mue.

In all these games you basically have just one hand to hand attack and no blocking. (In Virtua-On you can block but nobody ever does, Shen Mue has multiple attacks but whatever) There is not really any high-low mixup or throwing, locking on or anything else. But even so the combat is still a clear step above FPS games.

The key thing that these games have in common is quite simple: You can't arbitrarily move while attacking. Most moves are done in place, some might spin around or lunge forward but they are have pre-determined paths. This means you can't do the typical FPS drive-by slashing. Another thing they have in common is that when you get hit you fall over or are pushed back.

IMO combat really needs to be done in 3rd person (maybe the whole game could be a Tomb Raider style view, why not? The world doesn't have enough FPS games?) But even without that a 3rd person view for "debugging" melee combat would be a huge help. I think if you look at the typical FPS game not having a close view of your character model is an excuse to have poor and nonsensical animations. Watch people melee in an FPS game - you just couldn't get away with that sloppiness in a 3rd person game. Tweaking from a 3rd person view would make it much easier to identify problems and reduce the slippery feel of FPS combat. (I would also point out that customizing your character is a lot nicer when you can actually *see* your character)

So, let me summarize:

#1: 3rd person view, if not for playing than at least for tweaking combat.

#2: Attacking moves you in a set direction. Can be different for each attack but you can't arbitrarily move about while sticking your sword out.

#3: Getting hit with or blocking an attack knocks you over, pushes you back or briefly stuns you.

It seems to me that 2 & 3 (Not sure about 1, since I don't have the engine) would be easy to quickly implement and test.
#55
05/28/2002 (7:37 am)
The best example for HTH combat mixed in a FPS is Oni, even tho it aint technically an FPS(Its a uhmm... TPSF(ThirdPersonShooterFighter)...).
Its third person but you still can aim and shoot easily(with the mouse) and you have three attacks: Shoot, kick, punch.
And you can block, duck, jump and throw(kick or punch and forward against your opponent).
IMO if we want HTH combat in Realmwars a similair way is the way to go.
Try the demo at http://oni.bungie.org
#56
06/03/2002 (9:02 pm)
Now that is a long read. I wanted to drop some ideas in the hat. I think what becomes clear from most of the posts is the a( no one likes the drive by slashing a la jedi knight b) combo moves suck unless they are very simple. I think a combination of simple combos moves( more a progression of moves) and mobility dampening in combat would make a very desirable combat system

To start with there are 2 movement modes. One is a sheathed movement where the character can move quickly. This aleviates the distance problems. Then when moving into combat, a player switches to combat mode where there ability to move id greatly hindered. This would in effect make them stand their ground and not just hack and slash while running. The transition time is lengthy enough that switching between them is not an option in battle. Maybee you can quickly switch to a fighting stance, but switching back to a running stance takes longer. During that time you are more vulnerable. Players will be less likely to just switch and run in the middle of a fight.

Next is the actual combat. The system has to be simple enough that it can be accomplished with as few keystrokes/mouse clicks as posible. The peoblem is to bring veriety into that. This is where we can start off with a few basic moves and have a high low key. I use the wasd so I would have q/e as high low. Mouse 1 for attack and 2 for defend. Simple enough. maybe use the the movement keys to add a left/right slash. Forward for a thrust and back for a overhead slash. Because movement is hindered so much, this should not take you out of position. I don't think combat should be anymore complicated that those few moves. Combos would really only be flowing one movement into another.

If the flow of combat is kept at a reasonable speed this will allow players to block moves. a blocked move with stop any combo an attacker was using. This will create a reseting time in which the attacker will be able to launch his own attack. So, while combos will exist in a limited form, the flow of combat is such that they are limited. And there is no super keyboard mashing combo. Think of combat as a ballet where you anticipate your next move while reacting to his current attack.

Next is the use of progression. I forsee progression as new styles of fighting. These would be switched to with the scroll key(or what ever you map to it). I would guess people will only be carrying one or 2 weapons at a time so the scroll could be more usefull to switch between styles. Switching could happen in the middle of comat. As you progress, you get stronger styles with different attacks and the posibility of the transitions becoming more combo like in nature.

I think the hard part is finding the sweet spot in reguards to FPS excitement> it should be fast enough to make it exciting while slow enough to have those tactical elements in the game.

WOW!! That was long. Well, theres my 2 cents. Maybe even 50 cents.
#57
06/08/2002 (5:32 pm)
It may be appropriate to consider how movement in h2h combat is done in real life. And before the flames come, it is not the intention of this writer to push towards realism - simply to point out how things work.

The argument I see is to find a way to explain why we don't want people running all over the place when they are in h2h combat. And of course how to implement this.

Anyone who has done any martial arts will realize that footwork and center of gravity are VERY important in any combat situation. With the rare jumping moves or tumbling maneuvers (which really are exceptions to the rule).

The simple fact is, you need firm control of your body mass to make effective maneuvers. Try running around and swinging a bat, then try standing still and swinging one. It doesn't take very long to understand why footwork, stances and balance are critical to effective h2h combat.

How to relate this to this project? Not sure, but something to keep in mind.

-bruce
#58
06/09/2002 (2:29 pm)
Well Bruce,

One way is to retard accuarcy and the damage inflicted by a successful strike by how much, and in which direction the player is moving.


A player who is not moving would be considered to have the most stable stance and hence be able to muster a more powerful striking blow. Whereas a player straphing left or right would be less stable and unable to mount strikes greater then glancing blows.

Another way to veiw it is that a motionless player can muster the power to kill his opponent in 1 strike. As the player begins to move around more and more they trade this power for manuevering and hence may need several Strikes to finish a target.

The way this could be reflected in game is to use a power meter. When the player is standing still and hasn't moved, their power guage is full at 100%. This symbolizes that the player is able to commit all their strength into damaging their targets. As the player begins to run around, the power meter begins to fall reflecting that the players stance and posture is trading power for agility. Running or Dashing would cause the Meter to fall more rapidly. Straphing might drain the meter quicker then backpeddling and perhaps moving straight forward may even recharge the Power meter slowly. Once the meter is empty, the player is striking with their weakest attacks. If they stop moving, the meter quickly returns to 100% allowing them to strike at full power again.
#59
06/11/2002 (1:03 am)
Hmm, definately a simple solution to implement, and one that would at least attempt to deal with the problem without too much difficulty.

It would be interesting to see if it were even possible to provide an animation based solution as well.

What i mean by this is instead of giving the player complete and utter control of exactly where, when and how the character moves. Before i confuse even myself: In most FPS games you can instantly (more or less) turn on a dime. There is no inertia to deal with, nor are there any reactive aspects to quick changes in direction and position.

Moving, from the player's perspective, is completely unrelated to the animation of the character he is controlling.

Now, don't get me wrong, I really like the instant control and feedback that this provides to the player. Unfortunately for any form of h2h combat there are no clear solutions that come to surface.

The problem (as i see it :P) is integrating a FPS with a fighting game, ala mortal kombat (the only one i really enjoyed - but you get the idea: virtua fighter, soul calibur etc.) For h2h combat to work, a 3rd person camera is almost a necessity simply because we NEED the visual feedback of our own character's moves.

It's been done before im sure, but not convincing enough to catch on.
#60
07/06/2002 (8:33 pm)
let me just sing the praises of the JK2 system, Raven have put a lot of thought into their Lightsaber system, and just because the average person on the internet doesn't get it, and despite the speed at which the game plays you really get a lot of time to consider your tactics.

The system, for those who don't know, is 90% based on direction pressed and travelling as well as around 3 distinct attack styles, heavy, medium and light.

For example (these are generally JKs stuff I may have got styles a little muddled) if you strafe right your strike will, taking those arcs mentionned earlier, be the half the front and the entire left, if you strafe left the arc will be the other half of the front and the entire right. If you walk forwards and strafe a little to the left your blow will be a strike downwards towards you characters left from right and reversed when you walk forwards and strafe right. When you walk forward the strike is a rapid overhead strike (in light style) to the head and backwards is an upwards strike to the chest. Pressing back and attack with an enemy behind you will perform a special backwards attack. Plus moves blend into automatic combats. The problem online is people don't know how to use the system and flail at you, with the blocking system this lets you wait for that obvious opening and strike and is a very elegant system, especially when playing against another person who knows how to use the saber. The system also includes the ability to knock your opponent down, and knock his weapon aside and it all is quite instinctive.

I would advise people look at it seriously as it is the best one I have seen so far.
Page«First 1 2 3 Next»