web-dev-qa-db-fra.com

Existe-t-il une alternative logique pour la touche Échap?

J'ai un jeu qui peut être joué dans votre navigateur. C'est un jeu rétro (serpent multijoueur) et les menus et votre serpent ne peuvent être contrôlés qu'à l'aide de votre clavier. L'entrée de la souris est ignorée.

J'utilisais le Esc pour annuler toutes sortes d'actions, comme annuler une fenêtre contextuelle de confirmation, revenir en arrière d'une étape dans un menu, quitter un jeu, annuler le focus sur un champ de saisie.

Le problème est que mon jeu prend en charge le mode plein écran html5, et les navigateurs quitteront le mode plein écran lorsque Esc est pressé. Je ne peux pas remplacer cela à cause de la sécurité du navigateur.

Au début, je pensais simplement utiliser les deux Backspace et Delete pour déclencher une action d'annulation et promouvoir ces clés dans les instructions initiales. Le problème est que ces touches ont déjà une fonction lorsqu'un champ de saisie est focalisé, j'ai donc besoin d'autre chose pour l'annuler.

De plus, je crains que les utilisateurs n'utilisent Esc de toute façon parce qu'ils s'attendent à ce que cela annule les choses. Alors peut-être que je devrais le supporter quand je ne suis pas en plein écran, et ajouter une fenêtre d’alerte en entrant en plein écran Esc va maintenant quitter le mode plein écran et vous devez utiliser some other key pour annuler. Mais changer la disposition du clavier à mi-chemin n'est pas idéal.

Je pourrais également ignorer le mode plein écran, car Esc est essentiel pour une bonne UX du jeu et il n'y a pas de solution de contournement acceptable.

Comment résoudriez-vous cela?

18
Blaise

Il est extrêmement difficile de former les utilisateurs à faire quelque chose de différent de la manière habituelle. Cela peut être particulièrement vrai dans un jeu informatique où les actions sont moins réfléchies et souvent réflexes.

Vous rencontriez donc des problèmes même si vous posiez les fonctions Esc sur une clé différente. Les utilisateurs s'attendraient toujours à ce que la fenêtre de confirmation se ferme et pourraient être confus s'ils quittaient le plein écran à la place. Cela peut devenir très frustrant si cela se produit plusieurs fois.

Comme je ne peux pas vous donner de conseils d'implémentation pour contourner ce problème, la seule possibilité que je vois est ce que vous avez déjà suggéré:

Je pourrais également ignorer le mode plein écran, car Esc est essentiel pour une bonne UX du jeu et il n'y a pas de solution acceptable.

5
msp

Bien qu'en général, il est certainement préférable de concevoir l'interface d'une manière à laquelle les utilisateurs sont déjà habitués, en raison de limitations techniques externes sur lesquelles vous n'avez aucune influence, cela n'est pas possible dans le cas décrit. Par conséquent, il n'y a pas d'autre choix que de demander aux utilisateurs de s'adapter à une convention différente.

Ce que vous pouvez faire maintenant, c'est rendre cette adaptation aussi simple que possible pour eux: l'affichage de l'entrée disponible tout le temps peut surcharger visuellement votre écran, mais que diriez-vous de notifier exactement les utilisateurs qui appuient Esc en mode plein écran? Cela nécessite deux choses:

  • Vous devez pouvoir capturer Esc frappes (même si elles terminent invariablement le mode plein écran).
  • Vous devez savoir si votre jeu est (était ...) actuellement en mode plein écran.

Ensuite, affichez un message tel que "Malheureusement, certains navigateurs quittent automatiquement le mode plein écran Esc. Par conséquent, vous pouvez également utiliser une touche alternative pour déclencher action XYZ. "De cette façon, le message parvient exactement aux utilisateurs qui, autrement, appuieraient sur Esc quand ils ne devraient pas. Comme mentionné par msparer , la saisie dans les jeux est souvent semblable à un réflexe, mais alors, beaucoup de jeux nécessitent plus que les quelques touches "standardisées" (par ex. wasd pour le contrôle de la direction), car ils ont des fonctions personnalisées et affectent donc des touches supplémentaires auxquelles les utilisateurs ne peuvent pas être habitués. C'est toujours une question de savoir comment les utilisateurs peuvent être soutenus dans leur adaptation au jeu.

Une chose que je déconseille fortement est de sauter complètement le mode plein écran. Vous déclarez que certains utilisateurs peuvent être déroutés par l’effet du Esc en mode plein écran, mais même si vous ne réussissez pas à habituer rapidement les utilisateurs à une clé alternative comme décrit ci-dessus, cela ne peut pas justifier de punir les autres utilisateurs qui s'entendent bien avec une clé différente. Dans le pire des cas, cela peut conduire à des utilisateurs mécontents qui s'entendraient avec la clé alternative ( ils se voient refuser une fonctionnalité - faites attention à vous, une optionnelle, qui peut être tournée off par celui qui ne l'aime pas - parce que les autres ne s'entendent pas bien), et les utilisateurs mécontents qui font pas s'entendent avec le Esc en mode plein écran, car ils ne voient pas le problème et l'explication semble plutôt compliquée (c'est-à-dire qu'elle ne convient pas du tout à l'explication).

4
O. R. Mapper

Pour de nombreux jeux rétro basés sur un clavier, je les ai vus mettre des légendes clés en bas similaires à ceci:

example

Ok je sais que l'exemple est un changement de fichier Host mais l'idée est là où les commandes disponibles sont explicitement placées.

Ou vous pouvez introduire les touches sur le premier écran pour montrer comment utiliser le jeu comme cet écran d'instructions:

example 2

2
Pdxd

Au lieu d'essayer simplement de fournir un remplacement 1 pour 1 pour Esc , vous pouvez implémenter une solution de contournement dans chaque cas. Par exemple, dans votre popup "confirmer", ayez une option "confirmer" à côté d'une option "annuler"; si l'utilisateur souhaite "annuler", il appuie sur une touche fléchée pour passer à l'autre option, puis sur le même bouton qu'il utilise pour confirmer les options du menu.

Vous pouvez également ajouter une option "retour" dans les menus, utiliser les touches fléchées ou Tab pour changer de champs de saisie, etc.

Quant à la sortie du jeu, je pense que ça peut rester Esc, car s'ils quittent le jeu, ils voudront probablement aussi quitter le plein écran!

0
Brian Duddy

Mes suggestions sont:

  • Q est une clé traditionnelle pour sortir des anciens jeux PC. Vous pouvez essayer ça. Et bien sûr, vous devez montrer une astuce comme Q: exit/back en bas de la page.
  • Pour l'interaction basée sur le menu, selon la façon dont vous déclenchez l'action de confirmation, j'utiliserais l'inverse pour annuler/revenir. Par exemple.  pour  ou Q pour enter. Et encore une fois, affichez les instructions en bas de la page.
  • Pour les dialogues avec des champs de saisie, ayez les boutons "annuler" et "confirmer" en bas et permettre à l'utilisateur de s'y rendre en appuyant sur  ou tab. Mettez en évidence les boutons clairement lorsque vous les survolez.

Les utilisateurs pourraient toujours frapper esc au début. Mais tant qu'ils apprennent que cela ne leur donne pas les résultats escomptés et que vous avez des instructions claires sur la façon de le faire, ils apprendront assez rapidement.

0
SeanC