Qu'est-ce qui fait que viser dans un jeu de tir à la première personne sur console est agréable?


11

Je pense qu'il est à peu près universellement admis que le simple fait de mapper le stick analogique à la vitesse de rotation du personnage n'est pas suffisant pour que le tireur à la première personne de la console se sente bien.

Alors, quels sont certains paradigmes d'entrée qui permettent à un FPS moderne sur la console de bien fonctionner?


Je veux si mal répondre à cela; mais je suis sous NDA !!!!! Chargez MW2 sur 360, écran partagé, déplacez uniquement votre joystick droit sur une cible, observez ce qui se passe. Ensuite, déplacez uniquement votre bâton gauche et strafe d'un côté à l'autre, observez ce qui se passe.
AA Grapsas du

2
Ça ne fait pas du bien: p (je suis un clavier / souris
inconditionnel

Réponses:


19

Je suis allé à une session GDC cette année présentée par les gars de sucker punch, discutant de la façon dont ils ont géré la visée assistée et le mouvement pour inFamous. Ma compréhension est que Halo utilise un système très similaire pour la visée assistée, et voici les bases:

  • Lorsque vous appuyez sur un bouton pour tirer, le tir doit toujours aller directement là où le réticule pointe. Sinon, les joueurs remarqueraient tout "claquement" artificiel et sentiraient qu'ils ne sont pas en contrôle. Mais, le stick analogique d'une console moderne n'est PAS assez précis pour être fiable, quelle que soit la compétence du joueur. Donc, vous devez faire l'assistance avant le point d'appuyer sur le feu.
  • Le jeu a une idée de cibles plausibles pour lesquelles vous ajustez votre réticule, et peut les pondérer de manière appropriée en fonction de la pertinence de votre cible ainsi que de la direction dans laquelle vous déplacez votre stick analogique. Ensuite, lorsque vous poussez un bâton vers une cible valide, il ajuste l'entrée perçue du jeu pour pointer vers la cible probable. D'un point de vue vital, ces réglages ne modifient jamais l'entrée au-delà de ce qui serait physiquement possible sur le contrôleur.
  • Lorsque vous passez directement sur une cible, cela ralentit la vitesse du réticule, ce qui vous donne plus de temps pour appuyer avec précision sur un tir. De plus, il garde une trace de vos mouvements récents et des pressions sur les boutons, et si le réticule a JAMAIS dépassé la cible et que c'était dans un certain delta de temps, il enregistre un coup sur la cible, comme vous auriez pu théoriquement appuyer sur le bouton à ce point et le le contrôleur l'a raté.
  • Enfin, s'il n'y a pas de cible valide autour, le réticule contrôle complètement manuellement, permettant au joueur un contrôle total.

Il y a deux choses qui font que viser "se sent bien": vous devez vous sentir comme vous êtes en contrôle, et vous devez avoir l'impression que le jeu ne vous ment pas. Ajuster la perception du jeu de la direction d'entrée et de la synchronisation des boutons dans les tolérances est un excellent moyen de le faire, car cela n'entraîne JAMAIS une situation impossible où la visée automatique fonctionne réellement mieux qu'un contrôleur théoriquement parfait. Si vous essayez de le résoudre ad-hoc une fois le traitement d'entrée terminé, vous allez vous retrouver avec des situations sommaires où le joueur a l'impression d'avoir perdu le contrôle.


Excellente réponse - tout dépend du sentiment que vous ne trichez pas, tout en vous donnant le bénéfice du doute sur votre visée.
Iain

9

Il y a de bonnes réponses ici. J'ai dû le découvrir par moi-même sur le projet sur lequel je suis, mais je suis arrivé aux mêmes conclusions que les gars de Sucker Punch (et j'avais pensé que j'avais trouvé quelque chose de nouveau. Baww :().

Je trouve utile de considérer votre panorama à 360 ° à 180 ° comme un "champ d'accélération". Toutes les cibles valides créent des puits de gravité qui courbent l'entrée du joueur (seulement subtilement) de sorte que le macro-mouvement (se tournant vers des cibles face) donne l'impression que c'est un chemin "graissé". Cependant, cela n'affecte pas tout le temps le réticule - uniquement lorsque le delta de virage du joueur est pointé avec la pente du puits (pour ainsi dire). C'est vraiment la clé cependant - vous ne donnez cette vitesse de virage supplémentaire que lorsque le joueur se tourne grossièrement vers une cible. C'est à peu près la seule inférence que vous pouvez faire à partir de l'entrée du joueur.

Beaucoup plus, et vous obtenez trop d'un "effet ouija" notable. Vous voulez exactement le contraire de ouija: lorsqu'une planche ouija se déplace de manière inintelligente à cause d'un utilisateur, à son insu, vous voulez que le réticule d'un joueur se déplace de manière intelligente sans que l'utilisateur ne se rende compte qu'il ne s'agit PAS uniquement de sa contribution. C'est vraiment un tour de magie.

Utilisez le produit scalaire du delta de tangage / lacet du joueur par rapport au delta de tangage / lacet du réticule à chaque cible. Fixez la valeur entre 0 et la vitesse maximale (afin d'ignorer l'entrée en vous éloignant de la cible), puis utilisez une fonction de distance comme modificateur de chute.

J'ai trouvé que l'augmentation de ce bonus de "macro-mouvement" lorsque le delta angulaire du réticule par rapport à la cible est grand (c'est-à-dire lorsqu'un ennemi est derrière vous) aide vraiment avec le problème classique du contrôleur de console de ne pas être capable de se retourner assez rapidement. En termes de "choix de cibles", si vous êtes attaqué par derrière, et qu'il n'y a pas de cibles devant vous, ce panorama devant vous est "un espace mort", et vous pourriez aussi bien donner au joueur la possibilité de le traverser. à grande vitesse avec leur curseur. Et s'il y a des cibles à venir, eh bien, elles sont probablement plus élevées dans l'esprit du joueur et, en raison de la visée amortissante / collante, ne sont pas indûment affectées par la faible force macro.

Vous n'avez pas besoin d'atténuer la sensibilité lorsque le joueur essaie de se détourner d'un objet (cela se traduira par une sensation d'essayer de "s'échapper" de l'orbite d'une cible). L'amortissement est plus utilisé pour viser avec précision, mais aussi pour empêcher le dépassement de la visée des joueurs lors du passage de la macro à la micro-précision - c'est la chose la plus sacrée: les joueurs (en particulier les novices) ont tendance à utiliser uniquement les extrêmes de la déviation d'un bâton, vous avez donc de faire beaucoup de perfectionnement pour eux.

Le but collant est un compensateur de mouvement relatif. Observez la différence entre l'angle par rapport à votre cible (depuis la caméra, pas depuis l'origine de l'entité), cette image et la dernière image. Voyez à quel point vous visez la cible. Pour éviter l'effet ouija quand il n'y a pas d'entrée utilisateur, vérifiez la déviation des deux manches: Vérifiez si vous avez bougé physiquement (actionnement du manche gauche) OU s'il y a une visée active "avec" la direction de la cible. Ajoutez le pas de lacet / tangage delta * proximité de visée * Max (longueur de déplacement, longueur de visée) pour une visée collante rudimentaire.

Lorsque survient le problème de la confusion des cibles (c.-à-d. Une cible se faufile dans votre champ de vision pendant que vous visiez quelque chose derrière, «volant» votre concentration), il vous suffit de garder une trace de vos cibles et de «chauffer» une seule pendant qu'elle est activement visé. Ensuite, multipliez les composants amortissants et collants par ce paramètre de chaleur afin que les cibles non chauffées soient ignorées. Si le joueur VEUT l'aide sur cette autre cible, il visera manuellement vers elle, et très rapidement, cela devient la cible la plus en évidence tandis que la précédente est oubliée.

Nous créons également des cibles d'assitance d'objectif "fantôme" pour vous aider à vous détourner des choses sans intérêt (c'est-à-dire face à un mur - pas besoin de traîner en regardant une surface vierge de près si ce n'est pas utilement interactif), mais c'est probablement plus que ce que je peux parler à propos - vous pouvez appliquer ce genre de choses à tout ce qui est intéressant pour le joueur, que ce soit des barils explosifs, des objets interactifs (le bioshock utilise l'amortissement lorsqu'il vise des objets interactifs à courte portée ... mais ne fait pas de visée collante sur eux, Je ne pense pas). Une fois que vous réalisez que tout cela n'est que pour compléter le concept de base de la visée, vous vous rendez compte qu'il ne s'agit pas seulement de viser des coups, mais d'une amélioration générale de l'utilisabilité qui alimente tous les mécanismes qui dépendent de la visée. Et dans un FPS, vraiment,

La chose improtante avec tout cela est le réglage. Il faut beaucoup de temps pour bien faire les choses et pour faire face aux interférences avec les cibles, et les problèmes avec des cibles si proches que leurs "zones de ciblage" submergent le panorama du joueur, ralentissant 60 degrés de rotation jusqu'à une exploration.

Oh mec, je devrais me coucher. Désolé si certains calculs ne sont pas clairs. Il est vraiment tard, mais j'étais ravi de lire ce post.


Ne vous vendez pas à découvert! Vous avez trouvé la même chose que des tas d'autres personnes intelligentes. Les grands esprits se rencontrent. :)
Zolomon

3

Pour que l'entrée se sente bien sur les consoles, vous voudrez avoir un traitement.

Nous avons d'abord converti l'entrée linéaire provenant des sticks analogiques en une courbe qui nous donne plus de sensibilité autour du centre du stick et moins de sensibilité aux bordures. Cela peut être fait avec de petits outils qui vous aident à créer et à visualiser ces courbes et à cracher du code. (http://www.arachnoid.com/polysolve/)

Dans un deuxième temps, nous avons implémenté une sorte d'accélération. Il entre en action après un court laps de temps lorsque l'entrée du stick est d'au moins 97% et accélère la rotation de la caméra au fil du temps. Nous avons géré les axes X et Y indépendamment. Cela vous permet d'améliorer artificiellement la plage d'entrée du stick. Les premiers 97% peuvent être utilisés pour des ajustements relativement fins, mais en raison de l'accélération, vous pouvez également avoir des mouvements rapides.

Si vous avez différents FOV de caméra (par exemple lors de la visée / zoom), il doit y avoir un facteur qui ajuste la vitesse de rotation de la came par le FOV actuellement utilisé.

D'autres astuces astucieuses qui facilitent la vie des joueurs sont le "centrage automatique". Cela ramène lentement la hauteur de la caméra à l'horizon lorsqu'aucune entrée n'est donnée. Cela aide à rester orienté.

Une autre chose à prendre en charge sur les consoles est la zone morte. Lorsqu'un contrôleur vieillit, les sticks analogiques commencent à perdre de la précision et ont tendance à donner une "fausse" entrée. Pour éviter cela, vous devez ignorer les premiers PCT (jusqu'à 20%) de l'entrée du stick.

Nous avions également fait des expériences avec l'aide à la visée basée sur le frottement comme mentionné précédemment (entrée accélérée lorsque vous vous déplacez vers l'ennemi à l'écran, entrée ralentie lorsque vous vous éloignez), mais nous avions le sentiment que cela était très visible pour le joueur. L'inconvénient est également que vous n'avez plus de mouvement de came en douceur lorsqu'il y a une rangée d'ennemis. Nous avons opté pour un effet de "balle magnétique", où les balles elles-mêmes ont tendance à graviter vers l'ennemi dans une certaine portée. Cependant, vous devez également faire attention ici.


S'il ne s'agissait pas d'un site d'échange de pile, je vous donnerais mon avis subjectif: je déteste subjectivement l'accélération notable. Lorsque je déplace le manche vers le centre, le curseur s'arrête soudainement et je dois accélérer à nouveau. Je me sens saccadé. Je me sens mieux et je joue mieux avec des jeux avec peu ou pas d'accélération par rapport à ceux qui ont plus d'accélération, personnellement. Toute la raison de l'invention du manche de commande est de supprimer le besoin d'accélération. Mais c'est un site d'échange de pile, donc je ne vous le dirai pas.
jyoungdev

Le principal problème avec votre expérience mentionnée serait "ralentir l'entrée lorsque vous vous éloignez". Ce serait terrible lorsque vous essayez de basculer entre les cibles. Vous allez probablement finir par attarder le réticule sur des zones vides près de mais pas sur une cible à laquelle le joueur écarte le bâton. Comme mentionné dans la réponse de HilariousCow, vous devez faire attention à aider et à ne pas gêner. ("donner cette vitesse de virage supplémentaire uniquement lorsque le joueur se tourne grossièrement vers une cible").
beetlefeet

0

Pour les jeux sur console, vous devrez travailler avec une clé analogique. Alors que les sticks analogiques sont intuitifs pour les jeux 3D, c'est horrible pendant les moments intenses où vous devez réellement viser. La meilleure solution est de rendre le bâton précis pendant ces moments.

Voici une solution simple: lorsque le réticule se rapproche d'un ennemi, la sensibilité diminue. Cela permettrait au joueur d'être plus précis avec ses coups.

Vous pouvez également mettre en œuvre un «objectif collant». Cela devient très satisfaisant s'il y a plusieurs ennemis et que le joueur doit tuer celui qui se trouve juste devant eux.


0

Personnellement, j'aime le paradigme «verrouillé» pour les tireurs sur console. Autrement dit, maintenez un bouton pour verrouiller un ennemi à peu près devant vous (appuyez plusieurs fois pour faire défiler plusieurs ennemis), puis votre objectif les suit automatiquement. Le premier FPS à l'utiliser auquel je pense (je suis sûr qu'il y en avait d'autres avant) était Metroid Prime sur GC. Fait que l'imprécision lente du stick analogique n'a pas d'importance. ... je ne sais pas comment cela se traduirait en multijoueur.

Pendant que nous sommes sur Metroid Prime, j'ai également aimé la technique utilisée pour les bits de plateforme où la vue s'inclinait automatiquement légèrement lorsque vous sautiez. C'était subtil, mais cela rendait les commandes beaucoup plus naturelles.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.