Glossaire Gamedev Qu'est-ce que la «boucle de jeu»?

Dans cet article, je vais expliquer le cœur de chaque jeu: le boucle de jeu! Tout le code qui rend le jeu interactif et dynamique va dans la boucle du jeu, mais est séparé en différents morceaux. La boucle de jeu elle-même est une boucle infinie contrôlée qui permet à votre jeu de continuer à fonctionner; c'est l'endroit où tous vos petits morceaux seront mis à jour et dessinés à l'écran.


Initialiser, mettre à jour et dessiner

La boucle de jeu est le code central de votre jeu, divisé en différentes parties. Généralement, ce sont: initialiser, mettre à jour et dessiner.

le initialiser phase est utilisé pour effectuer toutes les configurations de jeu nécessaires et préparer l'environnement pour les phases de mise à jour et de dessin. Ici, vous devez créer vos entités principales, préparer le menu, détecter les capacités matérielles par défaut, etc..

Le but principal de la mettre à jour La phase consiste à préparer tous les objets à dessiner. C’est donc à cet endroit qu’appartient tout le code physique, les mises à jour coordonnées, les modifications des points de santé, les améliorations des personnages, les dégâts infligés et autres opérations similaires. C'est également à cet endroit que l'entrée sera capturée et traitée.

Lorsque tout est correctement mis à jour et prêt, nous entrons dans le dessiner phase où toutes ces informations sont affichées à l'écran. Cette fonction doit contenir tout le code pour gérer et dessiner les niveaux, les calques, les caractères, le HUD, etc..


États de gestion

La boucle continuera à courir tout au long du jeu, vous devez donc vous assurer qu'elle exécute les parties correctes de votre code pour chaque partie de votre jeu. UNE machine d'état est généralement utilisé pour cette tâche; cela gère un état global pour votre boucle de jeu et redirige le flux vers la partie correcte du code en fonction de celui-ci.


Machine d'état typique

Un exemple simple, à la suite de l'image ci-dessus: un nouveau jeu commence et passe à l'état principal. Cela chargera le menu du jeu, puis continuera à courir et à exécuter la logique du menu jusqu'à ce qu'il reçoive un événement d'entrée (un clic de souris, une pression au clavier ou similaire).

Cet événement déclenche ensuite une modification de l'état du jeu principal, déplaçant le flux d'exécution vers la scène d'introduction, de sorte que le code du menu du jeu ne soit plus exécuté. La boucle de jeu continue à s'exécuter, mais elle exécute une partie différente du code - la partie correspondant à la scène d'intro.


Entités dans le jeu

Maintenant que vous avez tous vos états sous contrôle, vous devez interagir avec toutes vos entités (personnages, objets, NPC, etc.) et mettre à jour leurs propriétés (statut, santé, position,…) pour déplacer réellement les objets et les joueurs sur. ton jeu.

Ainsi, en plus d'exécuter la partie spécifique du code en fonction de l'état actuel, la boucle de jeu possède également une boucle interne qui exécute la partie spécifique du code pour chaque entité dans l'état actuel.


Interagir avec des entités

Le même comportement se produit dans le dessiner phase, où chaque entité est dessinée.


Conclusion

La boucle de jeu est le cœur du jeu, et il n’est pas très difficile de comprendre son concept si vous venez de différentes branches du développement logiciel. On pourrait en dire beaucoup plus, mais j'espère que cet article vous aidera à comprendre le cœur du sujet.!