5.2 KiB
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 : <monstre>" 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