Qual é o método de entrada adequado para usar em um jogo de plataformas 2D em um dispositivo de toque?

16

Estou criando um jogo de plataformas 2D como Super Meat Boy, no qual a precisão do movimento do meu personagem principal é importante. Estou usando a libgdx. Os controles do teclado no PC funcionam com precisão, mas quando se trata do manuseio do acelerômetro, é realmente difícil lidar com o personagem com precisão. Isso piora em etapas com caminhos seguros e congestionados para escapar. Pensei em implementar uma bola analógica na tela para lidar com entradas, mas li muitas consequências ruins disso na internet.

O que é um método de entrada intuitivo, mas preciso , para usar em jogos de plataformas em dispositivos touch?

Rahul Verma
fonte

Respostas:

7

Em uma palavra: Swiping.

Joguei a edição do campeonato Pac-Man no meu telefone Android e o que eu pensei que realmente funcionou é que, enquanto havia um joystick na tela, você não precisava tocá-lo para mover o Pac-Man na direção correta. Se o seu dedo caiu do joystick, não importava. Tudo o que importava é em que direção você moveu o dedo.

Para subir, deslize para cima. Para descer, deslize para baixo. Para mover para a esquerda, deslize para a esquerda. Para mover para a direita, deslize para a direita.

Você pode facilmente tornar o contexto de deslizamento sensível às regiões e ações da tela que estão ocorrendo atualmente dentro do jogo. Imagine que seu telefone está no modo paisagem e você está segurando-o como um controlador de videogame. A metade esquerda da tela pode ser reservada para o movimento usando o deslize descrito acima. A metade direita da tela pode ser usada para ações como pular, atirar, proteger, quaisquer que sejam as habilidades de jogo que você deseja que o seu jogador use o golpe de maneira muito semelhante. Ou se você tiver apenas uma habilidade (como pular no Super Meat Boy) - apenas trate a metade direita da tela como um botão.

Atualizar

Estávamos discutindo isso no bate-papo e parecia que minha solução, da maneira descrita acima, é muito parecida com um bastão virtual que se move quando você levanta e coloca o dedo. Quero elaborar que esse não é o caso e é realmente muito mais flexível do que isso.

Pacman Swiping

A imagem acima mostra o padrão de deslizamento que se pode levar para mover Pacman no quadro. Observe que a ação tomada não se baseia em onde você coloca o dedo pela primeira vez. Se você acidentalmente mover o dedo muito longe ao deslizar para a direita ou não o suficiente ao deslizar para baixo, tudo bem. Com esta implementação, desde que você tenha deslizado o suficiente para que ele se registre corretamente no software, ela será usada e o local onde seu dedo terminou como o próximo ponto de partida, ou se você tirar o dedo, ele usará o próximo local em que abaixe o dedo.

Como eu disse antes, você pode aplicar isso a um jogo de plataforma apenas dividindo os controles em regiões separadas, para que seus toques e toques façam coisas diferentes, dependendo de onde na tela você executou a ação. A rota óbvia é fazer o movimento da alça do lado esquerdo usando apenas deslizar. Em seguida, o lado direito seria usado para lidar com ações e habilidades do jogador usando qualquer combinação de furtos e toques.

SpartanDonut
fonte
4

E se você tratasse metade da tela como uma bola virtual, onde a posição / velocidade do seu personagem está diretamente ligada à da bola? Passar e soltar colocaria seu personagem em movimento constante (e faria o trackball girar). Manter o dedo na tela seria como segurar o trackball para que você possa fazer pequenos ajustes na posição do personagem ou impedir que ele se mova. Eu acho que isso poderia funcionar muito bem para aqueles momentos frenéticos no Super Meat Boy onde você está tentando correr, pular e depois parar um centavo. Essa seria uma abordagem experimental, porque eu nunca vi isso antes, mas qualquer coisa é melhor que um stick virtual.

Edit: O Steam Controller lida com o trackpad como um trackball simulado, mas ainda não experimentei o suficiente para encontrar um jogo que o trate como um.

John McDonald
fonte
Na verdade, eu realmente gosto dessa resposta, pois é meio que pensar fora da caixa. Se alguém implementá-lo, ficaria muito curioso para saber como ele realmente funciona.
precisa saber é o seguinte
2

Eu achei os controles de toque e retenção na tela os mais responsivos.

Se a pessoa tocar no lado esquerdo, corra para a esquerda (até soltar). Se a pessoa tocar no lado direito, corra para a direita.

RunRunRiot! é um exemplo disso.

Quanto ao salto, você pode dar um toque no meio da tela (usando uma das mãos).

Exemplos (iPad com paisagismo) Correndo para a direita

______________
|            |
|            |
|            |
|___________R|

Saltando para a direita

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

(L * = toque esquerdo)

Saltando para a esquerda

______________
|            |
|          R*|
|            |
|L___________|
bobobobo
fonte
1

A melhor entrada para um jogo de tela sensível ao toque que encontrei é nesses jogos de plataforma realmente simples, quando tudo o que você precisa fazer é tocar na tela para pular! Qualquer jogo que use o acelerômetro para entrada de movimento para mim é muito desorientador!

Esse é um dilema comum ao se desenvolver em uma tela de toque, se ao menos houvesse um anexo do D-pad popular. Eu acho que você terá que tentar sua idéia de bola na tela.

Talvez você possa ter a entrada esquerda e direita na extremidade esquerda e extrema direita da tela e subir e descer usando a parte superior ou inferior da entrada esquerda ou direita. Eu acho que faz sentido?

james82345
fonte
1

Você pode considerar ter controles mais precisos somente quando o personagem do jogador estiver no ar.

Por exemplo, se o lado direito da tela controlasse a direção lateral, você poderia fazer com que todo o lado esquerdo fosse para o salto. Uma vez no ar, a metade inferior esquerda da tela pode ser "descida" e a metade superior pode ser um salto duplo.

Outra opção seria adotar um esquema de salto como o Jetpack Joyride ou aqueles jogos do tipo "Caverna", em que quanto mais tempo você "levanta", mais alto vai. Ele tem o potencial de ser bastante preciso e acho que funcionaria bem com um jogo de plataformas do tipo Super Meat Boy, supondo que os níveis sejam projetados adequadamente.

lase
fonte