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

4.0 KiB
Raw Blame History

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