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

302 lines
7.0 KiB
Markdown

# 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
```cpp
// ResourceModule publie
io->publish("resource:craft_complete", craftData);
// TrainBuilderModule subscribe
io->subscribe("resource:craft_complete", callback);
```
### Configuration Partagée
```json
{
"modules": {
"ResourceModule": {
"maxStackSize": 100,
"qualityGrades": ["poor", "normal", "good", "excellent"]
}
}
}
```
### State Preservation
```cpp
// 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.