project-mobile-command/README.md
StillHammer f4bb4c1f9c Clarify game-agnostic architecture and scope
Update documentation to emphasize core modules reusability:
- ARCHITECTURE.md: New file explaining game-agnostic principles
- CLAUDE.md: Add strict rules for core modules, pub/sub patterns
- README.md: Update roadmap with Phase 1-4, clarify status

Core modules (ResourceModule, StorageModule, etc.) will be
reusable between Mobile Command and WarFactory via pub/sub.
Game-specific logic stays in GameModule via event subscriptions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 15:27:05 +08:00

201 lines
6.0 KiB
Markdown

# MOBILE COMMAND
**Survival Management / Base Building / Tactical Expeditions**
Genre de jeu de gestion/survie où vous commandez un train blindé mobile à travers l'Ukraine en guerre (2022-2025).
---
**🎮 Prototype Phase 1/4** | **🔧 GroveEngine C++17** | **♻️ Game-Agnostic Core** | **🔥 Hot-Reload < 1ms**
---
## Concept Central
**"La guerre change. Tu dois changer avec elle."**
Gérez un train blindé et ses expéditions (drones + humains). L'économie du jeu suit la réalité de la guerre :
- **2022** : Humains abondants, drones rares, scavenge facile
- **2025** : Humains quasi-impossibles à recruter, drones industrialisés, scavenge = suicide
Le jeu force une évolution : De commandant infantry-heavy (2022) à opérateur de swarms de drones (2025).
## Stack Technique
- **Engine** : GroveEngine (hot-reload C++17 module system)
- **Plateforme** : PC (Steam)
- **Rendu** : 2D (sprites ou vector)
- **Public** : 16+ (Thèmes de guerre, violence, choix moraux)
- **Build** : CMake 3.20+, MinGW/GCC
## Architecture Projet
### Principe Clé : Game-Agnostic Core
Les modules core sont conçus pour être **réutilisables** entre Mobile Command et WarFactory.
```
mobilecommand/
├── external/
│ └── GroveEngine/ # GroveEngine (symlink)
├── src/
│ ├── main.cpp # Main application loop
│ └── modules/
│ ├── core/ # 🔄 Game-agnostic (réutilisables)
│ │ ├── ResourceModule.* # Inventaire, craft
│ │ ├── StorageModule.* # Save/load
│ │ ├── CombatModule.* # Combat resolver
│ │ └── EventModule.* # Event system
│ ├── mc_specific/ # 📦 Mobile Command only
│ │ ├── TrainBuilderModule.*
│ │ ├── ExpeditionModule.*
│ │ └── DroneModule.*
│ └── GameModule.* # Orchestrateur MC-specific
├── config/
│ ├── game.json # Config MC
│ ├── resources.json # Ressources MC (drones, fuel, etc.)
│ └── ...
├── plans/ # Plans détaillés
│ ├── PROTOTYPE_PLAN.md # Plan 12 semaines
│ └── SHARED_MODULES_PLAN.md
└── build/
```
**Communication** : Pub/sub via `grove::IIO` - modules indépendants.
## Getting Started
### Prerequisites
- CMake 3.20+
- C++17 compiler (MinGW/GCC on Windows)
- GroveEngine (included via symlink)
### Build
```bash
# Configure (first time)
cmake -B build -G "MinGW Makefiles"
# Build everything
cmake --build build -j4
# Build modules only (for hot-reload workflow)
cmake --build build --target modules
```
### Run
```bash
# Run from build directory
cd build
./mobilecommand.exe
# Or use the run script
./run.sh
```
### Hot-Reload Workflow
1. Start Mobile Command: `./build/mobilecommand.exe`
2. Edit a module: `src/modules/GameModule.cpp`
3. Rebuild: `cmake --build build --target modules`
4. **Module reloads automatically with state preserved**
## Piliers de Design
1. **Gestion/Optimisation** (core) - Puzzles logistiques, choix difficiles
2. **Survival Tension** - Ressources critiques, pertes permanentes
3. **Progression Temporelle Inversée** - Courbes Humains/Drones qui s'inversent
4. **Événements > Combat** - 70% events/survie, 30% combat
5. **Drones + Humains** - Valeurs différenciées (drone = outil, humain = irremplaçable)
## Systèmes Clés
### Train Builder (Double Slice)
- Vue double slice (Gauche + Droite)
- Balance 2 axes (Latéral GD, Longitudinal AvantArrière)
- Déséquilibre malus vitesse/fuel
- Rebuild fréquent (optimisation constante)
### Équipes + Commandants
- 5-7 commandants nommés (personnalités, skills)
- Membres d'équipe = nombre abstrait
- Mort commandant = CATASTROPHE
### Évolution Drones (Timeline)
- 2022: Mavic commercial Reco basique
- 2023: Mavic + grenades FPV expérimental
- 2024: FPV doctrine + Ground drones
- 2025: Swarms coordonnés + AI semi-autonome
### Fame System
- Investissement long terme via communication
- Débloquer : dons, équipement, recrutement, accès marchés
- Risk/Reward : Influenceurs en mission
## Roadmap Développement
### Phase 1 - Fondations (Sem 1-2) - EN COURS
**Focus** : Modules core game-agnostic
- [ ] ResourceModule (inventaire, craft 11)
- [ ] StorageModule (save/load)
- [ ] GameModule v2 (state machine)
### Phase 2 - Train & Resources (Sem 3-4)
- [ ] TrainBuilderModule (3 wagons, balance)
- [ ] ResourceModule v2 (10+ ressources, recipes)
### Phase 3 - Combat & Events (Sem 5-8)
- [ ] CombatModule (1 mission Rimworld-style)
- [ ] EventModule (5 events scriptés)
- [ ] ExpeditionModule (lancer expéditions)
### Phase 4 - Integration (Sem 9-12)
- [ ] UI basique (console ou ImGui)
- [ ] Balance pass
- [ ] Loop complet jouable (30 min gameplay)
**Plan détaillé** : Voir `plans/PROTOTYPE_PLAN.md` (12 semaines)
### MVP (12-18 mois)
- Train complet, expedition system, campaign Act 1
### Full Game (24-36 mois)
- Campaign complète, 100+ events, polish UI/Audio
## Documentation
- **🎯 Architecture game-agnostic** : `ARCHITECTURE.md` **LIRE EN PREMIER**
- **Plans détaillés** : `plans/PROTOTYPE_PLAN.md`, `plans/SHARED_MODULES_PLAN.md`
- **Architecture modules** : `docs/MODULES_ARCHITECTURE.md`
- **Concept complet** : `../couple-repo/Projects/CONCEPT/mobile_command_v2.md`
- **Instructions dev** : `CLAUDE.md`
## Status
**PHASE 1 - FONDATIONS** - Version 0.1.0 0.2.0
**Complété** :
- Setup projet + GroveEngine
- Build system + hot-reload
- Plans détaillés (12 semaines)
- Architecture game-agnostic définie
🚧 **En cours** (Semaine 1-2) :
- ResourceModule (core, game-agnostic)
- StorageModule (core, game-agnostic)
- GameModule v2 (MC-specific)
📋 **Prochain** (Semaine 3-4) :
- TrainBuilderModule
- ResourceModule v2 (10+ resources)
---
**Objectifs** :
1. Prototype Mobile Command jouable (12 semaines)
2. Modules core réutilisables pour WarFactory
3. Validation GroveEngine en production