tfrere's picture
update
a61ba58
# Don't Look Up - Server
Backend du jeu "Don't Look Up", un jeu narratif post-apocalyptique généré par IA.
## 🛠️ Installation
1. Assurez-vous d'avoir Python 3.10+ et Poetry installés
2. Clonez le repository
3. Installez les dépendances :
```bash
cd server
poetry install
```
4. Créez un fichier `.env` à la racine du dossier `server` avec :
```env
MISTRAL_API_KEY=votre_clé_api_mistral
```
## 🚀 Lancement du serveur
```bash
poetry run dev
```
Le serveur démarrera sur `http://localhost:8000`
## 🎮 Tests du jeu
Le projet inclut un script de test qui permet de jouer au jeu en mode console et de tester la génération d'histoire.
### Modes de lancement
1. Mode interactif (normal) :
```bash
poetry run test-game
```
2. Mode automatique (pour les tests) :
```bash
poetry run test-game --auto
```
3. Mode automatique avec nombre de tours personnalisé :
```bash
poetry run test-game --auto --max-turns 20
```
4. Mode automatique avec affichage du contexte complet :
```bash
poetry run test-game --auto --show-context
```
### Codes de retour
En mode automatique, le script retourne :
- Code 0 : Victoire
- Code 1 : Défaite, erreur ou timeout (> 15 tours par défaut)
### Exemple d'utilisation dans un script
```bash
# Lancer 5 tests automatiques d'affilée
for i in {1..5}; do
echo "Test run $i"
poetry run test-game --auto || echo "Test $i failed"
done
```
## 📚 Structure du projet
```
server/
├── api/ # Routes et modèles FastAPI
├── core/ # Logique métier et générateurs
│ ├── generators/ # Générateurs (histoire, univers, etc.)
│ └── prompts/ # Templates de prompts pour l'IA
├── scripts/ # Scripts utilitaires
└── services/ # Services externes (Mistral, etc.)
```
## 🔄 Workflow de génération
1. Génération de l'univers (`UniverseGenerator`)
- Style graphique
- Genre
- Époque
- MacGuffin
- Histoire de base
2. Génération des segments d'histoire (`StoryGenerator`)
- Texte narratif
- Choix
- Prompts d'images
- Métadonnées (temps, lieu)
3. Gestion de l'état du jeu (`GameState`)
- Progression de l'histoire
- Historique des choix
- État du monde