Estoy haciendo un juego de plataformas en 2D donde el jugador puede presionar un botón y reiniciar el nivel, solo su personaje anterior también correrá el nivel al mismo tiempo, como si estuvieran viajando en el tiempo.
Sé que otros juegos han hecho esto antes, y la forma en que pensé hacerlo es hacer que el personaje del juego tenga un conjunto de acciones (Inactivo, Saltar, Caminar a la izquierda, etc.) y luego detectar cambios en esas acciones e iniciar sesión una lista junto con el tiempo del juego. Entonces, cuando necesito que el personaje vuelva a ejecutar el nivel por sí solo, puedo pasar por la lista cambiando sus acciones en el momento adecuado.
¿Es esta la mejor manera de hacerlo? ¿Alguien tiene alguna experiencia en esto?
Gracias.
2d
architecture
time-travel
Woody Zantzinger
fuente
fuente
Respuestas:
EDITAR:
Consulte la respuesta de @ Bluescrn a esta pregunta; él desarrolla las debilidades en la reproducción de controles en lugar de vectores de movimiento o posición.
-
Estás en el camino correcto. Aquí está el enfoque que usaría:
Controladores
Crea una clase de controlador que reciba la entrada del teclado y la pase a tu personaje. Sin embargo, también tenga un registro del Controlador exactamente cuando se presionaron las teclas significativas (por ejemplo, flechas, salto, etc.) y cuando se soltaron. Almacenaría este tipo de información:
Un controlador tiene dos modos:
Caracteres
Cuando se construye su objeto Character, crea un nuevo Controller para sí mismo. El personaje puede estar en uno de dos modos en cualquier momento:
Niveles
Un nivel recién comenzado
Cuando comiences el nivel, crea un solo personaje. Ahora comienza el nivel y el jugador hace lo suyo.
Cuando el tiempo se restablece
Cuando el nivel se restablece, haz tres cosas:
Entonces comienza el nivel y el jugador hace lo suyo.
fuente
Si está reproduciendo entradas grabadas, considere las implicaciones de cualquier objeto en movimiento / destructible / interactivo en el mundo, que puede haberse movido o cambiado de estado cuando se repiten las acciones.
Además, reproducir entradas no funcionará con precisión si su juego utiliza un paso de tiempo variable. ¿Es posible que desee considerar una actualización del juego de paso fijo (con interpolación para la representación de velocidad de fotogramas variable)?
fuente
Hay muchos temas que cubren los sistemas de grabación / reproducción de juegos / etc. que probablemente deberían ser la piedra angular de sus pasadas pasadas.
Aquí hay uno: Cómo diseñar un sistema de repetición
fuente
Grabar la entrada del teclado podría no ser tan útil en su caso. Sin embargo, puede generar una spline con una línea de tiempo. Incluso puede retroceder el tiempo si es complicado con las fuerzas que necesita aplicar
fuente