Skip to content
Soleil-ClemsPublic

About

VaultBorn is a 2D action-RPG where the player progresses through various interconnected worlds (Forest, Dungeon, and Hell). The game offers a complete experience with a class system, character progression, and autosave.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

📘 VaultBorn

Un jeu d'action-aventure 2D développé avec LibGDX, proposant exploration de mondes interconnectés, combat et progression de personnage.

Java LibGDX License


🎮 Présentation du projet

VaultBorn est un jeu 2D d'action-RPG où le joueur évolue à travers différents mondes interconnectés (Forêt, Enfer...). Le jeu propose une expérience complète avec système de classes, progression de personnage et sauvegarde automatique.

✨ Fonctionnalités principales

  • 🎭 7 classes de personnages jouables avec statistiques uniques
  • 🗺️ Mondes interconnectés (ForestWorld, HellWorld) via des portes spéciales
  • 💾 Système de sauvegarde complet (position, stats, progression)
  • 🎒 Système d'inventaire du joueur
  • 🎵 Musique d'ambiance dynamique
  • 🏗️ Architecture modulaire (Factory Pattern, World System, Screen System)

📦 Contenu du jeu

🧙‍♂️ Classes de personnages

Classe Type Description
Lancelot Guerrier Chevalier noble avec haute défense
Juzo Guerrier Sombre Force brute et agilité
Perceval Archer Attaques à distance précises
Mordred Mage Obscur Magie destructrice
Lisa Mage Lumière Sorts de soutien
Merline Satyre Équilibre nature/magie
Monet Mage Solaire Magie de feu

Chaque classe possède :

  • ❤️ Points de vie (HP)
  • ⚔️ Attaque et défense
  • 🏃 Agilité
  • 📊 Système de niveau
  • 🎒 Inventaire personnel

🌍 Mondes

ForestWorld

  • Environnement forestier
  • Monstres de niveau intermédiaire
  • Porte vers HellWorld

HellWorld

  • Environnement infernal
  • Boss Gorgon
  • Difficulté accrue
  • Porte de retour vers ForestWorld

💾 Système de sauvegarde

Le jeu sauvegarde automatiquement :

  • 🗺️ Monde actuel
  • 🎭 Classe du personnage
  • ❤️ HP et statistiques complètes
  • 📍 Position exacte (X, Y)
  • 📊 Niveau et expérience
  • 🎒 Inventaire (extensible)

Sauvegarde automatique lors du changement de monde
Chargement via le bouton "Poursuivre la partie" du menu


🛠️ Technologies utilisées

Technologie Usage
Java 17+ Langage principal
LibGDX Framework de jeu multiplateforme
Gradle Système de build
Scene2D Interface utilisateur
JSON Système de sauvegarde
LWJGL3 Backend desktop
Tiled Éditeur de maps

⚙️ Prérequis

Avant d'installer le projet, assurez-vous d'avoir :

  • ☕ Java JDK 17+ (Télécharger)
  • 🔧 Gradle (fourni via wrapper)
  • 📦 Git
  • 💻 Machine compatible LWJGL3 (Windows/Linux/Mac)

🧩 Installation

1️⃣ Cloner le projet

git clone https://github.com/username/VaultBorn.git
cd VaultBorn

2️⃣ Lancer le jeu

Sur Linux/Mac :

./gradlew lwjgl3:run

Sur Windows :

gradlew.bat lwjgl3:run

3️⃣ Build pour distribution

./gradlew lwjgl3:dist

Le JAR exécutable se trouvera dans :

/lwjgl3/build/lib/VaultBorn.jar

📂 Structure du projet

VaultBorn/
├── core/                          # Code principal du jeu
│   └── src/main/java/com/vaultborn/
│       ├── MainGame.java          # Classe principale
│       ├── entities/              # Personnages, mobs, projectiles
│       │   ├── characters/
│       │   │   ├── players/       # 7 classes de joueurs
│       │   │   └── mobs/          # Ennemis
│       │   ├── projectiles/       # Projectiles
│       │   └── stuff/             # Objets et items
│       ├── screens/               # Écrans du jeu
│       │   ├── MainScreen.java
│       │   ├── MenuScreen.java
│       │   ├── SelectPlayerScreen.java
│       │   ├── GameScreen.java
│       │   └── InventoryPlayer.java
│       ├── world/                 # Gestion des mondes
│       │   ├── BaseWorld.java
│       │   ├── ForestWorld.java
│       │   └── HellWorld.java
│       ├── save/                  # Système de sauvegarde
│       │   ├── SaveData.java
│       │   └── SaveManager.java
│       ├── factories/             # Factory Pattern
│       │   └── Factory.java
│       └── managers/              # Gestionnaires (assets, audio...)
│
├── lwjgl3/                        # Launcher desktop
│   └── src/main/java/
│       └── Lwjgl3Launcher.java
│
├── assets/                        # Ressources du jeu
│   ├── menu/                      # Images de menu
│   ├── sounds/                    # Musiques et sons
│   ├── skin/                      # UI Skin (Neon)
│   ├── maps/                      # Maps Tiled (.tmx)
│   ├── backgrounds/               # Fonds d'écran
│   └── [character_folders]/       # Sprites des personnages
│
└── README.md                      # Ce fichier

🎮 Guide d'utilisation

Menu principal

  • 🎮 Jouer → Sélection de classe → Nouvelle partie
  • ▶️ Poursuivre la partie → Charge la dernière sauvegarde (grisé si aucune sauvegarde)
  • ⚙️ Paramètres → Réglages audio
  • ❌ Quitter → Ferme le jeu

En jeu

Commande Action
← → Déplacement
Espace Saut
A Attaque 1
D Attaque 2
Q Attaque 3
Shift Protection
F5 Sauvegarde manuelle (optionnel)
I Inventaire

Progression

  1. Choisissez votre classe de personnage
  2. Explorez ForestWorld
  3. Combattez les ennemis pour gagner de l'expérience
  4. Trouvez et éliminez les boss pour débloquer les portes
  5. Traversez les portes pour changer de monde
  6. La progression est sauvegardée automatiquement

💾 Système de sauvegarde

Emplacement des fichiers

Windows :

%USERPROFILE%/.prefs/vaultborn_save

Linux :

~/.prefs/vaultborn_save

Mac :

~/Library/Preferences/vaultborn_save

Utilisation programmatique

Sauvegarder :

game.saveGame();

Charger :

game.loadGame();

Vérifier si une sauvegarde existe :

boolean hasSave = SaveManager.hasSave();

Supprimer une sauvegarde :

SaveManager.deleteSave();

🧪 État actuel du projet

✅ Fonctionnalités implémentées

  • Menu principal interactif
  • Sélection de 7 classes de personnages
  • 2 mondes complets (Forêt, Enfer)
  • Système de combat
  • Système de progression (niveau, XP)
  • Ennemis avec IA
  • Boss avec mécaniques spéciales
  • Portes inter-mondes
  • Système de sauvegarde/chargement complet
  • Musique de fond
  • Interface utilisateur (Neon UI)
  • Inventaire du joueur

🚧 En développement / À venir

  • Support mobile (Android)
  • Nouveaux mondes à explorer
  • Plus d'ennemis et de boss
  • Effets sonores complets
  • Système de quêtes
  • Multijoueur local
  • Options graphiques avancées
  • Achievements/Succès

🐛 Dépannage

Le jeu ne se lance pas

# Vérifier la version de Java
java -version

# Nettoyer et rebuilder
./gradlew clean
./gradlew lwjgl3:run

Problème de sauvegarde

# Supprimer la sauvegarde corrompue
# Windows: Supprimer %USERPROFILE%/.prefs/vaultborn_save
# Linux/Mac: rm ~/.prefs/vaultborn_save

Erreur de texture/assets

# Vérifier que le dossier assets/ existe
# Rebuilder le projet
./gradlew lwjgl3:dist

👥 Contribution

Les contributions sont les bienvenues ! Pour contribuer :

  1. Forkez le projet
  2. Créez une branche (git checkout -b feature/AmazingFeature)
  3. Committez vos changements (git commit -m 'Add AmazingFeature')
  4. Pushez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

👤 Auteur

Projet VaultBorn

Développé dans le cadre d'un projet académique
Étudiant en développement de jeux vidéo

📧 Contact : [ouisolclems@gmail.com]
🔗 GitHub : Soleil OUISOL


📜 Licence

Ce projet est sous licence Educational Use - Utilisation libre à des fins éducatives et non commerciales.

Copyright (c) 2025 VaultBorn Team
Tous droits réservés pour un usage éducatif.

🙏 Remerciements

  • LibGDX pour le framework
  • Tiled pour l'éditeur de maps
  • OpenGameArt pour certaines ressources
  • La communauté LibGDX pour le support

⭐ Si vous aimez ce projet, n'hésitez pas à lui donner une étoile !

Made with ❤️ and ☕

About

VaultBorn is a 2D action-RPG where the player progresses through various interconnected worlds (Forest, Dungeon, and Hell). The game offers a complete experience with a class system, character progression, and autosave.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages