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.
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!
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 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 !
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.
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 !
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 .