¿Cuál es un método de entrada adecuado para usar en un juego de plataformas 2D en un dispositivo táctil?

16

Estoy creando un juego de plataformas en 2D como Super Meat Boy en el que importa la precisión del movimiento de mi personaje principal. Estoy usando libgdx. Los controles del teclado en la PC funcionan con precisión, pero cuando se trata del manejo del acelerómetro, es realmente difícil manejar el personaje con precisión. Esto empeora en etapas con caminos seguros y congestionados para escapar. Pensé en implementar una bola analógica en pantalla para manejar la entrada, pero leí muchas consecuencias negativas en Internet.

¿Cuál es un método de entrada intuitivo pero preciso para usar en juegos de plataformas en dispositivos táctiles?

Rahul Verma
fuente

Respuestas:

7

En una palabra: deslizar.

Jugué la edición del campeonato Pac-Man en mi teléfono Android y lo que pensé que realmente funcionó es que, aunque había un joystick en la pantalla, en realidad no tenía que tocarlo para mover a Pac-Man en la dirección correcta. Si su dedo se cayó del joystick, no importó. Todo lo que importaba es en qué dirección movías tu dedo.

Para subir, desliza hacia arriba. Para bajar, desliza hacia abajo. Para moverse hacia la izquierda, deslice hacia la izquierda. Para moverse hacia la derecha, deslice hacia la derecha.

Con la misma facilidad, puede hacer que el deslizamiento sea sensible al contexto de las regiones de pantalla y las acciones que ocurren actualmente en el juego. Imagine que su teléfono está en modo horizontal y lo sostiene como un controlador de videojuego. La mitad izquierda de la pantalla podría reservarse para moverse utilizando el deslizamiento que describo anteriormente. La mitad derecha de la pantalla se puede usar para acciones como saltar, disparar, proteger, cualquier habilidad de juego que quieras darle a tu jugador al deslizar de una manera muy similar. O si solo tienes una habilidad (como saltar en Super Meat Boy), solo trata la mitad derecha de la pantalla como un botón.

Actualizar

Estábamos discutiendo esto en el chat y parecía que mi solución, la forma en que se describió anteriormente es muy parecida a un palo virtual que se mueve cuando levantas y colocas tu dedo. Quiero explicar que este no es el caso y que en realidad es mucho más flexible que eso.

Pacman Swiping

La imagen de arriba muestra el patrón de deslizamiento que uno podría tomar para mover a Pacman en el tablero. Tenga en cuenta que la acción que se toma no se basa en absoluto en el lugar donde coloca el dedo hacia abajo la primera vez. Si accidentalmente mueve su dedo demasiado lejos al deslizar hacia la derecha o no lo suficiente al deslizar hacia abajo, está bien. Con esta implementación, siempre que haya deslizado lo suficiente como para que se registre correctamente con el software, lo llevará y usará donde su dedo terminó como el siguiente punto de partida, o si levanta el dedo, usará el siguiente lugar baja tu dedo.

Como dije antes, puedes aplicar esto a un juego de plataformas simplemente dividiendo los controles en regiones separadas para que tus golpes y toques hagan cosas diferentes dependiendo de en qué parte de la pantalla realizaste la acción. La ruta obvia es hacer que el lado izquierdo se mueva con solo deslizar. Luego, el lado derecho se usaría para manejar las acciones y habilidades del jugador usando cualquier combinación de golpes y golpes.

SpartanDonut
fuente
4

¿Qué pasaría si trataras la mitad de la pantalla como una bola de seguimiento virtual donde la posición / velocidad de tu personaje está directamente relacionada con la de la bola? Deslizar y soltar pondría a tu personaje en movimiento constante (y haría que la bola de seguimiento girara). Mantener el dedo en la pantalla sería como sostener la bola de seguimiento para que puedas hacer pequeños ajustes en la posición de tu personaje o evitar que se mueva. Creo que esto podría funcionar bastante bien para esos momentos frenéticos en Super Meat Boy en los que estás tratando de correr, saltar y luego detenerte en un centavo. Este sería un enfoque experimental porque no lo había visto antes, pero cualquier cosa es mejor que un dispositivo virtual.

Editar: El Steam Controller maneja su trackpad como un trackball simulado, pero no he experimentado lo suficiente como para encontrar un juego que lo trate como tal.

John McDonald
fuente
De hecho, me gusta mucho esta respuesta, ya que es una forma de pensar fuera de la caja. Si alguien lo implementa, me gustaría saber qué tan bien funciona.
SpartanDonut
2

Encontré que los controles táctiles y de retención laterales son los más receptivos.

Si la persona toca el lado izquierdo, corre hacia la izquierda (hasta que lo suelte). Si la persona toca el lado derecho, corre a la derecha.

RunRunRiot! Es un ejemplo de esto.

En cuanto a los saltos, puedes hacer un toque en la pantalla (usando cualquier mano).

Ejemplos (iPad ajardinado) Ejecutar a la derecha

______________
|            |
|            |
|            |
|___________R|

Saltando a la derecha

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

(L * = toque izquierdo)

Saltando a la izquierda

______________
|            |
|          R*|
|            |
|L___________|
bobobobo
fuente
1

¡La mejor entrada para un juego de pantalla táctil que he encontrado es en esos juegos de plataformas realmente simples cuando todo lo que tienes que hacer es tocar la pantalla para saltar! ¡Cualquier juego que use el acelerómetro para la entrada de movimiento para mí es muy desorientador!

Este es un dilema común cuando se desarrolla en una pantalla táctil, si solo hubiera un accesorio D-pad que fuera popular. Creo que tendrás que probar tu idea de la pelota en la pantalla.

Tal vez podría tener la entrada izquierda y derecha en el extremo izquierdo y el extremo derecho de la pantalla y hacer que la parte superior o inferior de la entrada izquierda o derecha se desplace hacia arriba y hacia abajo. ¿Creo que eso tiene sentido?

james82345
fuente
1

Podría considerar tener controles más precisos solo cuando el personaje del jugador está en el aire.

Por ejemplo, si el lado derecho de la pantalla controla la dirección lateral, puede hacer que todo el lado izquierdo sea para el salto. Una vez en el aire, la mitad inferior izquierda de la pantalla podría 'descender' y la mitad superior podría ser doble salto.

Otra opción sería adoptar un esquema de salto como Jetpack Joyride o esos juegos tipo "Cueva", donde cuanto más tiempo sostengas "arriba", más alto irás. Tiene el potencial de ser bastante preciso y creo que funcionaría bien con un juego de plataformas tipo Super Meat Boy, suponiendo que los niveles estén diseñados adecuadamente.

lase
fuente