MAUJA Adventures est un jeu en deux dimensions basé sur les énigmes, l'aventure et le combat. Nous avons réalisé l'entièreté du moteur de jeu.
A la manière des RPG traditionnels, il se sert de cartes réalisées avec le système de tile-mapping et propose une expérience de jeu divertissante. Il est possible de vous déplacer dans des cartes reliées entre elles et qui sont composées d'un système de calques permettant d'amener de la profondeur au jeu. Les ennemis possèdent différents comportements et peuvent attaquer au corps à corps ou à distance. Le joueur peut affronter différents types d'ennemis via des attaques à l'épée, se défendre de manière à renvoyer des projectiles et perdre de la vie.
Bien évidemment, toutes les entités du jeu sont soumises aux collisions du monde qui les entoure et un mécanisme permettant d'en faire apparaître est également présent.
Un système de scrolling a été mis en place de manière à ce que la caméra soit centrée sur le joueur et sur la zone d'action.
Jouable au clavier depuis un ordinateur, ce jeu est scriptable et il est possible de créer vos propres cartes, règles et évènements, ainsi que de configurer vos touches (voir la section Comment scripter ?).
Ce jeu a été réalisé en Java et nous nous sommes servi de JavaFX pour la partie visuelle.
- Un système de déplacement dans des cartes composées de plusieurs calques qui amènent une sensation de 3D.
- Des cartes communiquantes entre elles et possibilité de voyager entre les différents mondes.
- Un scrolling avec une caméra qui suit le personnage durant tous ses déplacements.
- Des entités soumises aux collisions et à leurs propres collisions dans le monde.
- Des ennemis aux comportements variés et originaux.
- Un système d'attaque et de défense permettant au joueur de combattre les villes créatures qui peuplent le monde.
- Des touches configurables.
- La possibilité de créer et d'incorporer ses propres cartes, et de les relier comme ce que l'on souhaite.
- Des règles du jeu complètement personnalisables permettant de créer des interactions uniques.
- Des menus et une navigation fluide à travers le jeu.
- Une conception permettant une grande évolutivité du programme, et laissant la possibilité d'ajouter encore plus de contenus, d'évènements, d'interactions et d'éléments interactifs.
Ce jeu à été testé et fonctionne sous Windows et Linux.
Pour installer MAUJA Adventures, vous devrez tout d'abord télécharger et installer IntelliJ IDEA depuis le site de jetbrains. Il s'agit d'un environnement de développement intégré qui vous permettera à la fois de programmer et de contribuer au projet, mais également de le lancer.
Il vous faudra aussi installer la bibilothèque JavaFX depuis le site dédié : openjfx (En bas de la page sélectionner Download
et sélectionner la bonne version).
Pour finir, il vous faudra télécharger la bibilothèque TiledReader pour pouvoir assurer le chargement et l'affichage des cartes. Vous pourrez vous le procurer sur le site du créateur Alex Heyman.
Si vous avez déjà un dossier ".mauja" dans votre home (
/home/nom_utilisateur
sous Linux etC:/Users/nom_utilisateur
sous Windows) il est grandement conseillé de le supprimer (sauf si vous avez modifié des fichiers à l'intérieur), car les données du jeu sont chargées depuis ce dossier. Autrement dit, si vous ne le supprimez pas, vous n'aurez peut-être pas la dernière version des cartes et transitions qui se trouvent sur ce dépôt.
Vous pourrez ensuite cloner ce repository sur votre ordinateur. Ouvrez alors le projet avec IntelliJ IDEA (Depuis le menu principal, cliquer sur Open
, puis sélectionner le dossier source
depuis le dossier où le projet a été téléchargé). Le projet s'ouvre, mais ne peut pas être lancé en l'état, il faut configurer l'espace de travail.
Configuration :
- Aller dans
File
, sélectionnerProject Structure
. - Dans
Project
, vérifier que le JDK utilisé est supérieur ou égal à 16. IntelliJ vous propose normalement de le télécharger au moment de la sélection si vous ne l'avez pas. - Aller dans l'onglet
Libraries
et cliquer sur le+
pour ajouter une librairie de projetJava
. Sélectionner le dossierlib
de la bibliothèque JavaFX et valdier. - Cliquer de nouveau sur le
+
et ajouter la bibliothèque TiledReader cette fois-ci. Valider en faisantApply
. - Aller dans
Modules
. Si les bibliothèques "lib" et TiledReader n'aparaissent pas, alors il faut les ajouter en cliquant sur le+
au dessus deExport
, puis les sélectionner et valider. - Si dans l'onglet
Sources
il n'y a aucun chemin de spécifié, en ajouter un en cliquant surAdd Content Root
et sélectionner le dossiersource
du repository cloné. Sélectionner le dossierressources
et cliquer surResource
, il doit changer de couleur. - Fermer le menu contextuel et aller dans
Add Condiguration
et sélectionnerApplication
. Lui donner éventuellement un nom et préciser enMain class
le fichiercom.mauja.maujaadventures.Launcheur
. Cliquer surModify Option
etAdd VM Options
. Préciser cette ligne dans le champ qui apparaît :
--module-path CHEMIN --add-modules javafx.controls,javafx.fxml
En remplaçant CHEMIN
par le chemin vers la bibliothèque JavaFX.
- Cliquer sur
Run
(flèche verte) et le jeu devrait se lancer.
En cas de problème, se référer sur la documentation d'opnjfx qui est très détaillée sur la manière de lancer un projet : documentation.
Si vous avez envie de participer à l'avancement de ce projet ou si vous souhaitez simplement créer vos propres évènements, vous pouvez scripter ce jeu. Un dossier ".mauja" doit se trouver dans votre home (/home/nom_utilisateur
sous Linux et C:/Users/nom_utilisateur
sous Windows) car il est ajouté automatiquement lors du premier lancement du jeu. Il contient toutes les données relatives aux cartes, scénarios et configurations.
Vous avez aussi la possibilité d'ajouter des choses dans ce dossier et de créer vos propres cartes, jeux de tuiles et scripts. Tous les documents ajoutés dans ce dossier seront pris en compte automatiquement, dès que le programme sera relancé. Le dossier se compose normalement de la hiérarchie suivante :
.mauja
├───cartes
├───images
│ └───tilesets
├───scripts
└───tilesets
Dans le dossier cartes, vous pouvez ajouter toutes vos cartes créées depuis le logiciel Tiled (cartes au format .tmx
). Pour pouvoir créer vos propres cartes, vous devez pour cela installer ce logiciel de création de cartes en téléchargeant la version 1.4.3
ici : Tiled.
La documentation de Tiled décrit comment créer une carte pas à pas, c'est très simple.
⚠️ Si vous installez une verison supérieure au logiciel, vous aurez très probablement des conflits avec la bibliothèque TiledReader qui ne prend en charge que les cartes créées sous Tiled avec une version inférieure ou égale à1.4.3
.
Vous pourrez ensuite enregistrer vos tilesets générés par Tiled (qui contiendront les collisions de vos cartes) dans le dossier tilesets
. Cela doit être des fichiers de type .tsx
.
Enfin, dans le dossier images/tilesets/
vous pourrez placer les fichier des images des tilesets qui seront utilisés en jeu, et qui doivent correspondre aux images utilisées par Tiled quand la carte est créée.
Le fichier de transitions entre les cartes transitions.txt
situé à la racine du dossier .mauja
contient toutes les transitions. Vous pouvez l'éditer pour préciser quelle est la première carte où le joueur va apparaître, et comment il va pouvoir se déplacer entre les différentes cartes du monde. La syntaxe a utiliser pour préciser ces informations est spécifiée dans le fichier et s'il est supprimé il sera recréé automatiquement.
Voici les tuiles qui permettent de se déplacer entre les cartes actuellement:
Le trou sur 3 cartes, la porte dans l'arbre sur 1 carte et la plateforme en pierre sur une carte
Le fichier configurationTouches.txt
précise quelles touches vont être associées aux actions qu'il sera possible de réaliser en jeu. La syntaxe a utiliser pour préciser ces informations est spécifiée dans le fichier et s'il est supprimé il sera recréé automatiquement.
Enfin, le dossier scripts
contient des fichiers XML qui seront lus au lancement du projet. Ces scénarios se dérouleront conformément aux conditions et actions définies par les utilisateurs dans les fichiers de script.
Pour écrire un tel scénario, se référer à l'exemple fourni dans le dossier. Il s'agit d'un enchainement de balises d'Action
, de Condition
s et d'ElementInteractif
s.
Sachez qu'il est possible d'ajouter des classes qui dérivent de Action
ou encore Condition
et que vous pourrez les inclure dans ces fichiers de script. Ainsi, ils seront évalués et vous pourrez réaliser tout un tas d'interactions et d'énigmes dans le jeu.
Si vous voulez créer vos propres ennemis, vous pouvez créer vos comportements en étandant l'interface Comportement
et en précisant le comportement de l'ennemi. Il est aussi possible d'étendre la classe Evenement
et de créer ses propres évènements relatifs à des situations particulières et de les déclencher dans des situations bien précises. Ils seront automatiquement traités par le Gestionnaire d'Interactions.
N'hésitez pas à mettre une étoile si ce projet vous plaît.
👤 Jérémy TREMBLAY
👤 Antoine VITON
👤 Ugo VIGNON
👤 Adrien COUDOUR
👤 Maxime WISSOCQ
Remerciements spéciaux à notre enseignant M. PROVOT Laurent qui nous a aidé et guidé durant ce projet.
CC-BY-SA 3.0: En savoir plus