Quelle est la méthode de saisie appropriée à utiliser pour un jeu de plateforme 2D sur un appareil tactile?

16

Je crée un jeu de plateforme 2d comme Super Meat Boy dans lequel la précision des mouvements de mon personnage principal est importante. J'utilise libgdx. Les commandes du clavier sur le PC fonctionnent avec précision, mais en ce qui concerne la manipulation de l'accéléromètre, il est vraiment difficile de gérer le personnage avec précision. Cela empire par étapes avec des voies de sécurité encombrées pour s'échapper. J'ai pensé à implémenter une boule analogique à l'écran pour gérer les entrées, mais j'ai lu beaucoup de mauvaises conséquences sur Internet.

Quelle est une méthode de saisie intuitive mais précise à utiliser pour les jeux de plateforme sur des appareils tactiles?

Rahul Verma
la source

Réponses:

7

En un mot: glisser.

J'ai joué à l'édition du championnat Pac-Man sur mon téléphone Android et ce que je pensais vraiment fonctionner, c'est que même s'il y avait un joystick à l'écran, vous n'aviez pas besoin de le toucher pour déplacer Pac-Man dans la bonne direction. Si votre doigt est tombé du joystick, cela n'a pas d'importance. Tout ce qui comptait, c'était dans quelle direction vous aviez bougé votre doigt.

Pour vous déplacer vers le haut, balayez vers le haut. Pour descendre, balayez vers le bas. Pour vous déplacer vers la gauche, balayez vers la gauche. Pour vous déplacer vers la droite, balayez vers la droite.

Vous pouvez tout aussi facilement rendre le contexte de balayage sensible aux régions d'écran et aux actions en cours dans le jeu. Imaginez que votre téléphone est en mode paysage et que vous le tenez comme un contrôleur de jeu vidéo. La moitié gauche de l'écran pourrait être réservée au mouvement en utilisant le balayage que je décris ci-dessus. La moitié droite de l'écran peut être utilisée pour des actions telles que le saut, le tir, le blindage, quelles que soient les capacités de jeu que vous souhaitez donner à votre joueur en utilisant le glissement d'une manière très similaire. Ou si vous n'avez qu'une seule capacité (comme sauter dans Super Meat Boy) - traitez simplement la moitié droite de l'écran comme un bouton.

Mise à jour

Nous en discutions dans le chat et il est apparu que ma solution, la façon dont elle est décrite ci-dessus, ressemble beaucoup à un bâton virtuel qui se déplace lorsque vous soulevez et posez votre doigt. Je veux préciser que ce n'est pas le cas et est en fait beaucoup plus flexible que cela.

Pacman Swiping

L'image ci-dessus montre le schéma de balayage que l'on pourrait prendre pour déplacer Pacman sur la planche. Notez que l'action entreprise n'est pas du tout basée sur l'endroit où vous placez votre doigt la première fois. Si vous déplacez accidentellement votre doigt trop loin en glissant vers la droite ou pas assez en glissant vers le bas, c'est ok. Avec cette implémentation tant que vous avez glissé suffisamment loin pour qu'il s'enregistre correctement avec le logiciel, il le prendra et utilisera l'endroit où votre doigt s'est retrouvé comme point de départ suivant, ou si vous soulevez votre doigt, il utilisera le prochain endroit où vous abaissez votre doigt.

Comme je l'ai déjà dit, vous pouvez appliquer cela à un jeu de plateforme simplement en divisant les contrôles en régions distinctes afin que vos balayages et tapotements fassent des choses différentes selon l'endroit où vous avez effectué l'action sur l'écran. La voie la plus évidente consiste à effectuer le mouvement de la poignée du côté gauche en utilisant simplement le balayage. Ensuite, le côté droit serait utilisé pour gérer les actions et les capacités du joueur en utilisant n'importe quelle combinaison de coups et de tapes.

SpartanDonut
la source
4

Et si vous traitez une moitié de l'écran comme une boule de commande virtuelle où la position / vitesse de votre personnage est directement liée à celle de la balle? Glisser et relâcher mettrait votre personnage en mouvement constant (et ferait tourner la boule de commande). Tenir votre doigt sur l'écran reviendrait à tenir la boule de commande afin de pouvoir faire de petits ajustements à la position de votre personnage ou empêcher votre personnage de bouger. Je pense que cela pourrait très bien fonctionner pour ces moments frénétiques dans Super Meat Boy où vous essayez de courir, sauter, puis vous arrêter sur un centime. Ce serait une approche expérimentale parce que je ne l'ai jamais vu faire auparavant, mais quoi de mieux qu'un bâton virtuel.

Edit: le contrôleur Steam gère son trackpad comme un trackball simulé, mais je n'ai pas suffisamment expérimenté pour trouver un jeu qui le traite comme tel.

John McDonald
la source
En fait, j'aime vraiment cette réponse car c'est une sorte de réflexion hors des sentiers battus. Si quelqu'un l'implémente, je serais très curieux de savoir comment cela fonctionne réellement.
SpartanDonut
2

J'ai trouvé que les commandes tactiles latérales de l'écran étaient les plus réactives.

Si la personne touche le côté gauche, courez à gauche (jusqu'à ce qu'elle lâche). Si la personne touche le côté droit, courez à droite.

RunRunRiot! en est un exemple.

En ce qui concerne le saut, vous pouvez opter pour un tapotement au milieu de l'écran (en utilisant l'une ou l'autre main).

Exemples (iPad paysager) Courir à droite

______________
|            |
|            |
|            |
|___________R|

Sauter à droite

______________
|            |
|L*          |
|            |
|___________R|

(L * = touche gauche)

Saut à gauche

______________
|            |
|          R*|
|            |
|L___________|
bobobobo
la source
1

La meilleure entrée pour un jeu à écran tactile que j'ai trouvée est sur ces jeux de plate-forme vraiment simples quand tout ce que vous avez à faire est de toucher l'écran pour sauter! Tout jeu qui utilise l'accéléromètre pour l'entrée de mouvement est très désorientant!

C'est un dilemme courant lors du développement sur un écran tactile, si seulement il y avait un accessoire D-pad qui était populaire. Je pense que vous devrez essayer votre idée de balle à l'écran.

Vous pourriez peut-être avoir l'entrée gauche et droite à l'extrême gauche et à l'extrême droite de l'écran et avoir le haut et le bas en utilisant la partie supérieure ou inférieure de l'entrée gauche ou droite. Je pense que cela a du sens?

james82345
la source
1

Vous pourriez envisager d'avoir des contrôles plus précis uniquement lorsque le personnage du joueur est en l'air.

Par exemple, si le côté droit de l'écran contrôlait la direction latérale, vous pourriez avoir l'intégralité du côté gauche pour le saut. Une fois en vol, la moitié inférieure gauche de l'écran pourrait être «descendue» et la moitié supérieure pourrait être à double saut.

Une autre option serait d'adopter un schéma de saut comme Jetpack Joyride ou ces jeux de type "Cave", où plus vous tenez "haut" plus vous montez. Il a le potentiel d'être assez précis et je pense que cela fonctionnerait bien avec un jeu de plateforme de type Super Meat Boy, en supposant que les niveaux sont conçus de manière appropriée.

lase
la source