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>
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
- GameModule (de base)
- ResourceModule (scavenge, craft simple)
- TrainBuilderModule (3 wagons)
- EventModule (3-5 events)
- CombatModule (1 mission Rimworld-style)
Phase 2 - WarFactory Foundations
- FactoryModule (production de base)
- ResourceModule (réutilisé de MC)
- MapModule (geological sim)
- TechTreeModule (subset initial)
Phase 3 - Modules Partagés Stabilisés
- EconomyModule (marché dynamique)
- TransportModule (logistics)
- StorageModule (persistence)
- 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.