Jump to content

Fighting game hit detection, hit boxes or collision detection?


Help provide feedback on hit detection methods!  

1 member has voted

  1. 1. What type of hit detection do you prefer for 2.5D and 3D fighting games?

    • hit boxes
    • per poly collision detection
      0
    • other
      0


Recommended Posts

Posted

Fighting game fans are pretty opinionated about how hit detection is done and it can be a major factor in their enjoyment of any given fighting game.  Traditional fighting games use one of two methods, 1) hit boxes, or 2) sprite/model based collision detection.  

 

I'd like to hear the community feedback on which hit detection approach you prefer and why.  I'm considering whether to improve the standard JA collision detection or switch to hitboxes in Jedi Fighter.

 

Hit boxes

Hit boxes are basically collision zones (usually a set of boxes) that define the regions of the character which can cause damage (e.g. a leg during a sweep kick) or take damage (i.e. the head while executing a kick). Some variations on this approach are to handcraft or automatically generate the hitboxes per frame of animation, or to use hit spheres/circles rather than boxes. For the purposes of this poll, hit boxes are any metadata defining collision zones that don't match the model/sprite.

 

Many 2D fighting games like Street Fighter II use hit boxes.

 

Some reasons cited for using hitboxes:

- to provide consistency of the hit detection zones during idle animations

- to keep a hit box fixed while taking damage during a knockback animation so the opponent can execute chained attacks

- to define weakness locations during an attack

- they provide a method to fine tune and balance the hit detection

 

Examples shown below:

 

Street Fighter II/Turbo/Championship hitboxes

Sf2-objecttest.png

 

34jd2qu.jpg

 

348nc3m.jpg

 

Hitboxes from Garou: Mark of the Wolves

Garou_Kevin_s.A.jpg

 

Garou_Kain_cl.C.jpg

 

Examples of hitboxes in 2.5D and 3D fighting games are shown below.

 

Super Street Fighter IV

maxresdefault.jpg

 

maxresdefault.jpg

 

maxresdefault.jpg

 

Collision detection

 

The traditional approach for JA is per poly collision detection using the Ghoul2 animation system. This means that the actual polygons of the model are used to determine the collisions against weapons, once the weapon/projectile has penetrated a certain box around the player.  You get whatever the animation gives you.

 

Some reasons cited for per poly collision detection are:

- less development effort since collision zones are determined by the model directly

- collision detection matches how the player looks, so it appears more "accurate" and "realistic"

- it is technically more realistic

 

I don't have any art to provide for this type of collision detection but I think this one is pretty straight forward.

 

I'd love to hear which method you all prefer to play with and why!

 

What is Jedi fighter?

 

Posted

Well I think part of what factors into the decision is what your featureset is going to include. Are you going to have combos or chain moves? Are you going to define weak zones?

Posted

Well I think part of what factors into the decision is what your featureset is going to include. Are you going to have combos or chain moves? Are you going to define weak zones?

If I go with hitboxes, then I'll definitely be doing weak zones. Also looking at my special move system right now to see how I can do chains/combos.

 

I wrote a scripting system for special moves which I'll include commands to create or delete zones of a certain type at a given time during move execution, which is how I'll do the hitboxes without resorting to per frame info.

 

For chains/combos, I've got a permissive check in the special move script.  When an input combo is matched, it'll check permissives before executing the remainder of the move. In the permissives I'd add the moves one must be in to perform the chained move, but this might not be the final approach. Just working on some concepts.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...