Files
TetaRdPG/docs/engine-design.md
Tetardtek 4beb1b2ed9 feat: Phase 3 Lore & Contenu — L'Odyssée d'un têtard
Lore Bible (canon narratif complet) + Engine Design (séparation moteur/univers).

4 nouvelles zones (Ruisseau Miroir, Marais des Murmures, Torrent Brisé, Source du Courant)
dans la chaîne d'unlock après desert (niv 16-25+).

Module NPC complet (entity, service, controller) — 8 PNJ avec dialogues évolutifs
par palier de niveau : Gorn (niv 1-15), Pierre-Mémoire (niv 16+), Mira, Vell,
La Batracienne, Le Forgeron, Le Marchand.

20 monstres lore-friendly, 12 matériaux, 15 items (dont Bâton de Gorn légendaire).

17 quêtes narratives (4 arcs ch.9-12) avec textes acceptText/completeText
qui racontent l'Odyssée. Nouveau type story_event pour les moments narratifs purs.
3 quêtes répétables optionnelles.

Seed runner : npm run seed:odyssee

Tout est additif — zéro impact sur le contenu existant niv 1-15.
2026-03-25 00:52:14 +01:00

105 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TetaRdPG — Engine Design
> Version : 1.0 — 2026-03-25
> Décision architecturale : le moteur RPG est un template neutre, l'Odyssée est sa première customisation.
---
## Principe
```
Couche 1 — Moteur (template, forkable)
CombatService → attaque / fuir, formules dégâts GDD
Stats → Force, Agilité, Intelligence, Chance, Vitalité
Économie → Or, monnaie premium, endurance
Progression → XP, niveaux, déblocages
Forge / Craft → amélioration, recettes, matériaux
Quêtes → fetch, complete, rewards
Achievements → event-driven, paliers
Couche 2 — Univers (spécifique à l'Odyssée, pas dans le template)
TurnManager → tour par tour enrichi (sorts, compagnons, patterns IA)
SpellSystem → 3 voies du Dao, arbre de sorts, mana/endurance
CompanionModule → Mira/Vell, IA contextuelle
NarrativeEngine → PNJ évolutifs, dialogues par palier, fragments du Chant
BossPhaseSystem → mécaniques uniques (ex: guérison Hydre ≠ DPS)
```
## Règle
Le moteur (couche 1) ne doit **jamais** dépendre de la couche 2.
Un fork du moteur = combat basique fonctionnel, zéro référence à l'Odyssée.
L'Odyssée importe le moteur, pas l'inverse.
## Impact sur le combat rework
Le `CombatService` actuel n'est pas jeté — il devient le moteur de base.
Le rework **étend** sans casser :
```
CombatService (existant) → reste, calcule dégâts/XP/loot
└── TurnManager (nouveau) → orchestre les tours, gère l'ordre
├── SpellSystem → sorts par voie, coût, effets
├── CompanionAI → décisions IA Mira/Vell
└── BossPhaseManager → phases spéciales (narratif)
```
## La Métamorphose — Evoland pattern (décision 2026-03-25)
Finir les 3 arcs de l'Acte I (Marais → Égouts → Désert) déclenche **Le Serment des Trois**.
Le jeu lui-même évolue — le joueur vit la métamorphose du têtard.
```
ACTE I (niv 1-13) — Le monde simple
Combat : auto (POST /combat/start)
Slots : 🗡️ Arme + 🛡️ Armure (2 slots)
Types : weapon | armor | consumable
Sorts : aucun
Compagnons : aucun
⬇️ LE SERMENT DES TROIS ⬇️
(quête narrative, arc desert complété)
ACTE II (niv 13+) — Le monde éveillé
Combat : tour par tour (POST /combat/turn/start)
Slots : 🗡️ Main droite + 🛡️ Main gauche + 🪖 Casque + 👕 Armure + 💍 Anneau (5 slots)
OU ⚔️ Arme deux mains (remplace main droite + gauche)
Types : weapon_1h | weapon_2h | shield | helmet | armor | ring | consumable
Sorts : Dao du Courant (3 voies, 15 sorts)
Compagnons : Mira, Vell (quêtes narratives)
```
### Règle de coexistence
- Zones 1-3 gardent le combat simple (grind rapide, ×5/×10 toujours dispo)
- Zones 4+ forcent le combat tour par tour (narratif, sorts, compagnons)
- Les items Acte I restent utilisables — les nouveaux types n'existent qu'en Acte II
- Le joueur garde tout (or, items, stats) — c'est une évolution, pas un reset
### Impact sur l'Item entity
```
Acte I (existant, inchangé) :
ItemType = 'weapon' | 'armor' | 'consumable'
equipped = boolean (1 arme + 1 armure max)
Acte II (extension) :
ItemType += 'weapon_2h' | 'shield' | 'helmet' | 'ring'
equipped_slot = 'main_hand' | 'off_hand' | 'head' | 'body' | 'ring' | null
Contrainte : weapon_2h → off_hand bloqué
```
### Pourquoi c'est cohérent
Le GDD original prévoit des déblocages par niveau (forge niv 10, boutique avancée niv 15).
L'Acte II est le plus gros déblocage du jeu — le gameplay entier évolue.
Narrativement : le têtard commence à se transformer. Le Dao s'éveille.
## Conséquence template
Quand un streamer fork TetaRdPG pour son royaume (Phase 4 — Twitch Kingdom) :
- Il hérite du moteur complet (couche 1)
- Il peut remplacer l'Odyssée par son propre lore (couche 2)
- Ou il joue dans l'univers partagé de l'Odyssée — c'est son choix