Developer Blog:The Combat System

voodooc

Hi folks! As we get closer and closer to our 0.9.3 release, we thought it would be a good idea to post about various parts of the game. I'd like to start by talking about the combat system.

The tricky bit in designing Smashball combat was keeping a good balance between traditional shooters and sports games. We wanted the game to have the same visceral experience you'd get from Halo, Team Fortress 2, or any other popular shooter. At the same time, we needed to maintain the sporty feel of the game. Is it TF2 with a ball? Is it International Online Soccer with guns? It ought to be hard to tell. Moving the ball should be the primary focus of gameplay. However, rendering your opponents unto hamburger should be a close second. Violence should be up-close, personal, and over-the-top, but play shouldn't stop just because someone's internal organs are smeared across the stadium.

What we ended up with is a combat system that, as far as I know, is unique in the world of first-person shooters.

Shocking, Isn't It?
The biggest difference is how players suffer damage. Traditionally, you take damage that reduces your health, and when it reaches zero, you die. We've split that into two components:


 * Health Damage reduces your health. Running out of health, however, doesn't automatically make bad things happen to you.  A player's health determines their resistance to the second kind of damage...
 * Shock Damage doesn't reduce anything, but has a random chance of causing Shock Criticals. Shock Crits are what actually cause negative effects.

A player's chance of getting a crit varies based on their position (Forward, Halfback, Fullback, or Goalie), the amount of shock damage they suffer that instant, and the percentage health they have remaining. A banged-up player is more likely to suffer a crit, heavier positions are less likely. There are four kinds of criticals:


 * A Hook Drop makes the player drop their grappling hook, if it is connected. They can't fire it again until they touch the ground.
 * A Fumble causes the player to lose control of the ball. It flies away from them in the opposite direction they were hit from.
 * A Knockout causes the player to collapse in a broken heap for a few seconds. They lie there prone on the ground in an uncomfortable position until they come to their senses.  The duration of the knockout is based on the skills of the victim and the attacker.

This first video shows how getting shot can cause all three of these criticals.

Boot To The Head
The next big thing we did was create two different ways to inflict damage:


 * Shooting In The Face (guns). Anyone who has ever played a shooter will be familiar with this method.  The key difference: most of the guns of Smashball do more Health damage than Shock damage.  The idea is that you whittle down their health with a gun, then get close, and then...
 * Punching In The Face (turbo charge). We've got a 'Turbo' ability in Smashball, that lets players fly around like ninjas -- think of the Skulk's Leap ability in Natural Selection, but in any direction.  When you Turbo into another player, it causes a physical attack called a Charge.

Charges do Shock damage, and lots of it. They also do it to both players involved in the attack -- so it's very possible to charge into someone and end up getting knocked out yourself! Each player's strength is calculated based on remaining health and position. Two other factors affect things:


 * Angle of Attack. Each player's effectiveness is modified by how close to dead-center they are contacting the other player.  At zero deviation, players are 100% effective.  At 180 degrees away (directly behind), they are 0% effective.
 * Timing. Each turbo boost only lasts a couple of seconds.  The closer to the middle of the burst a player is, the more effective they are.  If they connect at the beginning or end of the boost, they're only half as effective.

This makes the tactical aspects of charging -- angles and timing -- have a huge impact on the outcome of a charge. Yes, your position matters (Forward, Halfback, etc), and yes, you want to whittle down the enemy's health. As you can see from this video, the big difference will come from hitting them in the face instead of hitting them from behind.

As we build out the rest of our animations, the charge attacks should get a lot better looking. We intend to create the same kind of glorious take-downs that you see in games like Madden: clotheslining some poor fool, mid-air tackles, etc. For now, the rag doll effects are still pretty entertaining to watch.

A Forceful Proposition
Technically, I lied to you up there when I said Shock and Health were the only two types of damage. There's actually a third: Force. Different attacks will actually push the target away different amounts. Charges can potentially do the most -- as you can see how the goalie knocks the forward around in the video. You can't *directly* harm a player with force, but we've seen people get slammed into the ground hard enough to get knocked out. Hilarity ensues.

Wrapup
Smashball is definitely a shooter, but we tried to give the combat a little more depth than your average shooter. In later posts, I'll talk about ballhandling, the stats system, and skills. Until then, check out this video of me and (x) having a halfback duel. I normally play in first-person mode, but I recorded this in third-person so you get a better view of the action.