20/9/2017

Refonte du recul des armes

Au cours de l'Opération Health, nous avons identifié un problème avec le L85A2, après avoir analysé une vidéo de la communauté publiée par ExecCS. Au départ, l'arme semblait mal alignée, mais après quelques recherches, nous avons découvert que ce problème affectait toutes les armes.

Le problème vient du fait que la visée des armes, au centre de l'écran, est déplacée lorsqu'un effet de recul s'applique. Nous voulions ainsi créer un système de dispersion où les balles seraient tirées vers l'endroit que l'arme semble viser. Malheureusement, cela n'a pas fonctionné comme nous le voulions, et l'écart de l'arme à la première personne a créé un problème de parallaxe entre l'arme et le monde. L'arme que vous maniez est rendue avec un champ de vue (CDV) fixe de 50 degrés, tandis que le monde est rendu avec un CDV de 60 degrés pour les consoles, et entre 60 et 90 degrés pour les PC. À cause de cela, chaque mouvement à la première personne que nous effectuons hors du centre de la caméra causera immédiatement des problèmes d'alignement avec l'arme.

Cela signifie que les balles n'atteignent pas toujours exactement l'endroit visé par le réticule. Parfois, la marge était très petite, presque négligeable, tandis que d'autres, la balle arrivait très loin du réticule.

Refonte

La première étape à laquelle nous avons procédé a été de supprimer intégralement l'écart. Malheureusement, la majeure partie du recul était liée à l'écart des armes, donc le recul de ces dernières était trop facile à contrôler. Sans solution pour ce problème, nous nous sommes dit que nous devions ajuster le recul de toutes les armes.

En essayant de faire cela, nous nous sommes immédiatement confrontés à un autre problème. La manière dont l'ancien système de recul fonctionnait nous a seulement permis de définir un schéma de recul.

Par exemple, imaginons que vous tirez un chargeur complet avec l'ancien système. La première balle va directement là où vous visez. Pour calculer l'endroit où ira la deuxième balle, le moteur sélectionne un point au hasard au sein d'un ensemble de paramètres de la forme d'un diamant. Pour calculer le point d'impact de la troisième balle, le moteur prend la position de la deuxième balle et sélectionne un autre point dans le diamant en utilisant cette même position comme point d'origine du diamant (0, 0) et ainsi de suite, pour toutes les balles restantes.

Cela nous laissait donc un système encore très dépendant d'un générateur de nombres aléatoires (RNG) qui faisait trop travailler la caméra et rendait les armes erratiques ou imprévisibles. Ce système ne correspondait pas à nos besoins, nous en avons donc conclu que c'était une bonne opportunité pour réviser notre système de recul.

Recul en plusieurs étapes

Cela nous permet de définir autant d'ensembles de données de recul que nous le souhaitons, à n'importe quelle étape d'une dispersion totalement automatique. Retournons à notre exemple. Naturellement, la première balle va directement là où vous visez. La deuxième est guidée par une simple valeur de tir vers la droite ou vers la gauche. Cette fois, nous pouvons dire au moteur que "pour la deuxième balle, utilise cet ensemble de données de recul et pour la troisième, utilise cet autre ensemble de données", etc. De cette façon, nous pouvons dire que chaque balle est en relation avec la précédente.

Cela signifie que nous avons un contrôle parfait de la destination de chaque balle, sans qu'aucun autre RNG ne soit impliqué. Avec ce système, nous sommes capables de créer des schémas de recul bien plus précis.

Notre vision du recul pour l'avenir

Notre vision est d'avoir un système de recul qui reste fidèle à l'esprit de Siege, sans jamais que les joueurs aient l'impression d'avoir été spoliés sur un tir talentueux ou d'avoir eu de la chance sur un tir raté.

Nous ne voulons pas accabler les joueurs avec un nombre hallucinant de schémas de recul à retenir. C'est pourquoi nous les avons divisés en familles. Chaque famille aura le même type de schéma, avec de petites différences pour s'assurer qu'elles restent légèrement différentes les unes des autres.

Les armes ont été classées de la manière suivante :

AUG A2, Type-89, F2, C7E, AR33, G36C, L85A2, 556xi, PARA-308

552 commando, AK-12, C8SFW, 416-C, R4C

G8A1, M249, 6P41, T-95 LSW, PDW9, P90, Scorpion EVO 3 A1

MP5k, MP5, FMG-9, T-5, MP5SD, MPX, 9x19VSN, MP7

MK17 CQB

SMG-11, Bearing 9, Vector .45 ACP

Les fusils à pompe, pistolets, fusils de précision et certains pistolets-mitrailleurs avec une faible cadence de tir sont exclus de cette liste, car nous n'avons pas encore terminé de retravailler leur recul. Nous avons retiré le peu d'écart d'arme qu'elles avaient, mais cela n'affectait pas suffisamment le recul pour garantir un changement.

Tests à venir

Bien entendu, ce changement ne sera pas implémenté sans avoir été testé comme il se doit. Le système de recul mis à jour sera disponible sur le STT à partir du 20 septembre.

Nous sommes impatients de vous voir essayer notre nouveau système et nous vous encourageons fortement à nous faire part de vos commentaires sur le subreddit STT de Rainbow 6.

Visiter nos autres réseaux sociaux

facebook icontwitter iconyoutube icontwitch icon