Big Tuto SFML 2 - Action RPG : Legends of Meruvia

Chapitre 1 : Créons un Action-RPG à la Zelda, de A à Z avec la SFML 2 !

 

Tutoriel présenté par : Jérémie F. Bellanger (Jay81)
Ecriture : 01 septembre 2015
Date de révision : 9 juillet 2016

 

      Prologue

 

   Et voilà enfin le premier chapitre d'un Big Tuto qu'on me réclame à cors et à cris depuis plusieurs années ! angel

   Bon, si jai un peu tardé, c'est parce que c'est quand même un gros morceau... frown Un TRES GROS morceau même ! surprise

   Ce n'est pas pour rien, que personne ne l'a encore fait sur le web, à ma connaissance ! Car la tâche va être rude ! Mais on va essayer! wink

   Et voilà : on va créer un Action-RPG à la Zelda III (avec des variantes quand même, sinon ça ne serait pas drôle! cheeky) de A à Z en C++ et avec la SFML 2 !

   Bon, comme le nombre de choses à prendre en compte est assez important, j'ai décidé de scinder ce tuto en plusieurs parties.

   On va d'abord s'attaquer à la première partie qui va poser les bases de notre jeu.

   Mais comme une vidéo vaut mieux qu'un long discours, voilà ce que vous aurez réalisé à l'issue de cette première partie wink :

 

 

 

Voilà une présentation du jeu que nous allons programmer. 

 

 

     A propos de ce tutoriel

 

    Si votre rêve a toujours été de créer votre propre jeu de rôle à la Zelda, 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 ! wink


    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. 


   La vidéo précédente montre le jeu que vous serez amenés à créer en suivant ce tuto. Mais, 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 LE JEU DE VOS REVES cool

 

   Je tiens d'ailleurs à préciser que tous les éléments graphiques et sonores du jeu sont soumis au droit d'auteur de meruvia.fr et de son ou ses créateurs respectifs. Vous pouvez donc les utiliser dans le cadre de ce tuto pour vous exercer chez vous, mais vous n'avez pas le droit de les utiliser pour distribuer votre jeu, que ce soit à des fins commerciales ou non. Changez-les par les vôtres, votre jeu n'en sera que davantage le vôtre ! wink

 

 

       1. Avant de commencer

 

    Avant de vous lancer tête bêche dans ce tutoriel, il y a des prérequis. cheeky

   En effet, comme nous allons programmer notre jeu en C++, il vous faut déjà connaître les bases de la programmation dans ce langage. wink

   Pour cela, je vous propose de lire d'abord le Big Tuto : Apprenez le C++, rédigé par Gondulzak, pour apprendre les bases du langage. 

 

 

       2. Le préprojet

 

    Avant de commencer à programmer quoi que ce soit, commençons par réfléchir à 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.

   C'est un étape incontournable dans la création d'un jeu, même si elle est ici un peu biaisée, car le jeu existe déjà, et vous venez de le voir tourner dans la vidéo ci-dessus ! cheeky

 

    Nous allons donc créer un jeu de rôles, type Action-RPG à la Zelda, qui reposera sur notre propre moteur de jeu, que nous ferons évoluer selon nos besoins, bien sûr. wink

   Notre personnage principal sera un héros en armure (comme c'est original ! laugh) avec une épée. Il pourra se déplacer dans les quatre directions (c'est mieux ! cheeky) et il pourra aussi lancer de la magie. Il se baladera dans un monde ouvert avec différentes maps reliées ensemble intelligemment, et il pourra se battre contre de méchants monstres de slime, et aussi rentrer dans les maisons (parce que sinon, c'est pas cool ! indecision). Le nom du jeu sera... Tadaa !... angel Legends of Meruvia !

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

   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 plusieurs couches (le background en couche de fond et devant plusieurs couches de tiles sur lesquelles marchera le héros et qui feront aussi office de décor. Les différentes couches permettront de donner un effet de profondeur (on pourra passer devant ou derrière certaines tiles)). De plus, une couche servira à gérer les collisions, initialiser les monstres, et encore bien d'autres choses par la suite. wink
- le déplacement au clavier (et au joystick !) du héros.
- l'initialisation et la gestion des monstres et de leurs PV.
- la gestion des collisions avec les monstres mais aussi le décor (pour ne pas passer au-travers du sol !).
- la gestion des coeurs / HP.
- l'animation.
- l'affichage du HUD (nombre de coeurs, magie).
- 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. wink

   D'ailleurs, en parlant de level design, il ne va pas falloir oublier non plus d'avoir 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 10 000 pour une map ! surprise).

 

Le level editor en action ! cool

 

Pour ce Big Tuto, on utilisera le nouveau Level Editor officiel du Meruvia Game Studio, qui est disponible ici.

Il a été programmé en C / SDL 2 (le code source est fourni, mais pour vous en servir en stand-alone, cliquez simplement sur LevelEditor.exe) mais cela ne changera rien, puisqu'on s'en servira simplement pour éditer les maps de notre jeu.

Notez que le format des maps, que nous verrons plus tard, n'est plus du tout le même que pour les Big Tuto C / SDL 2 et C++ / SFML 2. wink

   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 (ou ses tiles) sont même déjà prêts, utilisez le nom de votre personnage et personnalisez ce tutoriel !

   Sans oublier de nous présenter votre jeu et de nous faire part de l'avancée de votre projet sur le forum de ce site !!
 

 

       3. Installer l'environnement de travail 

 

   Dans les chapitres suivants, vous allez voir comment mettre en place votre environnement de travail pour pouvoir vous lancer dans le tuto.

   Si vous n'en avez pas déjà un, il vous faudra installer un IDE (Code::Blocks ou Visual Studio, qui sont gratuits, par exemple). wink

   Pendant longtemps, j'ai conseillé Code::Blocks aux débutants, cependant Visual Studio 2013 / 2015, même s'il est un tout petit peu plus complexe à configurer, apporte ensuite un véritable confort d'utilisation ! cool Je travaillerai donc avec lui pour ce tuto, surtout depuis que Microsoft nous propose la version complète : Community, entièrement gratuite ! wink Dans tous les cas, si vous choisissez un autre IDE, vous pourrez vous rendre sur le site officiel de la SFML, où on vous expliquera comment configurer l'IDE de votre choix.

 

   Attention aussi, la configuration des IDE pour pouvoir programmer est très tâtillonne : une seule micro erreur et ça ne fonctionnera pas ! laugh

   Je vous demanderais donc de bien lire la documentation officielle ainsi que le chapitre suivant pour Visual Studio 2013 - 2015. Je proposerai aussi une archive téléchargeable déjà préconfigurée pour faciliter la vie de certains (avec le chapitre 3 du Big Tuto) ! wink

 

   Et voilà pour ce chapitre de présentation, rendez-vous maintenant au chapitre 2 pour configurer Visual Studio 2013 / 2015 Community. wink

   @ bientôt sur Meruvia,

                                   Jay.

 

 

Connexion

CoalaWeb Traffic

Today139
Yesterday232
This week1165
This month3458
Total1742665

20/04/24