Como devo escrever um loop do jogo principal? Quais são algumas das coisas que você deve fazer no ciclo do jogo e quais são as coisas que você não deve fazer no ciclo do jogo?
Eu escrevi muitos deles, mas eu nunca li sobre loops de jogos. Tenho certeza de que poderia melhorá-los consideravelmente, mas não sei como.
architecture
game-loop
hokiecsgrad
fonte
fonte
Respostas:
O loop principal do jogo lida com três tarefas principais:
Um loop de jogo simples apenas reúne essas três tarefas em um loop while. Isso tem alguns resultados indesejados:
Os loops gamed avançados solucionam os problemas listados acima. Aqui estão alguns artigos úteis:
Para um excelente exemplo de loop de jogo, dê uma olhada no jogo de demonstração do Allegro skater:
Os loops de jogos geralmente fazem o mesmo tipo de trabalho para a maioria dos jogos, então eu tenho pensado em uma maneira de criar uma estrutura de jogo generalizada. É melhor escrever uma implementação de um loop de jogo e compartilhá-lo entre os jogos. Isso economiza trabalho ao criar um novo jogo, e as melhorias no loop do jogo compartilhado podem ser compartilhadas por todos os jogos (por exemplo, adicionando um contador de FPS ou recurso de captura de tela).
fonte
Eu recomendaria o artigo de Glenn Fiedler sobre a independência robusta de taxa de quadros, " Fix Your Timestep! "
(Menos relevante para o tópico em questão, mas os outros artigos da série também são muito bons - como está tudo em seu site!)
fonte
Se você deseja trabalhar em loops de jogos, aconselho a ler este artigo antigo no gamasutra sobre arquiteturas de mecanismos de jogos com vários threads. Ele lida com várias maneiras diferentes de escrever o loop do seu jogo.
http://www.gamasutra.com/view/feature/1830/multithreaded_game_engine_.php
fonte