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

Tutoriel présenté par : Jérémie F. Bellanger
Publication : 27 septembre 2011
Dernière mise à jour : 27 avril 2016

 
Tuto déprécié : Ce tuto est le 1er tuto du Meruvia Game Studio et nous le conservons car il peut être utile à ceux qui veulent utiliser la SDL 1.2 et certains y sont attachés. Toutefois, il propose certaines pratiques de programmation peu recommandables (variables globales) et est relativement daté.
 
Si vous débutez, nous vous conseillons vivement de vous pencher soit vers le tuto en C/SDL 2 soit vers celui en C++/SFML2. wink
 
 
    Si votre rêve a toujours été de créer votre propre jeu, que vous ne savez pas par où commencer, mais que vous avez suffisamment de courage pour vous lancer dans la programmation, vous êtes à la bonne adresse !

    Nous commencerons par installer ce dont nous aurons besoin pour notre jeu, puis par créer la base de notre moteur de jeu, avant de rajouter au fur et à mesure de nouvelles fonctionnalités qui le rendront toujours plus professionnel.

    Cette vidéo présente le jeu que vous serez amenés à créer en suivant ce tuto. Bien entendu, vous serez libres de l'adapter comme bon vous semblera et de remplacer tous les "assets" (= graphismes, tiles, sprites, musiques, effets sonores, etc.) par les vôtres pour créer VOTRE JEU!
   
 
 

 

 

 

Installer l'environnement de travail

 

    Si vous avez bien lu les tutoriels / livres ci-dessus, vous aurez déjà très certainement installé votre environnement de travail et serez prêts à attaquer directement la programmation ! Mais, bon pour être sûrs, nous allons nous assurer ensemble que tout est en ordre  !



 

L'Environnement de Developpement (IDE) : Code::Blocks

 

    Pour programmer, nous avons besoin d'un IDE, c'est-à-dire d'un programme qui nous permettra d'écrire notre code source, puis de le compiler pour le tester. Il en existe plusieurs, mais je vous recommande ici Code::Blocks qui a l'avantage d'être puissant, pratique, multi-plateformes et gratuit (cela dit Visual Studio peut aussi être un bon choix, ou n'importe quel autre IDE, du moment que vous savez comment linker les libs  ) !

    Le lien ci-dessous vous enverra sur la dernière version de Codeblocks (si ce n'est plus le cas, merci de m'en faire part par mail, MP ou sur le forum). Sélectionnez Download the binary release, puis sur la nouvelle page, nous vous recommandons de choisir la version en bundle avec MinGW qui aura un nom du style : codeblocks-12.11mingw-setup.exe (recommandé).

    Toutefois, vous pouvez aussi choisir d'installer l'IDE et le compilateur séparément. Dans ce cas, installez d'abord le compilateur grâce au lien ci-dessous, puis la version simple de Code::Blocks qui a un nom du style : codeblocks-12.11-setup.exe.

 

 

 

Le compilateur : MinGW

 

    Voilà maintenant le lien vers MingW si vous souhaitez l'installer séparément pour avoir la dernière version disponible (N.B.: n'installez pas encore Code::Blocks, nous l'installerons après MingW pour qu'il le détecte à l'installation ).

 

 

   Le nom du fichier à télécharger change en fonction des mises à jour, mais sur la dernière version de la page de téléchargement, vous noterez le message : "Looking for the latest version? Download mingw-get-setup.exe". C'est ce qu'il vous faut. Si cette indication n'apparaît plus, cherchez un exécutable avec un nom qui ressemble. Voilà, installez maintenant MingW puis Code::Blocks et on est prêt à décoller  !


 

Les bibliothèques tierces 

 

    Pour programmer notre jeu de plateformes, nous allons avoir besoin de bibliothèques tierces (libraries en anglais) nous permettant de gérer les entrées (clavier, joystick), la vidéo, le texte, le son, etc.

    Pour cela, nous allons utiliser la SDL pour gérer les entrées et l'affichage de notre jeu, FMOD pour le son (N.B.: FMOD est gratuit tant que vous l'utilisez dans des applications à but non-commercial), et SDL_TTF pour gérer l'affichage du texte.

    Attention !!! Depuis la sortie de la SDL 2, celle-ci s'affiche naturellement en premier. Faites bien attention à sélectionner la SDL 1.2 (version 1.2.15 normalement) et les versions des libs compatibles, sinon, ça ne marchera pas !

 

 

    Pour plus de renseignements sur la SDL, je vous renvoie sur son site officiel (cliquez sur l'image ci-dessus) ou bien sur le tutoriel du site du zéro, indiqué ci-dessus.

 

    Sur cette page, allez dans la section Development libraries, puis choisissez Win 32 (si vous êtes sous Windows, sinon ce sera Linux, of course - mais il y a d'autres moyens plus simples pour l'installer sous Linux), et là, choisissez la version pour Mingw 32.

    Pour l'installer, c'est assez simple, il suffit d'extraire les fichiers de l'archive puis de les copier, de préférence sous : C:\SDL, pour pouvoir les retrouver facilement par la suite. Notez aussi que le fichier .dll devra être copié dans tous les dossiers de programmation de vos applications. Il s'agit en effet de la bibliothèque dynamique et votre .exe en aura besoin pour fonctionner.

    Si vous êtes un peu perdu, je vous renvoie ici, où tout est très bien expliqué en détails !

 

 

 

Téléchargez SDL_TTF pour afficher du texte ici !

    Choisissez, pour Windows, Binary : Win32 SDL_ttf-2.0.9-win32.zip et SDL_ttf-devel- 2.0.9-VC8.zip. Pour plus d'informations sur son installation, je vous renvoie une fois encore sur le site d'Open Classrooms.

    SDL_TTF est une bibliothèque complémentaire à la SDL, programmée par Sam Lantinga, qui permet de transformer des chaînes de caractères en images prêtes à être affichées à l'écran, en utilisant la police de caractère désirée. Cela nous sera utile dans notre jeu, pour afficher, par exemple, les compteurs de vies, émeraudes, etc.


 

      Cette bibliothèque nous sera utile pour jouer les sounds Fx de notre jeu et la musique. Nous verrons plus loin comment l'ajouter à notre projet.

     Le lien renvoie sur la page officielle où vous pourrez consulter la doc mais aussi télécharger la lib : SDL_mixer-devel-1.2.11-VC.zip si vous êtes sous Windows .


    Voilà qui est fait, nous sommes désormais prêts à nous lancer dans la programmation de notre jeu de plateforme ! Dans le prochain chapitre, nous créerons notre projet, configurerons les bibliothèques et commencerons la création de notre moteur de jeu.




 

Connexion

CoalaWeb Traffic

Today4
Yesterday178
This week504
This month4178
Total1743385

25/04/24