Estoy trabajando en un juego 2D en el que aterrizas en planetas con un barco y puedes salir del barco y caminar.
Estos planetas son muy pequeños (piensa ~ 350 píxeles de radio a veces), y se ven desde un lado. Por lo tanto, puede ver fácilmente todo el planeta en la pantalla en general.
Esto puede ser algo confuso, así que aquí hay una imagen:
Estoy usando las teclas A y D para moverme en sentido antihorario y horario, respectivamente. El problema es que si estás en la "cima" del planeta (mitad superior), esto tiene sentido: A se mueve hacia la izquierda, D se mueve hacia la derecha. Sin embargo, si estás en el "fondo" del planeta (mitad inferior), A se mueve hacia la derecha y D se mueve hacia la izquierda.
¿Alguna idea sobre cómo puedo hacer esto más fácil de usar?
fuente
Respuestas:
Mi primera sugerencia sería simplemente seguir con A= Dmovimiento en sentido antihorario y = movimiento en sentido horario. No es muy confuso y es más o menos la opción "estándar" (es decir, la más común) cuando se trata de un movimiento orbital como este.
Otra forma sería cambiar la forma en que se mueve tu juego. En lugar de mover al jugador cuando está en un planeta, podrías rotar el planeta. Esta también es una opción muy común, pero puede ser desorientador si tienes varios planetas en la pantalla, ya que todo, excepto el jugador, tendrá que rotar. Si decide usar este método, podría ayudar mostrar solo una parte del planeta para reducir la cantidad de objetos en movimiento que su ojo tiene que seguir:
Si es libre de usar el mouse, siempre puede usar los clics del mouse para moverse. Al hacer clic en una ubicación, el jugador se moverá hacia ese punto y elegirá automáticamente la dirección más corta. Los círculos son "clics" y las flechas son la dirección más corta.
Como una ventaja adicional, también es muy fácil traducir a controles móviles si deseas publicar tu juego como una aplicación también.
fuente
Cuando el personaje salga de la nave, reoriente la vista para que el personaje esté en la cima del planeta, y luego mueva la vista con el personaje mientras caminan. De esta manera, el personaje siempre está en la parte superior con respecto a la vista cuando se encuentra en un planeta, por lo que los controles izquierdo / derecho pueden mantenerse consistentes sin importar dónde aterrices.
fuente
Un enfoque (a menudo utilizado en juegos en tercera persona con movimiento basado en stick que también tienen cámaras no estáticas) es establecer el marco de referencia para el movimiento cada vez que comienza la entrada (en su caso, cuando se presiona la tecla) y mantener ese marco de movimiento hasta que la entrada termine (se suelta la tecla). Esto significa que la tecla "A" siempre movería el carácter "a la izquierda", sea lo que sea, en el sentido de las agujas del reloj si está en la parte inferior del círculo, en el sentido contrario a las agujas del reloj, hasta que se suelte la tecla.
Desafortunadamente, dado que estás limitado a un círculo, esta técnica aún se desmoronará cuando el personaje esté en o cerca de las extensiones extrema izquierda o derecha del círculo. Puede hacerlo funcionar simplemente eligiendo arbitrariamente en qué dirección ir, pero el usuario puede encontrarlo confuso. Posiblemente más confuso que simplemente seguir con el enfoque existente "A siempre es en sentido antihorario" que tiene ahora.
fuente
Le sugiero que eche un vistazo a un concepto similar, pero luego en 3d: Super Mario Galaxy.
https://youtu.be/_8eJC4gIAm4?t=19m
En los movimientos cortos, el marco de referencia permanece igual, el universo no se mueve, se supera un cierto umbral, el universo se mueve a lo largo / se desplaza, de modo que el marco de referencia vuelve a estar en el medio.
Es posible que desee "desenfocar el movimiento" del universo cuando se mueve para que se vea más natural y los ojos no se centren en las partes móviles que cambian de posición.
Supongo que Nintendo invirtió bastante investigación para lograr que el juego sea lo más fluido posible y esto es lo que decidieron. Siempre me gusta ver lo que descubrieron las empresas más grandes, con la esperanza de que invirtieran algo en I + D para obtener la máxima comodidad y jugabilidad.
fuente
Use
A
/D
para mover el personaje en la dirección hacia el punto más a la izquierda / derecha del planeta, respectivamente, yW
/S
para mover el personaje hacia los puntos más altos / más bajos.De esta forma, el jugador siempre mueve al personaje en la misma dirección que el movimiento de entrada ; por ejemplo
D
,S
siempre se mueve hacia la derecha, siempre se mueve hacia abajo, independientemente de la posición del personaje.El juego puede seguir avanzando en la misma dirección del reloj mientras se mantiene presionada la tecla o detener al personaje en el punto límite. Si se detiene, no parece ser un gran problema: el jugador tiene un cuadrante completo en el que puede cambiar su entrada si quieren seguir en la misma dirección del reloj.
Además, una circular
W
-A
-S
-D
oW
-D
-S
-A
patrón de resultados de entrada en la circunnavegación del planeta, lo que parece bastante intuitivo.Mantener presionada más de una tecla podría hacer que la tecla presionada más recientemente tenga prioridad, o podría usar un comportamiento más complejo, como tener ocho puntos limitantes.
fuente
Este es uno de los dos problemas clásicos del "modelo mental" que sufren muchos juegos.
Cada jugador desarrolla un "modelo mental" de cómo los controles del juego se asignan a las acciones del juego. A medida que los juegos se han vuelto más y más similares en sus controles con el tiempo, las personas han comenzado a esperar que su modelo mental establecido se aplique a nuevos juegos, en lugar de desarrollar modelos separados para juegos separados. Lo cual estaría bien, excepto que no todos los jugadores tienen el mismo modelo mental de cómo deberían funcionar los controles.
Por ejemplo, el otro problema clásico del "modelo mental" es si presionar hacia arriba con un joystick (generalmente el stick analógico derecho de un gamepad) debería significar mirar hacia arriba , o si debería significar inclinarse hacia adelante (es decir, mirar hacia abajo ). Ninguno de los modelos es objetivamente correcto , pero la mayoría de los jugadores solo tienen uno de estos dos mapas posibles en la cabeza, y serán rechazados si un juego hace algo diferente de lo que ellos esperan.
Su pregunta es exactamente el mismo dilema; El problema del "modelo mental" aquí es si empujar hacia la derecha en un joystick de control significa "moverse hacia la derecha del personaje" (como en Resident Evil) o "moverse hacia el lado derecho de la pantalla" (como en Mario). O en este caso, "muévase en el sentido de las agujas del reloj" (como en Tempest, cuando usa una conversión tradicional de controles de paleta a joystick).
Todos los jugadores tendrán un modelo incorporado al que están acostumbrados y serán reacios a cambiar (o tendrán dificultades para cambiar). En cualquier problema de "modelo mental", tiene tres opciones sobre cómo manejar el problema:
La opción 3 ("rediseñar el juego para que los modelos mentales no entren en conflicto entre sí") en este caso significaría rotar la cámara con el jugador, por lo que el jugador siempre aparece en posición vertical en la pantalla. De esa manera, "derecha significa ir en sentido horario" y "derecha significa ir hacia el lado derecho de la pantalla" siempre están alineados; ya no hay conflicto y los jugadores no se confundirán dependiendo de su modelo mental de cómo se supone que funcionan los controles.
La opción 2 significaría implementar ambos estilos de control; uno donde empujar hacia la derecha lo lleva hacia el lado derecho de la pantalla, uno donde empujar hacia la derecha lo lleva hacia la derecha y tener una pantalla de opciones donde el jugador puede elegir qué estilo de control desea usar.
Cualquier elección aquí es válida; las diferentes opciones solo requieren diferentes cantidades de trabajo e imponen diferentes restricciones a tu juego. Si es realmente importante para usted que el jugador sea visible moviéndose en el lado "inferior" del planeta, ya sea por razones temáticas o artísticas, entonces no querrá usar la opción 3, y debe usar 1 o 2. Si no, entonces la opción 3 es probablemente la opción ideal.
fuente
Use W / S / A / D para la entrada (o arriba / abajo / izquierda / derecha). Trate la entrada como una dirección de 8 vías (incluidas las diagonales).
Luego mueva el jugador en la dirección válida (en sentido horario o antihorario) más cercana a la dirección presionada.
fuente
Una opción es, en lugar de definir la asociación entre la tecla y la dirección del movimiento, tener:
Esto requiere que el personaje tenga una "dirección" claramente visible.
No estoy seguro de que realmente tenga mucho más sentido que otras opciones aquí, pero por si acaso ...
fuente
Abajo es donde está la gravedad. Entonces, cuando el personaje jugador está en un planeta, gira la cámara junto con el movimiento del personaje jugador para que el personaje esté siempre en la parte superior del planeta.
Pero si bien esto facilita la navegación en el planeta, puede desorientar al jugador en relación con otros objetos celestes. Esta es una compensación que debes decidir por ti mismo.
fuente
Si elige usar el movimiento en sentido horario / antihorario, hay varias cosas que puede hacer para que el sistema sea más fácil de intuir para sus jugadores.
Dale al personaje instrucciones distinguibles prominentes
Si el personaje es mitad azul y mitad rojo, entonces la orientación se vuelve fácil de recordar para los jugadores. En lugar de tener que identificar "en sentido horario" o "en sentido antihorario", los jugadores se mueven en la dirección azul o la dirección roja. Si el personaje siempre está orientado en una dirección (preferiblemente en el sentido de las agujas del reloj, de modo que el movimiento sea más intuitivo mientras está en posición vertical), es aún mejor, porque los hablantes de inglés (y cualquier otra persona con un lenguaje de izquierda a derecha) tienden naturalmente a asociarse 'derecho' con 'hacia adelante', reforzando la conexión entre los controles y la dirección del movimiento.
Nunca dejes que los personajes dejen de moverse
Mientras muevas a tu personaje, es fácil mantener la orientación en la que están tus controles. Después de todo, continuar moviéndote en la dirección en la que te mueves no toma ninguna acción, y cuando quieres invertir tu movimiento , solo hay otra clave para elegir. Solo cuando comienza a moverse nuevamente después de haberse detenido, se enfrenta a una elección. Cuanto más tiempo haga una pausa, más difícil será retomarlo en función de lo que estaba haciendo antes. Al reducir la frecuencia de pausa y la duración de la pausa, puede evitar que los jugadores olviden cómo moverse.
fuente
Hay múltiples enfoques para esto.
1) Cómo abordaría esto tomaría secciones del planeta: los lados superior, izquierdo, derecho e inferior (más si es deseable). Y hazlo así después de que el usuario presione una dirección, el personaje seguirá esa dirección hasta que suelte ese botón. Entonces, si el personaje estaba en el lado izquierdo y el usuario presionó hacia arriba, entonces el personaje iría en sentido horario hasta el lanzamiento. De esta manera, no tiene que preocuparse por los cambios en el marco de referencia mientras el personaje se mueve, solo después.
2) Otra forma le gustaría cómo se acercan los "Amantes en el peligroso espacio-tiempo". Con un joystick, en lugar de tener el marco de referencia dependiendo de la superficie, lo tienen para que el ángulo del joystick sea el lugar deseado para que el "personaje" se detenga. Entonces su marco de referencia estaba en el centro de su "planeta". Digo carácter y planeta, pero tenían partes modulares de la nave en el exterior donde se determina a dónde van, es decir, en qué dirección apuntan los propulsores para mover la nave.
3) Cómo lo tienes diseñado ahora. También se puede acostumbrar un poco, pero nada que los jugadores no hayan visto antes. Sin embargo, podría editarlo para que parezca que el planeta está girando, por lo que la obra siempre está "en la cima".
fuente