¿Cuáles son los posibles algoritmos utilizados en los juegos de carrera sin fin?

Depende en gran medida de cómo planeas hacer que tu juego sea más difícil. El enfoque más común y simple es aumentar la velocidad. Supongamos que está haciendo un pájaro flappy, tiene opciones como aumentar la velocidad a la que vuela el pájaro o reducir el espacio entre las tuberías.

Para algoritmos, no hay bala de plata. Principalmente dependerá del tiempo transcurrido y hará una fórmula matemática para derivar el factor de dificultad. Supongamos que desea hacer el espacio entre la tubería 10% más pequeño que la tubería anterior después de cada 30 segundos. Entonces solo tenemos que hacer la fórmula correspondiente y usarla en nuestra lógica de código.

Para aprender a hacer un juego de carrera infinita, puedes seguir este tutorial una vez: Introducción. Te ayudará a hacer un simulacro de flappy bird a través de la biblioteca libgdx para la aplicación de Android.

Habiendo hecho uno (nexva.com/30418), creo que estoy bastante calificado para responder esta pregunta.

No hice ninguna investigación sobre los métodos aplicados por los corredores interminables populares como Temple Run antes de embarcarme en este proyecto, por lo tanto, la mayoría de las ideas y decisiones que tomé fueron mías.

Hay dos métodos principales que consideré. El primero fue: desarrollar los prefabricados de animación, traducir el prefabricado en el mundo y aumentar la velocidad con deltatime mientras el mundo permanece estático y se autogenera (crea y destruye) para liberar memoria y mantener activos. Entonces, básicamente (dependiendo de la forma en que quieras diseñarlo) todos los obstáculos de los NPC son estáticos y están equipados con el mismo algoritmo de instanciación y destrucción que usa el mundo.

El segundo método es un poco como el reverso: la prefabricación de caracteres permanece estática mientras que el mundo y los NPC crean instancias a cierta distancia, traducen y destruyen después de pasar la cámara.

Otras cosas de las que debe preocuparse incluyen la dinámica del skybox, los controles, la iluminación y la física de colisión de los NPC.

Me aburrí una vez en la escuela secundaria, así que decidí crear un 2d juego de plataformas / corredor sin fin para aliviar el estrés.

Esto está usando la unidad del motor del juego

Creé varios prefabricados de plataformas e instancias de prefabricados aleatorios fuera del alcance de la cámara. Espero que esto ayude, ya que he olvidado el código real que utilicé.

Después de haber trabajado en un corredor, generalmente desea usar una spline (Catmullrom) de algún tipo para definir cómo se dobla y gira la pista si está haciendo algo más que simplemente correr en línea recta. También puede usar secciones de pistas prefabricadas que se unen en función de algún algoritmo que podría ser tan simple como elegir aleatoriamente una pieza para agregar al final de la pista actual.

Genera un nivel aleatorio utilizando elementos prefabricados, por ejemplo, si tiene estos elementos prefabricados para su juego:

cadena [] elementos = {
“#### 000 ######”,
“# 00 # 000 #### 00”,
“## 00 ### 000 # 00”,
// Podemos continuar para siempre …
};

Cuando genera el mapa, toma un elemento aleatorio de la matriz y lo publica en el mapa.

More Interesting

Cómo cifrar un fragmento de texto usando un algoritmo de cifrado

Cómo resolver la consulta de suma de potencia de rango usando treap

Cómo enmarcar mi idea de algoritmo para que alguien que escribe algoritmos pueda entenderlo

Cómo evaluar el efecto del programa de seguridad vial en el comportamiento después de 7 años de implementación si no hay datos de referencia

Cómo demostrar que O (f (n) - g (n)) no es necesariamente igual a O (f (n)) - O (g (n))

Si tengo un buen conocimiento de Java, C ++, algoritmos y estructuras de datos y quiero ser un profesional independiente. ¿Cuánto puede ganar alguien con estas habilidades?

¿De dónde aprendo la estructura de datos?

Dada una biblioteca que proporciona una coincidencia aproximada de cadenas, ¿cuáles son algunos procedimientos adicionales que pueden explicar una mejor coincidencia de cadenas?

Cómo mejorar mis algoritmos de clasificación

En plataformas de programación competitivas como TopCoder y CodeChef, ¿cómo sé que una competencia o proyecto es bueno para participar?

¿Cuál es el mejor algoritmo de procesamiento de imágenes para comparar una pintura recibida como entrada contra la base de datos y seleccionar la coincidencia más cercana?

¿Hay algún tutorial de algoritmos y estructuras de datos donde aprendas a través de los juegos?

¿Cuáles son los beneficios del algoritmo de retropropagación frente a la estimación numérica del gradiente?

¿Debería un ingeniero que no sea CS aprender programación, algoritmos y estructuras de datos?

¿Necesito matemáticas para aprender estructuras de datos y algoritmos?