Les hitboxes dans les jeux de combat sont les supports du jeu. C’est grâce à elles que le jeu peut déterminer les positions respectives des personnages, et déterminer les collisions entre eux. Elles participent à la restitution plus ou moins réaliste de la physique dans le jeu, en permettant à l’ordinateur de connaitre la position précise dans l’espace du sprite du joueur. En effet, l’ordinateur ne détermine pas la position relative de tout ce qui se passe à l’écran directement depuis le sprite.
La raison principale provient des puissances de calcul : que ce soit dans les jeux les plus anciens, ou maintenant, la précision des sprites en 2D ou des modèles en 3D est assez complexe. S’il est facile de déterminer rapidement si deux carrés se superposent dans l’espace en connaissant leurs coordonnées, c’est beaucoup plus difficile quand on veut utiliser des formes plus complexes. La seconde raison consiste à rendre le jeu gérable d’un point de vue Game Design. C’est à dire qu’il devient alors possible d’influencer la puissance d’un coup en affinant la hitbox, ou en augmentant la hurtbox, par exemple. Et ce, sans toucher aux graphismes.
Un même coup avec la même portée ne sera pas aussi efficace s’il provoque une double touche systématiquement, ou s’il effectue une touche nette et sans bavure. Du coup, il devient possible de rationaliser le jeu en s’occupant des graphismes que dans une mesure pondérée, ceux-ci devant servir à soutenir le jeu, et non pas à le restreindre ou le conditionner. Afin de bien comprendre ce dont il s’agit, et combien les hitbox sont fondamentales pour le jeu, laissez-moi vous expliquer leur principe, que nous développerons ensuite.
Ceux qui ont Super Street Fighter 2 Turbo HD Remix, en plus de posséder une très bonne adaptation de Street 2X, ont aussi un outil très pratique pour comprendre les hitbox et travailler autour d’elle : dans le mode training, une option permet de les faire apparaitre…!!
Cette illustration va nous permettre de comprendre rapidement de quoi il retourne ici :
La première chose que l’on voit, c’est que les rectangles bleus et rouges ne recouvrent pas l’intégralité des 2 sprites. Comme je le précisais plus haut, le but des hitbox n’est pas de permettre au moteur du jeu d’interpréter les graphismes, mais bel et bien de jouer correctement, avec des coups possédant des fonctionnalités précises.
Par exemple, le Ken qui effectue un Tatsumaki ici ne possède aucune hitbox au niveau de sa jambe droite. Cela signifie bel et bien que si le Ryu arrivait à placer un coup sur sa jambe à cet instant précis, IL TRAVERSERAIT VISUELLEMENT la jambe de Ryu, sans autre effet !
Le Tatsumaki est un coup prévu pour être invincible aux coups bas. Même si les graphismes restituent la jambe de Ken en dessous de lui, afin d’éviter de lui donner l’air d’une ballerine effectuant un grand écart tournoyant; le jeu lui doit considérer que la jambe de Ken n’est pas ici, car le graphisme n’a pas vocation à dicter le gameplay.
Avec les hitboxes, il devient possible de faire un jeu avec des graphismes soignés, au rendu plus ou moins réaliste (les mecs lancent des boules de feu, quand même…!), et une jouabilité extrême, calculée au millimètre par les développeurs du jeu.
Comment fonctionnent les hitboxes ?
Assez simplement, ma foi. Décryptons déjà l’illustration de Ryu et Ken ci-dessus.
- Les surfaces bleues sont les hitboxes où se situent le corps du personnage pour qu’on le frappe.
- Les surfaces rouges sont les hitboxes où se situent les coups de votre adversaire lorsqu’ils sont actifs.
Lorsqu’une hitbox rouge entre en contact avec une hitbox bleue, alors le coup actif « porte », et les effets (liés aux propriétés de ce coup) sont infligés à l’adversaire (dégâts / stun / recul / knockdown / etc..)
Voilà. Rien de plus.
Vu que la hitbox bleue sert à déterminer où il faut frapper son adversaire, on l’appelle souvent la « Hurtbox », qu’on pourrait traduire par exemple par « zone où ça fait mal ». La hitbox rouge quand à elle est souvent désignée par métonymie, puisque le terme Hit signifie aussi bien l’impact que la frappe elle même. Si au même instant, les deux adversaires ont leur hurtbox et leur hitbox active qui se touche, il y a double impact.
Si un coup touche un personnage actif, dans la quasi-totalité des cas, ce personnage devient inactif, et subit normalement du hitstun. C’est ce qui explique qu’il n’y ait pas systématiquement double touche : un coup qui aurait pu toucher un adversaire s’il avait pu rester actif aussi longtemps que lui permet la frame data, ne pourra pas toucher s’il est interrompu avant, quand son adversaire touche lui même votre hurtbox.
Bon, j’exagère, il y a un peu plus à savoir. Mais quand vous avez compris ceci, vous avez compris le principal.
Les hitboxes servent aussi à gérer la position dans l’espace de votre personnage, et ainsi, à éviter que votre adversaire ne se tienne à la même position. Vous avez surement déjà vu votre personnage recouvrir un peu le personnage de votre adversaire, lorsqu’ils sont collés. Mais vous ne verriez pas les hitboxes de « position » se superposer. Sachez aussi qu’il existe des hitboxes avec des propriété particulières, comme les hitboxes de choppes, ou les hitboxes de projectiles. Mais en dehors de deux ou trois propriétés particulières, ces hitboxes se comportent globalement comme les deux autres.
Enfin, vous aurez remarqué les deux points rouges en dessous de chaque personnage. C’est ce que j’appelle « le centre de gravité » du personnage. Bien entendu, ne me sortez pas vos calculettes pour me signaler que le centre de gravité ne devrait pas se situer là, je le sais. Ce point sert à déterminer quel adversaire se tient de quel côté. En effet, vu la taille des hitboxes, cela pourrait devenir difficile de bien cerner ceci, le moteur du jeu se base donc sur un point précis, et inverse les positions quand les points des deux joueurs se croisent.
Dans Street Fighter 4
Tout fonctionne de la même façon. Il existe d’ailleurs des fichiers vidéos pour tous les personnages de SF4 console pour identifier leurs hitboxes. Vous trouverez sur le site de Nayte ( http://www.freelooser.net/ ) quelques unes de ces videos, mais décortiquées au format gif, permettant de voir, frame par frame, les animations & les hitboxes de la plupart des coups du jeu.
Les quelques animations que vous trouverez sont issues de ces fichiers : [ici – bittorrent]
Voici comment lire ces fichiers videos :
- Boites jaunes pleines :
C’est l’espace occupé par le modèle du perso.
Si 2 boites jaunes pleines se touchent, elle ne peuvent se traverser.
Un mouvement qui n’a pas de boite jaune pleine, comme la téléportation de gouki par exemple, peut en traverser une. - Boites jaunes pleines horizontales :
C’est la distance à laquelle l’adversaire va se mettre en position défensive s’il appuie sur une direction arrière.
En dehors de cette distance, il reculera. - Boites rouges solides :
C’est l’espace dans lequel le coup touche, si il rentre en collision avec une boite vulnérable chez l’adversaire.
Les frames avec ces boites rouges solides sont les active frames. - Boites vertes solides :
C’est la boite active des projectiles.
Elle marche de la même manière que les boites actives rouges. - Boites bleues solides :
C’est la portée d’une choppe, si celle ci rentre en collision avec une boite vulnérable aux choppes chez l’adversaire. - Boites vertes vides :
C’est la boite de vulnérabilité du personnage.
Si une boite rouge pleine ou verte pleine rentre en collision avec une boite verte vide, une touche est enregistrée. - Boites bleues vides :
C’est la boite choppable du personnage.
Une choppe sera enregistrée si cette boite rentre en collision avec une boite bleue pleine. - Boites rouges vides :
C’est la boite de vulérabilité aux coups du personnage.
Elle marche comme la boite verte vide, sauf que cette zone est invulnérable aux projectiles (boites vertes pleines).
1 comment
Merci pour tout ces petit guides que tu nous ponds,c’est toujours aussi instructif.
Encore merci 🙂