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 brouillon du jeu 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

Un arrière plan noir, quelques sprites (images au format .png) et un code. La base est simple, fonctionnelle et surtout exploitable pour évoluer. Première chose, reprendre le code généré par IA car l’organisation, l’enchaînement des fonctions, tout est mélangé.

C'est un travail de compréhension des lignes de codes ponctué d'informations précises quantifiables et de multiples modifications.

Après cette expérience avec l'IA, je reste convaincu qu’elle peut aider pour trouver des idées conceptuelles rapidement et faire un brouillon. Mais, elle ne fera pas le travail à notre place. Peut-être, ma formulation était imprécise, créer un prompt n’ai pas simple.

Les idées, le visuel, les sensations de jeu et comment cela doit s’enchaîner pendant la phase de jeu ne peut être décidé que par le créateur du jeu.

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 dysfonctionnements et ajustements ont été nécessaires pour obtenir une version mise à jour.

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. Je l'ai beaucoup modifié pour atteindre une version sans lien avec les sprites d’internet.

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 !