Pour le premier projet du module graphique de ma première année à Epitech, j’ai été confronté à un défi captivant : recréer un classique du jeu vidéo, “Duck Hunt”. C’est ainsi que “My_Hunter” est né, un projet de première année qui a permis de mettre en pratique nos compétences en programmation tout en revisitant un jeu emblématique.
Dans cet article, je vous invite à plonger dans le processus de création de “My_Hunter”, à découvrir les défis techniques que j’ ai rencontrés et à découvrir le développement de jeux vidéo sur le langage C greace à la librairie CSFML une variante de la librairie SFML du C++.
Le Concept
Le but était donc de créer une version à nous du Duck Hunt : c’est un jeu vidéo classique qui a été initialement développé et publié par Nintendo en 1984 pour la console NES) Le concept de base du jeu est simple : les joueurs incarnent un chasseur armé d’un fusil pour tirer sur des canards volants qui apparaissent à l’écran.
La première étape de ce projet était de trouver les idées pour le concept du jeu :
- la première idée à réfléchir était les mouvements des ennemis : en ligne droite ? rebond sur les murs . Après pas mal de réflexion je suis parti sur un lancé du bas mais en instaurant un système de gravité pour faire une courbe et lorsqu’ils sont tués attend un moment aléatoire avant de repartir d’un endroit aléatoire
- Ensuite il fallait déterminer l’arme : a-t-elle des munitions ? un temps entre chaque tir ? je suis donc parti sur une arme sans munitions avec tirs à volonté mais comme désavantage que pour chaque tir loupé le joueur perd des points. Cependant si vous tuez 5 ennemis d’affilé sans cliquer à côté chacun Kill par la suite a un petit bonus de points
- Je voulais aussi ajouter un système de bonus, j’étais parti au début sur un magasin où échanger ses points contre des bonus mais j’ai modifié légèrement pour passer à tous les paliers de 1000 points passés un échange est proposé : des points contre un bonus : une vie en plus ? un sort de gel ? etc.
- Mais pour compliquer le tout il fallait augmenter la difficulté : j’ai donc défini des paliers de points et à chaque fois que ce palier est atteint un nouvel ennemi arrive.
La Conception Artistique
Palette de couleurs : Le choix de la palette de couleurs a été le premier élément de recherche je voulais que le jeu soit cohérent graphiquement, pas trop flashy, j’ai donc chercher une palette de couleurs pastelle pour m’en inspirer, j’ai trouvé la pelette de couleurs RESURRECT 64 dont je me suis inspiré pour extraire les couleurs, j’ai donc pris surtout des couleurs bleus / gris et rouges
Style artistique : Le style artistique venait par la suite, je savais par avance ce que je voulais, étant fan de pixel art le choix était donc vite fait.
Sources d’inspiration : j’ai cherché pas mal d’inspirations surtout pour avoir une meilleure idée de comment utiliser les couleurs et le pixel art pour mon projet, et trouver l’ambiance que je voulais dans mon je : (images : Secret_lab par 18bot sur Dribble / Man in Forest Minimal sur PixHells.com / Fortnite Drones par Epic games )
Création des images :
Animations :
Pour continuer dans l’apprentissage le pixel art j’ai du apprendre l’animation de différentes choses pour les rendre plus vivantes comme par exemple les ennemis ou encore l’écran de game over.
animations d’Idle pour le robot :
Animations de mort :
La Programmation et la Mécanique de Jeu
Pour le projet, j’ai dû utiliser un langage spécifique ainsi qu’une librairie graphique imposée, avec une limite de taille maximale de 15 Mo pour mon jeu, Images Musique et code confondu. Le langage imposé était le C et la librairie graphique est le CSFML, un dérivé du SFML en C++
L’Audio et la Musique
La recherche musicale et sonore pour le jeu vidéo My_Hunter s’est orientée vers un style musical techno/électro afin de parfaitement accompagner l’univers robotique du jeu. Initialement, j’ai tenté de composer moi-même les musiques, mais j’ai rapidement réalisé que je ne possédais pas les compétences nécessaires pour créer ce genre de musique. Par conséquent, j’ai opté temporairement pour des morceaux existants qui s’intégraient bien dans le thème du jeu comme par exemple les musiques de la chaîne Techno Fantasy.
Cependant pour la mise en ligne, il faudra trouver des musiques dans ce même thème mais libre de droits.
La Publication
Vous pouvez retrouver le jeu disponible sur github : My_Hunter Disponible au téléchargement
Conclusion
En conclusion, la création de “My_Hunter” lors de mon premier projet du module graphique de ma première année à Epitech a été une expérience instructive. Ce projet m’a permis de mettre en pratique mes compétences en programmation tout en revisitant le jeu classique “Duck Hunt”. J’ai exploré divers aspects de la conception de jeux vidéo, de la définition du concept à la création artistique, en passant par la recherche de musiques appropriées. L’utilisation du langage C et de la librairie graphique CSFML a présenté des défis techniques intéressants, et la mise en place de mécanismes de jeu a ajouté de la profondeur au gameplay. Enfin, pour la publication du jeu, je devrais trouver des musiques libres de droits pour respecter les droits d’auteur. “My_Hunter” a été une étape importante dans mon apprentissage, me permettant de découvrir les multiples facettes de la création de jeux vidéo.