Nous avons développer et tester notre RPG uniquement sous Linux et WSL et nous avons utilisé Python et ses librairies .
RPG.GOUV est un jeu de rôle textuel où le joueur intéragit avec un maître de jeu. Le maître de jeu est un modèle de langage (LLM), il va guider le joueur tout au long du jeu en générant des descriptions créatives des événements du jeu, et en répondant à ses actions.
Ouvrir un terminal et exécuter :
git clone https://forge.univ-lyon1.fr/p2018177/lifprojet.git
cd lifprojet
(Vérifier de bien être dans le répertoire lifprojet/)
pip install -r requirements.txt ou pip3 install -r requirements.txtDepuis le terminal, veiller à bien être dans lifprojet/ :
python3 ./load_llm_3B.py
Après l'exécution de la commande dans le terminal, le chemin vers le modèle doit apparaitre une fois que le modèle a été chargé :
# Exemple :
> jiaxi@PC:~/lifprojet$ python3 ./load_llm_3B.py
> Llama-3.2-3B-Instruct-Q4_K_M.gguf: 100%|
llama_model_loader: ...
/home/jiaxi/.cache/huggingface/hub/models--bartowski--Llama-3.2-3B-Instruct-GGUF/snapshots/5ab33fa94d1d04e903623ae72c95d1696f09f9e8/./Llama-3.2-3B-Instruct-Q4_K_M.gguf
NB : Si le chemin vers le modèle n'apparait pas, ré-exécuter la commande précédente, il devrait apparaître
model_path.py dans le répertoire src et y mettre le chemin vers le modèle:# src/model_path.py
MODEL_PATH = "chemin/vers/le/modele"
# Exemple :
# MODEL_PATH = "/home/jiaxi/.cache/huggingface/hub/models--bartowski--Llama-3.2-3B-Instruct-GGUF/snapshots/5ab33fa94d1d04e903623ae72c95d1696f09f9e8/Llama-3.2-3B-Instruct-Q4_K_M.gguf"
(Vérifier de bien être dans le répertoire
lifprojet/)
main.py:
python3 ./src/main.py
ou
python3 ./src/main.py
src/
.env # Fichier de configuration pour l'API du LLM
Arme.py # Classe et fonctions pour les armes
Armure.py # Classe et fonctions pour les armures
Combat.py # Logique de combat du jeu
Dague.py # Classe et fonctions pour les dagues
data.json # Fichier de données JSON utilisé par le jeu
Enigme.py # Classe et fonctions pour les énigmes
Ennemi.py # Classe et fonctions pour les ennemis
Equipement.py # Classe et fonctions pour l'équipement
EtatPartie.py # Classe et fonctions pour l'état de la partie
Inventaire.py # Classe et fonctions pour l'inventaire
Joueur.py # Classe et fonctions pour le joueur
main.py # Point d'entrée principal du jeu
MaitreDeJeu.py # Classe qui gère le maître de jeu (LLM)
Manager.py # Classe qui gère l'initialisation du jeu
Marchand.py # Classe et fonctions pour les marchands
Menu.py # Classe et fonctions pour les menus du jeu
model_path.py # Chemin vers les modèles utilisés par le jeu
Objets.py # Classe et fonctions pour les objets
Partie.py # Classe et fonctions pour la gestion des parties
Personnage.py # Classe et fonctions pour les personnages
Potion.py # Classe et fonctions pour les potions
Salle.py # Classe et fonctions pour les salles
Stats.py # Classe et fonctions pour les statistiques
Nous avons développer et tester notre RPG uniquement sous Linux et WSL et nous avons utilisé Python et ses librairies .
RPG.GOUV est un jeu de rôle textuel où le joueur intéragit avec un maître de jeu. Le maître de jeu est un modèle de langage (LLM), il va guider le joueur tout au long du jeu en générant des descriptions créatives des événements du jeu, et en répondant à ses actions.
Ouvrir un terminal et exécuter :
git clone https://forge.univ-lyon1.fr/p2018177/lifprojet.git
cd lifprojet
(Vérifier de bien être dans le répertoire lifprojet/)
pip install -r requirements.txt ou pip3 install -r requirements.txtDepuis le terminal, veiller à bien être dans lifprojet/ :
python3 ./load_llm_3B.py
Après l'exécution de la commande dans le terminal, le chemin vers le modèle doit apparaitre une fois que le modèle a été chargé :
# Exemple :
> jiaxi@PC:~/lifprojet$ python3 ./load_llm_3B.py
> Llama-3.2-3B-Instruct-Q4_K_M.gguf: 100%|
llama_model_loader: ...
/home/jiaxi/.cache/huggingface/hub/models--bartowski--Llama-3.2-3B-Instruct-GGUF/snapshots/5ab33fa94d1d04e903623ae72c95d1696f09f9e8/./Llama-3.2-3B-Instruct-Q4_K_M.gguf
NB : Si le chemin vers le modèle n'apparait pas, ré-exécuter la commande précédente, il devrait apparaître
model_path.py dans le répertoire src et y mettre le chemin vers le modèle:# src/model_path.py
MODEL_PATH = "chemin/vers/le/modele"
# Exemple :
# MODEL_PATH = "/home/jiaxi/.cache/huggingface/hub/models--bartowski--Llama-3.2-3B-Instruct-GGUF/snapshots/5ab33fa94d1d04e903623ae72c95d1696f09f9e8/Llama-3.2-3B-Instruct-Q4_K_M.gguf"
(Vérifier de bien être dans le répertoire
lifprojet/)
main.py:
python3 ./src/main.py
ou
python3 ./src/main.py
src/
.env # Fichier de configuration pour l'API du LLM
Arme.py # Classe et fonctions pour les armes
Armure.py # Classe et fonctions pour les armures
Combat.py # Logique de combat du jeu
Dague.py # Classe et fonctions pour les dagues
data.json # Fichier de données JSON utilisé par le jeu
Enigme.py # Classe et fonctions pour les énigmes
Ennemi.py # Classe et fonctions pour les ennemis
Equipement.py # Classe et fonctions pour l'équipement
EtatPartie.py # Classe et fonctions pour l'état de la partie
Inventaire.py # Classe et fonctions pour l'inventaire
Joueur.py # Classe et fonctions pour le joueur
main.py # Point d'entrée principal du jeu
MaitreDeJeu.py # Classe qui gère le maître de jeu (LLM)
Manager.py # Classe qui gère l'initialisation du jeu
Marchand.py # Classe et fonctions pour les marchands
Menu.py # Classe et fonctions pour les menus du jeu
model_path.py # Chemin vers les modèles utilisés par le jeu
Objets.py # Classe et fonctions pour les objets
Partie.py # Classe et fonctions pour la gestion des parties
Personnage.py # Classe et fonctions pour les personnages
Potion.py # Classe et fonctions pour les potions
Salle.py # Classe et fonctions pour les salles
Stats.py # Classe et fonctions pour les statistiques