Team A
Team A
Devlog

Fighting system

January 13, 2016

Hello again! This post will be a little longer than usual; but don´t worry, it´s filled with pictures!

This is a fighting game but we have not explained how the combat will work, and I think it is time to do it, so you will have a better understanding of the movement and abilities of the different characters.

The combat is driven by the different type of collisions, and we decided to go with a frame by frame collision data. As the 2D fighting games in which every animation has the collision information for each frame, this allow us to really customize every attack and movement, although we won’t get as deep and technical as a Street fighter or BlazBlue kind of game. (if you want to go deep into this take a look at the DustLoop wiki and its frame data).

This is an example of an attack sequence, we try to cover the movement of the attack. Basically it work as an animation in which every collision box has an initial frame and a duration and we can play it. Although we are not spending much time on it right now, We are focusing on implementing all the characters first, but once we reach the point of going through every character polishing them, this is something we will revisit trying to nail every move.

We are using right now 10 different types of collisions, apart for the level collisions, from which can be classified into hitters and receivers.

Hitters : melee, projectile, bullet, push, superfeud, explosion, spiritattack.
These are collisions that can trigger a hit with another collider.

Receivers : damage, interactive, explosion and all the hitters except spiritattack.
These are the collision that can receive the hit. A simple example, a melee attack can hit a projectile but a melee can’t hit a spiritattack, because this last one it’s not a receiver collision.

We have all the collisions types sorted in a hierarchy.

SuperFeud
Explosion
Push
Defense
Melee
Projectile
Bullet
Interactive
SpiritAttack
Damage

Following this hierarchy we decide which attack collision has a higher priority, disabling the lower priority collision. I will try to explain it better with different examples.

A bullet can hit a damage collision, but a projectile as an arrow can hit a bullet destroying the bullet as the arrow keeps its path. If we go higher in the hierarchy we can deduce that a well timed melee attack can repel bullets and also projectiles.

But neither one of the three against a shield will do anything, and if the attack was a melee against a shield the attacker will be stunned.

This state of stunned happens also if the collisions that produce the hit belong to the same category, melee against melee (a sword clash), or projectile against projectile (disabling both of them) for example.

Each collision type is also a different type of attack and I will explain the logic, and some characteristic behind all of them.

Explosions are an special kind of collisions that can kill everything, and when we say everything is everything, doesn’t matter is the character can endurance more than one hit, it will die.

Nothing can pierce a shield, nor melee, nor bullet, nor projectiles, but you can always push the enemy stunning it. It doesn’t do damage but opens a window to a perfect timed attack.

Defense in particular the shields work as obstacles, and can be used to push.

Projectiles are arrows, knives, everything you can throw or shoot except bullets. The ammunition is limited and need to be recover, and if it is your main weapon without it you will be helpless, so be careful where you throw it.

And as we mentioned earlier, projectiles are stronger than bullets. It may not make much sense in real life but that’s how it is.

Bullets are an infinite ammunition, but needs to be reload.

Interactive objects of the level that the player can interact with. Dynamites before they explode lies in this section, can be hitted to push they away from you, but don’t get close again.

Damage can be evade using evasive skills as a roll for example, giving some invulnerable frames while doing it.

This is a quick overview of the logics and combat mechanics we are using to build the combat and all the characters. It is simple yet deep enough to allow for some strategy and interesting situations. We hope that now everything starts to be clearer. We would like to know your thoughts about the whole combat system, and if there is any suggestion or something you don’t like don’t hesitate. We are still in earlier stages so there is time to changes.

1 Comment »

  1. This looks good!

    Comment by Eder — November 28, 2016 @ 4:29 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment