• 149,90 €

Code Camp Système de quêtes - Stage de programmation 5 jours - Programme un jeu type RPG avec système de quêtes

  • Cours
  • 11 Leçons

Immergez-vous dans la création d'un jeu doté d'un système de quêtes en seulement 5 jours. Utilisez Lua/Love2D - une technologie transposable avec des concepts universels. Maîtrisez comment coder et gérer des quêtes dans votre jeu. En une semaine, acquérez les compétences nécessaires pour être totalement autonome dans votre programmation. [Replay complet et code source inclus.]

Programmer un jeu avec des quêtes

Un thème et 5 jours pour te former et réaliser un projet ensemble.

THEME DE CE STAGE :

Je veux, à la fin de ces 5 jours de stage, que tu sois capable de te lancer dans la programmation d'un jeu (RPG, Roguelike, aventure) intégrant des quêtes, comme dans les jeux mythiques.

Tout ce que tu vas apprendre sera adaptable dans n'importe quel langage de programmation, avec n'importe quel moteur !

Tu maitriseras tous les aspects nécessaires pour devenir autonome te lancer dès la fin de la semaine dans l'intégration d'un système de quêtes dans tes propres jeux vidéo.

Prérequis :

  • Bases de programmation
  • Bases de Love2D intermédiaires ou avancées
  • Un environnement de travail opérationnel

Au programme du jour 1 :


👉 Présentation du moteur de jeu d'aventure fourni
Je te livre un moteur de jeu d'aventure qui te servira de base pour suivre la formation mais aussi pour coder tes propres jeux ! Il est propre, puissant, évolutif et tu peux le façonner à ta mesure. Dans une session explicative je te fais une visite complète de son code afin que tu puisses te l'approprier.


👉 Le mariage avec Tilemap Editor
Nous allons utiliser un éditeur de map professionnel utilisé par l'industrie notamment pour des milliers de jeux vidéos indés : Tile Map Editor. Rien que cette partie te fera pousser des ailes, je te donne des techniques géniales pour créer des maps avec des informations que tu réutilises ensuite dans ton code. Et bien sûr : comment afficher la map, la faire scroller, gérer les collisions, etc !

La map sous Tiled Map Editor (repère la zone du village en haut à gauche)

A l'exécution, avec notre moteur maison : le village en action, on peut l'explorer !

👉 Formation à la programmation de modules
Pour coder professionnellement, il faut structurer son code. L'utilisation d'un langage comme le Lua permet de créer un système de modules très pratique et très puissant. Je te propose dès le 1er jour un cours complet sur les modules (à quoi ça sert, dans quel cas les utiliser), et une méthode pour créer très facilement tes propres modules et les intéger dans ton code.

👉 EXERCICES
A la fin de la journée je te donne une série d'exercice que tu vas pouvoir réaliser et qui vont t'aider à comprendre et intégrer ce que nous avons vu dans la journée. Il y a des exercices simples si tu es débutant(e) et des exercices plus complexes pour les plus aguéris.

Au programme du jour 2 :

👉 Décrire les quêtes via un module
On a appris à créer des modules pendant le jour 1, alors mettons cette compétence en pratique en créant un module qui va nous permettre de décrire les quêtes de notre jeu. Ce module pourra même être modifié par un Level Designer, sans qu'il ai besoin de toucher à ton code source (personne ne touche à ton code sans ton autorisation !! 😊)


👉 Programmation d'un gestionnaire de quêtes et accepter une quêtes
Le gestionnaire de quêtes cela va être la pierre angulaire de ton système. C'est encore une fois un module. Il va être utilisés partout où il sera nécessaire d'interragir avec les quêtes : obtenir des informations sur les quêtes, accepter une quêtes, obtenir la liste des quêtes acceptées, vérifier si une quêtes et complétée, etc. Une mini d'information sur la façon de coder ce genre de système qui pourra te servir toute ta vie !
On va mettre en oeuvre ce module en lui donnant ses premières fonctions, notamment pouvoir accepter une quêtes.

👉 Programmation du journal de quêtes et affichage d'un indicateur de quêtes dans le jeu
Là ça devient visuel ! Tu vas apprendre à créer des "overlays", une sorte de couche graphique que tu pourras afficher au dessus de ton jeu. Ca sert tout le temps et notamment ici pour afficher le journal de quêtes.
La ou les quêtes déjà acceptées sont affichées et tu peux "cocher" une quête pour obtenir un indicateur dans le jeu qui t'indique par exemple avec quel PNJ dialoguer. Bien sûr on code tout cela pas à pas, ENSEMBLE !


👉 EXERCICES
A la fin de la journée je te donne une série d'exercice que tu vas pouvoir réaliser et qui vont t'aider à comprendre et intégrer ce que nous avons vu dans la journée. Il y a des exercices simples si tu es débutant(e) et des exercices plus complexes pour les plus aguéris.

Au programme du jour 3 :

👉 Les différents états d'une quête
Dans cette session importante nous allons voir à la fois la théorie de la vie d'une quête, mais nous allons aussi améliorer notre système de quêtes pour mettre en oeuvre ce que je t'aurai appris. Ainsi tu va voir évoluer ton gestionnaire de quêtes et comprendre plein de choses au niveau programmation. Ce sont des concepts universels de pensée et de structuration du code que tu dois absolument maitriser, et c'est enfin à ta portée !

👉 Créer un système de dialogue avec les PNJ
C'est une partie passionnante qui va te permettre de donner véritablement la vie à ton jeu et à ton système de quêtes ! Tu vas voir tes quêtes prendre vie dans la bouche de tes PNJ, et tu vas programmer un système simple (Accepter / Refuser) pour pouvoir accepter une quête et la voir apparaitre dans ton journal. De plus, tu vas apprendre à coder tout un arbre de décisions afin que le dialogue avec le PNJ reflète l'état dans lequel le héros se trouve vis à vie de la quête.


👉 EXERCICES
A la fin de la journée je te donne une série d'exercice que tu vas pouvoir réaliser et qui vont t'aider à comprendre et intégrer ce que nous avons vu dans la journée. Il y a des exercices simples si tu es débutant(e) et des exercices plus complexes pour les plus aguéris.

Au programme du jour 4 :

👉 Résoudre une quête
C'est une grosse partie c'est pour cela que nous allons y consacrer une session complète :
- Il y a de nombreuses étapes nécessaires pour savoir si une quêtes est résolue, et il y a des algorithmes précis à programmer.
On va les programmer ensemble, pas à pas. Avec plusieurs types de quêtes : fallait-il looter des objets ? Fallait-il dialoguer avec quelqu'un ? Quel type de récompense doit-être distribué au héros ? De l'XP, des objets ? Une autre quête ? Comment se débarraser, par programmation, des objets qui ont servi à résoudre la quêtes ? Nous allons aborder tout cela dans cette session mais aussi pendant la session 5 (voir plus bas).


👉 EXERCICES
A la fin de la journée je te donne une série d'exercice que tu vas pouvoir réaliser et qui vont t'aider à comprendre et intégrer ce que nous avons vu dans la journée. Il y a des exercices simples si tu es débutant(e) et des exercices plus complexes pour les plus aguéris.

Au programme du jour 5 :

👉 Je code tout ce que vous me demandez !
A travers un sondage réalisé auprès des participants en Live, nous avons élaboré toute une série de questions que VOUS vous posez et j'y répond point par point.
C'est une session hyper enrichissante et qui répond j'en suis sûr aux questions que toi aussi tu te poses !

- Programmer un gestionnaires d'événements (indispensable pour "noter" tout ce que fait le héro, qui pourra servir à résoudre une quête par la suite. On code un module complet pour cela qui te servira pour TOUT et dans tous les genres de jeux de RPG et d'aventure ! On va aussi le mettre en pratique pour par exemple savoir si le héros est allé, ou pas, parler à un PNJ à la demande d'un autre PNJ et dans le cadre d'une quête.

- Dépendances entre quêtes
Comment lier les quêtes entre elles

- Coder une "boussole" qui indique où se trouve la quête active
Au départ je pensais faire un truc rudimentaire mais au final on a obtenu une boussole complète !


- Quêtes en plusieurs quêtes
Comment découper une quête en plusieurs quêtes (super quête).

- Comment sauvegarder
On aborde l'utilisation du formar JSON et comment écrire/lire les informations dans un fichier. Et ainsi créer un système de sauvegarde. On parle notamment des contraintes d'écritures liées aux système d'exploitations (on n'écrit pas où on veut !)

Contenu

Vidéos des replays

Code de Base pour commencer le stage.zip
  • 181 ko
Stage Quete Replay Zoom Jour 1.mp4
  • (1h 41m 41s)
  • 286 Mo
Stage Quete Replay Zoom Jour 2.mp4
  • (1h 46m 46s)
  • 275 Mo
Stage Quete Replay Zoom Jour 3.mp4
  • (1h 36m 11s)
  • 307 Mo
Stage Quete Replay Zoom Jour 4.mp4
  • (1h 30m 23s)
  • 306 Mo
Stage Quete Replay Zoom Jour 5.mp4
  • (1h 44m 14s)
  • 311 Mo

Code Source

Stage Quetes Jour 1.zip
  • 181 ko
Stage Quetes Jour 2.zip
  • 183 ko
Stage Quetes Jour 3.zip
  • 184 ko
Stage Quetes Jour 4.zip
  • 185 ko
Stage Quetes Jour 5.zip
  • 190 ko