Mario Game Engine est un moteur de jeu 2D de type platformer où le joueur contrôle un personnage à travers différents niveaux, collectant des pièces et évitant des ennemis. Le projet est développé en utilisant la bibliothèque LibGDX et l'outil Tiled pour la création de cartes.
- Java 17 ou version supérieure (JDK)
- LibGDX : Version compatible avec le projet
- Tiled : Utilisé pour la création des cartes
- IDE recommandé : IntelliJ IDEA ou vs code
Clonez ce dépôt sur votre machine locale en utilisant la commande suivante :
git clone https://github.com/katib-source/mario-2d-engine.gitAprès avoir ouvert le projet, exécutez les commandes suivantes :
# Windows
.\gradlew.bat run
# Linux/Mac
./gradlew run- Naviguer dans les niveaux avec les touches du clavier.
- Collecter des pièces pour augmenter le score.
- Éviter ou éliminer les ennemis (Goombas).
- Terminer le niveau en atteignant la fin de la carte.
- Système audio intégré.
- Caméra suivant le joueur.
Le moteur du jeu est basé sur une architecture MVC avec plusieurs composants :
- Entity : Classe de base pour tous les objets du jeu.
- LevelLoader : Gère le chargement des niveaux TMX.
- CollisionSystem : Gère les collisions entre objets.
- Factory Method : Pattern utilisé pour la création des entités.
- HUD : Gère l'affichage du score et des informations.
- Créez une carte dans Tiled Map Editor.
- Ajoutez les calques :
Collision(tuiles),Entities(objets). - Types d'entités supportés :
player,goomba,coin. - Sauvegardez en
.tmxdansassets/levels/.
- Créez une classe étendant
Entity. - Enregistrez dans
LevelLoader.createEntityFromObject(). - Utilisez dans Tiled avec le
typecorrespondant.
Tous les membres ont contribué activement au code Java et ont travaillé ensemble pour intégrer de manière fluide les différents modules du jeu.
Quelques améliorations possibles :
- Ajouter des niveaux avec des difficultés croissantes.
- Implémenter des power-ups (champignons, étoiles).
- Ajouter des boss de fin de niveau.
- Supporter les appareils mobiles Android.