project-mobile-command/docs/MODULES_ARCHITECTURE.md
StillHammer 45274196ef Add complete planning documentation
Plans créés:
- PROTOTYPE_PLAN.md: Plan détaillé 12 semaines (4 phases)
- SHARED_MODULES_PLAN.md: Architecture modules partagés MC/WF
- MODULES_ARCHITECTURE.md: Vue d'ensemble modules

Phase 1 (Semaines 1-2): Fondations
- GameModule, ResourceModule, StorageModule

Phase 2 (Semaines 3-4): Train & Resources
- TrainBuilderModule, ResourceModule v2

Phase 3 (Semaines 5-8): Combat & Events
- CombatModule, EventModule, ExpeditionModule

Phase 4 (Semaines 9-12): Integration & Polish
- GameModule v2, UI basique, balance pass

Grove-Modules Strategy:
- Core library (ResourceModule, StorageModule, etc.)
- Common modules (CombatModule, TransportModule, etc.)
- Adaptateurs spécifiques MC/WF
- Versioning sémantique
- CI/CD cross-projet

🎯 Success Metric: 30 min gameplay, 10+ décisions impactantes
🔄 Réutilisabilité: 60-95% modules entre MC et WF

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:30:18 +08:00

7.0 KiB

Architecture Modulaire - Mobile Command & WarFactory

Vue d'Ensemble

Les deux projets partagent le GroveEngine comme fondation, ce qui permet de créer une bibliothèque de modules réutilisables entre les deux jeux.

Modules Partagés (Core Library)

1. ResourceModule 🔄

Réutilisabilité: 90%

  • Gestion des ressources (inventaire, stockage)
  • Craft/production de base
  • Qualité des ressources (grades)
  • Balance/contraintes

Mobile Command: Ressources scavengées, munitions, fuel, pièces détachées WarFactory: Minerais, composants, produits finis

2. EconomyModule 🔄

Réutilisabilité: 85%

  • Système de prix dynamiques
  • Offre/demande
  • Marchés/échanges
  • Budgets/finance

Mobile Command: Marché noir, dons, ventes de scavenge WarFactory: Marché global, contrats PMC, ventes d'armes

3. TransportModule 🔄

Réutilisabilité: 70%

  • Pathfinding
  • Logistique/convois
  • Optimisation de routes
  • Gestion de flotte

Mobile Command: Train + expéditions (drones/humains) WarFactory: Trains, camions, supply chains

4. CombatModule 🔄

Réutilisabilité: 60%

  • Calculs de dégâts
  • Système de santé/armor
  • Probabilités de hit
  • État des unités

Mobile Command: Combat tactical, pertes permanentes WarFactory: Auto-battler, frontlines persistantes

5. TechTreeModule 🔄

Réutilisabilité: 75%

  • Progression technologique
  • Recherche/unlock
  • Dépendances entre techs
  • Cost/time calculations

Mobile Command: Timeline 2022→2025 (drones evolution) WarFactory: 3000+ techs, branches industrielles/militaires

6. EventModule 🔄

Réutilisabilité: 80%

  • Système d'événements
  • Conditions/triggers
  • Choix multiples
  • Conséquences

Mobile Command: 70% events, survie, moral WarFactory: Events diplomatiques, crises

7. MapModule 🔄

Réutilisabilité: 50%

  • Chunk system (64x64 tiles)
  • Streaming/persistence
  • Multi-échelle (world/regional/local)
  • Procedural generation base

Mobile Command: Ukraine map, sites d'expédition WarFactory: World map, 218 features, geological sim

8. StorageModule 🔄

Réutilisabilité: 95%

  • Sauvegarde/chargement
  • Serialization
  • State management
  • Persistence

Les deux: Save games, configs, analytics

Modules Spécifiques - Mobile Command

9. TrainBuilderModule 📦

  • Double-slice view (L/R)
  • Balance 2-axes (latéral + longitudinal)
  • Wagon management
  • Performance malus (déséquilibre)

10. ExpeditionModule 📦

  • Gestion d'expéditions
  • Team composition (humains + drones)
  • Risk/reward calculs
  • Moral/fatigue

11. DroneModule 📦

  • Evolution timeline (2022-2025)
  • Swarm coordination
  • FPV controls
  • Ground drones

12. CommanderModule 📦

  • Commandants nommés (5-7)
  • Skills/personnalités
  • Mort permanente
  • Progression XP

13. FameModule 📦

  • Communication/PR
  • Influenceurs
  • Déblocage de dons
  • Risk/reward missions

14. ScavengeModule 📦

  • Sites scavengeable
  • Danger levels
  • Loot tables
  • Timeline evolution (facile→suicide)

Modules Spécifiques - WarFactory

15. FactoryModule 🏭

  • Belt/inserter/assembler
  • 60Hz production
  • Recipe chains
  • Throughput optimization

16. VehicleDesignModule 🏭

  • Grid-based chassis
  • Component placement
  • Pick/place interface
  • Templates

17. DoctrineModule 🏭

  • Military doctrine creation
  • Unit composition
  • Tactics/strategies
  • Player-driven meta

18. DiplomacyModule 🏭

  • Factions/relations
  • Contrats/alliances
  • Reputation système
  • PMC operations

19. GeologyModule 🏭

  • 7-phase geological sim
  • Tectonics/climate
  • Biomes (18 types)
  • Resource distribution (70+ features)

Architecture de Partage

Option 1: Modules GroveEngine Partagés

/grove-modules/          # Shared module library
├── ResourceModule/
├── EconomyModule/
├── TransportModule/
└── ...

/mobilecommand/
└── external/
    ├── GroveEngine/
    └── grove-modules/   # Symlink

/warfactoryracine/
└── external/
    ├── GroveEngine/
    └── grove-modules/   # Symlink

Avantages:

  • Code partagé centralisé
  • Updates profitent aux deux projets
  • Moins de duplication

Inconvénients:

  • Couplage entre projets
  • Breaking changes affectent les deux

Option 2: Copy-Paste avec Divergence

/mobilecommand/src/modules/
├── ResourceModule.cpp   # Version MC
└── ...

/warfactoryracine/modules/
├── resource/            # Version WF
└── ...

Avantages:

  • Indépendance totale
  • Optimisation per-projet

Inconvénients:

  • Duplication de code
  • Bugs fixes dupliqués

Option 3: Hybride (RECOMMANDÉ)

/grove-modules/core/     # Core stable, partagé
├── ResourceModule/
├── StorageModule/
└── ...

/mobilecommand/src/modules/
├── TrainBuilderModule/  # Spécifique MC
└── mc_adapters/         # Adaptateurs des core modules

/warfactoryracine/modules/
├── factory/             # Spécifique WF
└── wf_adapters/         # Adaptateurs des core modules

Avantages:

  • Core stable partagé
  • Adaptateurs spécifiques
  • Flexibilité maximale

Priorités de Développement

Phase 1 - Mobile Command Prototype

  1. GameModule (de base)
  2. ResourceModule (scavenge, craft simple)
  3. TrainBuilderModule (3 wagons)
  4. EventModule (3-5 events)
  5. CombatModule (1 mission Rimworld-style)

Phase 2 - WarFactory Foundations

  1. FactoryModule (production de base)
  2. ResourceModule (réutilisé de MC)
  3. MapModule (geological sim)
  4. TechTreeModule (subset initial)

Phase 3 - Modules Partagés Stabilisés

  1. EconomyModule (marché dynamique)
  2. TransportModule (logistics)
  3. StorageModule (persistence)
  4. EventModule (framework général)

Recommandations

Court Terme (Prototype MC)

  • Focus sur modules spécifiques MC
  • Garder ResourceModule/CombatModule simples et réutilisables
  • Documenter les patterns réutilisables

Moyen Terme (MVP MC + WF Setup)

  • Identifier le core stable
  • Créer grove-modules/ library
  • Refactor vers adaptateurs

Long Terme

  • Maintenir core library
  • Versioning sémantique des modules
  • Tests de compatibilité cross-projet

Notes Techniques

Communication Inter-Modules

// ResourceModule publie
io->publish("resource:craft_complete", craftData);

// TrainBuilderModule subscribe
io->subscribe("resource:craft_complete", callback);

Configuration Partagée

{
  "modules": {
    "ResourceModule": {
      "maxStackSize": 100,
      "qualityGrades": ["poor", "normal", "good", "excellent"]
    }
  }
}

State Preservation

// Hot-reload compatible
std::unique_ptr<IDataNode> getState() override {
    auto state = std::make_unique<JsonDataNode>("state");
    state->setInt("resourceCount", m_resources.size());
    return state;
}

Objectif: Construire une bibliothèque de modules GroveEngine réutilisables tout en gardant l'indépendance des projets.