warfactoryracine/docs/00-overview/vue-ensemble.md
StillHammer f393b28d73 Migrate core engine interfaces to GroveEngine repository
Removed core engine infrastructure from warfactoryracine:
- Core interfaces: IEngine, IModule, IModuleSystem, IIO, ITaskScheduler, ICoordinationModule
- Configuration system: IDataTree, IDataNode, DataTreeFactory
- UI system: IUI, IUI_Enums, ImGuiUI (header + implementation)
- Resource management: Resource, ResourceRegistry, SerializationRegistry
- Serialization: ASerializable, ISerializable
- World generation: IWorldGenerationStep (replaced by IWorldGenerationPhase)

These components now live in the GroveEngine repository and are included
via CMake add_subdirectory(../GroveEngine) for reusability across projects.

warfactoryracine remains focused on game-specific logic and content.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 00:22:36 +08:00

266 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Warfactory : Vue d'Ensemble du Projet
## Vision Globale
**Warfactory** est un RTS/4X révolutionnaire fusionnant la profondeur industrielle de Factorio avec une simulation militaire réaliste et une économie mondiale dynamique. Le projet allie l'hommage moral à l'Ukraine avec une architecture technique modulaire ultra-innovante, optimisée pour le développement assisté par IA.
**Innovation Centrale** : Un système économique où TOUS les acteurs (joueur, IA, États) suivent exactement les mêmes règles économiques, créant une simulation authentique et éducative des marchés mondiaux.
## Concept de Jeu et Progression
### De PMC à Géant Industriel
**Progression naturelle** :
- **Phase PMC** : Opérations irrégulières limitées, contrats d'État
- **Phase Industrielle** : Production civile/militaire, expansion géographique
- **Phase Géopolitique** : Influence mondiale, doctrines militaires, crises planétaires
**Liberté d'échelle** : Philosophie bac à sable permettant au joueur de rester artisan local ou de défier Lockheed Martin selon ses ambitions.
### Principe "Skip vs Optimize"
**Design fondamental** : Tous les systèmes peuvent être automatisés ou micro-gérés
- **Skip** : Solutions automatisées, efficacité réduite mais accessibles
- **Optimize** : Contrôle manuel complet, efficacité maximale
- **Hybride** : Mix selon préférences et contexte
Exemples concrets :
- **Production** : Usines tout-en-un vs layouts Factorio optimisés
- **Combat** : IA tactique vs commande directe
- **Commerce** : Auto-trade vs négociation manuelle
## Systèmes Industriels Intégrés
### Architecture Factorio-like Avancée
**Cœur productif** :
- **Production modulaire** : Belts, inserters, factories avec évolution progressive
- **4 phases de complexité** : Mono → Multi-lanes → Bidirectionnel → Full Factorio
- **Qualité d'assemblage** : Placement optimal vs automatique avec pénalités réalistes
**Innovation : Dual Production System** :
- **Production brute** : Transformation ressources primaires (minerai → plaques)
- **Assemblage précis** : Placement composants selon grilles vehicules
### Flexibilité de Reconversion Industrielle
**Mécaniques réalistes** basées sur similarité des processus :
- **Facile** : Tables fer → Blindages (même matériaux, processus similaires)
- **Complexe** : Tables → Canons (précision usinage, alliages spéciaux)
- **Impossible** : Menuiserie → Production hydrogène (zéro overlap technologique)
## Système Militaire Révolutionnaire
### Conception de Véhicules par Grilles
**Innovation gameplay** : Design sur châssis irréguliers avec zones spécialisées
**Interface intuitive** :
- **Pick & Place** : Drag & drop composants avec rotations A/E
- **Snap toggle** : R pour alignement grille
- **Validation temps réel** : Contraintes poids/énergie vérifiées durant placement
**Diversité massive** :
- **Châssis nommés** : "Griffon" (chenillé), "Viper" (modulaire), "Fennec" (ultra-léger)
- **3 layers** : Châssis → Systèmes → Armes & Capteurs
- **1000+ composants** : Formes uniques, jamais carrées ni 1x1
### Système d'Amélioration Générique
**Améliorations universelles** stackables avec rendements décroissants :
- **High ROF** : +20% cadence, +40% chaleur (stack 1), puis +10%/+40% (stack 2)
- **Efficiency** : -20% consommation, -15% performance
- **Reliability** : +30% durabilité, -10% performance
**Coût exponentiel** : 1.25^n per stack avec malus cumulatifs linéaires
## Économie Mondiale Simulée
### Égalité Économique Fondamentale
**RÈGLE NON-NÉGOCIABLE** : Le joueur n'a AUCUN privilège économique artificiel
```cpp
// INTERDIT - Avantage joueur
if(agent.isPlayer()) order.cost *= 0.9f;
// OBLIGATOIRE - Traitement égal
float cost = calculateRealTransportCost(order);
agent.processOrder(order, cost);
```
**Résultat** : Réussite basée sur compréhension économique réelle, pas sur privilèges artificiels.
### Système de Companies avec Features
**Chaque IA company** a 2-4 features définissant ses capacités :
- **Domaines** : Metal, Electronic, Tank, Plane, Wood, Food, Engine, Cannon, Missile
- **Modificateurs** : Quality, Quantity, Speed, Cost, Modularity, Innovation
**Exemple** : Company "Metal + Plane + Quantity + Electronic" excelle en avions métalliques de masse avec électronique embarquée, mais manque raffinement vs spécialistes Quality.
### Transport Multi-Modal Réaliste
**Hiérarchie des coûts** (indicative) :
- **Maritime** : ~0.10€/kg (volume massif, ultra-économique)
- **Ferroviaire** : ~0.50€/kg (grandes quantités, infrastructure)
- **Aérien** : ~2.00€/kg (rapide, coûteux)
- **Routier** : ~5.00€/kg (flexible, dernier kilomètre)
**Impact stratégique** : Localisation côtière = avantage économique 50x
### Marchés Segmentés et Restrictions
**Types de marchés** :
- **Nationaux** : Par pays avec politiques douanières
- **Companies privés** : Accords bilatéraux
- **Blocs multinationaux** : UE, OTAN avec préférences
- **Mondial** : Marché libre avec sanctions possibles
**Doubles verrous** : Companies ET États peuvent bloquer accès
## Architecture Technique Révolutionnaire
### Modularité Claude Code Optimisée
**Innovation développement** : Architecture modulaire révolutionnaire pour développement IA
**Contraintes strictes** :
- **200-300 lignes max** par module (EXCEPTION : ProductionModule 500-800)
- **Build autonome** : `cd modules/tank/ && cmake .` - zéro dépendance parent
- **Hot-reload 0.4ms** : Modifications instantanées sans restart
- **Développement parallèle** : 3+ instances Claude Code simultanées
### Interface System IMMUTABLE
**5 interfaces fondamentales** (JAMAIS modifiées une fois finalisées) :
```cpp
ICoordinationModule Orchestrateur global système
IEngine Coordination locale (Debug HighPerf DataOriented)
IModuleSystem Stratégie d'exécution (Sequential Threaded Cluster)
IModule Logique métier pure (TankModule.so, EconomyModule.so)
IIO Communication (IntraIO LocalIO NetworkIO)
```
### Évolution Progressive Sans Régression
```cpp
// Phase 1 : Prototype
DebugEngine + SequentialModuleSystem + IntraIO
// Phase 2 : Optimization
DebugEngine + ThreadedModuleSystem + IntraIO
// Phase 3 : Production
HighPerfEngine + MultithreadedModuleSystem + LocalIO
// Phase 4 : MMO Scale
DataOrientedEngine + ClusterModuleSystem + NetworkIO
```
**Avantage révolutionnaire** : Modules métier inchangés à travers toutes les phases !
## Carte et Exploration
### Architecture Multi-Échelles
**2 niveaux discrets** :
- **Large Map** : Carte mondiale éditable, navigation node-based
- **Local Map** : Tiles 1m×1m, chunks 64×64, style Factorio précis
### Génération Procédurale par Budget de Points
**Innovation système** : Chaque tile reçoit score (-10 à +10) équilibrant automatiquement risques/récompenses
**218+ éléments** avec tendances régionales :
- **Bassins pétroliers** : Pétrole ×5 probabilité, terrains marécageux ×2
- **Zones ex-minières** : Fer/charbon ×3-4, teritons ×8, pollution héritée ×3
- **Régions forestières** : Forêt dense ×3-4, grottes ×2-3, pentes abruptes ×2
**Découverte stratifiée** :
- **Visible** : Relief, végétation, structures surface
- **Caché niveau 1** : Prospection géologique (gisements souterrains)
- **Caché niveau 2** : Magnétométrie (anomalies, structures enfouies)
- **Caché niveau 3** : Analyse NRBC (contaminations invisibles)
## Arbre Technologique Massif
### 3000+ Technologies pour Rejouabilité Infinie
**Principe découverte** : Player ne recherche PAS toutes les technologies !
- **Discovery organique** : Breakthrough via gameplay naturel
- **10-50 techs éligibles** simultanément (jamais 3000)
- **Système de passerelles** : Expertise dans un domaine débloque prototypes dans autres
**Exemple passerelles Châssis** :
```
Métallurgie Avancée → [PROTOTYPE] Châssis Composite
Électronique → [PROTOTYPE] Châssis Smart
Moteur → [PROTOTYPE] Châssis Performance
```
## Contexte Narratif et Éthique
### Hommage à l'Ukraine
**Motivation morale fondamentale** : "L'Ukraine parce qu'ils sont des héros, parce qu'ils meurent pour leur liberté et pour la nôtre."
**Intégration authentique** :
- **Géographie réelle** : Ukraine, Europe sur carte mondiale
- **Contexte historique** : Zones post-industrielles, vestiges soviétiques
- **Enjeux géopolitiques** : Résistance démocratique vs autoritarisme
### Crises Endgame
**3 scénarios apocalyptiques** avec mécaniques distinctes :
- **Zombie Apocalypse** : Vitesse de réaction, lignes de défense
- **Invasion ET** : Technologie supérieure aérienne, survie planétaire
- **Demon Portal** : Portails imprévisibles, course contre extermination
## Interface Utilisateur Révolutionnaire
### Système IUI Data-Agnostic
**Architecture générique** supportant tous types de contenu :
- **Enums type-safe** : `DataType::ECONOMY`, `RequestType::GET_PRICES`
- **Windowing hiérarchique** : Parent → Dock → Split → Tab → Window
- **Hybrid Sizing System** : Cibles pourcentage avec contraintes pixels
**Layout professionnel** : Topbar économique + panel companies + carte stratégique + console
## Performance et Scalabilité
### Fréquences Modulaires Optimisées
- **ProductionModule** : 60Hz (frame-perfect factory)
- **TankModule Targeting** : 60Hz (combat réactif)
- **TankModule Movement** : 30Hz (positions)
- **TankModule Tactical** : 1Hz (décisions stratégiques)
- **EconomyModule** : 0.01-0.1Hz (cycles économiques)
### Targets Performance
- **V1 Client** : 30+ fps, 10+ joueurs serveur
- **V2 Client** : 60+ fps, 100+ joueurs serveur avec prédiction locale
## Philosophie de Design Avancée
### "Complexity through Simplicity"
**Complexité AAA** émergeant de modules simples Claude-friendly :
- **Modules 200 lignes** = compréhension IA parfaite
- **Interactions complexes** = gameplay émergent sophistiqué
- **Testing granulaire** = fiabilité et débug facilités
### Configuration vs Modding
**Philosophy YAGNI** : Configuration JSON couvre 90% besoins modding
```json
{
"tank_mk2_custom": {
"health": 150, "speed": 30,
"weapons": ["cannon_105mm", "mg_coaxial"]
},
"aggressive_ai": {
"engagement_range": 1000,
"retreat_threshold": 20
}
}
```
## État Actuel et Roadmap
### PRODUCTION-READY Achievements
-**Core Interfaces COMPLETE** : Architecture modulaire immutable finalisée
-**UI System COMPLETE** : IUI + ImGuiUI avec hybrid sizing révolutionnaire
-**Hot-Reload 0.4ms** : Workflow développement révolutionné
-**Configuration System** : IDataTree avec validation SHA256
-**Cross-Platform Pipeline** : Linux dev → Windows .exe automatisé
### Next Phases
1. **Phase 2** : Implémentations concrètes (DebugEngine, JSONDataTree)
2. **Phase 3** : Modules gameplay (ProductionModule, TankModule)
3. **Phase 4** : Integration économique et multijoueur
## Conclusion : Une Vision Révolutionnaire
Warfactory transcende les genres traditionnels en unifiant industrie, stratégie militaire et simulation économique authentique dans une architecture technique révolutionnaire.
Le projet honore l'héroïsme ukrainien tout en repoussant les limites du développement assisté par IA, créant un gameplay émergent d'une profondeur inégalée où chaque choix - industriel, militaire, économique - résonne à travers un système interconnecté d'une complexité et d'un réalisme saisissants.