Comment dois-je écrire une boucle de jeu principale? Quelles sont les choses que vous devriez faire dans la boucle de jeu et quelles sont les choses que vous ne devriez pas faire dans la boucle de jeu?
J'en ai écrit beaucoup, mais je n'ai jamais vraiment lu sur les boucles de jeu. Je suis sûr que je pourrais les améliorer considérablement, mais je ne sais pas comment.
architecture
game-loop
hokiecsgrad
la source
la source
Réponses:
La boucle de jeu principale gère trois tâches principales:
Une simple boucle de jeu regroupe ces trois tâches en une boucle while. Cela a des résultats indésirables:
Les boucles de jeu avancées répondent aux problèmes énumérés ci-dessus. Voici quelques articles utiles:
Pour un excellent exemple de boucle de jeu, jetez un coup d’œil au jeu de démonstration Allegro Skater:
Les boucles de jeu font souvent le même type de travail pour la plupart des jeux, alors je réfléchissais à un moyen de créer un cadre de jeu généralisé. Il est préférable d'écrire une mise en œuvre d'une boucle de jeu et de la partager entre les jeux. Il enregistre le travail lors de la création d'un nouveau jeu et les améliorations apportées à la boucle de jeu partagée peuvent être partagées par tous les jeux (par exemple, l'ajout d'un compteur FPS ou d'une fonction de capture d'écran).
la source
Je recommanderais l'article de Glenn Fiedler sur l'indépendance du framerate, " Fix Your Timestep! "
(Moins pertinent pour le sujet à traiter, mais les autres articles de la série sont également assez bons - comme tout sur son site!)
la source
Si vous voulez travailler sur les boucles de jeu, je vous conseillerais de lire cet ancien article sur gamasutra sur les architectures de moteur de jeu multithread. Il traite d'un certain nombre de façons différentes d'écrire votre boucle de jeu.
http://www.gamasutra.com/view/feature/1830/multithreaded_game_engine_.php
la source