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>
201 lines
6.0 KiB
Markdown
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 G↔D, Longitudinal Avant↔Arriè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 1→1)
|
|
- [ ] 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
|