Création d'un jeu vidéo avec Godot Engine

Description

Nous allons créer un jeu vidéo de type RPG qui se déroule dans un monde à créer, avec un personnage principal manipulable et des personnages secondaires comme des monstres ou des vilageois·es avec lesquels interagir.

Pour nous aider, nous pourrons utiliser le moteur de jeu open source Godot ainsi que tous les plugins qui nous semblent interessants.

Contraintes

  • Durée: 2 semaines
  • Langage: C++
  • Moteur de jeu à utiliser: Godot Engine

Notions abordées

  • Utilisation d’un moteur de jeu multiplateformes
  • Gestion d’équipe
  • Manipulation de diagrammes de classe et de maquettes

Se préparer

Plénières

  • Install party

Orientation du projet

Idées de monde à créer

Si vous manquez d’idées, voici une petite liste dans laquelle piocher:

  • Un monde d’heroic-fantasy, comme Zelda, où le personnage principal a une épée et doit combattre ce qu’il considère etre des monstres
  • Un monde rempli d’insectes, comme dans Hollow Knight
  • Un monde où l’on est un·e postier·e qui distribue du courrier. Dans ce cas, les monstres deviennent des personnages à livrer et les armes deviennent des lettres.
  • Un monde où vous etes une grenouille qui a besoin de s’hydrater dans des marres et d’éviter les faucons qui veulent les manger

Je débute

Le but est ici d’initialiser notre jeu. Dans cette étape, nous vous proposons de mettre en place:

  • une carte de jeu (que ce soit une carte avec plusieurs écrans, comme dans Zelda, ou une carte filante, comme dans Mario)
  • un personnage principal (qui a des caractéristiques comme des points de vie, et un inventaire) avec un singleton
  • Utiliser des animations pour faire bouger le personnage avec un clavier
  • deux types de monstres (ou de personnages avec lesquels interagir dans les étapes suivantes) différents (Par exemple, un monstre qui vole, un monstre qui marche)
  • 1 PNJ (avec des dialogues pré-définis)

Ressources

Objectifs pédagogiques

  • Choix et manipulation d’un moteur de jeu
  • Manipulation du C++
  • Création de classes avec héritage
  • Approche du concept de singleton

Je suis à l’aise avec certains langages

1. Enrichissement du jeu

Ajoutons plus d’interactions entre nos personnages:

  • des actions: marcher, taper dans différentes directions, faire interagir le personnage principal avec d’autres personnages (Par exemple: un monstre fait 1 de dégat s’il touche le personnage)
  • Drop de certains objets par les monstres, récupérables dans l’inventaire
  • Ajout d’une nouvelle quete (ajout de nouveaux tableaux / écrans pour faire voyager le personnage principal)
  • Utilisation de sons à intégrer aux actions du personnage ou des monstres
Ressources

2. Pouvoir mettre le jeu en pause

Des fois, on a envie de prendre une pause. Ajoutons cette option à notre jeu, pour pouvoir prendre un café entre deux mondes.

3. Pouvoir enregistrer sa partie

Des fois, la pause peut etre plus importante, et on voudrait enregistrer sa partie pour reprendre où nous en étions à un autre moment. Ajoutons cette option pour nous éviter de tout recommencer !

Objectifs pédagogiques

  • Elaborer l’aspect immersif d’un jeu vidéo en manipulant des actions et des sons
  • Ajout d’options pour rendre un jeu résilient
  • Personalisation d’un jeu avec mise en place d’un scenario

Je veux aller plus loin

1. Evolution du système de jeu

Continuons à ajouter encore plus d’interactions avec:

2. Jouer avec une manette

Il est des fois plus agréable de pouvoir jouer avec une manette usb qu’avec un clavier. Essayez d’ajouter cette possibilité à votre jeu.

3. Création d’un plugin

Imaginez un plugin qui pourrait vous servir et construisez le pour pouvoir le réutiliser dans le jeu et vos futurs projets !

Ressources

4. Personalisation des graphiques

Si vous avez utilisé des graphiques existants pour construire votre jeu, amusez vous à les remplacer avec des graphismes de votre création.

Ressources

https://docs.godotengine.org/fr/stable/tutorials/gui/gui_skinning.html?highlight=RPG#oh-beautiful-gui

Ressources générales