fait par MAINIE Zhuma (amuhz) dernière mise à jour le 01/01/2025
Ce projet, commencé en août 2024, est un projet personnel. Tous les assets et l'entièreté du développement as été fait par moi-même, à l'aide de la documentation de Godot, quelques tutoriels produits par la communauté du moteur de jeu et des conseils de mes amis sur l'utilisation du moteur.
Ceci est le tout premier jeu que je développe entièrement par moi-même et sur la base de mes propres idées, impliquant de facto que certains élément sont améliorable et à améliorer au fil du temps, toutes critiques constructives que ce soit sur la méthode de travail, le jeu en lui-même ou les applications externes utilisée pour le projet seront reçues d'une oreille attentive.
Ce projet est utilisable sous les conditions de la license CC BY-NC-SA 4.0. voir license ici
Jeu de type bullet-hell en 2D vu du dessus fondé sur les couleurs :
- un élément possède une couleur qui peut être neutre
- deux éléments de même couleur non-neutre rebondissent entre eux
- un élément de couleur neutre peut-être touché par n'importe quelle couleur
- Le vaisseau que le joueur joue, ne tire jamais de lui-même mais se contente de renvoyer les éléments de couleur via un bouclier, celui-ci pouvant cycler entre de multiples couleurs différentes
Les commandes de jeu sont actuellement répartis comme suit :
- déplacements :
- w (touche physique*) -> en avant
- a (touche physique*) -> à gauche
- s (touche physique*) -> en arrière
- d (touche physique*) -> à droite
- changer le bouclier de couleur :
- bouton gauche souris -> couleur précédente
- bouton droit souris -> couleur suivante
le jeu ne nécessite pas grand chose à l'heure actuelle, la configuration minimale est donc simplement :
- un processeur fonctionnel
- une carte graphique quelquonque supportant la librairie graphique Vulkan de préférence
- 1 Go de mémoire
- quelques Mo de stockage
Le moteur de jeu choisi pour ce projet est Godot. Les raisons de ce choix sont :
- sa facilité de prise en main notamment grâce à une documentation exhaustive et claire, son langage dédié, le godotscript, ainsi qu'une communauté bien présente
- la modularité du moteur
- le moteur est open source
Les éléments implémentés sont :
- vaisseau
- déplacement du vaisseau
- bouclier du vaisseau
- changement de la couleur du bouclier
- ennemis de base (minibots)
- projectiles de base
- IA des minibots
- rebond des éléments de même couleur entre eux
- compteur de temps de survie (invisible par abscence d'interface utililisateur)
Durant les quelques mois de développement j'ai rencontré certains problèmes, pour la plupart, ayant un rapport avec les collisions. pour une grande majorité, j'ai pu trouver une solution plus ou moins bonne mais pour certain, cette solution n'est pas satisfaisante :
- les rebonds ne prennent actuellement pas en compte l'angle et la vitesse des éléments entrant en collision, résultant en des rebonds peu naturels par moment
- les ennemis ne peuvent pas être touchés par leur propre projectiles, sans quoi ils se détruiraient instantanément dès le premier projectile tiré
Ceci est la liste, par ordre décroissant d'importance, des éléments que que je souhaite intégrer à ce jeu par la suite :
- interface utilisateur (UI) minimale et menu de jeu
- apparition coordonnée d'ennemis sur le rythme d'une musique de fond
- ajout de différent types d'ennemis et projectiles
- ajout d'une ou plusieurs distances de détection aux ennemis et certains projectiles
- possibilité de changer les couleurs et UI pour pouvoir être adapté à la vue et aux préférences de chacuns
- possibilité de configurer les touches de contrôle
- mise en place d'un système d'amélioration progressive persistante dans le genre des jeux de type roguelike
- shaders, particules et effets de lumières
Ce projet étant amené à évoluer, cette liste pourras changer au cours du temps et n'est donc pas fixée. Elle n'est pas une promesse mais une simple direction que je souhaite donner à ce jeu et, étant donné ma condition d'étudiant, elle n'inplique pas nécessairement une évolution rapide de celui-ci.
Les assets graphiques sont créés et animés sur Krita et retouchés si nécessaire avec GIMP
Le jeu n'en contient pas à l'heure actuelle, mais ceux-ci sont prévus et serons très probablement créé grâce à des logiciels de synthétisation de son tel que Audacity et AMSynth