
Asteroid survival
J'ai créé mon premier jeu vidéo ! C'est une sensation nouvelle et très plaisante de créer un jeu vidéo et penser qu'il sera joué par d'autres. J'espère que ces joueurs prendront autant de plaisir à jouer que j'en ai eu à le créer.
Ce jeu est simple. Basé sur le principe d'un "infinite runner", j'ai ajouté une ambiance spatiale et une dimension de survie face aux éléments cosmiques.
De l'origine conceptuel à une version 0
Le concept du jeu m'a été inspiré par le game design document (GDD) du groupe de travail auquel j'appartiens dans la formation Gaming Campus.
En voyant les créations des développeurs, j'ai eu l'envie de créer mon propre jeu à partir des exigences du GDD.
C'est là qu'entre en scène mon expérience antérieure de concepteur, ma tête et un outil malléable comme chatGPT, un premier jet aléatoire est né.
Ensuite, j'ai défini le langage de codage approprié pour le jeu, l'interface d'édition de code et la console d'exécution.
Ci-dessous, le résultat du concept exécuté par la console. Des ronds défilants de la droite vers la gauche et un carré bleu déplaçable par le joueur.

La version 1 jouable
A partir de cette version 0, j'ai échangé pendant une heure et trente minutes avec l'IA pour obtenir une version 1 du jeu jouable.
Un arrière plan noir, quelques sprites (images au format .png) et un code. La base est simple, fonctionnelle et surtout exploitable pour évoluer. ChatGPT n'a pas réalisé tout le travail seul. C'est un travail de dialogue ponctué d'informations précises et quantifiables.
Après cette expérience avec l'IA, j'ai touché les limites actuelles de son utilisation. Lorsque je lui ai demandé de vérifier une fonction pour déboguer un non fonctionnement, ChatGPT a simplement ajouté une nouvelle fonction dans le code pour vérifier la fonction défaillante. Peut-être, ma formulation était imprécise. Mais, vérifier et corriger sont des notions encore inexploitables avec une IA de mon point de vue. L'humain reste le garde fou entre la génération et le produit final.

La version 1, ses défauts et les tests
A partir de la version 1 du jeu, j'ai réalisé mon job de testeur pour valider le jalon. Test exploratif, puis enregistrement des défauts et des bogues.
Quelques exemples de bogues :
- Lorsque la barre de vie atteint zéro, la prochaine collision avec un astéroïde permet de gagner de la vie.
- Plusieurs disfonctionnements : le retrait de vie n'a pas de limite ; la barre de vie continue d'évoluer ; quelle est la quantité de vie dans ce cas ?
- Le sprite du vaisseau était orienté vers le haut alors que le défilement du jeu était de droite vers la gauche
- Pas de possibilité de fin de jeu
- Pas de sons
Bien d'autres corrections de disfonctionnements et ajustements ont été nécessaires pour obtenir une version mise à jour. Sans connaissances du code du jeu, de modifications graphiques de sprites, d'adaptation de gameplay pour le fonctionnement et surtout de tests pour réaliser un constat de l'état du jeu sont autant de domaines où l'IA ne peut pas intervenir seule.

La version 2 améliorée
Après une mise à jour, la version 2 du jeu a reçu plusieurs améliorations comme le défilement de l'arrière plan, l'ajout d'une jauge d'énergie rechargée par des cristaux récupérables parmi les astéroïdes, une accélération progressive des astéroïdes et des cristaux, l'ajout des sons et l'apparition du Game over signifiant la fin du jeu.
Après toutes ces intégrations, j'ai réalisé quelques tests. Puis, j'ai demandé à mon fils de jouer au jeu sans explication de fonctionnement. Résultat, il a adoré et souhaite y rejouer. J'ai donc réalisé un exécutable pour jouer au jeu sur un autre ordinateur.
Ce premier projet réalisé en dix jours est un premier succès. Si vous souhaitez essayer le jeu, utilisez le bouton ci-dessous.

La version 3 enrichie
Dans cette mise à jour, j'ai modifié le sprite de la fusée rouge par un vaisseau. La base du sprite a été créée par l'IA Designer de Microsoft. Je l'ai beaucoup modifié pour atteindre mon idée finale.
Le tir du laser a été recentré par rapport au vaisseau et modifié. Modification du sprite "cristal" et du fond étoilé. Puis la barre de vie est transformée en quatre parties. Le bug de dégâts lorsque la barre du bouclier possédait une valeur entre 0 et 20 et devait entamer la barre de vie est résolu. Enfin le vaisseau ne peut plus aller se superposer aux barres de vie, d'énergie et de score.
Quelques réglages et balancing ont été apportés concernant l'augmentation de la vitesse des astéroïdes, la vitesse de déplacement du vaisseau, l'augmentation du nombre d'astéroïdes et la dimension du laser.
A ce stade, ce jeu est agréable à jouer d'après les quelques utilisateurs ayant essayés. Dois-je aller plus loin avec une interface UX-UI, création de niveau, d'amélioration du vaisseau ou l'ajout d'ennemi.
Nous verrons dans les prochaines semaines !

Créez votre propre site internet avec Webador