Al jugar a GTA III en Android, noté algo que me ha molestado en casi todos los juegos de carreras que he jugado (tal vez excepto Mario Kart): Conducir en línea recta es fácil, pero las curvas son realmente difíciles. Cuando cambio de carril o paso a alguien, el auto comienza a girar de un lado a otro, y cualquier intento de corregirlo lo empeora. Lo único que puedo hacer es pisar el freno. Creo que esto es una especie de sobreviraje.
Lo que lo hace tan irritante es que nunca me sucede en la vida real (gracias a Dios :-)), por lo que el 90% de los juegos con vehículos en el interior me parecen irreales (a pesar de que probablemente tengan motores de física realmente buenos). He hablado con un par de personas sobre esto, y parece que o 'obtienes' juegos de carreras o no. Con mucha práctica, logré ser semi-bueno en algunos juegos (por ejemplo, de la serie Need for Speed), conduciendo con mucha precaución, frenando mucho (y generalmente teniendo un calambre en los dedos).
¿Qué puede hacer como desarrollador de juegos para evitar la catástrofe de resonancia de sobreviraje y hacer que la conducción se sienta bien? (Para un juego de carreras casual, que no se esfuerza por una física 100% realista)
También me pregunto qué juegos como Super Mario Kart hacen exactamente de manera diferente para que no tengan tanto sobreviraje.
Supongo que un problema es que si juegas con un teclado o una pantalla táctil (pero no con ruedas y pedales), solo tienes entrada digital: gas presionado o no, dirección izquierda / derecha o no, y es mucho más difícil conducir adecuadamente para un velocidad dada La otra cosa es que probablemente no tenga un buen sentido de la velocidad y conduzca mucho más rápido de lo que lo haría (con seguridad) en realidad. Desde lo alto de mi cabeza, una solución podría ser variar la respuesta de la dirección con la velocidad.
Respuestas:
Una solución sería hacer un poco de trampa y adivinar lo que el jugador quiere hacer. Cuando el jugador está en una sección recta y presiona hacia la izquierda, puede suponer que quiere cambiar de carril. Cuando está cerca de una curva o intersección, ciertamente quiere girar. El jugador no puede controlar su ángulo de dirección exacto en una curva, por lo que puede decidir darle al jugador el beneficio de la duda y siempre dejarlo conducir a través de curvas en el ángulo ideal cuando presiona el botón de giro en el momento correcto (siempre lo más físicamente posible: cualquier jugador que intente conducir a través de una curva cerrada con 200 km / h merece ser castigado con un vuelo corto sobre el césped).
Esto, por supuesto, podría ser complicado cuando el jugador realmente quiere girar en una sección recta o realmente quiere cambiar de carril justo antes de una intersección.
Otra solución sería tener una diferencia entre tocar una tecla y mantenerla presionada. Cuanto más tiempo mantenga el jugador la tecla de giro, mayor será el ángulo de giro. Esto ni siquiera parece poco realista, porque cuando tienes un volante, necesitas tiempo para girarlo por completo.
Editar: en una pantalla táctil, puede usar controles deslizantes en lugar de botones para controlar la dirección y la velocidad de forma analógica. Cuando la pantalla es sensible a la presión, también puedes interpretar la presión (pero dar retroalimentación visual sobre la presión máxima, o los jugadores demasiado celosos pueden romper sus pantallas). Cuando el dispositivo tiene sensores de orientación, puede usar la inclinación del dispositivo para controlar la dirección.
fuente
Me encontré con esta (antigua) pregunta mientras investigaba qué otros juegos que Grand Theft Auto IV y V han implementado, pero tengo una respuesta decente para lograr un sobreviraje controlable. Solo tengo algo de experiencia jugando con el modelo de conducción en Grand Theft Auto V, pero esta información debería ser aplicable a la mayoría de los modelos de conducción algo realistas.
Lo que parece suceder en la mayoría de los juegos de conducción es que la salida de la dirección del automóvil está directamente vinculada a la entrada del jugador, incluso si se usa algún tipo de suavizado (temporal). Esto provoca una sensación de lentitud o una sensación espasmódica, y el automóvil no se corrige solo después de soltar los controles. Esto contrasta con un automóvil real, donde el automóvil tiende a centrarse después de liberar la fuerza sobre el volante. Algunos juegos intentan corregir esto cambiando su modelo de manejo o teniendo modelos de manejo arcade.
Lo que se puede observar en Grand Theft Auto V es que la entrada de dirección del usuario no está directamente vinculada a la salida de dirección. El vehículo se dirige solo, hacia su vector de velocidad actual. Esto es visible al forzar una ligera situación de sobreviraje y observar las ruedas de dirección; sin ninguna entrada, contrarrestan por sí mismas. Cualquier entrada del usuario se agrega luego de estas correcciones "naturales".
Sin embargo, una desventaja de este enfoque es que el automóvil se siente demasiado pegajoso y algo terco para entrar en un deslizamiento de poder o deriva, por lo que este valor de contraviraje puede limitarse a algún ángulo.
Esta teoría puede verificarse reinstalando el sistema de dirección y comparándolo con el comportamiento original.
Una cosa a tener en cuenta es que Grand Theft Auto V fue tomado como "ideal" aquí, aunque todavía no he encontrado ningún otro juego que implemente este sistema.
Si tiene curiosidad por algún código, aquí hay un fragmento de mi implementación.
fuente