# 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+ : combat tour par tour **obligatoire** tant que le monstre n'est pas maîtrisé - Les items Acte I restent utilisables — les nouveaux types n'existent qu'en Acte II ### Maîtrise monstre — auto-combat progressif (décision 2026-03-25) En Acte II, chaque nouveau monstre impose le combat tactique. Après N victoires tactiques, le joueur débloque le combat auto pour ce monstre. ``` 1ère rencontre → Combat tactique obligatoire ↓ (N victoires) 🏆 Succès "Maîtrise : " débloqué ↓ Combat auto (×1/×5/×10) déverrouillé pour CE monstre ``` **Implémentation :** - Utiliser le système d'achievements existant (event-driven) - Nouveau criteria_type : `monster_tactical_wins` (par monstre_id) - Seuil de maîtrise : 3-5 victoires tactiques (à équilibrer) - CombatService.startCombat() vérifie l'achievement avant d'autoriser l'auto en zone 4+ - Si pas maîtrisé → 403 "Ce monstre requiert le combat tactique" - Le frontend grise le bouton auto et affiche la progression "2/5 victoires tactiques" **Pourquoi c'est bon :** - Force l'apprentissage des patterns ennemis (le tactique a du sens) - Récompense la maîtrise (le grind redevient rapide une fois compris) - Le joueur ne se lasse jamais : il alterne découverte (tactique) et farm (auto) - Compatible avec le multi-combat existant (×5/×10 = auto uniquement) - 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