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 !
Bon, si jai un peu tardé, c'est parce que c'est quand même un gros morceau... Un TRES GROS morceau même !
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!
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! ) 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 :
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 !
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 !
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 !
1. Avant de commencer
Avant de vous lancer tête bêche dans ce tutoriel, il y a des prérequis.
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.
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 !
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.
Notre personnage principal sera un héros en armure (comme c'est original ! ) avec une épée. Il pourra se déplacer dans les quatre directions (c'est mieux ! ) 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 ! ). Le nom du jeu sera... Tadaa !... Legends of Meruvia !
Mais alors, dès à présent, de quoi va-t-on avoir besoin, concrètement ?
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 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 ! ).
Le level editor en action !
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.
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).
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 ! Je travaillerai donc avec lui pour ce tuto, surtout depuis que Microsoft nous propose la version complète : Community, entièrement gratuite ! 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 !
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) !
Et voilà pour ce chapitre de présentation, rendez-vous maintenant au chapitre 2 pour configurer Visual Studio 2013 / 2015 Community.
@ bientôt sur Meruvia,
Jay.