PFE-Roguelike

Un jeu roguelike avec génération procédurale et intelligence artificielle par Q-learning

Python TensorFlow GitHub Git VSCode
📦 Voir sur GitHub 🚀 Commencer

📖 Présentation du Projet

PFE-Roguelike est un projet de fin d'études qui combine développement de jeu vidéo et intelligence artificielle. Le projet implémente un jeu de type roguelike avec génération procédurale de cartes et des ennemis contrôlés par des algorithmes d'apprentissage par renforcement.

Objectifs principaux

⚡ Fonctionnalités

✅ Implémentées

  • Génération procédurale de cartes avec salles et couloirs
  • Système de déplacement du joueur (ZQSD)
  • Portes et téléportation entre salles
  • Ennemis avec déplacement IA (Q-learning)
  • Système de projectiles
  • Brouillard de guerre et découverte progressive
  • Système d'items (armes, potions)
  • Gestion de la base de données (PostgreSQL, MongoDB)

🚧 En cours / À venir

  • Amélioration de l'équilibrage du jeu et de la difficulté.
  • Ajout de nouveaux types d'ennemis et de comportements IA.
  • Extension du système d'inventaire avec plus d'objets et d'effets.
  • Implémentation de boss et de niveaux spéciaux.
  • Refonte graphique de l'interface utilisateur (GUI).
  • Optimisation des performances.

🛠️ Technologies Utilisées

Langages & Frameworks

  • Python 3.x (langage principal)
  • Pygame / Arcade (moteur de jeu)
  • TensorFlow (IA)
  • FastAPI (API backend)

Bases de données

  • PostgreSQL (données structurées)
  • MongoDB (logs et données flexibles)
  • psycopg2 (connexion PostgreSQL)
  • pymongo (connexion MongoDB)

Outils de développement

🤖 Intelligence Artificielle

Les ennemis du jeu utilisent un algorithme de Q-learning pour apprendre à se déplacer intelligemment et poursuivre le joueur.

Caractéristiques du système RL

📊 Espace réservé pour : futurs graphiques de performance, métriques d'apprentissage et comparaisons de stratégies de l'IA.

🚀 Installation et Démarrage

Prérequis

Installation (Windows)

# 1. Cloner le dépôt
git clone https://github.com/RaykeshR/PFE-Roguelike.git
cd PFE-Roguelike

# 2. Créer un environnement virtuel
python -m venv .venv

# 3. Activer l'environnement
.venv\Scripts\activate

# 4. Installer les dépendances
python -m pip install --upgrade pip
pip install -r requirements.txt

# 5. Lancer le jeu
python main.py

Installation (Linux/Mac)

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
python main.py
Télécharger les installeurs et exécutables

📈 Suivi du Projet

Statistiques

Voir les statistiques du projet Stats du repo PFE-Roguelike
GitHub commit activity   GitHub contributors      GitHub top language      GitHub code size in bytes GitHub repo size

Raykesh :

RaykeshR Stats RaykeshR Top Languages

Chrisphen :

Chris-phen Stats Chris-phen Top Languages

Maxence :

mckln Stats mckln Top Languages

Coumba :

mcoumba Stats mcoumba Top Languages

Sabri :

SabriM5 Stats SabriM5 Top Languages

Roadmap

La feuille de route du projet sera bientôt disponible, détaillant le calendrier et les jalons importants.

Documentation

La documentation technique, incluant les diagrammes UML et l'architecture du projet, sera accessible prochainement.

🎯 Contributions & Tests

Le projet utilise pytest pour les tests unitaires.

# Lancer tous les tests
python run_tests.py

# Lancer des tests spécifiques
PYTEST_K=map python run_tests.py
📝 Un guide de contribution détaillé sera fourni pour aider les développeurs à participer au projet.