¿Dónde comienza el desarrollo de juegos?
Comprender el bucle del juego con entradas, actualizaciones de estado y renderizado
Los artículos escritos en este blog fueron creados con el objetivo de enseñar. Además, la información del artículo puede ser incorrecta, así que tenga cuidado.
El desarrollo de juegos no se trata sólo de dibujar gráficos. Implica crear todo el proceso de recibir información del jugador, cambiar el estado del juego y entregar los resultados a través de la pantalla y el sonido.
El juego actualiza su estado repetidamente.
La ubicación, la salud, la puntuación y el estado actual del personaje son el estado del juego. El juego actualiza continuamente este estado mientras se ejecuta.
Leer entrada.
Actualiza el estado del juego.
Dibuja el estado actual en la pantalla.
Repita este proceso nuevamente.
Esta estructura repetitiva se llama bucle de juego. Cuando se utiliza un motor, el motor gestiona el bucle en sí, pero el desarrollador escribe lo que sucede en cada paso.
while (isRunning)
{
ProcessInput();
UpdateGame(deltaTime);
RenderGame();
}
La velocidad de cuadros y el tiempo son diferentes
La cantidad de fotogramas que se pueden ejecutar por segundo varía de una computadora a otra. Si mueves el personaje 1 por cuadro, la velocidad variará entre 30 FPS y 144 FPS.
Entonces, la cantidad de movimiento es el tiempo transcurrido desde el cuadro anterior.deltaTimemultiplicar por
position += direction * speed * deltaTime;
De esta forma, incluso si el número de fotogramas es diferente, la velocidad de movimiento por segundo se puede mantener similar. Los sistemas en los que los intervalos regulares son importantes, como los cálculos físicos, pueden actualizarse por separado a intervalos de tiempo fijos.
Separar reglas y expresiones
Calcular la cantidad de daño cuando un jugador ataca es casi una regla del juego. La animación de blandir una espada y reproducir efectos de sonido están cerca de la expresión.
Poner ambos en un código aumenta el margen de modificación al agregar nuevas armas o funciones de red. Al dividir datos, reglas y expresiones de pantalla, se pueden usar las mismas reglas en otros gráficos o UI.
No es necesario crear un juego enorme desde cero. El mejor comienzo para el desarrollo de un juego es completar un pequeño bucle con una entrada, un objeto en movimiento y una condición de éxito clara.