Parallélisation de la génération d’environnements dans une application en temps réel

Par Bertolotti Lucas, Gallant Vincent et Gardeur Benjamin

Nous avons développé, dans le cadre du cours d’intelligence artificielle, un générateur d’environnements aléatoire (niveaux de jeu) pour un jeu de plateformes en deux dimensions. Cependant, la génération de nouveaux environnements peut prendre un certain ; il peut donc y avoir un blocage du jeu pendant quelque temps entre la transition des niveaux. Ceci est indésirable pour un jeu en temps réel, qui doit être mis à jour jusqu’à soixante fois par seconde. Une attente d’une seconde dans un chargement d’environnement est donc dérangeante pour le joueur.

Pour régler ce problème, nous avons décidé de paralléliser le chargement d’environnements et la mise à jour du jeu. Ainsi, il est possible de jouer sans temps d’attente. Puisque quatre environnements successeurs sont accessibles à partir d’un environnement quelconque, jusqu’à quatre fils d’exécution de chargement s’exécutent en parallèle avec le fil d’exécution du jeu. Ceci permet d’avoir tous les environnements prêts lorsque le joueur quitte l’environnement courant, peu importe la sortie empruntée.

 

Lire la suite ...