A time travelling tank fantasy
Pleistopia est un projet de qualification réalisé seul dans le cadre de ma formation à Gaming Campus. Nous avions 5 semaines pour réaliser un jeu de tank en lua. C'était mon premier vrai projet de jeu vidéo codé seul.
Je me suis inspiré de mon background professionnel et d’œuvres de science-fiction comme Les vaisseaux du temps de Stephen Baxter ou All you need is kill de Hiroshi Sakurazaka pour imaginer un jeu de tank narratif mêlant tanks, voyage temporel et animaux préhistoriques.
Un jeu de tank en lua
Pleistopia a été développé intégralement en lua avec le moteur Löve2D. C'était mon premier projetd de jeu solo. J'avais pour consigne d'intégrer les features suivantes :
- Un tank (ou à défaut un personnage pouvant se déplacer et tirer).
- Des ennemis avec machine à état. Le jeu inclut plusieurs types d'ennemis : des tourelles fixes, des tanks similaires à celui du joueur, des mammouths qui chargent le joueur, ainsi qu'un boss avec plusieurs phases. Le comportement des ennemis est géré par les scripts enemies.lua et boss.lua : si je devais refaire le jeu, chaque ennemi aurait son propre script basé sur un prototype commun.
- Des boîtes de collision. J'ai choisi d'implémenter des boîtes de collision en 8 points pour une meilleure précision. Elles sont répétées dans les scripts boss.lua, enemies.lua et player.lua : à nouveau, si je devais refaire le jeu, le comportement des boîtes de collision serait basé sur un prototype commun.
- Des projectiles (voir projectiles.lua).
- Des tilemaps. Elles sont construites par le script level.lua à partir des tables des cartes, construites avec l'éditeur de carte Tiled et stockées dans maps.lua.


...et plus encore
Le thème de la glace m'a fortement inspiré au cours du développement. J'ai implémenté un ralentissement dans la neige et une inertie accrue sur la glace (player.lua). J'ai également développé un système de particules permettant de faire tomber des flocons de neige de taille aléatoire, et dont la vitesse et l'angle de chute pouvaient être changés (snow.lua).
Pleistopia, c'est aussi un jeu narratif : j'ai conçu un système permettant à l'histoire de s'afficher au fur et à mesure des 18 tableaux de jeu (dialog.lua). Ce système s'affiche sur une interface entièrement conçue avec le logiciel libre Gimp, dont l'esthétique rappelle le codec de Metal Gear Solid. Au passage, j'ai rajouté sur l'interface des traces de givre pour encore renforcer le thème de la glace.

