Qual è un metodo di input adatto da utilizzare per un platform 2D su un dispositivo touch?


16

Sto creando un gioco platform 2d come Super Meat Boy in cui conta la precisione dei movimenti del mio personaggio principale. Sto usando libgdx. I controlli da tastiera sul PC funzionano in modo preciso, ma quando si tratta di gestire l'accelerometro, è davvero difficile gestire il personaggio con precisione. Ciò peggiora in più fasi con vie sicure congestionate per fuggire. Ho pensato di implementare una palla analogica su schermo per gestire l'input, ma ho letto molte cattive conseguenze su Internet.

Qual è un metodo di input intuitivo ma preciso da utilizzare per i giochi platform su dispositivi touch?

Risposte:


7

In una parola: scorrere.

Ho giocato all'edizione del campionato Pac-Man sul mio telefono Android e quello che pensavo funzionasse davvero è che mentre c'era un joystick sullo schermo, in realtà non dovevi toccarlo per spostare Pac-Man nella direzione corretta. Se il tuo dito è caduto dal joystick non aveva importanza. Tutto ciò che contava è in quale direzione hai mosso il dito.

Per spostarti verso l'alto, scorri verso l'alto. Per spostarti verso il basso, scorri verso il basso. Per spostare a sinistra, scorrere verso sinistra. Per spostarti a destra, scorri verso destra.

Potresti anche rendere il contesto di scorrimento sensibile alle aree dello schermo e alle azioni attualmente in corso nel gioco. Immagina che il tuo telefono sia in modalità orizzontale e lo stai trattenendo come un controller per videogiochi. La metà sinistra dello schermo potrebbe essere riservata al movimento usando lo scorrimento che descrivo sopra. La metà destra dello schermo potrebbe essere utilizzata per azioni come saltare, sparare, schermare, qualunque abilità di gioco tu voglia dare al tuo giocatore usando lo scorrimento in un modo molto simile. O se hai solo un'abilità (come saltare in Super Meat Boy), tratta la metà destra dello schermo come un pulsante.

Aggiornare

Ne stavamo discutendo in chat e sembrava che la mia soluzione, il modo in cui è stata descritta sopra, assomigli molto a una levetta virtuale che si muove quando ti alzi e metti giù il dito. Voglio chiarire che non è così ed è in realtà molto più flessibile di così.

Pacman Swiping

L'immagine sopra mostra lo schema di scorrimento che si potrebbe prendere per muovere Pacman sul tabellone. Si noti che l'azione intrapresa non si basa affatto sul punto in cui si posiziona il dito per la prima volta. Se si sposta accidentalmente il dito troppo lontano quando si scorre verso destra o non abbastanza quando si scorre verso il basso, va bene. Con questa implementazione fintanto che hai fatto scorrere abbastanza lontano da consentirne la corretta registrazione con il software, ci vorrà e userà il punto in cui il dito è finito come punto di partenza successivo, oppure se sollevi il dito, utilizzerà il posto successivo metti giù il dito.

Come ho detto prima, potresti applicarlo a un platform semplicemente dividendo i controlli in aree separate in modo che i tuoi tocchi e tocchi facciano cose diverse a seconda di dove sullo schermo hai eseguito l'azione. Il percorso ovvio è fare il movimento della maniglia laterale sinistra semplicemente usando lo scorrimento. Quindi il lato destro verrebbe utilizzato per gestire le azioni e le abilità del giocatore usando qualsiasi combinazione di colpi e tocchi.


4

E se trattassi metà dello schermo come una sfera virtuale in cui la posizione / velocità del tuo personaggio è direttamente legata a quella della palla? Scorrere e rilasciare metterebbe il tuo personaggio in movimento costante (e farebbe girare la trackball). Tenendo il dito sullo schermo sarebbe come tenere la trackball in modo da poter apportare piccole modifiche alla posizione del personaggio o impedire al personaggio di muoversi. Penso che questo potrebbe funzionare abbastanza bene per quei momenti frenetici in Super Meat Boy in cui stai cercando di correre, saltare, quindi fermarti a un centesimo. Questo sarebbe un approccio sperimentale perché non l'ho mai visto prima, ma tutto è meglio di un bastone virtuale.

Modifica: Steam Controller gestisce il trackpad come una trackball simulata, ma non ho sperimentato abbastanza per trovare un gioco che lo tratta come uno.


In realtà, mi piace davvero questa risposta perché è una specie di pensiero fuori dagli schemi. Se qualcuno lo implementasse, sarei molto curioso di sapere come funziona davvero.
SpartanDonut,

2

Ho trovato i controlli touch e hold laterali dello schermo più reattivi.

Se la persona tocca il lato sinistro, corri a sinistra (fino a quando non lascia andare). Se la persona tocca il lato destro, corri a destra.

RunRunRiot! è un esempio di questo.

Per quanto riguarda il salto, potresti optare per un tocco a metà schermo (usando entrambe le mani).

Esempi (iPad con paesaggi) In esecuzione a destra

______________
|            |
|            |
|            |
|___________R|

Saltando a destra

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

(L * = tocco sinistro)

Saltando a sinistra

______________
|            |
|          R*|
|            |
|L___________|

1

Il miglior input per un gioco touch screen che ho trovato è su quei giochi di piattaforma davvero semplici quando tutto ciò che devi fare è toccare lo schermo per saltare! Qualsiasi gioco che utilizza l'accelerometro per input di movimento per me è molto disorientante!

Questo è un dilemma comune quando si sviluppa su un touchscreen, se solo ci fosse un allegato D-pad che era popolare. Penso che dovrai provare la tua idea di palla sullo schermo.

Forse potresti avere l'ingresso sinistro e destro all'estrema sinistra e all'estrema destra dello schermo e avere su e giù usando la parte superiore o inferiore dell'input sinistro o destro. Penso che abbia senso?


1

Potresti considerare di avere controlli più precisi solo quando il personaggio del giocatore è in volo.

Ad esempio, se il lato destro dello schermo controlla la direzione laterale, si potrebbe avere l'intera parte sinistra per il salto. Una volta in volo, la metà inferiore sinistra dello schermo potrebbe essere "discendente" e la metà superiore potrebbe essere un doppio salto.

Un'altra opzione sarebbe quella di adottare uno schema di salto come Jetpack Joyride o quei giochi di tipo "Cave", in cui più a lungo tieni "alto" più in alto vai. Ha il potenziale per essere abbastanza preciso e penso che funzionerebbe bene con un platform di tipo Super Meat Boy, supponendo che i livelli siano progettati in modo appropriato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.