¿Cómo funciona la asistencia de frenado de los juegos de carreras de autos?

8

Hay muchos juegos de carreras de autos para PC que tienen esta asistencia de conducción única que ayuda a frenar su automóvil para que pueda girarlo con seguridad. Si bien en algunos juegos es solo una "asistencia", solo ayudará a frenar su automóvil, pero no garantizará un giro seguro. Mientras que en otros, la asistencia de frenado lo ayudará a obtener un giro seguro. Me preguntaba cuál podría ser el algoritmo que se sigue para lograrlo.

Un algoritmo muy básico que se me ocurrió fue,

  • Predetermine la distancia de frenado de un automóvil ideal para cada giro de la pista, dependiendo del radio del giro, y luego comience a frenar el automóvil en consecuencia. Por ejemplo, para un turno de menos de 90 o , el automóvil comenzará a frenar automáticamente a 50 metros de distancia desde el inicio del giro.

Un algoritmo más avanzado, que garantizaría un giro seguro, podría ser

  1. Predetermine la velocidad del automóvil al comienzo de cada giro, individualmente para cada pista, giro y automóvil. Además, determine previamente la tasa de desaceleración de cada automóvil individualmente, que varía según el rendimiento del automóvil.
  2. La asistencia de frenado seguiría registrando la velocidad del automóvil en un determinado instante de tiempo.
  3. Comience a frenar el automóvil apropiadamente para que el automóvil alcance la velocidad exacta necesaria al comienzo del giro.
  4. Por ejemplo, deje que la velocidad de un automóvil en particular al comienzo de un giro de 43 m en radio sea de 120 km / h. Deje que la velocidad de desaceleración del automóvil sea de 200 km / h 2 . Si, en algún momento, la velocidad del automóvil es de 200 km / h, entonces el automóvil comenzará a frenar automáticamente a 400 m desde el comienzo del giro.
Ayush Khemka
fuente
2
Las opciones más sofisticadas tendrían en cuenta el clima, la superficie de la carretera, la distribución del peso del automóvil, las características de la suspensión y los neumáticos. He visto juegos como Real Racing 2 donde las opciones de actualización modifican la suspensión y los neumáticos y algunos otros permiten el ajuste de la suspensión. Un juego con características mundiales persistentes podría tener en cuenta la basura acumulada en el camino y el cambio de desgaste y rigidez de los neumáticos a medida que se calientan.
Andy Dent
[parece que aún no puedo comentar, así que publico esto como respuesta] Además de la segunda de Sus propuestas, ajustaría este algoritmo para frenar demasiado, de modo que la velocidad al comienzo del giro sea menor que la velocidad óptima . La intención aquí es que el jugador descubra que puede tomar el turno más rápido sin salirse del camino si no usa la asistencia. Me gustaría animar al jugador a que deshabilite las asistencias, lo que debería hacerlo sentir más orgulloso de sí mismo.
Grzegorz Sławecki
¿Algún algoritmo aquí sería notablemente diferente a controlar a un oponente de IA?
tirones
No notablemente, pero sí, diferente en muchos aspectos. Puede hacer que la IA se mueva a cualquier velocidad y ángulo y aún así generar una impresión de movimiento normalizada. En este caso, un personaje AI puede girar incluso a velocidades de 160 km / h, incluso si no es posible, pero el primer algoritmo aquí no permitiría que un jugador haga eso. Incluso para el segundo, el papel de la asistencia es llevar el automóvil a la velocidad óptima requerida al comienzo del giro. Si un jugador planea aumentar su velocidad a partir de entonces, no podrá girar.
Ayush Khemka

Respuestas:

4

Básicamente, la asistencia de frenado funciona comparando la velocidad del auto del jugador con la velocidad del punto más cercano en la línea de carrera óptima de la pista, y aplicando automáticamente los frenos según sea necesario para reducir la velocidad del auto del jugador para que coincida con la velocidad especificada en la línea de carrera óptima. Es exactamente como escribir AI de un coche de carreras, pero solo aplica las salidas de freno de la IA, no el acelerador o la dirección.

Esto (obviamente) requiere que tengas datos sobre una línea de carrera óptima, para que puedas saber cuánto necesita frenar el jugador. Esta línea de carreras generalmente se genera computacionalmente durante el desarrollo, y se envía con el juego como una pieza de datos estáticos, en lugar de calcularse en tiempo de ejecución. (He trabajado en juegos que generaron dinámicamente una línea de carreras frente al jugador, pero esto era computacionalmente costoso, y no lo recomiendo a menos que tenga pistas que cambien de maneras impredecibles)

Trevor Powell
fuente
1

Podría calcular la ruta que el automóvil describiría si gira con la velocidad actual sin deriva. Luego aplique los frenos en proporción a la distancia d , que es la distancia medida desde la ruta calculada hasta la curva.

ingrese la descripción de la imagen aquí

rraallvv
fuente