Créons un jeu de plateformes de A à Z !



Tutoriel présenté par : Jérémie F. Bellanger

Dernière mise à jour : 04 novembre 2013

Difficulté :  

  

2. Préparons notre projet


    Nous allons voir désormais comment créer notre projet sous Code::Blocks avec les bibliothèques que je vous ai indiquées dans le premier chapitre, puis nous mettrons en place la base de notre moteur de jeu.

    Mais avant, réfléchissons à ce qu'on veut créer. En effet, on ne peut pas se lancer dans un projet, si l'on n'a aucune idée du résultat auquel on veut parvenir. On ne doit pas pour autant fignoler tous les détails dès maintenant, loin de là, le projet va mûrir en cours de route. Mais il est indispensable d'avoir déjà une idée générale de ce à quoi on veut parvenir et c'est ce que l'on va voir dans un premier temps.


A. Le préprojet

    Ce que j'appelle le préprojet, c'est donc cette mise en place d'une conception globale de ce que l'on veut obtenir en fin de parcours.

    Dans ce tutoriel, nous prendrons exemple sur Wiwi's Adventures (I et II), qui est un projet déjà bien abouti. Mais pour ce jeu, j'ai moi-même fait un préprojet à l'époque. Mon but était en effet de créer un jeu s'inspirant du premier Alex Kidd : in Miracle World sur Master System avec un zeste de Wonder Boy II (Master System aussi) pour l'épée mais avec des graphismes du niveau d'une Megadrive/SNES et avec un gameplay digne des meilleurs jeux de plateformes 2D : personnage qui réagit au quart de tour, gestion des collisions impeccable, et la possibilité de courir et faire un double saut (c'est-à-dire faire mieux que Roswyn par bien des aspects).

    Pour les niveaux, je voulais des niveaux relativement courts, comme dans Mario, et qui s'enchaînent selon des thématiques clairement indentifiables : le monde polaire, le désert, la plaine, etc... Au niveau du level design, je voulais offrir la possibilité de créer des niveaux aussi bien horizontaux que verticaux ou un mélange des deux (c'est important pour gérer le scrolling).

    Pour les monstres, je voulais offrir une variété assez large d'ennemis (plus que pour Roswyn) et surtour que leurs comportements soient différents. Enfin, il fallait que ceux-ci soient plaçables n'importe où sur la map dans le level editor et que le jeu puisse en gérer une cinquantaine en même temps à l'aide d'une seule fonction, relativement simple (un bon challenge !).

    Les boss ne sont apparus que dans la version 2.0 et sont plus complexes à gérer. On verra donc ça en fin de tutoriel. Il en va de même pour tous ces petits détails qui font tout l'intérêt d'un jeu et qu'il ne faut surtout pas négliger : les power-ups, les tiles spéciales (pics, glace, ressorts), les plateformes mobiles/qui disparaissent, etc...).

    Ici aussi, nous allons faire notre préprojet, en nous inspirant globalement de ce que je viens de vous énumérer pour Wiwi's Adventures.



    Nous allons donc créer un jeu de plateformes original en nous basant sur le moteur du jeu de Wiwi's Adventures (version SDL) que nous ferons évoluer selon nos propres besoins, bien sûr.

    Je vous propose donc déjà de changer le mode d'attaque : notre personnage devra sauter sur la tête des ennemis pour les tuer (comme dans Mario) et pourra donc rebondir (il faudra gérer cela). Pour les power-ups, notre héros ramassera des étoiles et au bout de 100, il gagnera une vie (comme c'est original  !).

    Mais alors, dès à présent, de quoi va-t-on avoir besoin, concrètement ?

    Pour l'instant, notre but va être de mettre en place un moteur de jeu basique qui gèrera :

- l'affichage de la map sur 2 couches (le background en couche de fond et devant les tiles sur lesquelles marchera le héros et qui feront aussi office de décor).
- le déplacement au clavier du héros.
- l'initialisation et la gestion des monstres.
- la gestion des collisions avec les monstres mais aussi le décor (pour ne pas passer au-travers du sol  !).
- les power-ups étoiles et la gestion des vies.
- l'animation.
- l'affichage du HUD (nombre de vies, d'étoiles).
- la musique et les effets sonores (sounds Fx).
- et quelques menus comme le menu Start et Pause par exemple.

    Voilà, en gros, pour l'instant. Cela peut vous paraître énorme comme travail, mais en fait ce n'est vraiment que la base et en termes de développement, cela prend très peu de temps, comparé au peaufinage du jeu avec l'ajout de plein de petits détails de gameplay, le level design ou même la conception artistique des graphismes.

    D'ailleurs, en parlant de level design, il ne va pas falloir oublier non plus de faire un deuxième programme pour le level editor. Eh oui ! Créer un jeu, c'est aussi créer plusieurs outils qui permettront plus tard de développer le jeu facilement. Et vous verrez qu'avec un level editor, c'est quand même plus agréable de concevoir des niveaux qu'en rentrant des chiffres à la main dans un fichier de données (surtout s'il y en a 10000 pour une map !  ).



    On est presque parti pour créer notre projet, sauf que... il nous manque un nom !!

    Sachez quand même, que la plupart des jeux du commerce commence par un nom de code avant d'obtenir leur titre définitif à leur sortie.

    Pour faire simple, nous allons choisir un titre éponyme, c'est-à-dire que nous allons nommer notre projet du nom de son héros, qui s'appellera... Tadaam !... Aron ! On imagine déjà que ce sera un fier acrobate avec de grandes bottes, prêt à écraser du vilain pas beau !! Et là, on rêve déjà!

Note a posteriori : Ce nom a fini par devenir celui de la mascotte du studio Meruvia : Aron le Torgon vert. Le développement du premier opus de la série : Aron's Journey in Dreamland a en effet commencé en même temps que ce tuto, en octobre 2010. On notera aussi que le lapin ninja que nous utiliserons dans ce tuto était un préprojet d'Aron. Il interviendra cependant en tant que vendeur (dealer de potions ?) dans le second épisode.


    Maintenant, ce tutoriel est là pour vous aider à créer votre propre jeu. Si vous avez donc déjà votre héros en tête, mieux encore, si ses sprites sont même déjà prêts, utilisez le nom de votre personnage et personnalisez ce tutoriel ! Sans oublier de nous envoyer une copie de votre jeu une fois qu'il sera terminé et de nous faire part de l'avancée de votre projet sur le forum de ce site !!



B. Créons notre projet Code::Blocks


    Première étape : Ouvrir Code::Blocks (ne me dites pas que c'est trop dur  !).



    Là, choisissez : Files/New/Project. Vous devriez obtenir ceci :



    Faites défiler jusqu'à choisir SDL Project, puisque nous allons créer notre jeu avec la bibliothèque SDL. Cliquez sur GO pour atterir sur cette page :



    Là, il suffit simplement de cliquer sur Next. Il n'y a rien de plus à faire. Vous tombez alors sur une nouvelle page qui va vous demander des informations vis-à-vis de notre projet. Heureusement, qu'on a choisi un nom, dites donc, sinon on aurait déjà été obligé de s'arrêter ou d'appeler notre jeu démo ou projet ou pire !...



    Ici, nous remplissons donc le nom de notre projet : Aron, nous choisissons où le stocker sur le disque (j'ai choisi D: , mais vous pouvez le mettre où bon vous semble, du moment où vous le retrouverez facilement ! Evitez quand même les dossiers système ). Le nom du fichier projet Code::Blocks prend automatiquement le nom de votre projet (logique). Et le tour est joué ! Plus qu'à appuyer sur Next !



    Ici Code::Blocks vous demande l'emplacement où est installé la SDL. Normalement, il devrait la détecter tout seul, mais si ce n'est pas le cas, vous devrez parcourir votre disque et lui indiquer où se trouve le dossier d'installation : normalement SDL-1.2.13. Mais si vous venez de l'installer au chapitre précédent, ça ne devrait pas être trop dur à retrouver  !



    Ici, tout est préréglé, donc rien à faire. Il vous indique simplement où seront rangés les exécutables et les makefiles de votre jeu après complilation (debug et release). Cliquez sur Next !



    Voilà, votre projet est créé, et Code::Blocks l'a même déjà commencé pour vous avec une jolie démo qui affiche une image bitmap du logo de Code::Blocks. Admirez-la tant que vous voulez (en compilant (icône circulaire bleue en haut) et en exécutant le code (icône Play (triangle) bleue en haut dans la barre d'icônes) - ce qui vous permettra de tester que l'installation de la SDL fonctionne) et quand vous en aurez marre, faites un clic droit sur main.cbp et choisissez de le supprimer du projet. Faites de même pour l'image cb.bmp :



    Vous aurez ainsi un projet vierge, que vous pourrez sauvegarder et qui n'attendra plus qu'à se remplir de merveilleux code .



    Enfin, une dernière chose pour finir : allez dans le dossier Aron à l'aide de l'explorateur de fichiers et supprimez les deux fichiers cb.bmp et main.cpp et ne gardez que le fichier de projet : Aron.cbp.

    Et voilà, dans le chapitre suivant, nous pourrons enfin commencer à programmer en créant le main.c de notre jeu !


  



 

Connexion

CoalaWeb Traffic

Today114
Yesterday178
This week614
This month4288
Total1743495

25/04/24