Libell |
Libell est un petit jeu 2D réalisé en trois semaines. L'objectif était de montrer mes compétences en vue d'un entretien d'embauche. Le jeu a été codé en C++, sous Microsoft Visual Studio. L'affichage est en directX. Le principal intérêt de ce jeu est d'avoir été réalisé dans des délais très court tout en incluant des éléments techniques complexes.
Le moteur de jeu lit le niveau dans un fichier texte facilement modifiable. Les décors y sont écrit entre des balises. Ensuite il construit un arbre binaire pour partitionner l'espace et optimiser les recherches. A partir de ce BSP, il détecte automatiquement des zones rectangulaires sans murs. Ensuite il crée un "portail" entre chaque zone. On obtient ainsi un graphe de portail qui sert de graph. de base pour l'algorithme de pathfinder A*. L'exécutable permet de visualiser les pièces ainsi que le graph. entre les portails et aussi les chemins des ennemis vers le joueur calculés en temps-réel. Cela peut donner une bonne idée du fonctionnement du A*.
Le jeu est stable et a un gameplay assez prenant malgré le nombre de niveaux limité à trois. Le joueur doit ramasser le maximum de bonus en un temps limité. Il doit aussi avoir tué tous les ennemis du niveau avant que le temps impartis soit écoulé. Pour cela, il peut poser des bombes, se téléporter ( option qui ajoute beaucoup au gameplay ) et aussi poser des hologrammes. Les trois types de boules ennemis ont un comportement différent ( vitesse, view-range, réaction aux hologrammes...). Avec des graphismes améliorés et des niveaux plus étudiés, le jeu pourait s'avérer très agréable.
Je fournis le code source, libre de tout droit ( le BSP et le A* sont codés de facon générique et peuvent etre réutilisés tel quel). Le code est documenté sous doxygen ce qui permet à n'importe qui de le comprendre rapidement. On trouve aussi un executable de tests unitaire et de modules pour tester la construction du BSP et le A* .
fichier téléchargeable : libell.zip ( 835 kb) ( source+exe+doc)
Le fichier zip à télécharger contient l'exécutable, ainsi qu'une documentation et le code source.
Config necessaire : directX 8, et une carte video avec le mode 640*480*16
Author : Adrien
Auclair
adrien.auclair at club-internet.fr
Last update : 05/05/2004