¿Cómo debo escribir un bucle principal del juego? ¿Qué cosas debes hacer en el ciclo del juego y qué cosas no debes hacer en el ciclo del juego?
He escrito muchos de ellos, pero nunca he leído sobre bucles de juego. Estoy seguro de que podría mejorarlos considerablemente, pero no estoy seguro de cómo.
architecture
game-loop
Hokiecsgrad
fuente
fuente
Respuestas:
El bucle principal del juego maneja tres tareas principales:
Un bucle de juego simple simplemente combina estas tres tareas en un bucle while. Esto tiene algunos resultados no deseados:
Los bucles avanzados para juegos abordan los problemas enumerados anteriormente. Aquí hay algunos artículos útiles:
Para un excelente ejemplo de bucle de juego, eche un vistazo al juego demo de Allegro skater:
Los bucles de juego a menudo hacen el mismo tipo de trabajo para la mayoría de los juegos, por lo que he estado pensando en una forma de crear un marco de juego generalizado. Es mejor escribir una implementación de un bucle de juego y compartirla entre juegos. Ahorra trabajo al crear un nuevo juego, y todos los juegos pueden compartir mejoras en el bucle de juego compartido (por ejemplo, agregando un contador FPS o una función de captura de pantalla).
fuente
Recomiendo el artículo de Glenn Fiedler sobre la robusta independencia de la velocidad de fotogramas, " Fix Your Timestep! "
(Menos relevante para el tema en cuestión, pero los otros artículos de la serie también son bastante buenos, ¡como lo es todo en su sitio!)
fuente
Si desea trabajar en bucles de juegos, le aconsejaría leer este viejo artículo sobre gamasutra sobre arquitecturas de motores de juegos multiproceso. Se ocupa de varias formas diferentes de escribir su ciclo de juego.
http://www.gamasutra.com/view/feature/1830/multithreaded_game_engine_.php
fuente