Sonia Dakhli

RPG Builder

Printemps 2021 - en cours de développement


RPG Builder est un projet que j'ai commencé à coder au printemps 2021.

Mon but était de créer un éditeur de jeu vidéo en 2D.

Langage de programmation : C++ (utilisation de la SDL).

Compétences développées : établissement d’un cahier des charges, conception de diagrammes UML, travail de groupe.

Télécharger RPG Builder

Documentation

RPG Builder - Documentation

Éditeur

Éditeur

L'éditeur permet de créer différentes map pour le jeu, ainsi que de placer des évènements dessus.

Dessiner sur la map

Bouton pinceau

Outil pinceau

Permet de dessiner case par case sur la map.
Bouton rectangle

Outil rectangle

Permet de dessiner en rectangle une texture sur la map.
Sélection multiple

Outil sélection multiple

Outils sélection multiple

Les différentes couches

Bouton couches

Les couches 1, 2 et 3

Lors de la création d'une map on peut dessiner sur trois couches différentes.

Bouton couche collision

La couche collision

Si une des textures qu'on a appliquée sur la map est un 'x' la case devient un 'x'.

Collisions sur la map

La couche évènement

Couche évènement Légende couche évènement image

Collisions

En cliquant sur le bouton collision, les collisions s'affichent sur le tileset et on peut alors les changer en cliquant sur la texture que l'on souhaite modifier.


Collisions sur le tileset

'o' signifie que l'on peut passer sur la case, 'x' que la case est un obstacle infranchissable.

Jeu

Combat : Tour par tour classique

La première version que nous avons codé était un combat RPG tour par tour.


Combat Golden Sun

Combat : Tour par tour stratégique

Nous avons ensuite décidé de coder le combat au tour par tour, mais cette fois-ci sur une grille. Cela rend le combat plus dynamique et plus intéressant d'un point de vue stratégique.

Notre tour : Lancer un sort

Il existe différents types de portée :

Il existe différents types de portée effective :

Les différents types de portée

Raycasting

Raycast

Pathfinding

Nous avons utilisé l'algorithme de A* pour le pathfinding.


Pathfinding

IA des ennemis

Tout comme le personnage que l'on contrôle, les ennemis disposent de sorts. Afin de lancer leur sort, ils essaient de trouver la case la plus proche d'eux à partir de laquelle ils pourront le lancer. S'ils trouvent une case réunissant les conditions nécessaires dans la limite de leur nombre de points de mouvements, ils se déplacent dessus et lancent leur sort. Sinon, ils se déplacent vers l'ennemi. Dans le premier cas, une fois leur sort lancé, ils sont programmés soit pour s'approcher du personnage, soit pour fuir.


Attaque du monstre Attaque du gluant

Action Roguelike RPG

Après des combats tour par tour, nous nous sommes attaqués aux combats en temps réel.

Génération de maps

La map est générée de telle sorte à ce que les salles spéciales ne soient pas les unes à côté des autres. Les maps sont générées aléatoirement et sont de taille modulable (sur les exemples ci-dessous : 8 et 65).


Map XXS Map XXL

Physique coffres

Combats

Prochains objectifs

Éditeur

Jeu

Fait par

Code

Sonia DAKHLI, Romain MARTIN

Musiques

Kyomars BOUILLON

Dessins

Alexandre PETITJEAN, Romain MARTIN, Louis MERINO, Kyomars BOUILLON, Jonathan LAGLASSE, Ezekiel