From bb92e9dc936bc55348460df8e02e1414289b5cf2 Mon Sep 17 00:00:00 2001 From: StillHammer Date: Fri, 19 Sep 2025 14:41:03 +0800 Subject: [PATCH] Add comprehensive engine-focused documentation structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 📚 Complete documentation reorganization: đŸ—‚ïž Structure: - docs/global/ → Complete project documentation (all original files) - docs/engines/ → 10 engine-specific docs with focused responsibilities - docs/serveur/ → Server coordinator and inter-engine communication - docs/client/ → Smart Client interface and user experience 🔧 Engine Documentation: - Designer: Vehicle design with AI assistance (1-2 designs/tick) - Economy: Market simulation and dynamic pricing - Event: Breakthrough system and global events - Factory: Factorio-like production with belts/assemblers - Intelligence: Metrics collection (3.1GB adaptive) + reconnaissance - Logistic: Supply chains and convoy management - MacroEntity: Companies, diplomacy, administration (1000 pts/day) - Map: Procedural generation (218+ elements) + chunk streaming - Operation: Military strategy and adaptive AI generals - War: Multi-chunk combat and persistent frontlines 📋 Each engine doc includes: - Core responsibilities and system overview - Key mechanics from relevant design documents - Communication patterns with other engines - Implementation notes and architecture details 🎯 Navigation optimized for: - Engine developers (focused system details) - System architects (coordination patterns) - Game designers (mechanics integration) đŸ€– Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- docs/README.md | 107 ++- docs/client/README.md | 130 ++++ docs/engines/designer/README.md | 69 ++ docs/engines/economy/README.md | 70 ++ docs/engines/event/README.md | 70 ++ docs/engines/factory/README.md | 70 ++ docs/engines/intelligence/README.md | 70 ++ docs/engines/logistic/README.md | 70 ++ docs/engines/macroentity/README.md | 72 ++ docs/engines/map/README.md | 70 ++ docs/engines/operation/README.md | 67 ++ docs/engines/war/README.md | 71 ++ docs/global/README.md | 17 + docs/global/arbre-technologique.md | 973 ++++++++++++++++++++++++ docs/global/architecture-technique.md | 874 +++++++++++++++++++++ docs/global/coherence-problem.md | 486 ++++++++++++ docs/global/contexte-narratif.md | 100 +++ docs/global/dlc-prevus.md | 15 + docs/global/economie-logistique.md | 347 +++++++++ docs/global/gameplay-industriel.md | 188 +++++ docs/global/map-system.md | 1001 +++++++++++++++++++++++++ docs/global/mecaniques-jeu.md | 525 +++++++++++++ docs/global/metriques-joueur.md | 269 +++++++ docs/global/questions-ouvertes.md | 143 ++++ docs/global/systeme-militaire.md | 884 ++++++++++++++++++++++ docs/global/systemes-techniques.md | 98 +++ docs/global/updates-long-terme.md | 59 ++ docs/global/vue-ensemble.md | 34 + docs/serveur/README.md | 107 +++ 29 files changed, 7041 insertions(+), 15 deletions(-) create mode 100644 docs/client/README.md create mode 100644 docs/engines/designer/README.md create mode 100644 docs/engines/economy/README.md create mode 100644 docs/engines/event/README.md create mode 100644 docs/engines/factory/README.md create mode 100644 docs/engines/intelligence/README.md create mode 100644 docs/engines/logistic/README.md create mode 100644 docs/engines/macroentity/README.md create mode 100644 docs/engines/map/README.md create mode 100644 docs/engines/operation/README.md create mode 100644 docs/engines/war/README.md create mode 100644 docs/global/README.md create mode 100644 docs/global/arbre-technologique.md create mode 100644 docs/global/architecture-technique.md create mode 100644 docs/global/coherence-problem.md create mode 100644 docs/global/contexte-narratif.md create mode 100644 docs/global/dlc-prevus.md create mode 100644 docs/global/economie-logistique.md create mode 100644 docs/global/gameplay-industriel.md create mode 100644 docs/global/map-system.md create mode 100644 docs/global/mecaniques-jeu.md create mode 100644 docs/global/metriques-joueur.md create mode 100644 docs/global/questions-ouvertes.md create mode 100644 docs/global/systeme-militaire.md create mode 100644 docs/global/systemes-techniques.md create mode 100644 docs/global/updates-long-terme.md create mode 100644 docs/global/vue-ensemble.md create mode 100644 docs/serveur/README.md diff --git a/docs/README.md b/docs/README.md index 54477c6..5c6516f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,17 +1,94 @@ -# Warfactory - Documentation +# Warfactory Documentation Index -## Structure de la documentation +## Documentation Structure -- [Vue d'ensemble](./vue-ensemble.md) - Vision et objectifs du projet -- [Architecture technique](./architecture-technique.md) - Multi-serveurs, performance, dĂ©veloppement IA -- [SystĂšmes techniques](./systemes-techniques.md) - Tile system, mĂ©moire, chunks -- [Gameplay industriel](./gameplay-industriel.md) - Ressources, production, gameloop -- [SystĂšme militaire](./systeme-militaire.md) - VĂ©hicules, combat, IA -- [Map system](./map-system.md) - Cartes, navigation, FOW, reconnaissance -- [Économie et logistique](./economie-logistique.md) - MarchĂ©s, prix, supply chains -- [MĂ©caniques de jeu](./mecaniques-jeu.md) - Recherche, progression, simulation -- [Arbre technologique](./arbre-technologique.md) - 3000+ techs avec passerelles inter-domaines -- [MĂ©triques joueur](./metriques-joueur.md) - Analytics complĂštes, graphiques, intelligence compĂ©titive -- [Contexte narratif](./contexte-narratif.md) - Lore, gĂ©opolitique, scĂ©narios -- [DLC prĂ©vus](./dlc-prevus.md) - Extensions inspirĂ©es RimWorld -- [Updates long terme](./updates-long-terme.md) - FonctionnalitĂ©s futures \ No newline at end of file +This documentation is organized by component type to provide focused information for each part of the Warfactory system. + +### 📁 Global Documentation (`/global/`) +Complete project documentation with all design documents: +- `vue-ensemble.md` - Project vision and philosophy +- `architecture-technique.md` - Complete technical architecture +- `map-system.md` - Multi-scale map system (218+ elements) +- `systeme-militaire.md` - Combat and vehicle design systems +- `economie-logistique.md` - Economic simulation and supply chains +- `gameplay-industriel.md` - Factory management (Factorio-like) +- `mecaniques-jeu.md` - Research, breakthrough, and progression +- `arbre-technologique.md` - 3000+ technology tree +- `metriques-joueur.md` - Analytics system (3.1GB adaptive) +- `coherence-problem.md` - Resolved design challenges +- `questions-ouvertes.md` - Open questions and future considerations + +### 🔧 Engine Documentation (`/engines/`) +Focused documentation for each of the 10 autonomous engines: + +#### Core Engines +- **[Designer](./engines/designer/)** - Vehicle design with AI assistance (1-2 designs/tick) +- **[Economy](./engines/economy/)** - Market simulation and dynamic pricing +- **[Factory](./engines/factory/)** - Factorio-like production with belts and assemblers +- **[War](./engines/war/)** - Multi-chunk combat and persistent frontlines + +#### Specialized Engines +- **[Intelligence](./engines/intelligence/)** - Metrics collection (3.1GB adaptive) and reconnaissance +- **[Logistic](./engines/logistic/)** - Supply chains and convoy management +- **[Map](./engines/map/)** - Procedural generation (218+ elements) and chunk streaming +- **[Operation](./engines/operation/)** - Military strategy and adaptive AI generals + +#### Support Engines +- **[Event](./engines/event/)** - Breakthrough system and global events +- **[MacroEntity](./engines/macroentity/)** - Companies, diplomacy, administration (1000 pts/day) + +### đŸ–„ïž Server Documentation (`/serveur/`) +Server coordinator system: +- Engine communication and coordination +- Smart Client request/response handling +- Performance monitoring and load balancing +- Inter-engine message routing + +### đŸ’» Client Documentation (`/client/`) +Smart Client interface system: +- Multi-scale user interface (World → Regional → Local → Detail) +- Factory management interface (Factorio-like) +- Vehicle design interface (grid-based component placement) +- Strategic command and diplomatic interfaces + +## Quick Navigation + +### For Engine Developers +Each engine folder contains: +- **Core responsibilities** and system overview +- **Key mechanics** from relevant design documents +- **Communication patterns** with other engines +- **Implementation notes** and architecture details + +### For System Architects +- **[Global Documentation](./global/)** - Complete system overview +- **[Server Documentation](./serveur/)** - Coordination architecture +- **Performance specs**: 60fps, 1000+ AI companies, adaptive scaling + +### For Game Designers +- **[Global Documentation](./global/)** - All gameplay mechanics +- **Engine-specific docs** - Focused system details +- **[Client Documentation](./client/)** - User interface requirements + +## Implementation Status + +✅ **Complete**: Documentation structure with engine-specific focus +✅ **Complete**: 10 engine implementations with CMake build system +✅ **Complete**: Fast/full build presets for development efficiency +🔄 **In Progress**: Engine logic expansion and inter-engine communication +📋 **Next**: Gameplay feature implementation and testing + +## Build Commands Quick Reference + +```bash +# Fast development build (minimal sanitizers) +cmake -DFAST_BUILD=ON .. && make claude-workflow-fast + +# Full validation build (all sanitizers) +cmake -DCMAKE_BUILD_TYPE=Debug .. && make + +# Single engine development +make economy-engine && ./bin/economy-engine +``` + +For complete build system documentation, see `CLAUDE.md` in the project root. \ No newline at end of file diff --git a/docs/client/README.md b/docs/client/README.md new file mode 100644 index 0000000..a201a14 --- /dev/null +++ b/docs/client/README.md @@ -0,0 +1,130 @@ +# Client Documentation + +## Overview +The **Smart Client** provides the user interface and interacts with the server coordinator using a request/response pattern. + +**Key Responsibilities:** +- User interface for all game systems +- Request/response communication with server +- Local state caching and optimization +- Fog of War rendering and management + +## Architecture + +### Smart Client Pattern +From `architecture-technique.md`: +- **No Streaming**: Pure request/response communication +- **Stateless Requests**: Each request is independent +- **Local Caching**: Client-side optimization for responsiveness +- **FOW Integration**: Chunk-level fog of war rendering + +### User Interface Systems + +#### Multi-Scale Interface +From `map-system.md`: +- **World View**: Diplomatic and strategic overview +- **Regional View**: Logistics and major operations coordination +- **Local View**: Factory management and base operations +- **Detail View**: Combat oversight and precise control + +#### Factory Management Interface +From `gameplay-industriel.md`: +- **Production Line Design**: Factorio-like belt and assembler placement +- **Resource Flow Visualization**: Real-time production monitoring +- **Optimization Tools**: Bottleneck identification and efficiency metrics +- **Automation Controls**: Production scheduling and priority management + +#### Vehicle Design Interface +From `systeme-militaire.md`: +- **Grid-Based Placement**: Component positioning on vehicle chassis +- **Interface Controls**: Pick/place with A/E rotation, R for snap toggle +- **Template System**: Save/load vehicle blueprints +- **Validation Feedback**: Real-time design constraint checking + +#### Military Command Interface +- **Frontline Visualization**: Persistent battle line display +- **Auto-Battler Controls**: Strategic oversight without micro-management +- **Intelligence Dashboard**: Reconnaissance and enemy analysis +- **Strategic Planning**: Operation coordination and resource allocation + +## Core Client Systems + +### Communication Manager +```cpp +class ClientCommunication { + // Server communication + ServerResponse sendRequest(const ClientRequest& request); + void cacheResponse(const ServerResponse& response); + bool hasValidCache(const RequestKey& key) const; + + // FOW management + void updateFOW(const FOWData& data); + bool isVisible(int chunkX, int chunkY) const; + void requestChunkData(int chunkX, int chunkY); + + // State synchronization + void synchronizeState(); + void handleGlobalEvent(const GlobalEvent& event); +}; +``` + +### Interface Controllers + +#### Factory Interface +- **Belt Placement**: Drag-and-drop belt network design +- **Assembler Configuration**: Production recipe and priority settings +- **Resource Monitoring**: Real-time throughput and efficiency display +- **Expansion Planning**: Factory layout optimization tools + +#### Design Interface +- **Component Library**: Available vehicle components and specifications +- **Chassis Editor**: Irregular shape design and component placement +- **Performance Calculator**: Real-time design statistics and validation +- **Blueprint Manager**: Template save/load and sharing system + +#### Strategic Interface +- **Company Dashboard**: Economic, military, and industrial overviews +- **Diplomatic Panel**: Inter-company relations and negotiations +- **Research Tree**: Technology progression and breakthrough system +- **Analytics Dashboard**: Comprehensive metrics and trend analysis + +### Performance Optimization + +#### Local Caching +- **Response Caching**: Store frequently accessed data locally +- **Predictive Loading**: Pre-fetch likely needed data +- **Cache Invalidation**: Smart cache updates on state changes +- **Compression**: Minimize bandwidth usage + +#### Rendering Optimization +- **LOD System**: Level-of-detail based on zoom and relevance +- **Culling**: Only render visible and relevant elements +- **Chunk Streaming**: Dynamic loading of map data +- **UI Responsiveness**: Maintain 60fps interface performance + +## Client Request Patterns + +### Common Request Types +1. **State Queries**: Get current system state (factory status, battles, etc.) +2. **Action Commands**: Execute player actions (place building, issue orders) +3. **Data Updates**: Refresh cached information (market prices, research progress) +4. **Event Subscriptions**: Register for relevant global events + +### FOW-Aware Requests +- **Visibility Checks**: Ensure requested data is visible to player +- **Partial Information**: Handle incomplete data due to FOW +- **Intelligence Requests**: Request reconnaissance on hidden areas +- **Update Notifications**: Receive visibility changes and new intel + +## Key Design Documents +- `architecture-technique.md` - Smart Client specification +- `gameplay-industriel.md` - Factory interface requirements +- `systeme-militaire.md` - Vehicle design and combat interfaces +- `map-system.md` - Multi-scale interface coordination +- `mecaniques-jeu.md` - UI integration with game mechanics + +## Implementation Notes +- Request/response pattern eliminates complex state synchronization +- Local caching provides responsive user experience +- FOW integration requires careful visibility checking +- Multi-scale interface demands efficient view switching \ No newline at end of file diff --git a/docs/engines/designer/README.md b/docs/engines/designer/README.md new file mode 100644 index 0000000..4119ce6 --- /dev/null +++ b/docs/engines/designer/README.md @@ -0,0 +1,69 @@ +# Designer-Engine Documentation + +## Engine Overview +**Designer-Engine** handles autonomous vehicle conception for AI companies and provides design assistance for players. + +**Key Responsibilities:** +- Vehicle design generation (1-2 designs globally per tick) +- Component grid placement and validation +- Blueprint management and evolution +- AI-driven design optimization + +## Core Systems + +### Vehicle Design System +From `systeme-militaire.md`: +- **Grid-based Component Placement**: Irregular chassis shapes with precise component positioning +- **Interface Mechanics**: Pick/place with A/E rotation, R for snap toggle +- **Template Support**: Save/load vehicle blueprints +- **Validation**: Ensure design constraints (weight, power, armor coverage) + +### Design Evolution +From `arbre-technologique.md`: +- **Progressive Evolution**: T-72 → T-80 → T-90 design lineage +- **Technology Integration**: New components unlock through research +- **Doctrine Adaptation**: Designs adapt to military doctrine preferences + +### Performance Requirements +From `architecture-technique.md`: +- **Design Rate**: 1-2 vehicle designs globally per tick maximum +- **Autonomous Operation**: AI companies generate designs independently +- **Player Assistance**: Provide design suggestions and optimization + +## Engine Architecture + +### Core Classes +```cpp +class DesignerEngine { + // Design management (1-2 designs globally per tick) + std::unique_ptr createDesign(const std::string& type); + void validateDesign(const VehicleDesign& design); + void saveBlueprint(const VehicleDesign& design, const std::string& name); + + // Blueprint evolution + void evolveBlueprintsFromExisting(); // T-72 → T-80 → T-90 + + // Performance monitoring + double getDesignRate() const; + size_t getPendingDesigns() const; +}; +``` + +### Communication with Other Engines +- **War-Engine**: Receives combat effectiveness feedback for design optimization +- **Economy-Engine**: Gets cost constraints and production capabilities +- **Intelligence-Engine**: Receives reconnaissance data on enemy designs +- **MacroEntity-Engine**: Gets company design preferences and doctrine +- **Event-Engine**: Processes breakthrough events for new technologies + +## Key Design Documents +- `systeme-militaire.md` - Vehicle design system details +- `arbre-technologique.md` - Technology progression and design evolution +- `architecture-technique.md` - Performance specifications +- `mecaniques-jeu.md` - Research integration + +## Implementation Notes +- Focus on autonomous AI design generation +- Player assistance tools for design optimization +- Blueprint persistence and sharing system +- Technology integration from research breakthroughs \ No newline at end of file diff --git a/docs/engines/economy/README.md b/docs/engines/economy/README.md new file mode 100644 index 0000000..4c07204 --- /dev/null +++ b/docs/engines/economy/README.md @@ -0,0 +1,70 @@ +# Economy-Engine Documentation + +## Engine Overview +**Economy-Engine** handles market simulation, pricing dynamics, and economic interactions between companies. + +**Key Responsibilities:** +- Real-time market pricing simulation +- Supply and demand calculations +- Company economic interactions +- Resource flow optimization + +## Core Systems + +### Market Simulation +From `economie-logistique.md`: +- **Dynamic Pricing**: Supply/demand based price fluctuations +- **Market Depth**: Multiple buyers/sellers with varying priorities +- **Price Discovery**: Realistic market mechanisms +- **Resource Categories**: Raw materials, components, finished products + +### Economic Mechanics +- **Company Budgets**: Financial constraints and cash flow +- **Trade Networks**: Inter-company commerce +- **Market Manipulation**: Large players affecting prices +- **Economic Warfare**: Sanctions, embargos, trade restrictions + +### Performance Requirements +From `architecture-technique.md`: +- **Real-time Processing**: Market updates at 60fps +- **Scalability**: Support 1000+ AI companies +- **Autonomous Operation**: Self-regulating market dynamics + +## Engine Architecture + +### Core Classes +```cpp +class EconomyEngine { + // Market management + void updateMarketPrices(); + double getPrice(const std::string& resource) const; + void processTradeOrder(const TradeOrder& order); + + // Company economics + void updateCompanyBudgets(); + bool validateTransaction(int buyerCompany, int sellerCompany, const TradeOrder& order); + + // Market analysis + MarketData getMarketData(const std::string& resource) const; + std::vector getPriceHistory(const std::string& resource) const; +}; +``` + +### Communication with Other Engines +- **Factory-Engine**: Production costs and output volumes +- **Logistic-Engine**: Transportation costs and supply chain efficiency +- **MacroEntity-Engine**: Company budgets, diplomatic trade relations +- **War-Engine**: Wartime economic impacts, resource scarcity +- **Intelligence-Engine**: Market intelligence and economic espionage + +## Key Design Documents +- `economie-logistique.md` - Complete economic system design +- `architecture-technique.md` - Performance specifications +- `coherence-problem.md` - Economic balance considerations +- `mecaniques-jeu.md` - Economic progression mechanics + +## Implementation Notes +- Negative prices are allowed for certain scenarios (waste disposal, etc.) +- Market depth simulation for realistic price discovery +- Company-specific pricing preferences and strategies +- Economic warfare and sanction mechanics \ No newline at end of file diff --git a/docs/engines/event/README.md b/docs/engines/event/README.md new file mode 100644 index 0000000..0cd716f --- /dev/null +++ b/docs/engines/event/README.md @@ -0,0 +1,70 @@ +# Event-Engine Documentation + +## Engine Overview +**Event-Engine** handles the breakthrough system, global events, and event-driven mechanics throughout the game. + +**Key Responsibilities:** +- Breakthrough system processing (scrap analysis → technology) +- Global event generation (geopolitical, natural disasters) +- Event scheduling and timing +- Research progression triggers + +## Core Systems + +### Breakthrough System +From `mecaniques-jeu.md`: +- **Scrap Analysis**: Combat wreckage provides technology insights +- **Technology Discovery**: Reverse engineering captured equipment +- **Progressive Unlocks**: Gradual technology revelation +- **Failure/Success Mechanics**: Not all analysis succeeds + +### Global Events +From `arbre-technologique.md`: +- **Geopolitical Events**: International conflicts, alliances +- **Natural Disasters**: Impact on production and logistics +- **Market Events**: Economic shocks, resource discoveries +- **Technology Events**: Scientific breakthroughs, espionage + +### Event Scheduling +- **Delayed Events**: Timed consequences of player actions +- **Cascading Events**: Events triggering other events +- **Random Events**: Procedural event generation +- **Player-Triggered Events**: Research completions, diplomatic actions + +## Engine Architecture + +### Core Classes +```cpp +class EventEngine { + // Event management + void scheduleEvent(std::unique_ptr event, double delaySeconds); + void triggerImmediateEvent(std::unique_ptr event); + + // Breakthrough system (event-driven with scrap analysis) + void analyzeScrapForBreakthrough(const std::string& scrapData); + void triggerBreakthrough(const std::string& technologyDomain); + + // Global events + void generateRandomEvent(); + void processScheduledEvents(); +}; +``` + +### Communication with Other Engines +- **War-Engine**: Receives battle data for scrap analysis +- **Intelligence-Engine**: Coordinates breakthrough discoveries +- **MacroEntity-Engine**: Triggers diplomatic events +- **Economy-Engine**: Generates market disruption events +- **All Engines**: Broadcasts global events affecting all systems + +## Key Design Documents +- `mecaniques-jeu.md` - Breakthrough system and research mechanics +- `arbre-technologique.md` - Technology progression events +- `architecture-technique.md` - Event processing performance +- `coherence-problem.md` - Event balance and timing + +## Implementation Notes +- Event-driven architecture for breakthrough system +- Scrap analysis probability mechanics +- Global event impact on all game systems +- Cascading event chains for complex scenarios \ No newline at end of file diff --git a/docs/engines/factory/README.md b/docs/engines/factory/README.md new file mode 100644 index 0000000..f7ebb6d --- /dev/null +++ b/docs/engines/factory/README.md @@ -0,0 +1,70 @@ +# Factory-Engine Documentation + +## Engine Overview +**Factory-Engine** handles Factorio-like production simulation with assembly lines, belts, and automated manufacturing. + +**Key Responsibilities:** +- Production line simulation +- Resource flow management +- Factory optimization +- Industrial automation + +## Core Systems + +### Production System +From `gameplay-industriel.md`: +- **Assembly Lines**: Multi-stage production processes +- **Belt Networks**: Resource transportation within factories +- **Assemblers**: Automated production units +- **Quality Control**: Production efficiency and defect rates + +### Resource Flow +- **Input/Output Management**: Raw materials → finished products +- **Throughput Optimization**: Bottleneck identification and resolution +- **Inventory Management**: Buffer stocks and storage +- **Production Scheduling**: Order prioritization and batching + +### Factory Design +- **Layout Optimization**: Efficient factory floor planning +- **Upgrade Paths**: Production line improvements +- **Automation Levels**: Manual → semi-auto → fully automated +- **Modular Design**: Expandable production modules + +## Engine Architecture + +### Core Classes +```cpp +class FactoryEngine { + // Factory management + void addProductionLine(std::unique_ptr line); + void removeProductionLine(int lineId); + + // Production control + void startProduction(); + void stopProduction(); + void pauseProduction(); + + // Performance monitoring + double getTickRate() const; + size_t getActiveLines() const; +}; +``` + +### Communication with Other Engines +- **Economy-Engine**: Production costs, resource pricing, order fulfillment +- **Logistic-Engine**: Raw material delivery, finished goods shipping +- **Designer-Engine**: Vehicle production requirements and specifications +- **Intelligence-Engine**: Production metrics and efficiency reporting +- **MacroEntity-Engine**: Company production goals and priorities + +## Key Design Documents +- `gameplay-industriel.md` - Complete factory system design +- `economie-logistique.md` - Production economics and supply chains +- `architecture-technique.md` - Performance requirements +- `mecaniques-jeu.md` - Research and upgrade mechanics + +## Implementation Notes +- Factorio-inspired belt and assembler mechanics +- Real-time production simulation at 60fps +- Modular production line design +- Automatic optimization suggestions for players \ No newline at end of file diff --git a/docs/engines/intelligence/README.md b/docs/engines/intelligence/README.md new file mode 100644 index 0000000..e2a9530 --- /dev/null +++ b/docs/engines/intelligence/README.md @@ -0,0 +1,70 @@ +# Intelligence-Engine Documentation + +## Engine Overview +**Intelligence-Engine** handles comprehensive metrics collection (3.1GB adaptive scaling), reconnaissance systems, and fog of war management. + +**Key Responsibilities:** +- Metrics collection with adaptive scaling (2 pts/min → 0.4 pts/min multiplayer) +- Satellite reconnaissance and intelligence gathering +- Fog of War (FOW) management at chunk granularity +- Analytics and intelligence reporting + +## Core Systems + +### Metrics Collection +From `metriques-joueur.md`: +- **Adaptive Scaling**: 3.1GB per game with intelligent compression +- **Data Points**: 2 points/minute solo → 0.4 points/minute in multiplayer +- **Categories**: Economic, military, industrial, diplomatic metrics +- **Real-time Analytics**: Live dashboard and trend analysis + +### Reconnaissance System +From `architecture-technique.md`: +- **Satellite Intel**: Graduated levels (buildings → factories → company-specific) +- **Intelligence Gathering**: Economic espionage, military reconnaissance +- **Counter-Intelligence**: Protecting own information, detecting spying +- **Information Warfare**: Disinformation and intelligence manipulation + +### Fog of War Management +- **Chunk Granularity**: 64x64 tile visibility units +- **Company-Specific FOW**: Each company has independent visibility +- **Information Sharing**: Allied intelligence cooperation +- **Visibility Mechanics**: Line of sight, reconnaissance units + +## Engine Architecture + +### Core Classes +```cpp +class IntelligenceEngine { + // Metrics (adaptive scaling: 2 pts/min → 0.4 pts/min multiplayer) + void collectMetrics(int companyId, const std::string& data); + void pushMetricsToDatabase(); + void adjustScalingForMultiplayer(int numCompanies); + + // Reconnaissance (satellite: buildings → factories → company specific) + void updateSatelliteIntel(int x, int y, const std::string& intelLevel); + std::string getIntelligence(int companyId, int x, int y) const; + + // FOW management (chunk granularity) + void setChunkVisibility(int companyId, int chunkX, int chunkY, bool visible); +}; +``` + +### Communication with Other Engines +- **All Engines**: Collects metrics from every system +- **Map-Engine**: Coordinates FOW and chunk visibility +- **MacroEntity-Engine**: Company intelligence operations +- **War-Engine**: Military reconnaissance and battle intelligence +- **Economy-Engine**: Economic intelligence and market analysis + +## Key Design Documents +- `metriques-joueur.md` - Complete metrics system specification +- `architecture-technique.md` - FOW and reconnaissance mechanics +- `map-system.md` - Chunk-based visibility system +- `coherence-problem.md` - Performance optimization strategies + +## Implementation Notes +- 3.1GB data scaling requires sophisticated compression +- Real-time metrics processing with minimal performance impact +- Chunk-level FOW for optimal performance +- Intelligence sharing mechanics between allied companies \ No newline at end of file diff --git a/docs/engines/logistic/README.md b/docs/engines/logistic/README.md new file mode 100644 index 0000000..6a6b17f --- /dev/null +++ b/docs/engines/logistic/README.md @@ -0,0 +1,70 @@ +# Logistic-Engine Documentation + +## Engine Overview +**Logistic-Engine** handles transport networks, supply chains, and convoy management across all map scales. + +**Key Responsibilities:** +- Supply chain coordination between production sites +- Convoy routing and management +- Infrastructure vulnerability and security +- Transport optimization across multiple map scales + +## Core Systems + +### Supply Chain Management +From `economie-logistique.md`: +- **Multi-Site Coordination**: Raw materials → production → distribution +- **Route Optimization**: Cost-effective transportation paths +- **Capacity Planning**: Transport vehicle allocation +- **Supply Reliability**: Backup routes and contingency planning + +### Transport Networks +From `map-system.md`: +- **Multi-Scale Routes**: World → Regional → Local scale coordination +- **Infrastructure**: Roads, railways, shipping lanes, air corridors +- **Convoy Management**: Vehicle groups with escorts and timing +- **Vulnerability**: Routes are visible on map and attackable + +### Route Security +- **Infrastructure Protection**: Defending supply lines +- **Convoy Escorts**: Military protection for valuable shipments +- **Route Intelligence**: Monitoring for threats and optimal paths +- **Alternative Routing**: Adapting to blocked or dangerous routes + +## Engine Architecture + +### Core Classes +```cpp +class LogisticEngine { + // Supply chain management + void createSupplyChain(const std::string& chainId, const std::vector& sites); + void updateRoute(const std::string& routeId, const std::vector>& waypoints); + + // Convoy management + void dispatchConvoy(const std::string& convoyId, const std::string& routeId); + void trackConvoyProgress(const std::string& convoyId); + + // Infrastructure (routes visible on map, attackable) + void markInfrastructureVulnerable(const std::string& routeId, bool vulnerable); + bool isRouteSecure(const std::string& routeId) const; +}; +``` + +### Communication with Other Engines +- **Economy-Engine**: Transportation costs, supply/demand coordination +- **Factory-Engine**: Production schedules and inventory requirements +- **War-Engine**: Route security, convoy protection, infrastructure attacks +- **Map-Engine**: Route planning across multiple map scales +- **Intelligence-Engine**: Route intelligence and threat assessment + +## Key Design Documents +- `economie-logistique.md` - Complete supply chain system +- `map-system.md` - Multi-scale transport coordination +- `systeme-militaire.md` - Infrastructure vulnerability and protection +- `architecture-technique.md` - Performance requirements + +## Implementation Notes +- Routes are visible on map and can be targeted by enemies +- Multi-scale coordination requires efficient route planning +- Real-time convoy tracking and threat response +- Supply chain resilience through redundant routing \ No newline at end of file diff --git a/docs/engines/macroentity/README.md b/docs/engines/macroentity/README.md new file mode 100644 index 0000000..ca2fcaf --- /dev/null +++ b/docs/engines/macroentity/README.md @@ -0,0 +1,72 @@ +# MacroEntity-Engine Documentation + +## Engine Overview +**MacroEntity-Engine** handles companies, diplomacy, and administration points with macro-level strategic rhythm. + +**Key Responsibilities:** +- Company management (2-4 features per company) +- Diplomatic relations and sanctions +- Administration points system (1000 points/day, 1 day = 10 min real) +- Macro-level strategic decisions (~1 action every 3-5 days per company) + +## Core Systems + +### Company Management +From `mecaniques-jeu.md`: +- **Company Features**: 2-4 distinct capabilities per company +- **Strategic Focus**: Specialization in military, economic, or industrial domains +- **Company Evolution**: Gradual expansion and capability development +- **AI Behavior**: Distinct personalities and strategic preferences + +### Administration System +- **Point Allocation**: 1000 administration points per day (10 minutes real-time) +- **Action Costs**: Major decisions consume administration points +- **Daily Reset**: Fresh allocation each game day +- **Strategic Pacing**: Prevents rapid micro-management, encourages planning + +### Diplomacy System +From `coherence-problem.md`: +- **Relations Management**: Company-to-company diplomatic status +- **Economic Sanctions**: Trade restrictions and embargos +- **Military Alliances**: Coordinated defense and intelligence sharing +- **Diplomatic Actions**: Treaties, trade agreements, conflict declarations + +## Engine Architecture + +### Core Classes +```cpp +class MacroEntityEngine { + // Company management (2-4 features per company) + void createCompany(int companyId, const std::string& name); + void updateCompanyFeatures(int companyId); + + // Administration (1000 points/day, 1 day = 10 min real) + bool consumeAdminPoints(int companyId, int points); + void resetDailyAdminPoints(int companyId); + + // Diplomacy (sanctions, embargos, relations) + void setDiplomaticRelation(int company1, int company2, const std::string& relation); + void applySanctions(int targetCompany, const std::vector& sanctions); + + // Performance: ~1 action every 3-5 days per company (macro rhythm) + double getActionFrequency() const { return actionFrequency_; } +}; +``` + +### Communication with Other Engines +- **Economy-Engine**: Diplomatic trade relations, sanctions impact +- **War-Engine**: Military alliances, conflict coordination +- **Intelligence-Engine**: Diplomatic intelligence, espionage operations +- **All Engines**: Company-level decision coordination and policy implementation + +## Key Design Documents +- `mecaniques-jeu.md` - Administration and company systems +- `coherence-problem.md` - Diplomatic balance and sanctions +- `architecture-technique.md` - Macro-level performance requirements +- `economie-logistique.md` - Company economic interactions + +## Implementation Notes +- Macro rhythm: 1 action every 3-5 days prevents micro-management +- Administration points create meaningful strategic choices +- Company features provide distinct strategic identities +- Diplomatic actions have long-term consequences across all systems \ No newline at end of file diff --git a/docs/engines/map/README.md b/docs/engines/map/README.md new file mode 100644 index 0000000..286770a --- /dev/null +++ b/docs/engines/map/README.md @@ -0,0 +1,70 @@ +# Map-Engine Documentation + +## Engine Overview +**Map-Engine** handles procedural generation, chunk streaming, and multi-scale map coordination with 218+ terrain elements. + +**Key Responsibilities:** +- Procedural terrain generation with budget system (-10 to +10) +- Chunk management (64x64 tiles, streaming on demand) +- Multi-scale map coordination (World → Regional → Local → Detail) +- Fog of War coordination with Intelligence-Engine + +## Core Systems + +### Procedural Generation +From `map-system.md`: +- **218 Terrain Elements**: Comprehensive terrain feature set +- **Budget System**: -10 to +10 scoring for balanced generation +- **Millions of Combinations**: Procedural variety through element mixing +- **Scale-Appropriate Detail**: Different detail levels for each map scale + +### Chunk System +From `systemes-techniques.md`: +- **64x64 Tiles**: Standard chunk size (1m×1m tiles) +- **Streaming**: On-demand loading/unloading for memory optimization +- **Persistent Storage**: Chunk data persistence across sessions +- **Memory Management**: Automatic cleanup of unused chunks + +### Multi-Scale Architecture +- **World Scale**: Diplomatic and strategic overview +- **Regional Scale**: Logistics and major operations +- **Local Scale**: Factory and base management +- **Detail Scale**: Combat and precise operations + +## Engine Architecture + +### Core Classes +```cpp +class MapEngine { + // Chunk management (64x64 tiles, 1m×1m) + std::shared_ptr getChunk(int x, int y); + void generateChunk(int x, int y); + void unloadChunk(int x, int y); + + // FOW (granularity: chunk level) + void updateFOW(int companyId, const std::vector>& visibleChunks); + bool isChunkVisible(int companyId, int x, int y) const; + + // 218 procedural elements, budget -10 to +10 + void generateTerrain(int chunkX, int chunkY); +}; +``` + +### Communication with Other Engines +- **Intelligence-Engine**: FOW coordination and chunk visibility +- **War-Engine**: Combat terrain effects, battle locations +- **Logistic-Engine**: Route planning across multiple scales +- **Factory-Engine**: Terrain suitability for industrial development +- **All Engines**: Coordinate actions across appropriate map scales + +## Key Design Documents +- `map-system.md` - Complete multi-scale map system +- `systemes-techniques.md` - Chunk system and memory management +- `architecture-technique.md` - Performance requirements and streaming +- `coherence-problem.md` - Multi-scale coordination challenges + +## Implementation Notes +- 218 terrain elements provide rich procedural variety +- Budget system ensures balanced and interesting terrain +- Chunk streaming maintains performance with large worlds +- Multi-scale coordination requires careful data synchronization \ No newline at end of file diff --git a/docs/engines/operation/README.md b/docs/engines/operation/README.md new file mode 100644 index 0000000..d682007 --- /dev/null +++ b/docs/engines/operation/README.md @@ -0,0 +1,67 @@ +# Operation-Engine Documentation + +## Engine Overview +**Operation-Engine** handles military strategy, adaptive AI generals with machine learning, and strategic decision-making. + +**Key Responsibilities:** +- Strategic planning and AI generals with ML adaptation +- Military doctrine evolution through learning +- Battle analysis and strategy optimization +- Operational coordination across multiple engagements + +## Core Systems + +### AI General System +From `architecture-technique.md`: +- **Machine Learning Adaptation**: AI generals learn from battle results +- **Behavioral Evolution**: Strategies adapt based on success/failure patterns +- **Personality Systems**: Distinct AI general characteristics and preferences +- **Performance Tracking**: Success metrics and learning algorithms + +### Strategic Planning +From `systeme-militaire.md`: +- **Operation Coordination**: Multi-battle strategic campaigns +- **Resource Allocation**: Strategic asset distribution +- **Timing Coordination**: Synchronized multi-front operations +- **Contingency Planning**: Alternative strategies and fallback plans + +### Doctrine Evolution +- **Learning from Results**: Battle outcomes inform strategic adjustments +- **Company Doctrines**: Faction-specific strategic preferences +- **Adaptive Strategies**: Dynamic response to enemy tactics +- **Knowledge Transfer**: Successful strategies spread between AI generals + +## Engine Architecture + +### Core Classes +```cpp +class OperationEngine { + // Strategic planning and AI generals with ML + void createOperation(const std::string& operationId, const std::string& type); + void assignGeneral(const std::string& operationId, std::unique_ptr general); + void adaptBehaviorFromResults(const std::string& generalId, bool success); + + // Doctrine evolution (learning from successes/failures) + void updateDoctrine(const std::string& companyId, const std::string& lessons); + void analyzeBattleReports(const std::vector& reports); +}; +``` + +### Communication with Other Engines +- **War-Engine**: Receives battle results for learning and strategy adaptation +- **Intelligence-Engine**: Strategic intelligence and reconnaissance coordination +- **MacroEntity-Engine**: Company-level strategic goals and doctrine preferences +- **Designer-Engine**: Vehicle design requirements based on strategic needs +- **Logistic-Engine**: Strategic supply chain and operational logistics + +## Key Design Documents +- `systeme-militaire.md` - Military strategic systems +- `architecture-technique.md` - AI general ML specifications +- `mecaniques-jeu.md` - Doctrine evolution mechanics +- `coherence-problem.md` - Strategic AI balance considerations + +## Implementation Notes +- AI generals use machine learning to adapt strategies +- Battle reports provide data for strategic learning +- Doctrine evolution creates dynamic strategic environments +- Multi-operation coordination requires sophisticated planning algorithms \ No newline at end of file diff --git a/docs/engines/war/README.md b/docs/engines/war/README.md new file mode 100644 index 0000000..3ec7534 --- /dev/null +++ b/docs/engines/war/README.md @@ -0,0 +1,71 @@ +# War-Engine Documentation + +## Engine Overview +**War-Engine** handles combat simulation, multi-chunk battles, persistent frontlines, and auto-battler mechanics with player oversight. + +**Key Responsibilities:** +- Combat simulation across multiple chunks +- Persistent frontline management +- Auto-battler mechanics with strategic player control +- Battle result analysis and reporting + +## Core Systems + +### Combat System +From `systeme-militaire.md`: +- **Multi-Chunk Battles**: Combat spanning multiple 64x64 tile chunks +- **Auto-Battler Mechanics**: Automated tactical combat with strategic oversight +- **Unit Coordination**: Multi-vehicle formations and tactical maneuvers +- **Terrain Effects**: Map-based combat modifiers and tactical considerations + +### Frontline Management +- **Persistent Frontlines**: Battle lines that persist across sessions +- **Dynamic Front Movement**: Frontlines shift based on combat results +- **Strategic Control Points**: Key locations affecting frontline stability +- **Frontline Intelligence**: Reconnaissance and frontline monitoring + +### Battle Resolution +- **Real-time Combat**: Fast-paced tactical resolution +- **Player Oversight**: Strategic control without micro-management +- **Battle Reporting**: Detailed analysis for Operation-Engine learning +- **Casualty Tracking**: Unit losses and damage assessment + +## Engine Architecture + +### Core Classes +```cpp +class WarEngine { + // Combat management + void initiateBattle(const BattleSetup& setup); + void updateActiveBattles(); + BattleResult resolveBattle(int battleId); + + // Frontline system + void updateFrontlines(); + std::vector getFrontlines(int companyId) const; + void setFrontlinePosition(int segmentId, const Position& newPosition); + + // Auto-battler with player oversight + void setPlayerOversight(int battleId, const StrategicOrders& orders); + AutoBattlerResult processAutoBattle(int battleId); +}; +``` + +### Communication with Other Engines +- **Operation-Engine**: Provides battle results for strategic learning +- **Designer-Engine**: Vehicle combat effectiveness feedback +- **Intelligence-Engine**: Battle intelligence and reconnaissance data +- **Map-Engine**: Multi-chunk combat terrain coordination +- **Event-Engine**: Provides scrap data for breakthrough system + +## Key Design Documents +- `systeme-militaire.md` - Complete combat system specification +- `architecture-technique.md` - Multi-chunk battle performance +- `map-system.md` - Combat terrain integration +- `mecaniques-jeu.md` - Auto-battler mechanics and player control + +## Implementation Notes +- Multi-chunk battles require efficient spatial coordination +- Auto-battler provides engaging combat without micro-management +- Persistent frontlines create strategic territorial control +- Battle analysis feeds into strategic AI learning systems \ No newline at end of file diff --git a/docs/global/README.md b/docs/global/README.md new file mode 100644 index 0000000..54477c6 --- /dev/null +++ b/docs/global/README.md @@ -0,0 +1,17 @@ +# Warfactory - Documentation + +## Structure de la documentation + +- [Vue d'ensemble](./vue-ensemble.md) - Vision et objectifs du projet +- [Architecture technique](./architecture-technique.md) - Multi-serveurs, performance, dĂ©veloppement IA +- [SystĂšmes techniques](./systemes-techniques.md) - Tile system, mĂ©moire, chunks +- [Gameplay industriel](./gameplay-industriel.md) - Ressources, production, gameloop +- [SystĂšme militaire](./systeme-militaire.md) - VĂ©hicules, combat, IA +- [Map system](./map-system.md) - Cartes, navigation, FOW, reconnaissance +- [Économie et logistique](./economie-logistique.md) - MarchĂ©s, prix, supply chains +- [MĂ©caniques de jeu](./mecaniques-jeu.md) - Recherche, progression, simulation +- [Arbre technologique](./arbre-technologique.md) - 3000+ techs avec passerelles inter-domaines +- [MĂ©triques joueur](./metriques-joueur.md) - Analytics complĂštes, graphiques, intelligence compĂ©titive +- [Contexte narratif](./contexte-narratif.md) - Lore, gĂ©opolitique, scĂ©narios +- [DLC prĂ©vus](./dlc-prevus.md) - Extensions inspirĂ©es RimWorld +- [Updates long terme](./updates-long-terme.md) - FonctionnalitĂ©s futures \ No newline at end of file diff --git a/docs/global/arbre-technologique.md b/docs/global/arbre-technologique.md new file mode 100644 index 0000000..f320afc --- /dev/null +++ b/docs/global/arbre-technologique.md @@ -0,0 +1,973 @@ +# Arbre Technologique + +## Vue d'ensemble + +**Volume technologique** : 2000-3000 technologies organisĂ©es en **domaines interconnectĂ©s** + +**Principe des passerelles** : Expertise dans un domaine dĂ©bloque des "prototypes" dans d'autres domaines, permettant de court-circuiter les progressions linĂ©aires et d'ouvrir de nouvelles branches. + +## Philosophie Discovery & RejouabilitĂ© + +### Design Core +**Le player n'est PAS censĂ© rechercher toutes les 3000 technologies** ! Le systĂšme est conçu pour la **dĂ©couverte organique** et la **rejouabilitĂ©** : + +#### Discovery Progressive +- **Breakthrough system** : Technologies dĂ©bloquĂ©es par gameplay naturel (construction, production, combat) +- **Prerequisites gating** : Seules ~10-50 techs eligible simultanĂ©ment, jamais 3000 +- **Random element** : Chaque run = dĂ©couvertes diffĂ©rentes selon actions player +- **Organic emergence** : "Je construis → je dĂ©couvre" vs "je regarde un arbre" + +#### RejouabilitĂ© Infinie +- **3000 techs = content pool** pour expĂ©riences variĂ©es +- **Run spĂ©cialisĂ©** : Focus mĂ©tallurgie vs Ă©lectronique = paths complĂštement diffĂ©rents +- **Combinaisons nouvelles** : Passerelles crĂ©ent synergies inattendues entre runs +- **Surprises constantes** : "Wow ! Cette tech existe ?" mĂȘme aprĂšs 100h + +#### Performance & Scaling +- **Prerequisites check** : Validation ponctuelle quand conditions remplies, pas polling +- **Ticker optimisĂ©** : VĂ©rification breakthrough toutes les minutes, pas 60fps +- **Interface proven** : Similar Ă  Factorio qui gĂšre 100+ techs sans problĂšme +- **Design for scale** : Standard industrie pour gros content pools + +## MĂ©caniques des Passerelles + +### Principe Fondamental +- Chaque arbre a sa **progression linĂ©aire classique** +- Des techs d'autres arbres dĂ©bloquent des **[PROTOTYPE]** qui court-circuitent la progression +- Ces prototypes ouvrent de **nouvelles branches** dans l'arbre de destination +- **Évite le grind linĂ©aire** : Player spĂ©cialisĂ© peut accĂ©der Ă  d'autres domaines sans tout refaire + +### Types de DĂ©blocages +1. **Court-circuit** : Saute 1-3 techs de la progression linĂ©aire +2. **Nouvelle branche** : Ouvre une ligne technologique alternative +3. **Hybridation** : Combine deux domaines pour crĂ©er des technologies uniques +4. **SpĂ©cialisation** : Versions spĂ©cialisĂ©es de technologies existantes + +### Exemple Concret : ChĂąssis +**Progression classique** : +``` +ChĂąssis LĂ©ger → ChĂąssis Moyen → ChĂąssis Lourd → ChĂąssis BlindĂ© +``` + +**Passerelles depuis autres arbres** : +``` +MĂ©tallurgie AvancĂ©e → [PROTOTYPE] ChĂąssis Composite (saute ChĂąssis Moyen) + → Ouvre branche : ChĂąssis Composite → ChĂąssis Modulaire → ChĂąssis Ultra-LĂ©ger + +Électronique → [PROTOTYPE] ChĂąssis Smart (saute ChĂąssis Lourd) + → Ouvre branche : ChĂąssis Smart → ChĂąssis Adaptatif → ChĂąssis Morphing + +Moteur → [PROTOTYPE] ChĂąssis Performance + → Ouvre branche : ChĂąssis Performance → ChĂąssis Racing → ChĂąssis HypervĂ©loce +``` + +## Domaines Technologiques Principaux + +### 0. Technologies Civiles - ARBRE MASTER (~800 techs) + +**RĂŽle central** : L'arbre civil est le **backbone technologique** qui nourrit TOUS les autres domaines. Il reprĂ©sente la base industrielle, scientifique et sociale qui permet le dĂ©veloppement militaire. + +#### Structure de l'Arbre Civil + +**A. Infrastructure & Industrie de Base (~150 techs)** +``` +Outils Manuels → Machines Simples → Automation Basique → Industrie Lourde → Complexes Industriels → MĂ©ga-Usines +``` +Sous-branches : +- **Extraction** : Mines → Foreuses → Extraction AutomatisĂ©e → Mining Complexes +- **SidĂ©rurgie** : Forges → Hauts Fourneaux → AciĂ©ries → Complexes MĂ©tallurgiques +- **Chimie** : Laboratoires → Usines Chimiques → PĂ©trochimie → Nanotechnologie + +**Passerelles offertes** : +- → **MĂ©tallurgie** : [PROTOTYPE] Alliages Industriels (court-circuite Aciers SpĂ©ciaux) +- → **Production** : [PROTOTYPE] Assembly Lines (court-circuite Automation) +- → **Énergie** : [PROTOTYPE] GĂ©nĂ©rateurs Industriels + +**B. Sciences Fondamentales (~120 techs)** +``` +MathĂ©matiques → Physique → Chimie → Biologie → Sciences AvancĂ©es → Recherche Fondamentale → ThĂ©ories UnifiĂ©es +``` +Sous-branches dĂ©taillĂ©es : +- **MathĂ©matiques** : ArithmĂ©tique → AlgĂšbre → Calcul → Statistiques → Topologie → ThĂ©orie des Groupes +- **Physique** : MĂ©canique → Thermodynamique → ÉlectromagnĂ©tisme → Quantique → RelativitĂ© → Physique Exotique +- **Chimie** : Chimie de Base → Organique → PolymĂšres → Catalyse → SupramolĂ©culaire +- **Biologie** : Cellulaire → GĂ©nĂ©tique → Biotechnologie → IngĂ©nierie GĂ©nĂ©tique + +**Passerelles offertes** : +- → **Électronique** : [PROTOTYPE] Semi-Conducteurs AvancĂ©s +- → **MatĂ©riaux** : [PROTOTYPE] MatĂ©riaux Quantiques +- → **MĂ©decine** : [PROTOTYPE] Biotechnologies Militaires +- → **Énergie** : [PROTOTYPE] RĂ©acteurs AvancĂ©s + +**C. Technologies de l'Information (~100 techs)** +``` +Écriture → Imprimerie → TĂ©lĂ©graphe → TĂ©lĂ©phone → Ordinateurs → Internet → IA Civile → SingularitĂ© Info +``` +Sous-branches : +- **Calcul** : Abaque → Calculatrices → Ordinateurs → Superordinateurs → Quantique +- **RĂ©seaux** : TĂ©lĂ©graphe → TĂ©lĂ©phone → Internet → RĂ©seaux AvancĂ©s → Neural Networks +- **Stockage** : Papier → MagnĂ©tique → Optique → Quantique → MolĂ©culaire + +**Passerelles offertes** : +- → **Électronique** : [PROTOTYPE] Processeurs Civils → branch militaire +- → **Communication** : [PROTOTYPE] RĂ©seaux SĂ©curisĂ©s +- → **Capteurs** : [PROTOTYPE] Surveillance Civile + +**D. Transport & Logistique Civile (~80 techs)** +``` +Marche → Roue → Animaux → Vapeur → Moteur → Aviation → Spatial → TĂ©lĂ©portation +``` +Sous-branches : +- **Terrestre** : Pieds → VĂ©lo → Automobile → Trains → Transport de Masse +- **Maritime** : Radeaux → Voiliers → Vapeur → Cargo → Porte-Conteneurs +- **AĂ©rien** : Ballons → Avions → Jets → Supersonique → Spatial +- **Logistique** : EntrepĂŽts → Supply Chains → Automation → Distribution + +**Passerelles offertes** : +- → **Moteurs** : [PROTOTYPE] Moteurs Haute Performance +- → **ChĂąssis** : [PROTOTYPE] VĂ©hicules Civils AdaptĂ©s +- → **Logistic Engine** : [PROTOTYPE] SystĂšmes de Distribution + +**E. Énergie & Ressources (~90 techs)** +``` +Muscle → Eau → Vapeur → ÉlectricitĂ© → Fossiles → NuclĂ©aire → Renouvelables → Fusion → Exotique +``` +Sous-branches massives : +- **Renouvelables** : Éolien → Solaire → HydroĂ©lectrique → GĂ©othermique → Biomasse +- **Fossiles** : Charbon → PĂ©trole → Gaz → Raffinerie → PĂ©trochimie +- **NuclĂ©aire** : Fission → RĂ©acteurs → SĂ©curitĂ© → Fusion → RĂ©acteurs AvancĂ©s +- **Stockage** : Batteries → Supercondensateurs → Stockage Massif + +**Passerelles offertes** : +- → **Moteurs** : [PROTOTYPE] Propulsion Alternative +- → **Électronique** : [PROTOTYPE] Alimentation AvancĂ©e +- → **Armes** : [PROTOTYPE] Armes ÉnergĂ©tiques + +**F. Agriculture & Biotechnologie (~70 techs)** +``` +Cueillette → Agriculture → Élevage → SĂ©lection → MĂ©canisation → OGM → Agriculture Verticale → Bio-usines +``` +Sous-branches : +- **Crops** : CĂ©rĂ©ales → LĂ©gumes → Fruits → Plantes Industrielles → OGM +- **Élevage** : Domestication → SĂ©lection → Élevage Intensif → Clonage +- **Bio-industrie** : Fermentation → Biocarburants → Pharmaceutiques → BiomatĂ©riaux + +**Passerelles offertes** : +- → **MĂ©decine** : [PROTOTYPE] Pharmacologie Militaire +- → **MatĂ©riaux** : [PROTOTYPE] BiomatĂ©riaux +- → **Énergie** : [PROTOTYPE] Biocarburants AvancĂ©s + +**G. MĂ©decine & Sciences de la Vie (~60 techs)** +``` +Herboristerie → Anatomie → Chirurgie → Antibiotiques → MĂ©decine Moderne → GĂ©nĂ©tique → Augmentation +``` +Sous-branches : +- **Diagnostics** : Observation → Rayons X → Scanners → Diagnostics MolĂ©culaires +- **Traitements** : Chirurgie → MĂ©dicaments → ThĂ©rapie GĂ©nique → Nanotechnologie MĂ©dicale +- **Augmentation** : ProthĂšses → Implants → CybernĂ©tique → Enhancement GĂ©nĂ©tique + +**Passerelles offertes** : +- → **Électronique** : [PROTOTYPE] Biocapteurs +- → **MatĂ©riaux** : [PROTOTYPE] MatĂ©riaux Biocompatibles +- → **IA** : [PROTOTYPE] IA MĂ©dicale → IA Militaire + +**H. Sciences Sociales & Organisation (~80 techs)** +``` +Tribus → Villages → CitĂ©s → États → Organisations → Corporations → Gouvernance Mondiale +``` +Sous-branches : +- **Gouvernance** : Monarchie → DĂ©mocratie → Bureaucratie → E-gouvernement +- **Économie** : Troc → Monnaie → Banques → MarchĂ©s → Économie NumĂ©rique +- **Education** : Oral → Écrit → UniversitĂ©s → Recherche → Education de Masse +- **MĂ©dia** : Oral → Écrit → ImprimĂ© → Radio/TV → Internet → RĂ©alitĂ© Virtuelle + +**Passerelles offertes** : +- → **Communication** : [PROTOTYPE] Propagande Moderne +- → **IA** : [PROTOTYPE] IA Sociale +- → **Capteurs** : [PROTOTYPE] Surveillance Sociale + +#### MĂ©caniques SpĂ©ciales de l'Arbre Civil + +**1. DĂ©blocage en Cascade** +Une tech civile peut dĂ©bloquer des passerelles dans **MULTIPLES domaines** : +``` +"Internet" → [PROTOTYPE] RĂ©seaux Militaires (Communication) + → [PROTOTYPE] Guerre Électronique (EW) + → [PROTOTYPE] IA DistribuĂ©e (Électronique) + → [PROTOTYPE] Logistique Intelligente (Transport) +``` + +**2. PrĂ©requis Civils Obligatoires** +Certaines techs militaires **EXIGENT** des bases civiles : +- Armes GuidĂ©es → NĂ©cessite "Électronique Civile" +- VĂ©hicules Autonomes → NĂ©cessite "IA Civile" +- MatĂ©riaux AvancĂ©s → NĂ©cessite "Sciences des MatĂ©riaux" + +**3. Synergie Économie-Recherche** +- Techs civiles influencent la **capacitĂ© Ă©conomique** de production +- Plus de tech civile = plus de **research points** gĂ©nĂ©rĂ©s +- Certaines techs civiles dĂ©bloquent des **bĂątiments de recherche** spĂ©cialisĂ©s + +**4. ÉvĂšnements de Tech-Transfer** +- Events alĂ©atoires : "DĂ©couverte civile" → breakthrough militaire inattendu +- "Dual-use technology" : Tech civile automatiquement adaptĂ©e au militaire +- "Brain-drain" : Scientifiques civils → boost recherche militaire + +#### Exemples Concrets de Passerelles Civile → Militaire + +**Chimie Agricole → Explosifs** : +``` +Agriculture : Engrais AzotĂ©s → [PROTOTYPE] Explosifs Artisanaux + → [PROTOTYPE] Nitrate d'Ammonium → Explosifs Industriels + → [PROTOTYPE] Pesticides → Armes Chimiques + → [PROTOTYPE] Fertilisants → Propergols Roquettes + +PĂ©trochimie : Plastiques → [PROTOTYPE] Explosifs Plastiques + → [PROTOTYPE] PolymĂšres → Propergols Solides + → [PROTOTYPE] Solvants → Carburants Militaires +``` + +**MĂ©decine → Applications Militaires** : +``` +Pharmacologie : AnesthĂ©siques → [PROTOTYPE] Gaz Incapacitants + → [PROTOTYPE] Stimulants → Drogues de Combat + → [PROTOTYPE] Antibiotiques → Protection NBC + +Chirurgie : Traumatologie → [PROTOTYPE] MĂ©decine de Guerre + → [PROTOTYPE] ProthĂšses → Augmentations Militaires + → [PROTOTYPE] AnalgĂ©siques → Stims de Combat +``` + +**Électronique Civile → Militaire** : +``` +TĂ©lĂ©communications : GPS Civil → [PROTOTYPE] Navigation Militaire + → [PROTOTYPE] Satellites → Reconnaissance Spatiale + → [PROTOTYPE] Internet → Cyberguerre + +Gaming : Processeurs Graphiques → [PROTOTYPE] Simulation Balistique + → [PROTOTYPE] RĂ©alitĂ© Virtuelle → EntraĂźnement Militaire + → [PROTOTYPE] IA de Jeu → IA Tactique +``` + +**Transport Civil → Applications Militaires** : +``` +Aviation Civile : Moteurs Civils → [PROTOTYPE] Moteurs Militaires + → [PROTOTYPE] Navigation AĂ©rienne → SystĂšmes Guidage + → [PROTOTYPE] Drones Livraison → Drones Militaires + +Automobile : Moteurs Performance → [PROTOTYPE] VĂ©hicules BlindĂ©s + → [PROTOTYPE] SystĂšmes Hybrides → VĂ©hicules Furtifs + → [PROTOTYPE] Autonomous Cars → VĂ©hicules Autonomes Militaires +``` + +**Sciences des MatĂ©riaux → Applications Militaires** : +``` +Industrie : Alliages LĂ©gers → [PROTOTYPE] Blindages Composites + → [PROTOTYPE] CĂ©ramiques → Plaques Balistiques + → [PROTOTYPE] Fibres Carbone → Casques AvancĂ©s + → [PROTOTYPE] NanomatĂ©riaux → FurtivitĂ© AvancĂ©e + +Construction : BĂ©ton Haute RĂ©sistance → [PROTOTYPE] Bunkers AvancĂ©s + → [PROTOTYPE] Aciers SpĂ©ciaux → Blindages RĂ©actifs +``` + +**Énergie Civile → Applications Militaires** : +``` +NuclĂ©aire Civil : RĂ©acteurs → [PROTOTYPE] Propulsion NuclĂ©aire + → [PROTOTYPE] Isotopes → Armes Radiologiques + → [PROTOTYPE] Fusion ContrĂŽlĂ©e → Armes ThermonuclĂ©aires + +Renouvelables : Panneaux Solaires → [PROTOTYPE] Alimentation Terrain + → [PROTOTYPE] Batteries → SystĂšmes Autonomes + → [PROTOTYPE] Supercondensateurs → Armes ÉnergĂ©tiques +``` + +**Agriculture → Applications Militaires** : +``` +Biotechnologie : GĂ©nĂ©tique VĂ©gĂ©tale → [PROTOTYPE] Bioarmes + → [PROTOTYPE] Fermentation → Production Explosifs + → [PROTOTYPE] Enzymes → DĂ©contamination NBC + +MĂ©canisation : Tracteurs → [PROTOTYPE] VĂ©hicules Logistiques + → [PROTOTYPE] GPS Agricole → Navigation Militaire + → [PROTOTYPE] Drones Agricoles → Surveillance/Attack Drones +``` + +**Total Passerelles Civile → Militaire** : ~40-50 prototypes +- Chaque domaine civil offre 5-8 passerelles militaires +- Certaines techs civiles dĂ©bloquent dans PLUSIEURS domaines militaires +- Progression naturelle : applications civiles → adaptations militaires + +### 1. MĂ©tallurgie & MatĂ©riaux (~300 techs) + +#### Progression Principale Étendue +``` +MĂ©taux de Base → Alliages Simples → Aciers SpĂ©ciaux → MĂ©taux LĂ©gers → Composites → Superalliages → MatĂ©riaux Quantiques → MatĂ©riaux Exotiques +``` + +#### Sous-branches DĂ©taillĂ©es + +**A. MatĂ©riaux Traditionnels & Naturels (70 techs)** +- **MĂ©taux de Base** : Fer → Cuivre → Bronze → Acier → Acier Carbone → Fonte → Acier Doux (10 techs) +- **Alliages Simples** : Laiton → Acier Inox → Chrome → Nickel → Cobalt → Zinc → Étain (10 techs) +- **Aciers SpĂ©ciaux** : Haute RĂ©sistance → Rapide → Inoxydable → Outillage → Ressorts → Maraging (10 techs) +- **Traitements MĂ©talliques** : Trempe → Recuit → CĂ©mentation → Nitruration → Chromage → Galvanisation (10 techs) +- **Bois & DĂ©rivĂ©s** : Bois Massif → ContreplaquĂ© → AgglomĂ©rĂ© → Bois PressĂ© → Bois LamellĂ© → MDF → OSB → Bois TraitĂ© → Bois DensifiĂ© → Bois Composite (15 techs) +- **BĂ©tons & Ciments** : Mortier → BĂ©ton Simple → BĂ©ton ArmĂ© → BĂ©ton PrĂ©contraint → BĂ©ton Romain (Auto-RĂ©parant) → BĂ©ton FibrĂ© → BĂ©ton Ultra-Haute Performance → BĂ©ton Translucide → BĂ©ton Auto-Plaçant → GĂ©opolymĂšres → BĂ©ton LĂ©ger → BĂ©ton Lourd (15 techs) + +**B. MĂ©taux LĂ©gers & AvancĂ©s (40 techs)** +- **Aluminium** : Pur → Alliages 2xxx → 6xxx → 7xxx → AĂ©ronautique → Ultra-LĂ©ger (12 techs) +- **Titane** : Grade 1 → Grade 2 → Ti-6Al-4V → AĂ©rospatial → Bio-compatible → Beta-Titane (12 techs) +- **MagnĂ©sium** : Pur → AZ Series → AM Series → Structural → Ignifuge → Ultra-LĂ©ger (10 techs) +- **Lithium & Rares** : Lithium → BĂ©ryllium → Terres Rares → Scandium → MĂ©taux Exotiques (6 techs) + +**C. MatĂ©riaux Composites (55 techs)** +- **Fibres de Base** : Verre E → Verre S → Carbone T300 → T700 → T800 → Aramide → Basalte → Lin (15 techs) +- **Matrices** : Époxy → Polyester → Vinylester → Thermoplastiques → PEEK → Bio-rĂ©sines (12 techs) +- **Composites AvancĂ©s** : Sandwich → Tissage 3D → Nanotubes → GraphĂšne → Fibres Hybrides → RTM (18 techs) +- **Composites MĂ©talliques** : MĂ©tal-Matrice → CĂ©ramique-MĂ©tal → Hybrides → MMC Aluminium (10 techs) + +**D. MatĂ©riaux Intelligents & Programmables (45 techs)** +- **Smart Materials** : MĂ©moire de Forme → PiĂ©zoĂ©lectriques → MagnĂ©torhĂ©ologiques → ÉlectrorhĂ©ologiques → Thermochromiques (15 techs) +- **NanomatĂ©riaux** : Nanoparticules → Nanotubes → GraphĂšne → FullerĂšnes → Quantum Dots → Nanocomposites (15 techs) +- **MatĂ©riaux Programmables** : Auto-Assemblage → Reconfigurables → Adaptatifs → Morphing → 4D Printing (10 techs) +- **Bio-matĂ©riaux** : Bio-inspirĂ©s → Vivants → Auto-RĂ©parants → Évolutifs → Biocompatibles (5 techs) + +**E. Blindages & Protection (35 techs)** +- **Blindages Passifs** : HomogĂšne → Composite → EspacĂ© → Modulaire → LaminĂ© → Multi-Couches (12 techs) +- **Blindages RĂ©actifs** : ERA → NERA → Smart Armor → Adaptatif → Électrique → MagnĂ©tique (12 techs) +- **Protection AvancĂ©e** : FurtivitĂ© → Multi-Spectral → CamĂ©lĂ©on → Phase-Change → Plasma (11 techs) + +**F. MatĂ©riaux Exotiques & Quantiques (25 techs)** +- **Supraconducteurs** : Haute TempĂ©rature → Ambiants → Quantiques → Organiques → Cuprates (8 techs) +- **MĂ©tamatĂ©riaux** : Optiques → RF → Acoustiques → MĂ©caniques → Plasmoniques → Photoniques (10 techs) +- **MatĂ©riaux Quantiques** : Cristaux Temporels → Topologiques → Plasma → AntimatiĂšre → MatiĂšre Noire → Dimensions SupĂ©rieures → SingularitĂ©s ContrĂŽlĂ©es (7 techs) + +#### Passerelles Offertes Étendues +- → **ChĂąssis** : [PROTOTYPE] ChĂąssis Composite (court-circuite ChĂąssis Moyen) +- → **ChĂąssis** : [PROTOTYPE] ChĂąssis Ultra-LĂ©ger (court-circuite ChĂąssis Lourd) +- → **Armement** : [PROTOTYPE] Canon LĂ©ger (court-circuite Artillerie de Base) +- → **Armement** : [PROTOTYPE] Blindage RĂ©actif (court-circuite Protection Passive) +- → **Électronique** : [PROTOTYPE] Dissipateurs AvancĂ©s +- → **Électronique** : [PROTOTYPE] Supraconducteurs (court-circuite Refroidissement) +- → **Transport** : [PROTOTYPE] VĂ©hicules Ultra-LĂ©gers +- → **Énergie** : [PROTOTYPE] Stockage Supraconducteur +- → **Capteurs** : [PROTOTYPE] Optiques AvancĂ©es + +### 2. ChĂąssis & Structures (~100 techs) + +#### Progression Principale +``` +ChĂąssis LĂ©ger → ChĂąssis Moyen → ChĂąssis Lourd → ChĂąssis BlindĂ© → ChĂąssis Modulaire +``` + +#### Branches Classiques Focus +- **LĂ©gers** : ChĂąssis Scout → ChĂąssis Reconnaissance → ChĂąssis Infiltration (20 techs) +- **Moyens** : ChĂąssis Transport → ChĂąssis Polyvalent → ChĂąssis Support (20 techs) +- **Lourds** : ChĂąssis Bataille → ChĂąssis Assault → ChĂąssis Forteresse (20 techs) + +#### Branches DĂ©bloquĂ©es par Passerelles (40 techs) +- **MĂ©tallurgie** → [PROTOTYPE] ChĂąssis Composite → ChĂąssis Ultra-LĂ©ger → ChĂąssis Furtif +- **Électronique** → [PROTOTYPE] ChĂąssis Smart → ChĂąssis Adaptatif → ChĂąssis IA +- **Moteurs** → [PROTOTYPE] ChĂąssis Performance → ChĂąssis Racing → ChĂąssis HypervĂ©loce + +#### Passerelles Offertes +- → **Armement** : [PROTOTYPE] Tourelles StabilisĂ©es +- → **Capteurs** : [PROTOTYPE] Plateformes Sensorielles + +### 3. Électronique & Informatique (~400 techs) + +#### Progression Principale Étendue +``` +Circuits de Base → Processeurs → IA Basique → IA AvancĂ©e → IA Militaire → IA Autonome → IA Symbiotique → Conscience Artificielle +``` + +#### Sous-branches Massives +- **Processeurs** : CPU → GPU → Quantique → Neuromorphique → Bio-processeurs (80 techs) +- **Capteurs Électroniques** : Optiques → Thermiques → Radars → Multi-spectraux → Quantiques (60 techs) +- **IA & Machine Learning** : Expert Systems → ML → Neural Networks → Deep Learning → AGI (100 techs) +- **MicroĂ©lectronique** : Circuits IntĂ©grĂ©s → Nanopuces → Quantique → MolĂ©culaire (80 techs) +- **SystĂšmes EmbarquĂ©s** : ContrĂŽleurs → Temps RĂ©el → DistribuĂ©s → Autonomes (80 techs) + +#### Passerelles Offertes +- → **Armement** : [PROTOTYPE] Viseurs Intelligents +- → **ChĂąssis** : [PROTOTYPE] ChĂąssis Smart +- → **Communication** : [PROTOTYPE] Guerre Électronique +- → **Capteurs** : [PROTOTYPE] Radars Adaptatifs +- → **Transport** : [PROTOTYPE] VĂ©hicules Autonomes + +### 4. Moteurs & Propulsion (~150 techs) + +#### Progression Principale ResserrĂ©e +``` +Moteurs Diesel → Moteurs Turbo → Moteurs Hybrides → Moteurs Électriques → Propulsion Alternative +``` + +#### Sous-branches Focus +- **Thermiques** : Diesel → Essence → Turbine → Fusion (40 techs) +- **Électriques** : Batteries → Supercondensateurs → Pile Ă  Combustible (35 techs) +- **Hybrides** : SĂ©rie → ParallĂšle → Plug-in → Intelligent (25 techs) +- **Exotiques** : Ionique → Plasma → AntigravitĂ© → Propulsion Spatiale (50 techs) + +#### Passerelles Offertes +- → **ChĂąssis** : [PROTOTYPE] ChĂąssis Performance +- → **Transport** : [PROTOTYPE] Transport Rapide +- → **Aviation** : [PROTOTYPE] Moteurs AĂ©ro +- → **Naval** : [PROTOTYPE] Propulsion Marine + +### 5. Armement & Munitions (~400 techs) + +#### Progression Principale Massive +``` +Armes LĂ©gĂšres → Artillerie → Missiles → Armes GuidĂ©es → Armes Intelligentes → Armes ÉnergĂ©tiques → Armes Exotiques +``` + +#### Sous-branches Ultra-DĂ©taillĂ©es +- **Armes LĂ©gĂšres** : Fusils → Mitrailleuses → Armes SpĂ©cialisĂ©es → Smart Weapons (80 techs) +- **Artillerie** : Canons → Mortiers → Artillery Guided → Railguns → Plasma Cannons (100 techs) +- **Missiles** : Roquettes → Missiles GuidĂ©s → Missiles Intelligents → Essaims → Hypersoniques (120 techs) +- **Armes ÉnergĂ©tiques** : Lasers → Plasma → Particle Beams → Weapons Exotiques (100 techs) + +#### Branches DĂ©bloquĂ©es par Passerelles +- **MĂ©tallurgie** → [PROTOTYPE] Canon LĂ©ger → Artillerie Composite → Canons ElectromagnĂ©tiques +- **Électronique** → [PROTOTYPE] Viseurs Intelligents → Armes Autonomes → Essaims de Combat +- **Moteurs** → [PROTOTYPE] Missiles Hypersoniques → Projectiles CinĂ©tiques + +### 6. Capteurs & Reconnaissance (~200 techs) + +#### Progression Principale +``` +Optiques de Base → Radars → Capteurs Multispectraux → Reconnaissance Satellite → Intel Fusion → Omniscience +``` + +#### Exemple DĂ©taillĂ© : Évolution Radar +- **Proto radar** : Composant 6x6, 2kw, fiabilitĂ© 50% +- **Recherche radar 1** : Composant 5x5, 2kw, fiabilitĂ© 60% + sous-composant Ă©lectronique 4x4, 500w, fiabilitĂ© 20% +- **Recherche radar 2** : Composant 8x3, 1.5kw, fiabilitĂ© 80% +- **Radar AvancĂ©** : Composant 6x2, 1kw, fiabilitĂ© 95% + mode stealth +- **Radar Quantique** : Composant 4x2, 500w, fiabilitĂ© 99% + pĂ©nĂ©tration furtivitĂ© + +### 7. Communication & Guerre Électronique (~100 techs) + +#### Progression Principale Focus +``` +Radio → Communications SĂ©curisĂ©es → RĂ©seaux Tactiques → Guerre Électronique → Cyber Warfare +``` + +#### Sous-branches ConcentrĂ©es +- **Communications** : Radio → CryptĂ© → Satellites → RĂ©seaux Mesh (30 techs) +- **Guerre Électronique** : Jamming → SIGINT → ELINT → Cyber Ops (40 techs) +- **RĂ©seaux** : P2P → Tactiques → StratĂ©giques → Quantiques (30 techs) + +### 8. Transport & Logistique (~60 techs) + +#### Progression Principale Streamline +``` +VĂ©hicules de Base → Transport Lourd → Rail → Transport Maritime → Hyperloop +``` + +#### Sous-branches Essentielles +- **Terrestre** : Camions → Convois → Trains → Hyperloop (20 techs) +- **Maritime** : Cargos → Porte-Conteneurs → Transport Rapide (15 techs) +- **AĂ©rien** : Cargo → Transport StratĂ©gique → Orbital (15 techs) +- **Logistique** : Supply Chains → Distribution → Automation (10 techs) + +### 9. Production & Assembly (~100 techs) + +#### Progression Principale Efficace +``` +Assembly Manuel → Automation → Robotique → Nano-Assembly → Fabrication MolĂ©culaire +``` + +#### Sous-branches Focus +- **Automation** : ChaĂźnes → Robots → IA Production (30 techs) +- **QualitĂ©** : ContrĂŽle → PrĂ©cision → Perfectionnement (25 techs) +- **Vitesse** : Optimisation → ParallĂ©lisation → InstantanĂ© (25 techs) +- **FlexibilitĂ©** : Modulaire → Adaptatif → Reconfigurable (20 techs) + +### 10. Énergie & Alimentation (~100 techs) + +#### Progression Principale CondensĂ©e +``` +GĂ©nĂ©rateurs de Base → Énergie Renouvelable → Batteries AvancĂ©es → Fusion → Anti-matiĂšre +``` + +#### Sous-branches ConcentrĂ©es +- **GĂ©nĂ©ration** : Fossiles → NuclĂ©aire → Fusion → Exotique (35 techs) +- **Renouvelables** : Solaire → Éolien → GĂ©othermique → Bio (25 techs) +- **Stockage** : Batteries → Supercaps → Stockage Massif (25 techs) +- **Distribution** : RĂ©seaux → Smart Grids → Sans-fil (15 techs) + +## MĂ©caniques AvancĂ©es des Passerelles + +### Passerelles Multi-Domaines +Certains prototypes nĂ©cessitent expertise dans **plusieurs domaines** : + +``` +MĂ©tallurgie AvancĂ©e + Électronique → [PROTOTYPE] Armure RĂ©active + → Nouvelle branche : DĂ©fenses Adaptatives + +Moteurs + Communication → [PROTOTYPE] VĂ©hicules CoordinĂ©s + → Branche : Essaims Terrestres + +IA + Capteurs + Armement → [PROTOTYPE] Tourelles Autonomes + → Branche : DĂ©fenses Intelligentes + +MatĂ©riaux + Moteurs + IA → [PROTOTYPE] VĂ©hicules Morphing + → Branche : Technologie Adaptive +``` + +### Profondeur et Distribution Finale +- **Technologies Civiles** : 800 techs (backbone) +- **MĂ©tallurgie & MatĂ©riaux** : 300 techs +- **ChĂąssis & Structures** : 100 techs +- **Électronique & Informatique** : 400 techs +- **Moteurs & Propulsion** : 150 techs +- **Armement & Munitions** : 400 techs +- **Capteurs & Reconnaissance** : 200 techs +- **Communication & Guerre Électronique** : 100 techs +- **Transport & Logistique** : 60 techs +- **Production & Assembly** : 100 techs +- **Énergie & Alimentation** : 100 techs + +**Total estimĂ©** : 2710 technologies + ~300 passerelles inter-domaines = **~3000 technologies** avec progression non-linĂ©aire ultra-riche + +## Interface Utilisateur - Vues Modulaires + +### Principe des Vues FocalisĂ©es +Pour Ă©viter l'overwhelm des 3000 technologies, l'interface propose des **vues modulaires** permettant de se concentrer sur des progressions spĂ©cifiques. + +### Vue "Arbre LinĂ©aire" + +**Fonctionnement** : +1. Player **sĂ©lectionne une tech racine** (ex: "MĂ©taux de Base", "Circuits de Base", "Moteurs Diesel") +2. L'interface affiche **uniquement l'arbre de progression linĂ©aire** Ă  partir de cette racine +3. **Pas de passerelles** affichĂ©es → focus sur la progression naturelle du domaine +4. **SystĂšme Discovery** : Les techs sans breakthrough ne sont **JAMAIS** visibles (principe Ymir) + +### Exemples Concrets + +**Exemple 1 : Tech Racine "MĂ©taux de Base"** +``` +MĂ©taux de Base +├── Fer [RECHERCHÉ] ✅ +├── Cuivre [RECHERCHÉ] ✅ +├── Bronze [DISPONIBLE] 🔓 +├── Acier [DISPONIBLE] 🔓 +├── Acier Carbone [VERROUILLÉ] 🔒 +└── Fonte [INCONNU] ❓ (si toggle OFF) +``` + +**Exemple 2 : Discovery Progressive "Radar"** + +**Run 1 - Player dĂ©butant** : +``` +Proto Radar +├── [RECHERCHÉ] Proto radar (6x6, 2kw, 50% fiabilitĂ©) ✅ +└── [DISPONIBLE] Recherche radar 1 (5x5, 2kw, 60% fiabilitĂ©) 🔓 + +?? Plus de techs radar disponibles ?? +``` + +**Run 2 - Player a fait breakthrough "Scrap Radar Militaire"** : +``` +Proto Radar +├── [RECHERCHÉ] Proto radar ✅ +├── [RECHERCHÉ] Recherche radar 1 ✅ +├── [DISPONIBLE] Recherche radar 2 (8x3, 1.5kw, 80% fiabilitĂ©) 🔓 +└── [BREAKTHROUGH] Radar Militaire (4x4, 1kw, 70% fiabilitĂ©, mode furtif) đŸ”„ + +💡 "Wow ! Je ne savais pas que ça existait !" +``` + +**Run 5 - Player expĂ©rimentĂ©** : +``` +Proto Radar +├── [RECHERCHÉ] Proto radar ✅ +├── [RECHERCHÉ] Recherche radar 1 ✅ +├── [RECHERCHÉ] Recherche radar 2 ✅ +├── [BREAKTHROUGH] Radar Militaire ✅ +├── [BREAKTHROUGH] Radar Adaptatif (dĂ©couvert via scrap drone) đŸ”„ +├── [AVAILABLE] Radar Quantique (dĂ©bloquĂ© par Radar Adaptatif) 🔓 +└── [BREAKTHROUGH] Radar Multispectral (dĂ©couvert via capture satellite) đŸ”„ +``` + +### États des Technologies + +**Couleurs/IcĂŽnes** : +- ✅ **RECHERCHÉ** : Vert, disponible pour utilisation +- 🔓 **DISPONIBLE** : Jaune, peut ĂȘtre recherchĂ© maintenant +- 🔒 **VERROUILLÉ** : Rouge, prĂ©requis manquants +- đŸ”„ **BREAKTHROUGH** : Orange, dĂ©couvert via scrap/capture/Ă©vĂ©nement +- 🔗 **PASSERELLE** : Bleu, accessible via autre domaine (vue sĂ©parĂ©e) + +### ContrĂŽles Interface + +**SĂ©lecteur Tech Racine** : +``` +Domaine: [MĂ©tallurgie â–Œ] +Tech Racine: [MĂ©taux de Base â–Œ] [Alliages Simples â–Œ] [Aciers SpĂ©ciaux â–Œ] +``` + +**Options d'Affichage** : +``` +☑ Montrer prĂ©requis dĂ©taillĂ©s +☑ Montrer coĂ»ts de recherche +☐ Mode compact +``` + +## Breakthrough Tech System (À la Ymir) + +### Principe Fondamental +**TOUTE** technologie nĂ©cessite un **breakthrough** avant d'ĂȘtre recherchable. Pas de tech tree visible - systĂšme de dĂ©couverte organique basĂ© sur l'expĂ©rience de jeu. + +### MĂ©caniques Core + +#### 1. Conditions de Breakthrough +Chaque tech a des **conditions de dĂ©couverte** variĂ©es : + +#### State-Based vs Historic Validation + +**State-Based Conditions (PrĂ©fĂ©rĂ©es)** : +- **Avoir** 5 radars actifs → breakthrough "Radar AvancĂ©" +- **Avoir** 10 usines simultanĂ©ment → breakthrough "Automation Industrielle" +- **Avoir** 20 tourelles dĂ©ployĂ©es → breakthrough "DĂ©fenses IntĂ©grĂ©es" +- **Avoir** 1M€ en banque → breakthrough "Capital Industriel" + +**Historic + Counters (Minimales)** : +- **Total produit** : 1000t acier (compteur cumulatif simple) +- **Designs créés** : 50 vĂ©hicules (compteur simple) +- **Ventes cumulĂ©es** : 100k€ sur marchĂ© (compteur simple) + +**Triggers ÉvĂ©nementiels (Pas de stockage)** : +- **Concevoir vĂ©hicule** avec 5+ composants Ă©lectroniques → check immĂ©diat +- **Exporter vers nouveau pays** → check immĂ©diat +- **Rechercher tech** → check dĂ©pendances immĂ©diat + +### Optimisation MĂ©moire - System Design + +#### DonnĂ©es State Actuelles (Toujours en RAM) +```cpp +struct PlayerState { + // Installations actives + int active_radars = 0; + int active_factories = 0; + int deployed_turrets = 0; + + // Finances actuelles + long current_money = 0; + + // Technologies recherchĂ©es (BitSet) + bitset<3000> researched_techs; + + // Pays d'export actifs (Set) + set export_countries; +} +``` + +#### Compteurs Cumulatifs (Minimal Historic) +```cpp +struct LifetimeCounters { + // Production totale (compteurs simples) + long total_steel_produced = 0; + long total_vehicles_designed = 0; + long total_revenue = 0; + + // ÉvĂ©nements majeurs (flags) + bool designed_composite_vehicle = false; + bool designed_autonomous_system = false; + bool exported_to_5_countries = false; +} +``` + +#### Validation en Temps RĂ©el +```cpp +// Trigger immĂ©diat lors d'Ă©vĂ©nements +void OnVehicleDesigned(Design vehicle) { + if (vehicle.hasComponentType(ELECTRONIC) >= 5) { + TriggerBreakthroughCheck("Electronic_Embedded"); + } + + if (vehicle.hasComposite()) { + counters.designed_composite_vehicle = true; + TriggerBreakthroughCheck("Advanced_Protection"); + } +} + +void OnRadarBuilt() { + state.active_radars++; + if (state.active_radars >= 5) { + TriggerBreakthroughCheck("Advanced_Radar"); + } +} +``` + +#### Exemples OptimisĂ©s + +**Breakthrough "Radar AvancĂ©"** : +``` +Conditions: +✅ State: active_radars >= 5 (check continu) +✅ State: researched_techs[RADAR_BASIC] == true +❌ Pas: "avoir dĂ©tectĂ© 100 unitĂ©s" (trop coĂ»teux Ă  tracker) +``` + +**Breakthrough "Automation Industrielle"** : +``` +Conditions: +✅ State: active_factories >= 10 +✅ Counter: total_vehicles_designed >= 100 +✅ Event: designed_autonomous_system == true +``` + +**Breakthrough "Commerce International"** : +``` +Conditions: +✅ State: export_countries.size() >= 5 +✅ Counter: total_revenue >= 1000000 +❌ Pas: "historique des ventes dĂ©taillĂ©" (trop coĂ»teux) +``` + +#### 2. Random Ticker System +- Condition remplie → **random chance** chaque tick de dĂ©couvrir le breakthrough +- ProbabilitĂ© augmente avec le temps (Ă©vite frustration) +- **Pas instantanĂ©** → crĂ©e suspense et anticipation + +#### 3. MĂ©thodes de Force +**Scrap Analysis** : +- Étudier Ă©quipement ennemi → breakthrough garanti (mais coĂ»teux) +- "Tu Ă©tudies ce radar captured → dĂ©couvres Radar Militaire" + +**Reverse Engineering** : +- Acheter produit sur marchĂ© → dĂ©composer → breakthrough +- ConsĂ©quences diplomatiques mais accĂšs garanti + +**Design Study** : +- Analyser designs capturĂ©s → breakthrough composants spĂ©cifiques + +#### 4. Trading de Breakthroughs +**MarchĂ© des connaissances** : +- **Breakthrough ≠ tech researched** → breakthrough = accĂšs Ă  la recherche +- Companies peuvent vendre/acheter l'accĂšs aux recherches +- Prix selon raretĂ© et demande +- Créé Ă©conomie de l'innovation + +### Exemples Concrets + +#### Progression "Radar" +``` +Base: Proto Radar (toujours disponible) + +Breakthrough "Radar 1": +├── Condition A: Avoir 3 radars opĂ©rationnels pendant 10 jours +├── Condition B: DĂ©tecter 100 unitĂ©s ennemies +└── Force: Scrap "Radar militaire ukrainien" + +Breakthrough "Radar Adaptatif": +├── Condition A: Avoir recherchĂ© Radar 1 + IA Basique +├── Condition B: Concevoir vĂ©hicule avec radar + 3 capteurs +└── Force: Reverse engineer "Radar AESA commercial" + +Breakthrough "Radar Quantique": +├── Condition A: RecherchĂ© Radar Adaptatif + Physique Quantique +├── Condition B: Avoir 50M€ investis en R&D +└── Event: "DĂ©couverte scientifique" (rare, 1-2 niveaux max) +``` + +#### Progression "MĂ©tallurgie" +``` +Base: MĂ©taux de Base (toujours disponible) + +Breakthrough "Aciers SpĂ©ciaux": +├── Condition A: Produire 1000t d'acier standard +├── Condition B: Construire 5 hauts fourneaux +└── Force: Scrap "Blindage de tank" + +Breakthrough "Alliages LĂ©gers": +├── Condition A: Avoir Aciers SpĂ©ciaux + exporter 500t mĂ©tal +├── Condition B: Designer vĂ©hicule nĂ©cessitant poids rĂ©duit +└── Force: Purchase "Alliage aĂ©ronautique" + +Breakthrough "MatĂ©riaux Composites": +├── Condition A: 3 techs mĂ©tallurgie + 2 techs chimie +├── Condition B: Commande client "vĂ©hicule ultra-lĂ©ger" +└── Multiple forces: Scrap composite, reverse engineer, etc. +``` + +### Impacts Gameplay + +#### Discovery Organique +- **Pas de tech tree** → player dĂ©couvre par expĂ©rience +- **Gameplay naturel** → "Je produis → je dĂ©couvre" +- **Surprise constante** → "Oh ! Nouvelle tech disponible !" +- **Emergent progression** → chaque partie unique + +#### Companies IA +- **MĂȘme systĂšme** → IA dĂ©couvre par leurs actions +- **SpĂ©cialisations naturelles** → Company "Metal" dĂ©couvre mĂ©tal faster +- **CompĂ©tition rĂ©aliste** → Qui dĂ©couvre en premier ? +- **Tech transfer** → IA peut vendre breakthroughs au player + +#### Event System +- **Breakthrough events** → dĂ©couvertes alĂ©atoires limitĂ©es (1-2 niveaux max) +- **Scientific conferences** → Ă©change breakthroughs +- **Industrial espionage** → voler breakthroughs competitors +- **Government funding** → accĂ©lĂšre dĂ©couvertes civiles + +### Interface AdaptĂ©e + +#### Vue "Recherches Disponibles" +``` +🔬 RECHERCHES DISPONIBLES +├── Acier SpĂ©cial (MĂ©tallurgie) - 100 unitĂ©s fer + 50 charbon - 3 jours +├── Radar 1 (Capteurs) - 200 composants Ă©lectroniques - 5 jours +└── Moteur Hybride (Propulsion) - 50 batteries + 2 moteurs - 7 jours + +🎯 BREAKTHROUGHS PROCHES (conditions presque remplies) +├── MatĂ©riaux Composites - Recherche 1 tech chimie de plus (2/3) +├── IA Tactique - Construis 3 vĂ©hicules autonomes de plus (2/5) +└── DĂ©fenses AvancĂ©es - Produis 200 tourelles de plus (150/350) + +💡 BREAKTHROUGH FORCÉ +├── Analyse Scrap: Tank T-72 → "Blindage RĂ©actif" (coĂ»t: 5000€) +├── Reverse Engineer: GPS Civil → "Navigation PrĂ©cise" (coĂ»t: 2000€) +└── Achat Intel: Thales → "Radar AESA" (coĂ»t: 50000€) +``` + +#### DĂ©couverte en Jeu +``` +🎉 BREAKTHROUGH DÉCOUVERT ! +"MatĂ©riaux Composites" + +DĂ©bloquĂ© grĂące Ă : Production de 1000t d'acier + 3 techs chimie + +Nouvelles recherches disponibles: +‱ Blindage Composite (15 jours, matĂ©riaux avancĂ©s) +‱ ChĂąssis Ultra-LĂ©ger (10 jours, fibres carbone) +‱ Structures Adaptatives (20 jours, smart materials) +``` + +### Avantages SystĂšme + +✅ **DĂ©couverte naturelle** : Tech emerge du gameplay +✅ **Pas d'overwhelm** : Seules techs pertinentes visibles +✅ **RejouabilitĂ© infinie** : Chaque run = dĂ©couvertes diffĂ©rentes +✅ **Économie innovation** : MarchĂ© des breakthroughs +✅ **Emergent strategy** : SpĂ©cialisations naturelles +✅ **Surprise constante** : Toujours de nouvelles possibilitĂ©s +✅ **Realistic progression** : Comme vraie R&D industrielle + +**C'est EXACTEMENT le systĂšme qu'il faut pour 3000 techs !** đŸ”„ + +### Vue "Passerelles" (SĂ©parĂ©e) + +**But** : Montrer les **court-circuits possibles** depuis autres domaines +``` +Tech Cible: "ChĂąssis Composite" + +Passerelles disponibles: +← MĂ©tallurgie : "Composites AvancĂ©s" → [PROTOTYPE] ChĂąssis Composite +← Civil : "MatĂ©riaux Industriels" → [PROTOTYPE] ChĂąssis Composite +← Énergie : "MatĂ©riaux LĂ©gers" → [PROTOTYPE] ChĂąssis Composite + +Status: 2/3 passerelles dĂ©bloquĂ©es ✅ +``` + +### Navigation Inter-Domaines + +**Links intelligents** : +- Tech montre ses **dĂ©pendances externes** : "NĂ©cessite: Électronique de Base" +- **Click** → switch automatique vers vue Électronique > Circuits de Base +- **Breadcrumb** : MĂ©tallurgie > MĂ©taux de Base ← **Électronique > Circuits de Base** + +### Vue "Action ImmĂ©diate" (Style Factorio) + +**Focus** : "**QU'EST-CE QUE JE PEUX FAIRE MAINTENANT ?**" + +**Structure verticale** : +``` +🚀 RECHERCHES DISPONIBLES (Clique pour lancer) +├── Acier (MĂ©tallurgie) - 50 points tech - 2min +├── Radar 1 (Capteurs) - 75 points tech - 3min +├── Moteur Hybride (Propulsion) - 100 points tech - 5min +└── BĂ©ton ArmĂ© (Civil) - 25 points tech - 1min + +🔬 BREAKTHROUGHS POSSIBLES (Via scrap/capture) +├── Explosifs Plastiques ← Scrap: RPG-7 (x3 disponible) +├── Blindage Composite ← Capture: Bradley M2 +└── IA Tactique ← Scrap: Drone FPV (x12 disponible) + +📚 DÉJÀ RECHERCHÉ (Masquer/Montrer) +├── ✅ MĂ©taux de Base, Fer, Cuivre, Bronze... +├── ✅ Circuits de Base, Transistors, Processeurs... +├── ✅ Moteurs Diesel, Essence, Turbo... +└── [147 technologies researched] [Voir toutes â–Œ] + +🔒 PAS ENCORE ACCESSIBLE +├── Radar 2 → NĂ©cessite: Radar 1 +├── Missiles GuidĂ©s → NĂ©cessite: Électronique AvancĂ©e +└── ChĂąssis Composite → NĂ©cessite: MatĂ©riaux Composites + (ou PASSERELLE via MĂ©tallurgie AvancĂ©e) +``` + +**PrioritĂ© visuelle** : +- **ÉNORME** : Recherches disponibles (ce qu'il peut faire NOW) +- **Moyen** : Breakthroughs (opportunitĂ©s spĂ©ciales) +- **Petit/CollapsĂ©** : DĂ©jĂ  recherchĂ© (juste pour rĂ©fĂ©rence) +- **Gris** : Pas accessible (avec hints sur comment dĂ©bloquer) + +### Vue "Dashboard Personnel" + +**RĂ©sumĂ© progression** : +``` +Domaines actifs: +🔬 MĂ©tallurgie [●●●○○] 12/20 techs recherchĂ©es +⚡ Électronique [●●○○○] 8/25 techs recherchĂ©es +đŸ—ïž ChĂąssis [●○○○○] 3/15 techs recherchĂ©es + +Prochaines recommandations: +🎯 Acier (complĂšte ta ligne MĂ©taux) +🎯 Radar 1 (amĂ©liore tes drones) +🎯 Moteur Hybride (unlock ChĂąssis Performance) +``` + +### Interface Principale : 2 Onglets + +**🎯 Onglet "ACTION"** (Vue Action ImmĂ©diate) +- **Utilisation** : 80% du temps → "Qu'est-ce que je peux faire ?" +- **Layout** : Vertical, prioritĂ© visuelle sur le disponible +- **Click & Go** : Lancer recherche directement + +**🌳 Onglet "EXPLORATION"** (Vue Arbre LinĂ©aire) +- **Utilisation** : 20% du temps → "OĂč est-ce que je vais ?" +- **Layout** : Horizontal, focus sur progression +- **Planning** : Voir les chemins futurs + +### Workflow Player Typique + +1. **Ouvre l'onglet ACTION** → voit 4-6 recherches disponibles +2. **Lance une recherche** → continue Ă  jouer +3. **Research terminĂ©e** → notification + retour onglet ACTION +4. **Nouvelles options** apparaissent → cycle continue + +Occasionnellement : +- **Switch vers EXPLORATION** → "Hmm, comment j'arrive aux missiles ?" +- **SĂ©lectionne racine "Armement"** → voit le chemin +- **Retour ACTION** → focus sur les Ă©tapes immĂ©diates + +### Avantages SystĂšme + +✅ **No overwhelm** : Player voit 5-15 techs max par vue +✅ **Focus** : Progression claire dans un domaine +✅ **Discovery** : Nouvelles techs rĂ©vĂ©lĂ©es progressivement +✅ **FlexibilitĂ©** : Peut explorer diffĂ©rentes racines +✅ **Passerelles** : Vue sĂ©parĂ©e pour les court-circuits +✅ **Context** : Toujours savoir oĂč on en est +✅ **Action immĂ©diate** : 1 click = lancer recherche +✅ **Style Factorio** : Interface familiĂšre et efficace + +**C'est exactement l'UX qu'il faut pour 3000 techs !** 🎯 + +--- + +*Ce document sera complĂ©tĂ© avec les dĂ©tails de chaque domaine technologique* \ No newline at end of file diff --git a/docs/global/architecture-technique.md b/docs/global/architecture-technique.md new file mode 100644 index 0000000..f302f3c --- /dev/null +++ b/docs/global/architecture-technique.md @@ -0,0 +1,874 @@ +# Architecture Technique + +## Vision Globale + +**Concept** : RTS/4X hybride hommageant l'Ukraine avec systĂšme industriel complexe (Factorio-like), simulation militaire rĂ©aliste et gestion gĂ©opolitique. + +**Innovation clĂ©** : Architecture multi-serveurs modulaire permettant scaling horizontal et dĂ©veloppement parallĂšle par IA. + +## Architecture SystĂšme + +### Structure Modulaire Multi-Serveurs + +``` + ┌─────────────────────┐ + │ Central Coordinator │ ← Meta orchestrator (bootstrap, health, lifecycle) + └─────────────────────┘ + │ + ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ + │ │ │ │ │ │ │ │ │ │ │ +┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ +│Fact │ │Logic│ │Econ │ │Desig│ │Macro│ │ Map │ │Comb │ │Oper │ │Intel│ │Event│ +│ory │ │istic│ │omy │ │ner │ │Enti │ │ │ at │ │ation│ │ li │ │ +└─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ + │ │ │ │ │ │ │ │ │ │ + └───────┌───────┌───────┌───────┌───────┌───────┌───────┌───────┌───────┘ + │ │ │ │ │ │ │ │ + ┌─────────────────────────────────────────────────────────────┐ + │ Clients │ ← Smart UI/Rendering, Authoritative Server + └─────────────────────────────────────────────────────────────┘ +``` + +## Engines Autonomes + +### DĂ©finition Autonomie +L'architecture repose sur 10 engines autonomes communicant via APIs standardisĂ©es, chacun responsable d'un domaine spĂ©cifique du gameplay. + +**Autonome signifie** : +- ✅ **Logique mĂ©tier** : Calculs, dĂ©cisions, algorithmes dans son domaine +- ✅ **State persistence** : GĂšre ses donnĂ©es en mĂ©moire/disque +- ✅ **Graceful degradation** : Continue de fonctionner si autres engines down +- ✅ **Independent scaling** : Peut ĂȘtre optimisĂ©/Ă©tendu sĂ©parĂ©ment + +**Autonome ne signifie PAS** : +- ❌ **Infrastructure isolĂ©e** : Utilise services communs (metrics, health, config) +- ❌ **Communication zero** : Échange donnĂ©es via Redis/HTTP selon besoins +- ❌ **No dependencies** : Utilise donnĂ©es d'autres engines (prix, terrain, etc.) + +**Timing interactions** : +- **Critique temps rĂ©el** : Direct HTTP GET (ex: War Engine → Map Engine terrain) +- **Background sync** : Redis Pub/Sub async (ex: Economy → tous engines prix) +- **Infrastructure services** : HTTP Ă  demande (ex: Intelligence Engine mĂ©triques) + +### Vue d'ensemble Engines + +### Factory Engine +- **ResponsabilitĂ©** : SystĂšmes Factorio du joueur uniquement +- **Scope** : Mining, production, assemblage, infrastructures joueur +- **Autonomie** : Simulation complĂšte des usines joueur +- **Communication** : Export donnĂ©es production vers Logistic Engine + +### Logistic Engine +- **ResponsabilitĂ©** : Flux physiques et virtuels de ressources +- **Scope** : Transport, supply chains, FOBs militaires, distribution +- **Autonomie** : Gestion complĂšte des mouvements de biens +- **Communication** : Interface avec Factory, Economy et Combat Engines + +### Economy Engine +- **ResponsabilitĂ©** : Usines IA, marchĂ©s, prix dynamiques +- **Scope** : Productions IA, company behaviors, marchĂ©s segmentĂ©s +- **Autonomie** : Simulation Ă©conomique globale indĂ©pendante +- **Communication** : Prix/demandes vers tous engines consommateurs + +### Designer System Engine +- **ResponsabilitĂ©** : Design vĂ©hicules procĂ©dural pour IA + assistance joueur +- **Scope** : + - Design procĂ©dural IA : random generation + evaluate + pass/drop + - Assistance design joueur : mĂȘme systĂšme utilisable manuellement + - Blueprints doctrinaux : grilles efficaces, designs dev, captures enemy + - Modification designs existants vs crĂ©ation from scratch +- **Autonomie** : + - Engine autonome rĂ©pondant aux commandes joueur + IA + - Random ticking gĂ©nĂ©ration avec Ă©valuation viabilitĂ© basique + - Company features influencent choix procĂ©duraux +- **Évaluation Designs** : + - Check stats sur CDC thĂ©orique ("design viable ?") + - DĂ©tection automatique designs dĂ©faillants (tank 1km/h = reject) + - Long-term : Retex spĂ©cifiques d'Operation Engine (anti-Javelin urbain) + - Future : Combat simulations via War Engine +- **Communication** : + - Reçoit demandes Operation Engine + joueur + - Nouveaux designs vers Economy et War Engines + - Blueprints Ă©volutifs inter-companies (captures) +- **SpĂ©cialitĂ©** : Inclut systĂšme de recherche dual et breakthroughs + +### MacroEntity Engine (Company & State) +- **ResponsabilitĂ©** : EntitĂ©s (companies, Ă©tats), diplomatie, points administration +- **Scope** : + - Features companies, relations, politiques commerciales + - SystĂšme points administration pour companies et Ă©tats + - Actions coĂ»tant admin : recherche, commerce, diplomatie, production, militaire +- **Autonomie** : Comportements entitĂ©s, Ă©volution features, gestion pools admin quotidiens +- **Communication** : Commandes vers Economy, restrictions vers tous engines +- **Points Administration** : + - Pool quotidien companies (1000 base) et Ă©tats (variable selon taille) + - Actions bloquĂ©es si admin exhaustĂ© (pas de queue, refus immĂ©diat) + - Modificateurs via company features et contexte (guerre, rĂ©cession) + - Calculs lĂ©gers, batch processing, rythme bas adaptĂ© gameplay macro + +### Map Engine +- **ResponsabilitĂ©** : Gestion carte, streaming, gĂ©nĂ©ration +- **Scope** : Chunks, FOW, navigation, terrain procedural +- **Autonomie** : GĂ©nĂ©ration Ă  la demande, optimisation mĂ©moire +- **Communication** : DonnĂ©es terrain vers Combat et Factory Engines + +### Combat Engine (War Engine) +- **ResponsabilitĂ©** : Auto-battler tactique avec stocks embarquĂ©s +- **Scope** : + - Batailles temps rĂ©el avec ~500 unitĂ©s actives simultanĂ©es + - Last meter logistics (camions, dĂ©pĂŽts locaux, 3km radius) + - Stocks munitions/carburant dans vĂ©hicules et dĂ©pĂŽts tactiques + - Zones trigger pour dĂ©fense automatique +- **Autonomie** : + - Self-contained avec propres stocks et round de commande + - UnitĂ©s agissent avec derniers ordres reçus si communication coupĂ©e + - Gestion autonome logistique courte distance +- **Communication** : + - Reports situation brute vers Operation Engine (pull par waves) + - Intel bĂątiments vers Intelligence Engine + - Demandes resupply vers Logistic Engine (longue distance) + - Updates Economy Engine post-bataille (dĂ©lai acceptable ~1 minute) + +### Operation Engine +- **ResponsabilitĂ©** : IA militaire dĂ©cisionnelle et coordination organisationnelle +- **Scope** : + - Analyse rapports War Engine pour "comprendre" situations (mĂ©thode TBD) + - GĂ©nĂ©ration ordres tactiques et stratĂ©giques + - Coordination avec politique via Economy Engine + - Doctrines militaires diffĂ©renciĂ©es par nation/company +- **Autonomie** : + - Vraie IA militaire (analyse, comprĂ©hension, dĂ©cision) + - Peut crĂ©er latence dĂ©cisionnelle rĂ©aliste (France 1940) + - Gestion orders de bataille (test → attaque → exploitation) +- **Machine Learning Simple** : + - Apprentissage tactiques efficaces par contexte/terrain/vĂ©hicules + - Retex par gĂ©nĂ©ral avec influence modĂšles nationaux (doctrines) + - Évolution doctrinale lente vs apprentissage gĂ©nĂ©ral rapide + - RĂ©sistance convergence par diversitĂ© tech/armes semi-random +- **Coordination Politique** : + - Reçoit objectifs stratĂ©giques du politique (Economy Engine) + - Politique peut override directions militaires + - Adaptation militaire aux contraintes politiques +- **Communication** : + - Reçoit reports du War Engine + - Envoie ordres au War Engine + - Reçoit objectifs stratĂ©giques Economy Engine + - Demandes intel Ă  Intelligence Engine + +### Intelligence Engine +- **ResponsabilitĂ©** : Reconnaissance, espionnage, fog of war, mĂ©triques Ă©conomiques +- **Scope** : Satellites, intel gathering, information warfare, collecte mĂ©triques +- **Autonomie** : Collecte et analyse renseignements, agrĂ©gation data Ă©conomique +- **Communication** : Intel vers Operation et Company Engines +- **MĂ©triques multijoueur** : Scaling adaptatif selon nombre companies, data sharing intelligent + +### Event Engine +- **ResponsabilitĂ©** : ÉvĂ©nements alĂ©atoires, crises, disruptions +- **Scope** : Wars, breakthroughs, economic crashes, endgame crisis +- **Autonomie** : DĂ©clenchement et gestion Ă©vĂ©nements contextuels +- **Communication** : Trigger events vers engines concernĂ©s + +## Architecture Communication Inter-Engines + +### Stack Technique +- **Redis Pub/Sub** : Communication asynchrone Ă©vĂ©nementielle (pull par waves) +- **HTTP REST** : Queries synchrones et commands +- **JSON** : Format d'Ă©change uniforme +- **TCP** : Reliability pour donnĂ©es critiques + +### Principe de Communication +- **War Engine** : Self-contained, pulls par waves (Ă©vite spam messages) +- **Latence assumĂ©e** : DĂ©lais logistiques intĂ©grĂ©s au gameplay (rĂ©alisme) +- **Autonomie engines** : Continuent Ă  fonctionner avec derniĂšres donnĂ©es reçues +- **Reports non temps rĂ©el** : Economy updates acceptent dĂ©lais 1+ minute + +### Patterns Redis par Engine + +#### Factory Engine +**PUBLISHES** : +``` +factory:production_complete → Economy, Logistic +factory:shutdown → Logistic, Map +factory:resource_request → Economy, Logistic +factory:blueprint_test → Designer +``` + +**SUBSCRIBES** : +``` +economy:price_update ← Economy +logistic:resource_available ← Logistic +designer:blueprint_ready ← Designer +``` + +#### Economy Engine +**PUBLISHES** : +``` +economy:price_update → Factory, Combat, Logistic +economy:market_crash → ALL +economy:company_bankrupt → Company&State, Map +economy:resource_shortage → Factory, Logistic +``` + +**SUBSCRIBES** : +``` +factory:production_complete ← Factory +combat:battle_result ← Combat +logistic:transport_complete ← Logistic +company:order_placed ← Company&State +``` + +#### Combat Engine +**PUBLISHES** : +``` +combat:battle_start → Economy, Map, Intelligence +combat:battle_result → Economy, Map, Intelligence, Operation +combat:unit_destroyed → Economy, Logistic +combat:resource_consumed → Economy, Logistic +``` + +**SUBSCRIBES** : +``` +economy:price_update ← Economy +logistic:supply_delivered ← Logistic +operation:battle_order ← Operation +intelligence:enemy_spotted ← Intelligence +``` + +#### Map Engine +**PUBLISHES** : +``` +map:territory_change → ALL +map:resource_discovered → Economy, Factory +map:terrain_updated → Combat, Logistic +map:fog_revealed → Intelligence, Operation +``` + +**SUBSCRIBES** : +``` +factory:shutdown ← Factory +combat:battle_result ← Combat +intelligence:recon_complete ← Intelligence +``` + +#### Logistic Engine +**PUBLISHES** : +``` +logistic:transport_complete → Economy, Factory +logistic:supply_delivered → Combat +logistic:resource_available → Factory +logistic:convoy_attacked → Combat, Economy +``` + +**SUBSCRIBES** : +``` +factory:production_complete ← Factory +combat:resource_consumed ← Combat +economy:resource_shortage ← Economy +map:terrain_updated ← Map +``` + +#### Designer Engine +**PUBLISHES** : +``` +designer:blueprint_ready → Factory, Economy +designer:tech_breakthrough → ALL +designer:design_validated → Economy, Combat +``` + +**SUBSCRIBES** : +``` +factory:blueprint_test ← Factory +combat:performance_data ← Combat +economy:market_demand ← Economy +``` + +#### MacroEntity Engine (Company & State) +**PUBLISHES** : +``` +macroentity:order_placed → Economy +macroentity:feature_changed → Economy, Designer +macroentity:diplomatic_action → ALL +macroentity:policy_change → Economy, Map +macroentity:admin_exhausted → Economy (action refusĂ©e) +``` + +**SUBSCRIBES** : +``` +economy:company_bankrupt ← Economy +combat:battle_result ← Combat +event:crisis_triggered ← Event +economy:action_request ← Economy (check admin disponible) +``` + +#### Operation Engine +**PUBLISHES** : +``` +operation:battle_order → War Engine +operation:strategy_change → War Engine, Logistic +operation:target_selected → War Engine, Intelligence +operation:resupply_request → Logistic +``` + +**SUBSCRIBES** : +``` +war:situation_report ← War Engine (pull par waves) +intelligence:intel_update ← Intelligence +economy:political_directive ← Economy (political coordination) +``` + +#### War Engine (Combat Engine) +**PUBLISHES** : +``` +war:situation_report → Operation Engine (waves, non temps rĂ©el) +war:building_discovered → Intelligence +war:resupply_needed → Logistic +war:battle_complete → Economy (dĂ©lai 1+ min acceptable) +``` + +**SUBSCRIBES** : +``` +operation:battle_order ← Operation Engine +logistic:supply_delivered ← Logistic (long distance resupply) +map:terrain_updated ← Map +``` + +#### Intelligence Engine +**PUBLISHES** : +``` +intelligence:enemy_spotted → Combat, Operation +intelligence:intel_update → Operation, Company&State +intelligence:recon_complete → Map, Operation +``` + +**SUBSCRIBES** : +``` +combat:battle_start ← Combat +map:fog_revealed ← Map +``` + +#### Event Engine +**PUBLISHES** : +``` +event:crisis_triggered → ALL +event:breakthrough_event → Designer, Economy +event:diplomatic_crisis → Company&State +``` + +**SUBSCRIBES** : +``` +(Monitore all channels pour trigger contextuel) +``` + +### APIs HTTP StandardisĂ©es + +#### Format URL Standard +``` +http://{engine-name}:808{N}/{endpoint} + +Ports : +factory:8080, economy:8081, combat:8082, map:8083 +logistic:8084, designer:8085, macroentity:8086, operation:8087 +intelligence:8088, event:8089 +``` + +#### Endpoints Communs (tous engines) +``` +GET /health → Health check +GET /status → État gĂ©nĂ©ral engine +GET /metrics → MĂ©triques performance +POST /shutdown → ArrĂȘt propre engine +``` + +#### Endpoints SpĂ©cifiques par Engine + +**Factory Engine** : +``` +GET /factories → Liste usines actives +GET /factories/{id} → DĂ©tails usine +POST /factories/{id}/start → DĂ©marrer production +POST /factories/{id}/stop → ArrĂȘter production +GET /production/queue → Queue production +POST /blueprints/validate → Valider blueprint +``` + +**Economy Engine** : +``` +GET /prices → Prix actuels toutes ressources +GET /prices/{resource} → Prix ressource spĂ©cifique +GET /market/demand → Demande par ressource +GET /companies → Liste companies actives +POST /orders → Placer commande +``` + +**Combat Engine** : +``` +GET /battles/active → Batailles en cours +POST /battles/start → DĂ©marrer bataille +GET /units/status → Status toutes unitĂ©s +POST /units/{id}/order → Donner ordre unitĂ© +``` + +### Format JSON Uniforme + +#### Structure Standard Message +```json +{ + "timestamp": "2024-03-15T14:30:00Z", + "source_engine": "factory", + "target_engines": ["economy", "logistic"], + "event_type": "production_complete", + "sequence_id": 12345, + "data": { + "factory_id": "fact_001", + "produced_item": "steel_plate", + "quantity": 100, + "quality": 85 + }, + "metadata": { + "priority": "normal", + "retry_count": 0 + } +} +``` + +#### Format HTTP Response Standard +```json +{ + "success": true, + "timestamp": "2024-03-15T14:30:00Z", + "engine": "economy", + "data": { + "steel_price": 45.0, + "trend": "increasing" + }, + "error": null, + "execution_time_ms": 23 +} +``` + +#### Format Error Standard +```json +{ + "success": false, + "timestamp": "2024-03-15T14:30:00Z", + "engine": "combat", + "data": null, + "error": { + "code": "UNIT_NOT_FOUND", + "message": "Unit with ID unit_123 not found", + "details": { + "unit_id": "unit_123", + "requested_action": "move" + } + }, + "execution_time_ms": 5 +} +``` + +### Flux de DonnĂ©es Critiques +``` +Factory Engine → Economy/Logistic : Production outputs +Economy Engine → ALL : Prix et demandes +Designer Engine → Economy/Combat : Nouveaux designs +Intelligence Engine → Operation : Reconnaissance data +Event Engine → ALL : Crisis triggers +Map Engine → Combat/Factory : Terrain data +Operation Engine → Combat : Battle orders +Combat Engine → Economy/Map : Battle results +``` + +## Error Handling & Reliability + +### Engine Crash/Restart Strategy + +**Detection rapide de crash** +``` +Health check HTTP: GET /health toutes les 30 secondes +Redis heartbeat: PUBLISH engine:heartbeat {"engine": "factory", "timestamp": "..."} +Timeout detection: Si pas de heartbeat depuis 60s = engine down +``` + +**Recovery automatique** +``` +Engine redĂ©marre → republish Ă©tat current dans Redis +Example: Factory Engine restart → PUBLISH factory:status {"active_productions": [...]} +Autres engines reçoivent l'update et ajustent leur Ă©tat local +``` + +**Graceful degradation** +```cpp +// Dans chaque engine +if (!canReachEngine("economy")) { + // Utiliser derniers prix connus en cache + price = fallbackPriceCache.get(resource); + logWarning("Using cached price, Economy engine unreachable"); +} +``` + +### Redis Failover Strategy + +**Redis persistence activĂ©e** +``` +# Configuration Redis +save 900 1 # Save snapshot if 1+ keys changed in 15min +appendonly yes # Log toutes les commandes +``` + +**Multiple Redis instances** (plus tard) +``` +Primary Redis: 6379 (read/write) +Replica Redis: 6380 (read-only backup) +Si primary down → engines switch automatiquement vers replica +``` + +**Message replay aprĂšs Redis restart** +``` +Chaque engine garde buffer local des derniers messages +Engine restart → replay buffer vers Redis pour resync +``` + +### Circuit Breaker Pattern + +**Éviter cascade failures** +```cpp +class EngineCircuitBreaker { + int failureCount = 0; + bool isOpen = false; + + bool callEngine(string endpoint) { + if (isOpen && failureCount > 5) { + return false; // Circuit ouvert, pas d'appel + } + + if (httpCall(endpoint).success()) { + failureCount = 0; // Reset sur succĂšs + return true; + } else { + failureCount++; + if (failureCount > 5) isOpen = true; + return false; + } + } +} +``` + +### Message Persistence & Replay + +**Event sourcing basique** +``` +Redis streams pour persistence: +XADD events:factory * engine factory event production_complete data {...} +XADD events:combat * engine combat event battle_end data {...} + +Recovery: XREAD depuis last timestamp connu +``` + +**State snapshots** +``` +Chaque engine sauvegarde Ă©tat complet pĂ©riodiquement: +HSET snapshots:factory:1234567890 state "{...complete_state...}" +Recovery = load last snapshot + replay events depuis timestamp +``` + +### Timeout & Retry Strategy + +**HTTP calls avec timeouts** +```cpp +HttpConfig config { + .connectionTimeout = 5000ms, // 5s pour Ă©tablir connection + .requestTimeout = 10000ms, // 10s pour rĂ©ponse complĂšte + .retryCount = 3, + .retryDelay = 1000ms +}; +``` + +**Redis operations timeouts** +```cpp +RedisConfig config { + .commandTimeout = 2000ms, // 2s max par commande Redis + .reconnectRetryInterval = 5000ms +}; +``` + +### Health Check System + +**Endpoint standard pour tous engines** +```json +GET /health +Response: +{ + "status": "healthy|degraded|unhealthy", + "dependencies": { + "redis": "connected", + "other_engines": ["factory:healthy", "economy:degraded"] + }, + "metrics": { + "uptime": 3600, + "requests_per_second": 45, + "error_rate": 0.02 + } +} +``` + +**Central monitoring simple** +``` +Script qui poll /health de tous engines toutes les 30s +Log les status changes +Alert si engine down > 2 minutes +``` + +## DĂ©tails des Engines + +### Factory Engine +- **ResponsabilitĂ©** : SystĂšmes Factorio du joueur uniquement +- **Scope** : Mining, production, assemblage, infrastructures joueur +- **Autonomie** : Simulation complĂšte des usines joueur +- **Communication** : Export donnĂ©es production vers Logistic Engine +- **Innovation** : Factory benchmarking → conversion stable factories en lookup tables +- **Performance** : Unload simulation dĂ©taillĂ©e aprĂšs stabilisation + +### Logistic Engine +- **ResponsabilitĂ©** : Flux physiques et virtuels de ressources +- **Scope** : Transport, supply chains, FOBs militaires, distribution +- **Autonomie** : Gestion complĂšte des mouvements de biens +- **Communication** : Interface avec Factory, Economy et Combat Engines +- **Features** : Transport multi-modal (camions, trains, avions, drones, navires) +- **VulnĂ©rabilitĂ©s** : Convois attaquables, infrastructure destructible + +### Economy Engine +- **ResponsabilitĂ©** : Usines IA, marchĂ©s, prix dynamiques +- **Scope** : Productions IA, company behaviors, marchĂ©s segmentĂ©s +- **Autonomie** : Simulation Ă©conomique globale indĂ©pendante +- **Communication** : Prix/demandes vers tous engines consommateurs +- **Features** : SystĂšme Ă©conomique rĂ©actif aux Ă©vĂ©nements militaires +- **MarchĂ©s** : National, company-specific, blocs, mondial avec restrictions + +### Designer System Engine +- **ResponsabilitĂ©** : Conception IA de vĂ©hicules et Ă©quipements +- **Scope** : Algorithmes design, validation, recherche technologique +- **Autonomie** : Processus design distribuĂ©, cultural blueprints +- **Communication** : Nouveaux designs vers Economy et Combat Engines +- **SpĂ©cialitĂ©** : Inclut systĂšme de recherche dual et breakthroughs +- **Performance** : 1-2 designs créés globalement par tick (total mondial, pas par company), Ă©volution vs crĂ©ation from scratch + +### MacroEntity Engine (Company & State) +- **ResponsabilitĂ©** : EntitĂ©s (companies, Ă©tats), diplomatie, points administration +- **Scope** : Features companies, relations, politiques commerciales, systĂšme admin +- **Autonomie** : Comportements entitĂ©s, Ă©volution features, gestion admin pools +- **Communication** : Commandes vers Economy, restrictions vers tous +- **Features** : SystĂšme 2-4 features par company, Ă©volution dynamique +- **Diplomatie** : Relations internationales, sanctions, embargos +- **Administration** : Pool quotidien, actions bloquĂ©es si exhaustĂ©, modificateurs contextuels + +### Map Engine +- **ResponsabilitĂ©** : Gestion carte, streaming, gĂ©nĂ©ration +- **Scope** : Chunks, FOW, navigation, terrain procedural +- **Autonomie** : GĂ©nĂ©ration Ă  la demande, optimisation mĂ©moire +- **Communication** : DonnĂ©es terrain vers Combat et Factory Engines +- **SystĂšme** : Zoom discret (global + local 1mx1m), chunks 64x64 +- **Navigation** : Node-based pour terrestre, libre pour aĂ©rien + +### Combat Engine +- **ResponsabilitĂ©** : Batailles temps rĂ©el, IA militaire +- **Scope** : UnitĂ©s, doctrines, combats locaux +- **Autonomie** : Simulations tactiques indĂ©pendantes +- **Communication** : RĂ©sultats vers Map et Logistic Engines +- **Performance** : Adaptive tick rate (60→15 TPS sous charge) +- **Features** : Actions normales (assaut, reco, soutien, etc.) + +### Operation Engine +- **ResponsabilitĂ©** : OpĂ©rations militaires, gĂ©nĂ©raux IA +- **Scope** : StratĂ©gie macro, AI decision making, planning +- **Autonomie** : Prise de dĂ©cision stratĂ©gique autonome +- **Communication** : Ordres vers Combat Engine, demandes vers Logistic +- **Features** : GĂ©nĂ©raux avec ML, doctrines, expĂ©rience terrain +- **IA** : Adaptation comportements selon succĂšs/Ă©checs + +### Intelligence Engine +- **ResponsabilitĂ©** : Reconnaissance, espionnage, fog of war +- **Scope** : Satellites, intel gathering, information warfare +- **Autonomie** : Collecte et analyse renseignements +- **Communication** : Intel vers Operation et Company Engines +- **SystĂšme** : FOW par chunks, qualitĂ© reconnaissance progressive +- **Persistance** : MĂ©moire intel par actor, expiration possible + +### Event Engine +- **ResponsabilitĂ©** : ÉvĂ©nements alĂ©atoires, crises, disruptions +- **Scope** : Wars, breakthroughs, economic crashes, endgame crisis +- **Autonomie** : DĂ©clenchement et gestion Ă©vĂ©nements contextuels +- **Communication** : Trigger events vers engines concernĂ©s +- **Features** : 3 endgames (zombies, aliens, dĂ©mons), events gĂ©opolitiques +- **ProbabilitĂ©s** : Events Ă©gales entre companies, adaptation contextuelle + +### Central Coordinator +- **Fonction** : Meta orchestrator - bootstrap, health monitoring, lifecycle management +- **Scope ultra-limitĂ©** : + - Lancement engines + load map/gameset initial + - Health ping engines (pas leur contenu) + - Time sync basique si nĂ©cessaire + - Graceful shutdown + unload map (quit partie) +- **Aveugle au gameplay** : Ne connaĂźt rien des mĂ©caniques de jeu, pure infrastructure +- **Post-bootstrap** : Engines communiquent directement via Redis, coordinator passif +- **Crash-safe** : Coordinator down = invisible pour gameplay, engines continuent autonomes + +## DĂ©cisions Techniques ClĂ©s + +### 1. Performance Stack +- **Langages** : C++ / C / ASM pour performance critique +- **Justification** : Simulation temps rĂ©el complexe + milliers d'unitĂ©s +- **Compromise** : ComplexitĂ© dev acceptable vs performance requirements + +### 2. Synchronisation Multijoueur +- **ProblĂšme** : DĂ©terminisme impossible avec multi-serveurs +- **Solution** : Server-authoritative + error-resilient design +- **Approach** : Graceful degradation + periodic sync + rollback capability + +### 3. Smart Client / Authoritative Server +- **Client Smart** : Interface complexe, rendu optimisĂ©, streaming carte, cache local +- **Client Dumb** : Aucune simulation gameplay, pas de logique mĂ©tier +- **Server Authoritative** : Toute simulation et Ă©tat de jeu sur serveurs +- **Avantages** : Anti-cheat naturel, interface rĂ©active, pas de sync client-side +- **Trade-off** : Latency interactions vs sĂ©curitĂ© et cohĂ©rence + +### 4. Async Gameplay Design +- **Principe** : Combat peut avoir latence, player gĂšre autre chose +- **ImplĂ©mentation** : Background processing pendant que player fait diplo/Ă©co +- **Exemple** : Bataille 10k unitĂ©s = 30 secondes → player continue production + +## Optimisations Performance + + +### Load Management +- **Adaptive Tick Rate** : 60 TPS → 15 TPS si surcharge +- **Queue Systems** : Batch processing pour opĂ©rations coĂ»teuses +- **Future Scaling** : Clustering dynamique per module + +## Workflow DĂ©veloppement + +### IA-Assisted Development +- **Claude Code #1** → Factory Engine + Logistic Engine +- **Claude Code #2** → Combat Engine + Operation Engine +- **Claude Code #3** → Economy Engine + Designer Engine +- **Claude Code #4** → MacroEntity Engine + Intelligence Engine +- **Claude Code #5** → Map Engine + Event Engine +- **Humain** → Central Coordinator + architecture globale + vision produit + +### Principe Modulaire pour IA +- **Self-contained modules** → Claude peut "faire du spagos" dans sa boĂźte +- **Clean APIs** → interfaces claires entre modules +- **Isolation** → bugs dans un module n'affectent pas les autres + +## Repository Structure + +``` +Ukraine-War-Game/ # Meta-repository +├── Factory-Engine/ # Git submodule +├── Logistic-Engine/ # Git submodule +├── Economy-Engine/ # Git submodule +├── Designer-Engine/ # Git submodule +├── MacroEntity-Engine/ # Git submodule +├── Map-Engine/ # Git submodule +├── Combat-Engine/ # Git submodule +├── Operation-Engine/ # Git submodule +├── Intelligence-Engine/ # Git submodule +├── Event-Engine/ # Git submodule +├── Client-Renderer/ # Git submodule +├── Central-Coordinator/ # Git submodule +├── shared/ # Protocols & configs communs +│ ├── engine-apis/ # Interface contracts entre engines +│ ├── message-schemas/ # Format des messages inter-engines +│ └── event-definitions/ # Types d'Ă©vĂ©nements standardisĂ©s +├── docs/ # Documentation architecture +├── scripts/ # Dev tools (build-all, deploy) +└── docker/ # Dev environment setup +``` + +## ScalabilitĂ© Future + +### Clustering Capability +- **Current** : 1 serveur par module +- **Future** : N serveurs per module avec load balancing +- **Implementation** : Kubernetes orchestration + auto-scaling + +### Performance Monitoring +- **Health Checks** : Inter-server communication monitoring +- **Metrics** : Tick rates, queue sizes, response times +- **Alerting** : Auto-failover + human notifications + +## ConsidĂ©rations Multijoueur + +### Sync Strategy +- **Error-Resilient** : Accept temporary inconsistencies +- **Periodic Reconciliation** : Checkpoints + state correction +- **Conflict Resolution** : Server priority rules + rollback capability + +### Network Architecture +- **Server-to-Server** : Reliable message queues (Redis/RabbitMQ) +- **Client-to-Server** : Standard TCP/WebSocket +- **Client Responsibilities** : + - Rendu 2D pixel art avec LOD et culling + - Interface utilisateur complexe (industrielle, militaire, diplomatique) + - Streaming carte intelligent (zoom, position, cache zones explorĂ©es) + - Cache local pour performance UI +- **Server Authority** : Simulation, logique mĂ©tier, Ă©tat de jeu +- **Bandwidth** : Clients reçoivent state updates, n'envoient que commands + +## Art Direction & Rendering + +### Style Visuel : Pixel Art +- **Justification** : Prototypage rapide, gĂ©nĂ©ration par IA (Claude), performance optimale +- **Aesthetic** : Factorio-like, RTS classique, lisibilitĂ© maximale +- **Avantages dĂ©veloppement** : + - Claude capable de gĂ©nĂ©rer sprites cohĂ©rents par batch + - ItĂ©ration rapide sur feedback visuel + - Pas de complexitĂ© 3D/animation + - Style intemporel et scalable + +### SpĂ©cifications Assets +- **VĂ©hicules** : 32x32 pixels (chars, IFV, drones) +- **BĂątiments** : 64x64 pixels (usines, dĂ©fenses) +- **Terrain** : Tiles 32x32 (sol, routes, vĂ©gĂ©tation) +- **UI Elements** : Pixel perfect, zoom discret (1x, 2x, 4x) +- **Color Palette** : LimitĂ©e pour cohĂ©rence (Ă  dĂ©finir selon contexte Ukraine) + +## Roadmap Technique + +### Phase 1 : Core Engines MVP +- [ ] Factory Engine (mining + production basique) +- [ ] Economy Engine (resources tracking) +- [ ] Map Engine (chunks + navigation basique) +- [ ] Client renderer pixel art (tech stack TBD) + +### Phase 2 : Multi-Engine Integration +- [ ] Central Coordinator implementation +- [ ] Inter-engine communication protocols (message queues) +- [ ] Logistic Engine (transport basique) +- [ ] Combat Engine (unit battles simple) + +### Phase 3 : Advanced Engines +- [ ] Designer Engine (IA vehicle conception) +- [ ] MacroEntity Engine (entities + diplomatie + administration) +- [ ] Operation Engine (gĂ©nĂ©raux IA) +- [ ] Intelligence Engine (FOW + reconnaissance) + +### Phase 4 : Complete System +- [ ] Event Engine (crises + Ă©vĂ©nements) +- [ ] Factory benchmarking system +- [ ] Performance optimizations (adaptive tick rate) +- [ ] Endgame crisis implementations + +## Notes de Conception + +### Pragmatisme vs Perfection +- **Principle** : Ship working system > perfect architecture +- **Error Strategy** : Resilient design > error-free design +- **Performance** : Good enough > premature optimization + +### Hommage Ukraine +- **Lore** : Guerre rĂ©elle comme base narrative +- **Valeurs** : Mettre en avant courage et libertĂ© ukrainiens +- **Authenticity** : SystĂšmes militaires basĂ©s sur conflit rĂ©el + +--- + +**"Ave Machina, guide my development !"** ⚙đŸ‡ș🇩 \ No newline at end of file diff --git a/docs/global/coherence-problem.md b/docs/global/coherence-problem.md new file mode 100644 index 0000000..a48fc54 --- /dev/null +++ b/docs/global/coherence-problem.md @@ -0,0 +1,486 @@ +# ProblĂšmes de CohĂ©rence - Documentation Warfactory + +*Analyse mĂ©thodique des incohĂ©rences et contradictions dans la documentation* + +## Contradictions Techniques Majeures + +### 1. **Architecture vs Performance Claims** ✅ RÉSOLU +**ProblĂšme original** : L'architecture dĂ©crit 10 engines sĂ©parĂ©s communiquant via Redis pub/sub et HTTP, mais revendique simultanĂ©ment des performances C++/C/ASM pour "simulation temps rĂ©el complexe + milliers d'unitĂ©s." + +**Solution clarifiĂ©e** : +- **War Engine self-contained** : Auto-battler avec stocks embarquĂ©s, ~500 unitĂ©s actives simultanĂ©es +- **Communication par waves** : Pulls non temps rĂ©el, Ă©vite spam messages Redis +- **Latence assumĂ©e comme feature** : DĂ©lais logistiques intĂ©grĂ©s au gameplay pour rĂ©alisme +- **Autonomie engines** : Continuent avec derniĂšres donnĂ©es si communication coupĂ©e + +**CohĂ©rence restaurĂ©e** : Performance temps rĂ©el pour combat local + communication distribuĂ©e pour coordination macro = architecture viable. + +### 2. **Factory Benchmarking System - ImplĂ©mentĂ© vs SpĂ©culatif** ✅ RÉSOLU +**ProblĂšme original** : L'architecture prĂ©sente le factory benchmarking comme une fonctionnalitĂ© implĂ©mentĂ©e, tandis que gameplay-industriel le dĂ©crit comme spĂ©culatif. + +**Solution adoptĂ©e** : FonctionnalitĂ© entiĂšre reportĂ©e en long-term update +- Status uniforme : "Long-term Update" dans tous les documents +- Justification : Optimisation prĂ©maturĂ©e, focus sur gameplay core d'abord +- Concept conservĂ© pour dĂ©veloppement futur + +**CohĂ©rence restaurĂ©e** : Plus de contradiction entre documents sur le status d'implĂ©mentation. + +### 3. **DĂ©finitions de Taille de Chunk et Resource Patches** ✅ RÉSOLU +**ProblĂšme original** : Contradiction entre resource chunks 64x64 (systemes-techniques) et resource patches de forme libre (map-system). + +**Solution adoptĂ©e** : +- **Resource chunks supprimĂ©s** de systemes-techniques.md +- **Resource patches uniquement** : SystĂšme Factorio-like avec formes libres non-alignĂ©es +- **Architecture chunks clarifiĂ©e** : Multi-Ă©chelle pour diffĂ©rents types de donnĂ©es + - 512x512 : landId (terrain) + - 256x256 : buildingPtr (bĂątiments) + - 128x128 : effectId (effets) + - 64x64 : Chunk principal gameplay (map-system) + +**CohĂ©rence restaurĂ©e** : Plus de contradiction resource chunks vs patches, architecture multi-Ă©chelle documentĂ©e. + +## ProblĂšmes d'Échelle et de Scope + +### 4. **Crise de DĂ©couvrabilitĂ© de l'Arbre Technologique** ✅ INVALIDÉ +**ProblĂšme original** : Revendique 3000+ technologies avec dĂ©couverte gatĂ©e par breakthrough, crĂ©ant une courbe d'apprentissage impossible. + +**Analyse erronĂ©e** : La critique Ă©tait basĂ©e sur incomprĂ©hension du systĂšme breakthrough "Natural" + +**Documentation existante** : +- **metriques-joueur.md** : "Sources de dĂ©couverte : Ratio Scrap vs Natural vs Events vs Purchase" +- **arbre-technologique.md** : "dĂ©couvert via scrap/capture/Ă©vĂ©nement" + "Trigger immĂ©diat lors d'Ă©vĂ©nements" +- **architecture-technique.md** : Event Engine gĂšre "breakthrough_event → Designer, Economy" + +**SystĂšme rĂ©el** : Breakthroughs "Natural" = Ă©vĂ©nement-driven automatiques +- Combat → breakthrough armor automatique ("Better Tank Armor" se dĂ©bloque naturellement quand tanks prennent dĂ©gĂąts) +- Production → breakthrough efficiency automatique +- Observation → breakthrough reverse engineering automatique + +**CohĂ©rence confirmĂ©e** : 3000 techs accessibles via gameplay naturel, pas de courbe d'apprentissage impossible. + +### 5. **ComplexitĂ© Design Militaire vs FaisabilitĂ© Gameplay** ✅ INVALIDÉ +**ProblĂšme original** : Le systĂšme de design de vĂ©hicules est si complexe qu'il serait injouable. + +**Analyse erronĂ©e** : Critique basĂ©e sur lecture superficielle ignorant les mĂ©caniques d'accessibilitĂ© + +**ÉlĂ©ments ratĂ©s dans l'analyse initiale** : +- **SystĂšme 2D** : Plus simple et lisible que design 3D +- **Progression tech-gated** : Commence avec composants simples (Gen1), complexitĂ© progressive +- **Premier vĂ©hicule** : Moteur + cargo + siĂšge = 10-20min, pas 1500 composants +- **Blueprints multi-Ă©chelles** : 4 niveaux (Micro/Layer/System/Vehicle) avec drag&drop +- **Workshop communautaire** : Blueprints partagĂ©s, systĂšme optionnel +- **Assistance IA** : Designer Engine peut crĂ©er vĂ©hicules automatiquement + +**Documentation complĂšte existante** : +- Gen1 "simples, rĂ©parables" vs Gen4 complexes +- Interface blueprints avec drag&drop documentĂ©e +- Exemples visuels progression (rectangle simple → formes complexes) +- SystĂšme amĂ©lioration avec diminishing returns clairement expliquĂ© + +**Comparaison corrigĂ©e** : MĂȘme principe que Factorio (simple → complexe progressif) + +**CohĂ©rence confirmĂ©e** : SystĂšme accessible dĂ©butants + profond experts, dĂ©veloppement itĂ©ratif par Ă©quipe (Claudes đŸ€–). + +### 6. **InadĂ©quation d'Échelle Économique** ✅ RÉSOLU +**ProblĂšme original** : L'Ă©chelle de production ne correspond pas Ă  l'Ă©chelle Ă©conomique. + +**Solution clarifiĂ©e** : Le jeu est un bac Ă  sable oĂč le joueur choisit librement son Ă©chelle d'opĂ©ration +- **Spectrum complet** : Du petit artisan local au gĂ©ant multinational concurrent de Thales/Lockheed Martin +- **Aucune progression forcĂ©e** : Le joueur peut rester petit artisan toute la partie s'il le souhaite +- **Reconversion industrielle** : DifficultĂ© basĂ©e sur similaritĂ© des processus (tables→blindages facile, tables→canons complexe) +- **FlexibilitĂ© par design** : Le joueur dĂ©finit ses ambitions selon ses prĂ©fĂ©rences + +**Documentation mise Ă  jour** : Section "Philosophie Bac Ă  Sable" ajoutĂ©e Ă  gameplay-industriel.md + +**CohĂ©rence restaurĂ©e** : L'exemple "tables fer" illustrait la flexibilitĂ© de reconversion, pas une incohĂ©rence d'Ă©chelle. + +## IntĂ©grations Critiques Manquantes + +### 7. **ResponsabilitĂ©s des Engines IndĂ©finies** +**ProblĂšme** : Pas de mapping clair entre les engines architecturaux et les systĂšmes de gameplay actuels. + +**Fichiers** : `architecture-technique.md`, tous les docs gameplay + +**Pourquoi c'est un problĂšme** : L'architecture dĂ©crit 10 engines mais n'explique pas comment les systĂšmes de gameplay complexes (comme les features company, design vĂ©hicules, ou breakthroughs technologiques) mappent sur ces engines. + +### 8. **Isolation du SystĂšme de Points d'Administration** ✅ RÉSOLU +**ProblĂšme original** : Le systĂšme complexe de points d'administration n'apparaĂźt que dans un seul document. + +**Solution clarifiĂ©e** : MacroEntity Engine gĂšre entiĂšrement le systĂšme d'administration +- **Architecture intĂ©grĂ©e** : MacroEntity Engine responsable companies/Ă©tats + pools administration +- **Communication** : Autres engines consultent admin via API, actions refusĂ©es si exhaustĂ© +- **Isolation assumĂ©e** : SystĂšme admin isolĂ© par design, seul MacroEntity Engine l'utilise +- **Performance** : Calculs lĂ©gers, batch processing, rythme bas adaptĂ© gameplay macro +- **Joueur exempt** : Pas de contraintes administration pour le joueur +- **Équilibrage** : CoĂ»ts admin recherche faibles pour ne pas freiner progression tech + +**Documentation mise Ă  jour** : Architecture-technique.md et questions-ouvertes.md + +**CohĂ©rence restaurĂ©e** : SystĂšme administration correctement intĂ©grĂ© dans l'architecture multi-engines. + +### 9. **Conflit Designer Engine vs Design Joueur** ✅ RÉSOLU +**ProblĂšme original** : Peu clair comment le design IA de vĂ©hicules (Designer Engine) coexiste avec le design manuel joueur. + +**Solution clarifiĂ©e** : +- **MĂȘme systĂšme** : IA et joueur utilisent le Designer Engine identique +- **ProcĂ©dural vs Manuel** : IA utilise random generation + evaluate, joueur design manuellement +- **Assistance joueur** : Joueur peut utiliser l'IA design du Designer Engine +- **Blueprints doctrinaux** : Grilles efficaces (dev, captures, retex) guident gĂ©nĂ©ration IA +- **Company features** : Influencent choix procĂ©duraux IA (modify vs nouveau design) +- **Évaluation viabilitĂ©** : Check automatique "design viable ?" (tank 1km/h = reject) + +**CohĂ©rence restaurĂ©e** : Designer Engine unifiĂ© sert joueur ET IA avec mĂ©thodes diffĂ©rentes mais systĂšme commun. + +## ImpossibilitĂ©s Architecturales + +### 10. **Terminaux Idiots vs Streaming Carte Complexe** ✅ RÉSOLU +**ProblĂšme original** : Les clients dĂ©crits Ă  la fois comme "terminaux idiots" et gĂ©rant un streaming carte complexe. + +**Solution clarifiĂ©e** : Architecture Smart Client / Authoritative Server +- **Client Smart** : Interface complexe, rendu 2D optimisĂ©, streaming carte intelligent, cache local +- **Client Dumb** : Aucune simulation gameplay, pas de logique mĂ©tier, pas d'Ă©tat de jeu +- **ResponsabilitĂ©s claires** : UI/rendu cĂŽtĂ© client, simulation cĂŽtĂ© serveur +- **Anti-cheat naturel** : Server authoritative pour toute logique mĂ©tier +- **Performance** : Cache client pour UI rĂ©active, LOD et culling cĂŽtĂ© client + +**Documentation mise Ă  jour** : Architecture-technique.md et questions-ouvertes.md + +**CohĂ©rence restaurĂ©e** : Terminologie prĂ©cise remplace "dumb terminal" rĂ©ducteur. + +### 11. **Engines Autonomes vs Coordination Centrale** ✅ RÉSOLU +**ProblĂšme original** : Les engines dĂ©crits comme autonomes mais nĂ©cessitant coordination centrale. + +**Solution clarifiĂ©e** : Central Coordinator est un Meta Orchestrator aveugle au gameplay +- **Engines 100% autonomes** : Toute logique gameplay, communication directe Redis +- **Coordinator ultra-limitĂ©** : Bootstrap, health ping, time sync, shutdown +- **Aveugle total** : Ne connaĂźt rien des mĂ©caniques de jeu, pure infrastructure +- **Post-bootstrap** : Coordinator passif, engines communiquent directement +- **Crash-safe** : Coordinator down = invisible pour gameplay, engines continuent +- **Lifecycle only** : Start/stop, unload map (quit partie), rien d'autre + +**Documentation mise Ă  jour** : Architecture-technique.md clarifiĂ©e + +**CohĂ©rence restaurĂ©e** : Pas de contradiction - engines autonomes + orchestrator infrastructure dumb. + +### 12. **Performance Temps RĂ©el vs Architecture DistribuĂ©e** ✅ RÉSOLU - Voir P1 +**ProblĂšme original** : Exigences temps rĂ©el incompatibles avec l'architecture distribuĂ©e proposĂ©e. + +**Solution** : ProblĂšme dĂ©jĂ  rĂ©solu dans P1 - Architecture vs Performance Claims +- **War Engine self-contained** : Auto-battler autonome, ~500 unitĂ©s actives simultanĂ©es +- **Communication async** : Pulls par waves, pas de coordination temps rĂ©el requise +- **Performance isolĂ©e** : War Engine indĂ©pendant = pas de bottleneck rĂ©seau +- **Distribution pour le reste** : Economy, Operation, etc. peuvent ĂȘtre async + +**CohĂ©rence confirmĂ©e** : P12 Ă©tait un doublon de P1 sous angle diffĂ©rent. + +## InadĂ©quation Narrative vs Scope Technique + +### 13. **Focus Ukraine vs MĂ©caniques Globales** ✅ INVALIDÉ +**ProblĂšme supposĂ©** : Le contexte narratif est entiĂšrement focalisĂ© Ukraine tandis que les mĂ©caniques de jeu sont globales. + +**Analyse erronĂ©e** : Aucune contradiction rĂ©elle identifiĂ©e + +**SystĂšme rĂ©el** : Richesse gĂ©ographique comme feature majeure +- **Ukraine dense/Ă©pique** : "Slava Ukraini" - high stakes, rĂ©sistance hĂ©roĂŻque, complexitĂ© diplomatique +- **Congo/Sahara dĂ©tente** : Mad Max warlords, contrĂŽle ressources miniĂšres, sandbox pur +- **MĂȘme systĂšme unifiĂ©** : Supporte expĂ©riences totalement diffĂ©rentes selon mood joueur +- **Hommage renforcĂ©** : Choisir Ukraine = respect, pas limitation technique + +**Richesse du design** : Player peut alterner entre intensitĂ© Ukraine et dĂ©tente sahĂ©lienne + +**CohĂ©rence confirmĂ©e** : SystĂšme global enrichit l'expĂ©rience, pas de contradiction narrative. + +## Lacunes Logiques + +### 14. **Lacune Logique Stabilisation Factory** ✅ RÉSOLU +**ProblĂšme original** : Les systĂšmes factory sensibles Ă  la qualitĂ© ne peuvent pas devenir de simples lookup tables. + +**Solution clarifiĂ©e** : Skip vs Optimize Trade-off par design +- **Factory tout-en-un** : Lookup tables disponibles mais efficacitĂ© mĂ©diocre +- **Factory Factorio** : Placement prĂ©cis, qualitĂ©, thermique pour efficacitĂ© maximale +- **Player choice** : CommoditĂ© vs performance selon mood/skill/temps +- **Principe gĂ©nĂ©ral** : "Tous les systĂšmes du jeu doivent pouvoir ĂȘtre skippĂ©s" +- **AccessibilitĂ© + Depth** : Noobs peuvent skip, pros peuvent optimiser + +**Design philosophy** : Trade-off intentionnel, pas contradiction logique + +**CohĂ©rence restaurĂ©e** : Coexistence lookup tables et depth gameplay via player choice. + +### 15. **Lacune Logique SystĂšme de Recherche** ✅ OBSOLÈTE +**ProblĂšme supposĂ©** : Le systĂšme de recherche dual (points vs XP+scrap) crĂ©e des chevauchements confus. + +**SystĂšme actuel** : Plus d'actualitĂ© - Ă©volution design +- **Breakthrough system** : Event-driven, scrap analysis, recherche avancĂ©e +- **Conversion 50% XP** : Artefact documentation, systĂšme abandonnĂ© +- **Restrictions domaines** : Plus dans design final +- **Research paths** : SystĂšme simplifiĂ© et cohĂ©rent + +**CohĂ©rence confirmĂ©e** : ProblĂšme rĂ©solu par Ă©volution du design, plus de contradiction. + +## Nouveaux ProblĂšmes IdentifiĂ©s (Analyse DĂ©cembre 2024) + +### 16. **Contradiction MĂ©triques vs Architecture DistribuĂ©e** ✅ RÉSOLU +**ProblĂšme original** : Le systĂšme de mĂ©triques nĂ©cessite une collecte centralisĂ©e massive qui contredit l'architecture distribuĂ©e autonome. + +**Solution clarifiĂ©e** : Intelligence Engine collecte les mĂ©triques Ă©conomiques +- **Intelligence Engine Ă©tendu** : Reconnaissance militaire + mĂ©triques Ă©conomiques/industrielles +- **Volume gĂ©rable** : 7.75 MB/heure pour engine d'analyse spĂ©cialisĂ© +- **Pull-based** : Intelligence Engine interroge autres engines via HTTP GET /metrics +- **Engines autonomes** : RĂ©pondent aux queries metrics mais s'en foutent du collecteur +- **CohĂ©rence thĂ©matique** : Intel militaire + analyse Ă©conomique = mĂȘme domaine data analysis +- **Pas de SPOF critique** : Si Intelligence Engine crash, gameplay continue + +**Documentation Ă  mettre Ă  jour** : Architecture-technique.md et metriques-joueur.md + +**CohĂ©rence restaurĂ©e** : Collection mĂ©triques intĂ©grĂ©e dans architecture distribuĂ©e sans casser autonomie. + +### 17. **IncohĂ©rence SystĂšme Administration vs Performance Temps RĂ©el** ✅ INVALIDÉ +**ProblĂšme supposĂ©** : Points d'administration avec calculs complexes contredisent performances temps rĂ©el C++/ASM. + +**Analyse erronĂ©e** : Malentendu sur la frĂ©quence rĂ©elle des actions + +**SystĂšme rĂ©el clarifiĂ©** : +- **Rythme macro** : ~1 action tous les 3-5 jours par company (pas frĂ©nĂ©tique) +- **Volume computational** : ~0.33 actions/seconde pour 1000 companies = dĂ©risoire +- **Performance impact** : 20 vĂ©rifications/minute = nĂ©gligeable vs temps rĂ©el +- **1 jour = 10 minutes rĂ©elles** : Administration suit rythme stratĂ©gique lent + +**Documentation mise Ă  jour** : FrĂ©quence actions clarifiĂ©e dans mecaniques-jeu.md + +**CohĂ©rence confirmĂ©e** : SystĂšme administration compatible avec performance temps rĂ©el. + +### 18. **Scope Mismatch: Arbre Technologique vs SystĂšme Breakthrough** ✅ INVALIDÉ +**ProblĂšme supposĂ©** : 3000 technologies annoncĂ©es vs systĂšme breakthrough organique qui ne peut supporter ce volume. + +**Analyse erronĂ©e** : Assumptions techniques incorrectes sur scaling + +**SystĂšme rĂ©el** : Breakthrough system peut scaler Ă  3000 techs +- **Prerequisites gating** : Seulement ~10-50 techs eligible simultanĂ©ment, pas 3000 +- **Ticker optimisĂ©** : Check conditions toutes les minutes, pas 60fps +- **Conditions on-demand** : Query engines ponctuellement, pas polling constant +- **Scrap analysis** : Utile early game uniquement (rattrapage tech), mid/late = autres sources +- **Interface proven** : Factorio gĂšre 100+ techs, design for scale = standard practice +- **Design philosophy** : Player ne recherche PAS tout - chaque run = dĂ©couvertes diffĂ©rentes, combinaisons nouvelles, rejouabilitĂ© + +**CohĂ©rence confirmĂ©e** : Breakthrough system compatible avec 3000 technologies via design appropriĂ©. + +### 19. **Contradiction Gameplay Skip vs SystĂšme de QualitĂ©** ✅ INVALIDÉ +**ProblĂšme supposĂ©** : Philosophie "tous systĂšmes skippables" contredit mĂ©caniques qualitĂ© militaire obligatoires. + +**Analyse erronĂ©e** : Ignorait l'Ă©conomie comme solution de skip + +**SystĂšme rĂ©el** : Skip disponible via marketplace Ă©conomique +- **Player skip** : AchĂšte vĂ©hicules aux IA companies (Thales, Lockheed, etc.) +- **Templates prĂ©conçus** : IA a rĂ©solu placement/synergies/thermique selon mĂȘmes rĂšgles +- **Player optimize** : Design manuel pour performance supĂ©rieure avec skill/temps +- **MĂȘme contraintes** : IA doit respecter rĂšgles qualitĂ©, player peut faire mieux +- **Player choice** : CommoditĂ© (achat IA) vs performance (design manuel) selon prĂ©fĂ©rences + +**CohĂ©rence confirmĂ©e** : Principe skip vs optimize s'applique au militaire via Ă©conomie. + +### 20. **IncohĂ©rence Map System Local vs Global Combat** ✅ INVALIDÉ +**ProblĂšme supposĂ©** : Chunks 64x64 pour combat local vs promesse batailles "milliers d'unitĂ©s". + +**Analyse erronĂ©e** : Assumait 1 bataille = 1 chunk, ignorait systĂšme global + +**SystĂšme rĂ©el** : Batailles multi-chunks et guerre persistante +- **Frontlines Ă©tendues** : Batailles s'Ă©tendent sur dizaines/centaines de chunks simultanĂ©ment +- **Guerre persistante** : Bataille dure 1 an dans le monde (ex: player base Bakhmut = 1 an combat) +- **SystĂšme total** : "Milliers d'unitĂ©s" = capacitĂ© systĂšme global, pas bataille locale +- **RĂ©partition rĂ©aliste** : ~500 unitĂ©s War Engine dispersĂ©es sur grande zone gĂ©ographique +- **Chunk 64x64** = unitĂ© streaming/gameplay, pas limite bataille + +**CohĂ©rence confirmĂ©e** : Échelle map locale compatible avec systĂšme combat global Ă©tendu. + +### 21. **Contradiction Ressources Patches vs Infrastructure Processing** ✅ INVALIDÉ +**ProblĂšme supposĂ©** : Resource patches formes libres contredisent infrastructure Factorio-like qui nĂ©cessite alignement grille. + +**Analyse erronĂ©e** : ProblĂšme de formulation dans documentation + +**SystĂšme rĂ©el clarifiĂ©** : Patches alignĂ©s sur grille tiles, pas sur chunks +- **Grid-aligned** : Patches alignĂ©s sur grille tiles 1x1 (mining drills compatible) +- **Forme libre** : Shape non-rectangulaire (L, C, etc.) mais toujours sur grille +- **Infrastructure standard** : Belts, drills, pipelines fonctionnent normalement +- **Pas chunk-aligned** : Patches peuvent dĂ©border sur plusieurs chunks (pas problĂšme) +- **Placement optimal** : Calculs gĂ©omĂ©triques standard sur grille rĂ©guliĂšre + +**Documentation mise Ă  jour** : Clarification grid-aligned vs chunk-aligned dans map-system.md + +**CohĂ©rence confirmĂ©e** : Infrastructure Factorio-like compatible avec patches organiques grid-aligned. + +### 22. **Volume DonnĂ©es MĂ©triques vs Architecture Multi-Joueur** ✅ RÉSOLU +**ProblĂšme original** : 3.1GB mĂ©triques par partie incompatible avec multijoueur. + +**Solution implĂ©mentĂ©e** : Scaling adaptatif et data sharing intelligent +- **Joueurs mĂȘme company** : Data partagĂ©e - 1 seul dataset 3.1GB pour toute la company +- **Free-for-all scaling** : Points rĂ©duits proportionnellement au nombre de companies + - **1 company** : 2 points/min (granularitĂ© fine) + - **5 companies** : 0.4 points/min (granularitĂ© rĂ©duite) + - **Minimum** : 0.25 points/min (seuil qualitĂ© acceptable) +- **Volume constant** : ~3.1GB total mĂȘme avec 10 joueurs/companies +- **Intelligence Engine** : Collecte adaptĂ©e selon configuration multijoueur + +**Architecture supportĂ©e** : Redis/network gĂšre volume constant via scaling intelligent + +**CohĂ©rence restaurĂ©e** : SystĂšme mĂ©triques compatible multijoueur via adaptation granularitĂ©. + +### 23. **Contradiction Points Budget GĂ©nĂ©ration vs VariabilitĂ© Infinie Promise** ✅ RÉSOLU +**ProblĂšme original** : GĂ©nĂ©ration procĂ©durale promettait scores -6 Ă  +6 (13 valeurs) avec ~40 Ă©lĂ©ments = quelques milliers de combinaisons, pas millions. + +**Solution implĂ©mentĂ©e** : Expansion massive du systĂšme de gĂ©nĂ©ration +- **Budget Ă©tendu** : -10 Ă  +10 (21 valeurs cibles) avec distribution en cloche +- **218 Ă©lĂ©ments** : 6 catĂ©gories complĂštes (gĂ©ologiques, aquatiques, terrestres, cĂŽtiĂšres, industrielles, militaires, culturelles, biomes, climatiques, anthropiques, mystĂ©rieux) +- **Combinatoire explosive** : C(218,2-4) × 21 scores = **~2 milliards de configurations uniques** +- **Distribution rĂ©aliste** : 30% neutre, 40% commun (±1-3), 20% remarquable (±4-6), 8% exceptionnel (±7-8), 2% lĂ©gendaire (±9-10) + +**RĂ©sultat** : Promesse "millions de combinaisons" largement dĂ©passĂ©e avec plusieurs milliards de variantes possibles. + +**CohĂ©rence restaurĂ©e** : SystĂšme procĂ©dural supporte variabilitĂ© massive promise. + +### 24. **IncohĂ©rence Designer Engine Time-Budget vs Performance Temps RĂ©el** ❌ INVALIDÉ +**ProblĂšme original** : Mauvaise interprĂ©tation - "1-2 tetris par tick" Ă©tait supposĂ© ĂȘtre × 1000 companies = 120k opĂ©rations/seconde. + +**Clarification** : +- **"1-2 design/tick"** = performance globale du systĂšme, pas par company +- **Total mondial** : 1-2 nouveaux designs créés dans le monde entier par tick +- **Charge rĂ©elle** : 1-2 opĂ©rations/tick Ă  60fps = 60-120 opĂ©rations/seconde maximum +- **Parfaitement viable** : Volume trivial pour architecture C++/ASM moderne + +**ProblĂšme basĂ© sur mauvaise lecture** de la spĂ©cification technique. + +**Statut** : Pas de problĂšme de cohĂ©rence rĂ©el. + +### 25. **Contradiction Multi-Échelle Chunk vs Single Chunk Combat** ❌ INVALIDÉ +**ProblĂšme supposĂ©** : Architecture 4 Ă©chelles contredit War Engine utilisant chunks 64x64 pour 500 unitĂ©s. + +**Doublon de P20** : MĂȘme problĂ©matique dĂ©jĂ  rĂ©solue + +**SystĂšme rĂ©el dĂ©jĂ  documentĂ©** : +- **Combat multi-chunks** : Batailles s'Ă©tendent sur dizaines/centaines de chunks +- **Frontlines persistantes** : Guerre peut durer 1 an (ex: Bakhmut) +- **500 unitĂ©s dispersĂ©es** : Sur grande zone gĂ©ographique, pas concentrĂ©es sur 4096mÂČ +- **Chunk 64x64** : UnitĂ© de streaming/gameplay, pas limite de bataille + +**Statut** : Doublon de problĂšme dĂ©jĂ  rĂ©solu en P20. + +### 26. **ImpossibilitĂ© Logique Interface Blueprint vs Grille Component VariĂ©e** ❌ INVALIDÉ +**ProblĂšme supposĂ©** : Drag & drop + formes irrĂ©guliĂšres + rotations = complexitĂ© UI insurmontable. + +**Interface standard parfaitement viable** : +- **Pick/Place** : Clic pour sĂ©lectionner, drag, clic pour placer avec snap automatique +- **Rotations** : A/E (standard jeux PC) +- **Snap toggle** : R pour dĂ©sactiver/activer grille +- **Templates** : Designs prĂ©-faits, guides visuels +- **Zone staging** : Inventaire latĂ©ral pour composants temporaires + +**PrĂ©cĂ©dents fonctionnels** : +- **Escape from Tarkov** : Inventaire tetris plus complexe, joueurs adorent optimiser +- **Factorio** : MĂȘme systĂšme exact de placement sur grille +- **Space Engineers** : Grille 3D + contraintes + physique, interface viable +- **Satisfactory** : Placement 3D encore plus complexe + +**Faux problĂšme** : Les joueurs aiment optimiser leurs designs. C'est le gameplay, pas un obstacle. + +### 27. **Contradiction Volume MĂ©triques vs Background Processing Promise** ❌ INVALIDÉ +**ProblĂšme supposĂ©** : 3.1GB mĂ©triques nĂ©cessitent processing constant en RAM, impossible pendant combats. + +**Mauvaise comprĂ©hension architecture** : +- **3.1GB = stockage database**, pas donnĂ©es en RAM +- **Push/Pull ponctuel** : Écriture periodique vers DB, lecture Ă  la demande +- **RAM footprint minimal** : Quelques valeurs courantes en mĂ©moire (~KB) +- **Processing lĂ©ger** : AgrĂ©gation simple lors push/pull, pas compute continu +- **Background viable** : DB operations asynchrones, impact CPU nĂ©gligeable + +**Architecture rĂ©elle** : +- Intelligence Engine Ă©crit mĂ©triques vers DB pĂ©riodiquement +- Interface mĂ©triques lit DB Ă  la demande (pas streaming continu) +- Combat et mĂ©triques complĂštement dĂ©couplĂ©s + +**Statut** : Mauvaise comprĂ©hension du stockage vs processing. + +### 28. **IncohĂ©rence SystĂšme TempĂ©rature vs Auto-battler Promise** ❌ INVALIDÉ +**ProblĂšme supposĂ©** : Gestion thermique trop complexe pour auto-battler. + +**Gestion automatique standard** : +- **Comme les munitions** : Quand ressource (tempĂ©rature/munitions) s'Ă©puise → retrait automatique +- **Fire & scoot automatique** : IA gĂšre cycles tir/refroidissement comme tanks rĂ©els +- **RĂšgles simples** : + - Surchauffe proche → retraite temporaire + - TempĂ©rature OK → reprise combat + - Comme gestion carburant/munitions dans RTS classiques + +**PrĂ©cĂ©dents viables** : +- **World in Conflict** : Gestion automatique munitions/carburant +- **Steel Division** : Stress/fatigue gĂ©rĂ©s par IA +- **Command & Conquer** : Auto-retreat quand low health + +**Faux problĂšme** : TempĂ©rature = une ressource comme les autres, facilement automatisable. + +### 29. **Architecture Smart Client vs Volume Data Streaming Impossible** ❌ INVALIDÉ +**ProblĂšme supposĂ©** : Client smart ne peut gĂ©rer volume data streaming 4 Ă©chelles + patches + FOW + historical data. + +**Architecture rĂ©elle - Pas de streaming continu** : +- **Historical data** : Pas streamĂ©es, stockage local/DB +- **Chunks** : Demande ponctuelle selon besoin (pas streaming continu) +- **FOW granularitĂ© chunk** : Ultra lĂ©ger, juste visibility flags +- **4 Ă©chelles** : Chargement Ă  la demande selon zoom, pas simultanĂ© +- **Patches** : Metadata lĂ©gĂšre, pas gĂ©omĂ©tries complĂštes + +**Volume rĂ©el minimal** : +- **FOW** : ~1 bit par chunk = nĂ©gligeable +- **Chunk request** : Ponctuel, quelques KB par demande +- **Pas de streaming** : Simple request/response pattern + +**Faux problĂšme** : Confond streaming continu vs requests ponctuels lĂ©gers. + +### 30. **Contradiction Arbre Tech 3000 vs UI Discovery System** ❌ INVALIDÉ +**ProblĂšme supposĂ©** : Interface "5-15 techs visibles max" vs breakthrough dĂ©bloqueant 20+ techs simultanĂ©ment. + +**Doublon de P18** : MĂȘme problĂ©matique dĂ©jĂ  rĂ©solue + +**SystĂšme rĂ©el dĂ©jĂ  documentĂ©** : +- **Prerequisites gating** : Seules 10-50 techs Ă©ligibles simultanĂ©ment (pas 3000) +- **Player pas censĂ© tout rechercher** : Focus spĂ©cialisations comme dans jeux rĂ©els +- **Interface proven** : Factorio gĂšre 100+ techs successfully +- **Design adaptatif** : UI peut temporairement montrer plus lors breakthroughs majeurs + +**Statut** : Doublon de problĂšme dĂ©jĂ  rĂ©solu en P18. + +## Conclusions + +### Analyse ComplĂšte TerminĂ©e +**30 problĂšmes identifiĂ©s** analysĂ©s et rĂ©solus : +- **8 problĂšmes rĂ©els rĂ©solus** (P7, P8, P10, P16, P17, P18, P21, P22, P23) +- **11 problĂšmes invalidĂ©s** par clarifications (P1, P2, P3, P4, P5, P6, P9, P11, P12, P13, P14, P15, P19, P20, P24, P26, P27, P28, P29, P30) +- **3 doublons Ă©liminĂ©s** (P25=P20, P30=P18) + +### État de CohĂ©rence Actuel +**Documentation cohĂ©rente** : La majoritĂ© des "problĂšmes" provenaient de : +- **Mauvaises lectures** de spĂ©cifications techniques +- **Assumptions incorrectes** sur l'architecture +- **IncomprĂ©hensions** des systĂšmes de jeu +- **Manque de contextualisation** cross-systĂšme + +### AmĂ©liorations ApportĂ©es +- **Clarifications architecturales** : Engines, autonomie, performance +- **Expansion gĂ©nĂ©ration procĂ©durale** : 218 Ă©lĂ©ments, budget -10/+10 +- **PrĂ©cisions timing** : Administration, mĂ©triques, breakthrough +- **Interface design** : SpĂ©cifications UI complĂ©tĂ©es +- **Cross-rĂ©fĂ©rences** : Liens entre systĂšmes Ă©tablis + +**Verdict final** : **Projet techniquement viable** avec documentation maintenant cohĂ©rente. + +## Actions de Suivi + +### ProblĂšmes Restants Ă  Traiter +**P7** : ResponsabilitĂ©s engines → Continuer analyse architecture (identifiĂ© comme rĂ©el) + +### Prochaines Étapes Documentation +1. **Validation technique** : Review implĂ©mentation faisabilitĂ© +2. **Tests cohĂ©rence** : VĂ©rification cross-systĂšme +3. **Mise Ă  jour rĂ©fĂ©rences** : Synchronisation entre docs + +### Recommandations +- **Documentation technique** : Maintenant solide et cohĂ©rente +- **ImplĂ©mentation** : Aucun blocage majeur identifiĂ© +- **Design** : SystĂšmes compatibles et rĂ©alisables \ No newline at end of file diff --git a/docs/global/contexte-narratif.md b/docs/global/contexte-narratif.md new file mode 100644 index 0000000..d0ff545 --- /dev/null +++ b/docs/global/contexte-narratif.md @@ -0,0 +1,100 @@ +# Contexte narratif + +## Inspiration Ukraine + +### Motivation morale +L'Ukraine parce qu'ils sont des hĂ©ros, parce qu'ils meurent pour leur libertĂ© et pour la nĂŽtre. Sachant ce que je sais aujourd'hui, j'ai l'obligation morale de mettre en avant leur combat et leur valeur. + +Je l'oublie parfois mais la conclusion s'impose systĂ©matiquement. + +### Justification artistique +Effectivement il serait plus simple de faire un monde gĂ©nĂ©rĂ© procĂ©duralement ou whatever mais Ă  travers l'art (ce JV) l'imaginaire collectif doit se souvenir qu'il y a des gens qui meurent pour leur libertĂ©. + +De ce point de vue lĂ , je pense qu'il devient injustifiable de drop l'Ukraine. + +### Origine du concept +Sans parler que c'est de leur combat qu'a Ă©tĂ© le concept de ce jeu. Je leur dois ce jeu et ma libertĂ© Ă  "faible prix (relativement parlant)" peut-ĂȘtre autant qu'Ă  mes ancĂȘtres. + +**SLAVA UKRAINI !** + +## Lore gĂ©opolitique + +### Contexte gĂ©opolitique +**Les russes les mĂ©chants c'est sĂ»r !** + +**ScĂ©narios gĂ©opolitiques** : +- Une victoire russe en Ukraine provoque une agression chinoise sur Taiwan +- Une victoire russe en Ukraine prĂ©pare les prochains conflits en Europe + +### IntĂ©gration du lore rĂ©el +Le lore IRL doit ĂȘtre intĂ©grĂ© autant que possible sans ĂȘtre overwhelming. + +### ProblĂ©matique nuclĂ©aire +**Les nukes** : +Nations → nukes → utilisations ? → c'est chiant + +## Terrain de combat PMC + +### Zones d'opĂ©ration +- AmĂ©rique du Sud dans les zones peu peuplĂ©es +- Madagascar +- Afrique +- Ouest de la Chine +- Russie +- Moyen-Orient + +## ScĂ©narios de crise (Endgame Crisis) + +Au moins trois options avec leurs propres consĂ©quences, mĂ©caniques et variations. + +### 1. Zombie Apocalypse (militaire) + +**DĂ©fi principal** : Être surtout trĂšs rapide pour neutraliser les menaces quand elles apparaissent et de tenir les lignes si la manƓuvre a Ă©chouĂ©. + +**Types d'invasion** : +- **Romero zombie** : lent mais solide +- **Fast zombie** : rapide mais fragile +- **Bunny zombie** : Il saute c'est trĂšs fort mais trĂšs fragile +- **Classique + spĂ©ciaux** + +**Objectifs** : +- Garder le plus de gens en vie possible +- Trouver le(s) laboratoire(s) d'origine +- Y Ă©tablir une base +- Rechercher le vaccin + +### 2. Invasion ET (militaire) + +**CaractĂ©ristiques de l'ennemi** : +- Technologie supĂ©rieure et trĂšs aĂ©rienne +- RĂ©solument hostile +- Plusieurs stratĂ©gies possibles + +**Axes stratĂ©giques possibles** : +- Destruction des systĂšmes Ă©nergĂ©tiques +- Destruction des assets navals +- Invasion des points stratĂ©giques + +**Objectifs** : +- Surtout survivre +- La survie des Ă©tats peut donner un sacrĂ© boost sur la dĂ©fense planĂ©taire +- Pour les vaincre il faut dĂ©truire le vaisseau mĂšre ainsi que toutes les Ancres aliennes sur la planĂšte + +### 3. Demon Portal Invasion (militaire) + +**MĂ©caniques** : +- Impossible de savoir oĂč le portail suivant va s'ouvrir +- Il faut ĂȘtre prĂȘt Ă  agir vite et fort pour dĂ©truire les portails qui laisseront rentrer des dĂ©mons tant qu'ils ne seront pas dĂ©truits + +**StratĂ©gie ennemie** : +- Les dĂ©mons ayant pour objectif de tout dĂ©truire +- La plupart des ouvertures de portail se feront dans les villes pour occasionner un max de dĂ©gĂąts + +**MĂ©caniques de pression** : +- C'est la course pour Ă©viter les victimes +- Si trop de victimes → appelle des dĂ©mons majeurs +- Et puis du dĂ©mon mangeur de monde + +## Inspiration choix gĂ©opolitiques + +Peut-ĂȘtre s'inspirer d'Undertale pour la partie choix gĂ©opolitique. \ No newline at end of file diff --git a/docs/global/dlc-prevus.md b/docs/global/dlc-prevus.md new file mode 100644 index 0000000..cde7d30 --- /dev/null +++ b/docs/global/dlc-prevus.md @@ -0,0 +1,15 @@ +# DLC PrĂ©vus + +## Inspiration RimWorld + +Le projet prĂ©voit des extensions inspirĂ©es des DLC de RimWorld : + +### DLC PlanifiĂ©s +- **Anomaly** - *À dĂ©finir* +- **Biotech** - *À dĂ©finir* +- **Ideology** - *À dĂ©finir* +- **Odyssey** - *À dĂ©finir* + +--- + +*DĂ©tails et mĂ©caniques Ă  dĂ©velopper ultĂ©rieurement* \ No newline at end of file diff --git a/docs/global/economie-logistique.md b/docs/global/economie-logistique.md new file mode 100644 index 0000000..63eb299 --- /dev/null +++ b/docs/global/economie-logistique.md @@ -0,0 +1,347 @@ +# Économie et Logistique + +## Vue d'ensemble + +L'Ă©conomie de Warfactory est un systĂšme dynamique multi-acteurs oĂč companies et Ă©tats interagissent sur des marchĂ©s segmentĂ©s, avec une logistique automatisĂ©e intelligente qui supporte les opĂ©rations militaires et industrielles. + +## Acteurs Économiques + +### Companies privĂ©es +- **Joueur** : Company initiale avec avantage technologique (Factorio-like) +- **Multinationales** : Thales, Dassault, Lockheed Martin, etc. +- **Concurrents IA** : Companies gĂ©nĂ©rĂ©es avec productions automatisĂ©es +- **CoĂ»ts opĂ©rationnels** : Workers + salaires pour companies IA vs Ă©lectricitĂ© seule joueur + +### SystĂšme de Features Company +**Principe** : Chaque company IA a 2-4 features qui dĂ©finissent ses capacitĂ©s et spĂ©cialisations + +#### Types de Features +**Domaines de production** : +- **Metal** : MĂ©tallurgie, alliages, structures mĂ©talliques +- **Electronic** : Circuits, capteurs, processeurs, systĂšmes avancĂ©s +- **Tank** : VĂ©hicules blindĂ©s, systĂšmes de combat terrestre +- **Plane** : AĂ©ronautique, avionique, systĂšmes volants +- **Wood** : Foresterie, produits bois, dĂ©rivĂ©s organiques +- **Food** : Agro-alimentaire, bio-ressources +- **Engine** : Moteurs, propulsion, systĂšmes mĂ©caniques +- **Cannon** : Armement direct, artillerie, systĂšmes balistiques +- **Missile** : Armement guidĂ©, roquettes, systĂšmes de navigation + +**Modificateurs de qualitĂ©** : +- **Quality** : Production haut de gamme, prĂ©cision, durabilitĂ© +- **Quantity** : Production de masse, efficacitĂ© volume +- **Speed** : Production rapide, dĂ©lais courts +- **Cost** : Production Ă©conomique, optimisation prix +- **Modularity** : Designs modulaires, adaptabilitĂ©, standardisation +- **Innovation** : R&D focus, breakthrough technologies, expĂ©rimentation + +**Autres propositions** : +- **Stealth** : FurtivitĂ©, signature rĂ©duite, camouflage +- **Repair** : Maintenance, reconstruction, durabilitĂ© terrain +- **Transport** : Logistique, mobilitĂ©, capacitĂ© transport +- **Communication** : RĂ©seaux, coordination, guerre Ă©lectronique + +#### Exemples de Companies +**"Metal, Plane, Quantity, Electronic"** : +- Produit : Avions mĂ©talliques en masse avec Ă©lectronique embarquĂ©e +- Avantages : Volume, intĂ©gration complĂšte, coĂ»ts optimisĂ©s +- Faiblesses : Peut-ĂȘtre moins de raffinement qu'un spĂ©cialiste qualitĂ© + +**"Tank, Quality"** : +- Produit : Chars haut de gamme, prĂ©cision d'assemblage +- Limites : Doit acheter Ă©lectronique sur marchĂ©s externes +- DĂ©pendances : Supply chain complexe pour composants non-maĂźtrisĂ©s + +#### Dynamiques des Features + +**Influence sur recherche** : +- **Features → Research paths** : CapacitĂ©s influencent fortement directions R&D +- **Synergies via tech** : "Metal + Tank" unlock recherches blindage spĂ©cialisĂ©es +- **Pas d'exclusions strictes** : Features coexistent, synergies via recherche + +**Évolution des Companies** : +- **MortalitĂ©** : Companies peuvent disparaĂźtre (exemple : "Food + Tank" = dispersion fatale) +- **Naissance** : Nouvelles companies selon besoins contextuels +- **Changement features** : Possible alĂ©atoirement en descente financiĂšre +- **Acquisition** : Events alĂ©atoires permettent gain nouvelles features +- **Perte** : Events si >4 features (overflow) + +#### Events AlĂ©atoires + +**Types d'events** : +- **Guerres** : DĂ©gradation/amĂ©lioration relations, gĂ©nĂ©ration companies militaires +- **Crises locales** : Peuvent dĂ©clencher crises globales en cascade +- **Breakthroughs technologiques** : Nouvelles capacitĂ©s, disruption marchĂ© +- **ProbabilitĂ©s Ă©gales** : Company "Quality" n'a pas plus de chances que "Cost" + +**Impacts contextuels** : +- **Guerre → Tank companies** : GĂ©nĂ©ration companies spĂ©cialisĂ©es combat +- **Blocus → Innovation locale** : DĂ©veloppement alternatives domestiques +- **Crisis → Consolidation** : Fusion/disparition companies faibles + +**Contexte GĂ©ographique** : +- **GĂ©nĂ©ration locale** : Features selon contexte (guerre → companies Tank) +- **Build-up progressif** : Nouvelles companies commencent basiques, s'amĂ©liorent +- **Adaptation Ă©tatique** : État sans Ă©lectronique → dev company Ă©lectronique mĂ©diocre + +#### CapacitĂ© Économique des États + +**Limitation companies** : +- **CapacitĂ© par Ă©tat** : Nombre companies selon Ă©conomie nationale +- **Ressources partagĂ©es** : Grosses companies consomment capacitĂ© Ă©conomique +- **Avantage Ă©mergents** : États faibles = innovation possible (pas de monopoles internes) + +**MĂ©caniques d'adaptation** : +- **Besoin critique** : Manque Ă©lectronique → naissance company Electronic (qualitĂ© faible) +- **Substitution** : Mieux que rien > dĂ©pendance externe totale +- **Prix explosion** : PĂ©nurie → dĂ©veloppement alternatifs locaux + +#### DĂ©gradation QualitĂ© et Adaptation + +**Composants infĂ©rieurs** : +- **Design constraints** : Électronique locale = composants plus gros sur grille +- **Chaleur excessive** : Plus de surchauffe, radiateurs supplĂ©mentaires requis +- **Variations design** : Adaptation vĂ©hicules aux composants disponibles +- **Courbe apprentissage** : AmĂ©lioration progressive vers standards internationaux +- **Trade-offs** : Autonomie vs performance optimale + +#### Position du Joueur + +**LibertĂ© totale** : +- **Pas de features** : Joueur non-contraint par systĂšme company +- **Choix gameplay naturels** : SpĂ©cialisation Ă©merge des dĂ©cisions +- **Factorio advantage** : FlexibilitĂ© vs modĂšles figĂ©s IA +- **Concurrence efficacitĂ©** : "Tank, Quantity, Cost" = dĂ©fi mais surmontable + +#### RĂ©cupĂ©ration et Recyclage + +**DĂ©construction produits** : +- **Composants recovery** : DĂ©montage pour piĂšces dĂ©tachĂ©es +- **Économie circulaire** : RĂ©utilisation en cas de pĂ©nurie +- **StratĂ©gie backup** : Alternative aux supply chains rompues + +## SystĂšme de Conception IA + +### DĂ©fis d'ImplĂ©mentation + +**ProblĂ©matique conception** : +- **IA utilise grille** : MĂȘme systĂšme conception que joueur +- **ComplexitĂ© computationnelle** : GĂ©nĂ©ration designs = coĂ»teux +- **Performance temps rĂ©el** : Impossible si IA rĂ©flĂ©chit comme humain + +### Solutions d'ImplĂ©mentation + +**Distribution temporelle** : +- **1-2 designs par tick globalement** : Performance acceptable (total mondial, toutes companies confondues) +- **Milliers de ticks** : Designs Ă©mergent progressivement +- **Background invisible** : Processus conception non-visible joueur + +**Évolution vs CrĂ©ation** : +- **Modification designs existants** : T-72 → T-80 → T-90 (style russe) +- **Plus rapide et rĂ©aliste** : Companies IRL Ă©voluent designs +- **Historical accuracy** : Progression technologique authentique + +**SystĂšme de Validation** : +- **Features comme filtres** : Tank sans arme = design invalide +- **RĂšgles de base** : Guidelines pour IA (tank = chĂąssis + moteur + arme) +- **Validation cohĂ©rence** : Features influencent acceptation designs + +**ProbabilitĂ©s vs RigiditĂ©** : +- **"Innovation" = plus tentatives** : Pas timing fixe, plus d'essais +- **RĂ©activitĂ© rĂ©aliste** : Companies IRL prennent 6+ mois rĂ©agir +- **Market dynamics** : Joueur ne peut rĂ©pondre Ă  toutes demandes simultanĂ©ment + +### Doctrines Culturelles Nationales + +**SystĂšme de Doctrine** : +- **Influences multiples** : Companies, gĂ©nĂ©raux, tactiques et choix Ă©conomiques +- **Transmission** : Nouvelles entitĂ©s hĂ©ritent tendances nationales +- **ProbabilitĂ©s ajustĂ©es** : Bonus/malus selon affinitĂ© culturelle + +#### Exemple : États-Unis +**Features dominantes** : "Quality", "Electronic", "Innovation" +- **Companies** : +60% chance Quality/Electronic, -40% chance Speed/Cost +- **GĂ©nĂ©raux** : Tactiques tech-intensive, support aĂ©rien, logistique lourde +- **Économie** : PrĂ©fĂ©rence R&D, investissements long terme, high-tech + +#### Exemple : France +**Features dominantes** : "Speed", "Modularity", "Innovation" +- **Companies** : +50% chance Speed/Modularity, -30% chance Quantity +- **GĂ©nĂ©raux** : Doctrines flexibles, combined arms, mobilitĂ© +- **Économie** : Cycles courts, adaptabilitĂ©, export diversifiĂ© + +**MĂ©caniques d'Influence** : +- **GĂ©nĂ©ration companies** : ProbabilitĂ©s pondĂ©rĂ©es par doctrine nationale +- **Formation gĂ©nĂ©raux** : Schools nationales influencent styles command +- **DĂ©cisions Ă©tatiques** : Orientations Ă©conomiques selon culture +- **Adaptation** : Companies Ă©trangĂšres s'adaptent progressivement Ă  culture locale + +### Blueprints Culturels + +**HĂ©ritage par Company** : +- **Blueprints intĂ©grĂ©s** : Chaque company hĂ©rite culture design + doctrine nationale +- **Examples** : + - Company russe "Tank, Quantity" : T-34 style (low profile, sloped armor) + - Company allemande "Tank, Quality" : Leopard style (modular, precision) + - Company amĂ©ricaine "Tank, Electronic" : Abrams style (high-tech, digital) + +**IdentitĂ©s technologiques** : +- **Thales** : Blueprints Ă©lectronique française (intĂ©gration, miniaturisation) +- **Dassault** : Blueprints aĂ©ro français (Rafale DNA = agile, multirole) +- **Lockheed** : Blueprints US (stealth, high-tech, expensive) + +**Évolution culturelle** : +- **Regional influences** : Companies mĂȘme rĂ©gion partagent styles + doctrine +- **Feature evolution** : "Quality" amĂ©liore prĂ©cision blueprints existants +- **Acquisition heritage** : Racheter company = rĂ©cupĂ©rer blueprints + culture +- **Doctrine inheritance** : Nouvelles companies adoptent doctrine nationale + +**Émergence** : +- **Nouvelles companies** : HĂ©ritent blueprints rĂ©gionaux/culturels + doctrine +- **Innovation contextuelle** : "Tank, Innovation" japonaise → blueprints hyper-modulaires +- **Adaptation locale** : "Engine, Cost" chinoise → moteurs Ă©conomiques volumineux +- **Cultural drift** : Companies Ă©trangĂšres dĂ©veloppent hybrides doctrine/origine + +### États +- **Statut hybride** : États = companies spĂ©cialisĂ©es avec production propre +- **CapacitĂ©s** : Production, commandes, restrictions commerciales +- **Politique** : Sanctions, embargos, accords commerciaux +- **Exemple** : État ukrainien produit + commande mais ne rĂ©quisitionne pas + +## MarchĂ©s SegmentĂ©s + +### Types de marchĂ©s +- **National** : MarchĂ© par pays (ex: marchĂ© ukrainien) +- **Company-specific** : MarchĂ©s privĂ©s entre companies +- **Blocs multinationaux** : UE, OTAN, etc. +- **Mondial** : MarchĂ© global ouvert + +### Restrictions d'accĂšs +- **Doubles verrous** : Blocages possibles par companies ET Ă©tats +- **Exemples** : + - France bloque ventes Thales → joueur + - Thales bloque directement → joueur + - Ukraine bloque importations → concurrent +- **Scope** : MatĂ©riel industriel, biens production, consommation (Ă©lectricitĂ©, acier) + +## SystĂšme de Prix Dynamiques + +### Facteurs d'influence +- **Offre/Demande** : MĂ©caniques classiques d'Ă©conomie de marchĂ© +- **ÉvĂ©nements militaires** : Conflits modifient prix selon proximitĂ©/impact +- **PĂ©nuries** : Prix fonction durĂ©e estimĂ©e rĂ©solution ("2 mois" vs "5 ans") +- **Production adaptative** : Ajustement selon signaux marchĂ© + +### Exemples concrets +- **Bataille massive** → pĂ©nurie composants blindage → prix x3 +- **Victoire ukrainienne** → confiance Ă©conomique → investissements +- **Embargo russe** → raretĂ© mĂ©taux spĂ©cifiques → alternatives recherchĂ©es + +## SystĂšme Logistique + +### Transport Multi-Modal +**Moyens disponibles** : +- **Camions** : Flexibles, tous terrains, capacitĂ© limitĂ©e +- **Trains** : Grande capacitĂ©, nĂ©cessite infrastructure rails +- **Avions cargo** : Rapides, coĂ»teux en pĂ©trole, capacitĂ© moyenne +- **Drones** : Livraison prĂ©cise, capacitĂ© faible, autonomes +- **Navires** : TrĂšs grande capacitĂ©, lents, limitĂ©s aux cĂŽtes/riviĂšres + +**CaractĂ©ristiques** : +- **Poids max** : Limitation par vĂ©hicule +- **Volume** : Pour vĂ©hicules transportĂ©s (pas pour biens standards) +- **CoĂ»t indirect** : Consommation carburant (15 avions pour tables = inefficient) + +### Supply Chain Militaire + +**Architecture FOB** : +- **Forward Operating Bases** : Une ou plusieurs par armĂ©e +- **Stocks dĂ©centralisĂ©s** : Chaque FOB stocke Ă©quipements/munitions +- **Distribution autonome** : ArmĂ©es gĂšrent propre logistique finale + +**Ravitaillement Combat** : +- **Temps rĂ©el possible** : Livraison pendant batailles +- **Trade-off tactique** : UnitĂ© ravitaillĂ©e + ravitailleur immobilisĂ©es +- **DurĂ©e** : DĂ©finie par design ravitailleur ET ravitaillĂ© +- **VulnĂ©rabilitĂ©** : Moment critique exploitable par ennemi + +### Infrastructure et VulnĂ©rabilitĂ©s + +**Attaques possibles** : +- **Convois** : Cibles mobiles attaquables +- **Infrastructure** : Destruction ponts, rails, dĂ©pĂŽts +- **Pas d'espionnage** : Sabotage physique uniquement + +**Protection** : +- **Escortes** : DĂ©fense convois prioritaires +- **Redondance** : Routes alternatives prĂ©planifiĂ©es +- **RĂ©paration** : Reconstruction infrastructure critique + +## Ressources et Extraction + +### SystĂšme de PropriĂ©tĂ© +**HiĂ©rarchie ownership** : +- **États** : Master ownership des ressources territoriales +- **Companies** : Droits d'exploitation accordĂ©s/achetĂ©s +- **Joueur** : Doit obtenir droits pour exploiter +- **Revente droits** : Possible si non-rentable + +**Future** : SystĂšme rĂ©quisition Ă©tat en temps de guerre + +### GĂ©opolitique des Ressources +**Ressources stratĂ©giques** : +- **Titanium** : AĂ©rospatial, blindages avancĂ©s +- **Lithium** : Batteries, Ă©lectronique +- **Terres rares** : Processeurs, optiques avancĂ©es +- **ContrĂŽle = Pouvoir** : Monopole ressource = leverage diplomatique + +## MĂ©caniques de MarchĂ© + +### Information et Trading +**Transparence** : +- **Information parfaite** : Prix publics connus de tous +- **QualitĂ© nĂ©gociateur** : Influence commerce inter-entitĂ©s +- **MarchĂ© ouvert** : SystĂšme buy/sell orders (style hĂŽtel des ventes) + +### Manipulation Économique +**PĂ©nuries artificielles** : +- **Possible thĂ©oriquement** : Achat massif pour crĂ©er raretĂ© +- **Limites pratiques** : NĂ©cessite moyens immenses +- **Multi-marchĂ©s** : Difficile crĂ©er pĂ©nurie mondiale +- **Contre-mesures** : MarchĂ©s alternatifs, substituts + +### Dynamiques Prix +**Facteurs influençant** : +- **ProximitĂ© conflit** : Prix locaux augmentent prĂšs combats +- **DurĂ©e rĂ©solution** : "2 mois" vs "5 ans" = prix diffĂ©rents +- **Volume disponible** : Stocks mondiaux vs production +- **Routes commerciales** : Blocage routes = prix rĂ©gionaux explosent + +## Économie de Guerre + +### Changement de PrioritĂ©s Étatiques +**Principe** : États adaptent leurs commandes selon contexte +- **Temps de paix** : Nourriture, biens civils, infrastructure +- **Temps de guerre** : RĂ©duction tables civiles, augmentation tanks/munitions +- **Companies compliance** : Tentative d'adaptation aux nouvelles commandes Ă©tatiques +- **Limites culturelles** : Company bois ne peut pas faire tanks instantanĂ©ment + +### SystĂšme de Rationnement +**DĂ©clenchement** : En cas de pĂ©nuries critiques +- **PrioritĂ©s Ă©tatiques** : Garantie besoins essentiels (nourriture) +- **Malus production** : Effets nĂ©gatifs sur Ă©conomie gĂ©nĂ©rale +- **StratĂ©gie militaire** : Attaque infrastructure alimentaire = guerre totale +- **Ciblage intelligent** : DĂ©truire supply chains ennemies pour forcer rationnement + +### Finances et CrĂ©dit +**SystĂšme bancaire** : +- **Emprunts companies** : Financement expansion/reconversion +- **Taux variables** : Selon risque et contexte Ă©conomique +- **DĂ©fauts possibles** : Faillites en cas de mauvaise gestion + +### Supply Chain Vulnerabilities +**Effet cascade** : +- **Single point of failure** : Usine critique dĂ©truite → paralysie secteur +- **InterdĂ©pendances** : Composants → sous-assemblages → produits finis +- **Substituts** : Recherche alternatives en cas de rupture +- **Stockages stratĂ©giques** : Buffer contre disruptions temporaires \ No newline at end of file diff --git a/docs/global/gameplay-industriel.md b/docs/global/gameplay-industriel.md new file mode 100644 index 0000000..5014ad6 --- /dev/null +++ b/docs/global/gameplay-industriel.md @@ -0,0 +1,188 @@ +# Gameplay industriel + +## Progression des ressources + +### Ordre d'acquisition thĂ©orique + +**Ressources de base** : +- Bois → Coffre +- Pierre → Mur en pierre +- Scrap → ChaudiĂšre (alimentation vapeur dans un rayon de 1 case) + +**Machines de base** : +- Assembleur Ă  vapeur +- Four + +**ChaĂźne de production** : +- Charbon de bois < bois +- Fer < minerais de fer / scrap + charbon de bois +- Engrenage < Fer +- Cuivre < minerais de cuivre + charbon de bois +- Bobine de cuivre < cuivre +- Sable < pierre +- Verre < sable +- Circuit Ă©lectronique primitif < Bobine de cuivre + bois + verre + +## Gameloop par phases + +### Early +- Exploitation et production +- Scrap et bois +- Recherche +- ÉlectricitĂ© et commerce + +### Mid +- Charbon et fer/cuivre/silice +- Acide sulfurique/nitrique +- Explosifs basiques/munitions +- Électronique +- Roquettes +- Assemblage et diplomatie +- Licences civiles +- Combat +- Radar + +### Mid late +- PĂ©trole et alu/titane/gold +- Plastique/explosifs avancĂ©s +- Circuits avancĂ©s +- Licences militaires +- Tourelles de dĂ©fenses (AA, terrestre, gun) +- Missiles, C&C basique + +### Late game +- NuclĂ©aire et platine/composite +- Processeurs + +## Philosophie Bac Ă  Sable + +### LibertĂ© d'Échelle Joueur +Warfactory est conçu comme un **bac Ă  sable Ă©conomique** oĂč le joueur dĂ©finit sa propre Ă©chelle d'opĂ©ration selon ses prĂ©fĂ©rences : + +**Spectrum complet possible** : +- **Artisan local** : Production tables, meubles, objets du quotidien +- **PME spĂ©cialisĂ©e** : Focus niche (Ă©lectronique, composants spĂ©cifiques) +- **Industriel rĂ©gional** : Usines moyennes, marchĂ©s nationaux +- **GĂ©ant multinational** : Concurrent direct Thales/Lockheed Martin, marchĂ©s globaux + +**Principe fondamental** : **Aucune progression forcĂ©e**. Le joueur peut rester petit artisan toute la partie s'il le souhaite, ou scale selon ses ambitions. + +### Principe Skip vs Optimize + +**Philosophie design core** : **"Tous les systĂšmes du jeu doivent pouvoir ĂȘtre skippĂ©s"** + +Le joueur choisit son niveau d'engagement selon ses prĂ©fĂ©rences, compĂ©tences et temps disponible : + +**Spectrum d'engagement** : +- **Skip/CommoditĂ©** : Solutions automatisĂ©es, efficacitĂ© rĂ©duite mais accessibles +- **Partial engagement** : Hybride manuel/auto selon systĂšmes +- **Full optimization** : ContrĂŽle manuel complet, efficacitĂ© maximale + +**Exemples d'application** : +- **Production** : Factory tout-en-un (mĂ©diocre) vs layouts Factorio optimisĂ©s +- **Design vĂ©hicules** : Templates basiques vs design manuel prĂ©cis +- **Recherche** : Auto-tech vs chemins research focused +- **Commerce** : Auto-trade vs nĂ©gociation manuelle +- **Militaire** : Templates doctrinaux vs tactiques custom + +**Avantages** : +- **AccessibilitĂ©** : Nouveaux joueurs peuvent progresser sans frustration +- **Depth prĂ©servĂ©e** : Experts peuvent optimiser chaque aspect +- **RejouabilitĂ©** : MĂȘme joueur peut changer d'approche selon contexte +- **Respect du temps** : Adaptation aux contraintes personnelles + +### FlexibilitĂ© de Reconversion Industrielle + +#### MĂ©caniques de Switch Production +La difficultĂ© de reconversion dĂ©pend de la **similaritĂ© des processus industriels** : + +**Reconversion Facile** (mĂȘme ligne de production, ajustements mineurs) : +- **Tables fer → Blindages vĂ©hicules** : MĂȘme matĂ©riaux (acier), dĂ©coupe/soudage similaire +- **Électronique civile → Électronique militaire** : Composants proches, normes diffĂ©rentes +- **Moteurs civils → Moteurs militaires** : Base commune, specifications renforcĂ©es + +**Reconversion Complexe** (nouvelles machines, formation, supply chain) : +- **Tables fer → Canons d'artillerie** : PrĂ©cision usininage, alliages spĂ©ciaux, timing critique +- **Textile → Électronique** : Processus complĂštement diffĂ©rents +- **Alimentaire → Composites avancĂ©s** : MatĂ©riaux et techniques sans rapport + +**Reconversion Impossible** (reconstruction usine complĂšte) : +- **Menuiserie → Production hydrogĂšne** : ZĂ©ro overlap technologique +- **Pharmacie → Moteurs fusĂ©e** : Secteurs totalement disjoints + +#### Impact Gameplay +- **Diversification intelligente** : Choisir productions complĂ©mentaires +- **FlexibilitĂ© stratĂ©gique** : RĂ©agir aux Ă©vĂ©nements (guerre → switch civil→militaire) +- **SpĂ©cialisation vs GĂ©nĂ©ralisme** : Trade-off entre efficacitĂ© et adaptabilitĂ© + +## SystĂšmes de production + +### Factory +- **Extraction** +- **Minage** +- **Style** : Factorio-like + +### Agriculture +- Concept Ă  explorer + +### Production +- **Style** : Factorio-like +- **Assemblage** : Voir l'aspect conception avant + +#### Assemblage et qualitĂ© +L'idĂ©e est que puisque la conception se fait sur une grille, il faut placer les Ă©lĂ©ments sur une frame par des machines spĂ©ciales. Pour ce faire, il faut des bras spĂ©ciaux et placer dans un ordre correct. Si ce n'est pas respectĂ© parfaitement, on observera une rĂ©duction dans la qualitĂ© du matĂ©riel. + +**Exemple de placement** : +- Cases marron : Ă©lĂ©ments dĂ©jĂ  placĂ©s plus tĂŽt +- ÉlĂ©ment vert Ă  placer : bonne façon par la droite (flĂšche rouge) +- Placement par la gauche (flĂšche rose) : possible mais rĂ©duction qualitĂ© +- Composant bleu : 2 façons correctes (droite et arriĂšre, flĂšches jaunes) + +**ProblĂšme identifiĂ©** : +- "Chain des bras c'est pas ouf. MĂȘme si les machines changent de forme c'est clairement pas suffisant. Il faut plus. Visuellement c'est pauvre." + +### Logistique +- **Style** : Factorio-like +- **ConsidĂ©ration** : Peut-ĂȘtre pas de belt 2-line + +### ÉlectricitĂ© +- **Principe** : TrĂšs simple pour gagner en performance par rapport Ă  Factorio +- **Pas de calcul dynamique** des consommations en entrĂ©e +- **Pas de balance** de consommation du rĂ©seau + +## SystĂšmes de Production + +### Dual Production System +**SystĂšme production brut** : +- Transforme ressources primaires en matĂ©riaux (minerai fer → plaques fer) +- Production de masse, standardisĂ©e +- Focus sur volume et efficacitĂ© + +**SystĂšme d'assemblage** : +- Prend matĂ©riaux et les place dans lignes d'assemblage +- CrĂ©ation produits finis (plaques acier → armure tank) +- Focus sur qualitĂ© et prĂ©cision + +### FlexibilitĂ© production (style Factorio) +**Reconfiguration selon complexitĂ©** : +- **Simple** : Tables → blindages bois (reconfiguration manufacturateurs, mĂȘme layout) +- **Complexe** : Tables fer → canons tank (refaire usines complĂštes - matĂ©riaux, timing, titane) +- **Radical** : Tables → hydrogĂšne (reconstruction totale usines) + +**DĂ©pendance recettes** : FacilitĂ© changement selon similaritĂ© matĂ©riaux/process + +### Avantage compĂ©titif joueur +**Joueur** : +- **Factorio-like** : Design optimisĂ©, consommation Ă©lectricitĂ© seule +- **EfficacitĂ© maximale** : Pas de workers, pas de salaires + +**IA Companies/États** : +- **BĂątiments simples** : Production sans design joueur +- **CoĂ»ts opĂ©rationnels** : Workers + salaires requis +- **Joueur peut accĂ©der** : Mais moins efficace que ses propres designs + +### Commandes et autonomie +- **Pas de suggestions IA** : Joueur gĂšre sa production seul +- **Commandes externes** : États/Companies peuvent commander au joueur +- **État ukrainien** : Company parmi d'autres (produit, commande, pas rĂ©quisition) + diff --git a/docs/global/map-system.md b/docs/global/map-system.md new file mode 100644 index 0000000..798e447 --- /dev/null +++ b/docs/global/map-system.md @@ -0,0 +1,1001 @@ +# Map System + +## Vue d'ensemble + +Le systĂšme de carte de Warfactory utilise une architecture hybride combinant une **carte globale rĂ©elle Ă©ditable** avec des **cartes locales gĂ©nĂ©rĂ©es** pour optimiser performance et gameplay. + +## Architecture Multi-Niveaux + +### Zoom Discret - 2 Niveaux +**Large Map (Carte Globale)** : +- **Carte monde** : Scope planĂ©taire complet +- **V1 dĂ©veloppement** : Carte faite Ă  la main pour tests +- **Éditable** : Modifications possibles selon besoins gameplay +- **Navigation longue distance** : Node-based system +- **Scope** : Pays, rĂ©gions, logistique macro + +**Zoom Local (Tiles de Jeu)** : +- **Taille tiles** : 1m x 1m (prĂ©cision Factorio) +- **Chunks locaux** : 64x64 tiles (64m x 64m) [proposition] +- **Cartes gĂ©nĂ©rĂ©es** : Créées Ă  la demande par serveur +- **Style Factorio** : Placement prĂ©cis usines, bras, tapis roulants +- **Persistent** : GardĂ©es en mĂ©moire une fois gĂ©nĂ©rĂ©es +- **Scope** : Construction dĂ©taillĂ©e, combat local + +## SystĂšme de Navigation + +### Navigation Longue Distance +**Transport Terrestre** : +- **Node routier** : RĂ©seau routier principal +- **Node rail** : Infrastructure ferroviaire +- **Node maritime** : Ports et voies navigables + +**Transport AĂ©rien** : +- **Point A to Point B** : Navigation directe sans contraintes nodes +- **Pas de rĂ©seau** : Vol libre dans espace aĂ©rien + +### Chunks ImbriquĂ©s +**Optimisation logarithmique** : +- **HiĂ©rarchie chunks** : Structure imbriquĂ©e pour performance +- **Navigation intelligente** : Pathfinding optimisĂ© +- **Streaming efficace** : Chargement sĂ©lectif selon zoom + +## Gameplay et Construction + +### Échelles de Construction +**Niveau Local (Style Factorio)** : +- **Bras (inserter)** : Taille = taille joueur +- **Usines joueur** : 2x2, 3x3, 4x4, parfois plus grandes +- **Usines IA/personnel** : 40x30, 10x10, 15x30 (grandes installations) +- **Infrastructure** : Tapis roulants, rĂ©seaux Ă©lectriques + +**Niveau Global** : +- **Placement macro** : Positionnement bases, rĂ©gions industrielles +- **Infrastructure** : Routes, rails, ports +- **Effets cascade** : Modifications locales → impact global + +## Combat et IntĂ©gration + +### Combat Local sur Vraie Map +**Principe** : +- **Pas d'instances** : Combat sur cartes locales rĂ©elles +- **ContinuitĂ©** : MĂȘme terrain que construction +- **Persistance** : DĂ©gĂąts restent aprĂšs combat + +**IntĂ©gration Logistique** : +- **Routes visualisĂ©es** : Infrastructure visible sur map +- **Supply lines** : Convois suivent rĂ©seau routier/rail +- **VulnĂ©rabilitĂ©s** : Infrastructure attaquable + +## Streaming et Performance + +### SystĂšme de Chargement +**Client-Side** : +- **Streaming intelligent** : Charge zone selon zoom/position +- **Unload automatique** : LibĂšre mĂ©moire zones non-visitĂ©es +- **Performance optimale** : Affiche uniquement Ă©cran visible + +**Multi-joueur** : +- **Synchronisation serveur** : Redistribue changements aux joueurs en zone +- **Pas de conflit** : SystĂšme chunk rĂ©sout collisions + +### Transitions de Vue +**Zoom automatique** : +- **Seuil automatique** : Switch auto global→local selon niveau zoom +- **Boutons directs** : "Zoom on player" pour accĂšs rapide +- **Transition fluide** : Passage seamless entre niveaux + +**Isolation joueurs** : +- **Pas de notifications** : Connexion/dĂ©connexion autres joueurs invisible +- **Pas de chat** : Communication uniquement via systĂšme messages (futur) +- **Isolation totale** : 10 joueurs sur pays diffĂ©rents peuvent s'ignorer complĂštement + +### Optimisation Visuelle +**Rendu Local** : +- **Joueur voit** : Sa tile + tiles adjacentes +- **CamĂ©ras optionnelles** : AccĂšs distant aux usines du joueur +- **Performance** : Ultra-simple, affichage Ă©cran uniquement + +## Fog of War et Reconnaissance + +### SystĂšme de MĂ©moire +**FOW par Chunks** : +- **Full Black** : Zones jamais visitĂ©es +- **MĂ©moire persistante** : Client garde info zones explorĂ©es +- **GranularitĂ©** : Par chunk, pas de micro-FOW + +### Intel Gathering Progressif +**QualitĂ© reconnaissance** : +- **Satellite bas** : "BĂątiments ukrainiens en Ukraine" +- **Satellite high-end** : "Usines tanks Company X spĂ©cifique" +- **Progression dĂ©tail** : BĂątiment → Usine → Usine armement → Usine armement Company X + +### Persistance Intelligence +**MĂ©moire par Actor** : +- **Sauvegarde info** : État/Company garde intel collectĂ© +- **Expiration possible** : Info peut devenir obsolĂšte +- **Partage conditionnel** : Selon alliances/accords + +## Map Éditable et Modifications + +### Carte Globale RĂ©elle +**Base authentique** : +- **GĂ©ographie rĂ©elle** : Ukraine, Europe, monde selon scope +- **Modifiable** : Adaptations pour gameplay/Ă©quilibrage +- **Infrastructure rĂ©elle** : Routes, villes, ports existants + +### RĂ©percussions CroisĂ©es +**Local → Global** : +- **Destruction infrastructure** : Pont local → route globale coupĂ©e +- **Constructions majeures** : Nouvelle usine → impact Ă©conomique rĂ©gional + +**Global → Local** : +- **Artillerie longue portĂ©e** : DĂ©gĂąts route globale → terrain local +- **ÉvĂ©nements macro** : Bombe nuclĂ©aire → dĂ©gradation locale gĂ©nĂ©ralisĂ©e + +## Structures de DonnĂ©es Techniques + +### Architecture Chunks OptimisĂ©e + +**Tile Structure Principal (Terrain)** : +```cpp +struct Tile { + uint16_t terrain_type; // 2 bytes (65k types terrain possibles) + uint8_t elevation; // 1 byte (0-255 hauteur) + uint16_t building_id; // 2 bytes (ref vers building) + uint16_t flags; // 2 bytes (passable, destructible, etc.) + uint8_t padding; // 1 byte (alignment mĂ©moire) +}; // = 8 bytes par tile +``` + +**Chunk Principal 64x64** : +- **Taille** : 4096 tiles × 8 bytes = 32KB par chunk +- **Usage** : Terrain, navigation, construction, combat local +- **FrĂ©quence** : ChargĂ© souvent, dense + +**Combat Multi-Chunks** : +- **Batailles Ă©tendues** : Combat s'Ă©tend naturellement sur dizaines/centaines de chunks +- **Frontlines persistantes** : Guerre dure 1 an dans le monde (ex: base Bakhmut) +- **CapacitĂ© systĂšme** : "Milliers d'unitĂ©s" = rĂ©parties sur grande zone gĂ©ographique +- **Streaming intelligent** : Charge chunks actifs selon position unitĂ©s/player + +**SystĂšme Ressources par Patches (Factorio-like)** : +```cpp +// Patches alignĂ©s sur grille tiles, mais pas forcĂ©ment sur chunks +struct ResourcePatch { + uint16_t resourceId; // Fer, cuivre, pĂ©trole, uranium, etc. + uint64_t original_quantity; // QuantitĂ© initiale (future-proof) + uint64_t remaining_quantity; // Ce qui reste actuellement + uint8_t base_richness; // Richesse de base (items/sec/drill) + set tiles; // Grid de tiles occupĂ©es (ex: L-shape sur grille) + uint32_t active_drills; // Nombre de drills qui minent + BoundingBox bounds; // Zone couverte par le patch + + float getCurrentExtractionRate() { + if (remaining_quantity == 0) { + return 0.0f; // STOP NET - patch Ă©puisĂ© + } + + double depletion_ratio = (double)remaining_quantity / original_quantity; + // Formule diminishing returns : rate = base * (1 - (1-depletion)/2) + float efficiency = 1.0f - (1.0f - depletion_ratio) / 2.0f; + return base_richness * efficiency; + } + + float getTotalOutput() { + return getCurrentExtractionRate() * active_drills; + } + + bool isExhausted() { + return remaining_quantity == 0; + } +}; + +struct MiningDrill { + Point2D position; + uint8_t coverage_area; // 1-25 tiles selon tech + ResourcePatch* target_patch; // RĂ©fĂ©rence au patch minĂ© + + float getOutput() { + if (!target_patch || target_patch->isExhausted()) { + return 0.0f; // Drill inutile si patch Ă©puisĂ© + } + return target_patch->getCurrentExtractionRate(); + } +}; +``` + +**MĂ©caniques d'Extraction** : +- **Partage Ă©quitable** : N drills = N × extraction_rate du patch +- **Diminishing returns** : Plus le patch s'Ă©puise, moins il est efficace +- **ArrĂȘt brutal** : 0% restant = 0 extraction (pas de rĂ©siduel) +- **Exemple** : Patch 50% Ă©puisĂ© = 75% d'efficacitĂ© par drill + +**Exemples de CapacitĂ©** : +- **Patch fer standard** : 10 millions d'unitĂ©s +- **Gisement pĂ©trole** : 1 milliard d'unitĂ©s (quasi-infini) +- **Mine uranium** : 100 millions d'unitĂ©s (extraction trĂšs lente) + +**Avantages Architecture** : +- **SĂ©paration claire** : Terrain vs ressources = systĂšmes indĂ©pendants +- **Performance** : Terrain chargĂ© en continu, ressources Ă  la demande +- **ExtensibilitĂ©** : 65k terrain types = variantes urbain/rural/industriel +- **MĂ©moire optimisĂ©e** : Pas de ressources stockĂ©es dans chaque tile +- **Alignment CPU** : Padding assure performance mĂ©moire + +### Metadata Chunks +```cpp +struct ChunkMeta { + int32_t chunk_x, chunk_y; // Position globale + uint32_t generation_seed; // Pour reproduction terrain + bool is_dirty; // ModifiĂ© depuis last save + timestamp last_access; // Pour LRU unloading + uint16_t active_buildings; // Compteur optimisation + vector; // BĂątiments multi-tiles +}; // ~1-5KB selon buildings prĂ©sents +``` + +**Total Footprint par Chunk** : +- Terrain : 32KB (toujours chargĂ©) +- Ressources : 0-16KB (selon density, sparse) +- Metadata : 1-5KB (selon buildings) +- **Total** : 33-53KB par chunk = trĂšs raisonnable + +## GĂ©nĂ©ration et Persistance + +### Cartes Locales +**GĂ©nĂ©ration Ă  la demande** : +- **Serveur gĂ©nĂšre** : Selon besoins joueur/combat +- **Persistance** : Sauvegarde une fois créée avec seed +- **Reproduction** : MĂȘme seed = mĂȘme terrain gĂ©nĂ©rĂ© + +**Seed System** : +```cpp +// GĂ©nĂ©ration dĂ©terministe par chunk +uint32_t chunk_seed = global_seed ^ (chunk_x << 16) ^ chunk_y; +// Assure reproduction exacte du terrain +``` + +**DĂ©clencheurs gĂ©nĂ©ration** : +- **Joueur visite** : Zone explorĂ©e premiĂšre fois +- **Combat dĂ©clarĂ©** : Battlefield gĂ©nĂ©rĂ© automatiquement +- **Construction** : DĂ©veloppement industriel local + +## Architecture Modulaire de GĂ©nĂ©ration ProcĂ©durale + +### Principe de ModularitĂ© +**Design pour IA** : Chaque module = interface simple + logic testable + rĂšgles claires + +```cpp +class IGenerator { +public: + virtual void generate(ChunkData& chunk, GenerationContext& context) = 0; + virtual void validate(const ChunkData& chunk) = 0; + virtual bool canGenerate(const GenerationContext& context) = 0; +}; +``` + +### Modules de GĂ©nĂ©ration + +#### TerrainGenerator +```cpp +class TerrainGenerator : public IGenerator { +private: + PerlinNoiseGenerator elevation; + PerlinNoiseGenerator moisture; + BiomeClassifier biomes; + +public: + void generate(ChunkData& chunk, GenerationContext& context) override { + // GĂ©nĂšre elevation, biomes, terrain de base + // Input: chunk position, global seed + // Output: terrain_type pour chaque tile + } +}; +``` + +#### RoadNetworkGenerator +```cpp +class RoadNetworkGenerator : public IGenerator { +private: + DelaunayTriangulation connectivity; + MinimumSpanningTree optimizer; + +public: + void generate(ChunkData& chunk, GenerationContext& context) override { + // GĂ©nĂšre rĂ©seau routier cohĂ©rent + // Input: terrain, points d'intĂ©rĂȘt, chunks voisins + // Output: routes principales + secondaires + } +}; +``` + +#### BuildingLayoutGenerator +```cpp +class BuildingLayoutGenerator : public IGenerator { +private: + BSPTreePartitioner space_divider; + BuildingTemplateManager templates; + ZoningCalculator land_use; + +public: + void generate(ChunkData& chunk, GenerationContext& context) override { + // Place bĂątiments selon zoning et templates + // Input: terrain, routes, zone type (urbain/rural/industriel) + // Output: bĂątiments positionnĂ©s avec types + } +}; +``` + +#### DestructionSystem +```cpp +class DestructionSystem : public IGenerator { +private: + DamagePatternLibrary patterns; + HistoricalEventProcessor events; + +public: + void generate(ChunkData& chunk, GenerationContext& context) override { + // Applique destruction selon contexte historique + // Input: bĂątiments, Ă©vĂ©nements historiques (guerra, bombardements) + // Output: ruines, cratĂšres, infrastructures endommagĂ©es + } +}; +``` + +### Growth Engine Modulaire + +#### PopulationGrowthCalculator +```cpp +class PopulationGrowthCalculator { +private: + DemographicModel demographics; + EconomicFactors economy; + +public: + float calculateGrowthRate(const RegionData& region, float time_delta) { + // Calcule croissance population selon facteurs + // Input: population actuelle, Ă©conomie, sĂ©curitĂ© + // Output: taux de croissance (peut ĂȘtre nĂ©gatif) + } +}; +``` + +#### LandValueCalculator +```cpp +class LandValueCalculator { +private: + ProximityAnalyzer proximity; + InfrastructureEvaluator infrastructure; + SafetyAssessment security; + +public: + float calculateValue(const TileCoordinate& tile, const RegionContext& context) { + // Évalue valeur fonciĂšre d'une tile + // Input: position, infrastructure proche, sĂ©curitĂ© + // Output: valeur relative (0.0-1.0) + } +}; +``` + +#### DemandCalculator +```cpp +class DemandCalculator { +private: + ResidentialDemand residential; + CommercialDemand commercial; + IndustrialDemand industrial; + +public: + DemandProfile calculateDemand(const RegionData& region) { + // Calcule besoins en construction par type + // Input: population, Ă©conomie, infrastructure existante + // Output: demande rĂ©sidentiel/commercial/industriel + } +}; +``` + +#### ExpansionSiteFinder +```cpp +class ExpansionSiteFinder { +private: + SuitabilityAnalyzer suitability; + ConstraintChecker constraints; + +public: + vector findSites(const DemandProfile& demand, const RegionData& region) { + // Trouve emplacements optimaux pour expansion + // Input: demande calculĂ©e, terrain disponible + // Output: sites classĂ©s par prioritĂ© + } +}; +``` + +#### DevelopmentExecutor +```cpp +class DevelopmentExecutor { +private: + ConstructionPlanner planner; + ResourceRequirementCalculator resources; + +public: + bool executeDevelopment(const ExpansionSite& site, const DevelopmentPlan& plan) { + // ExĂ©cute construction selon plan et ressources + // Input: site choisi, plan de dĂ©veloppement + // Output: succĂšs/Ă©chec + modifications terrain + } +}; +``` + +### Pipeline de GĂ©nĂ©ration + +```cpp +class ChunkGenerationPipeline { +private: + vector> generators; + +public: + void generateChunk(ChunkData& chunk, const GenerationContext& context) { + // Pipeline sĂ©quentiel : + // 1. TerrainGenerator (base) + // 2. RoadNetworkGenerator (infrastructure) + // 3. BuildingLayoutGenerator (structures) + // 4. DestructionSystem (histoire) + + for (auto& generator : generators) { + if (generator->canGenerate(context)) { + generator->generate(chunk, context); + generator->validate(chunk); + } + } + } +}; +``` + +### Avantages Architecture + +**Pour l'IA** : +- **Interfaces claires** : Chaque module a input/output dĂ©finis +- **TestabilitĂ©** : Chaque gĂ©nĂ©rateur testable indĂ©pendamment +- **Évolution** : Nouveaux gĂ©nĂ©rateurs ajoutables facilement +- **Debug** : Isolation des problĂšmes par module + +**Pour le Gameplay** : +- **CohĂ©rence** : RĂšgles de gĂ©nĂ©ration explicites +- **FlexibilitĂ©** : Modules activables selon contexte +- **Performance** : GĂ©nĂ©ration Ă  la demande par module +- **ContinuitĂ©** : Coordination entre chunks via GenerationContext + +### Contexte de GĂ©nĂ©ration + +```cpp +struct GenerationContext { + uint32_t global_seed; + ChunkCoordinate position; + RegionType region_type; // Urbain, rural, industriel + HistoricalEvents events; // Guerres, bombardements passĂ©s + NeighborChunkData neighbors; // Chunks dĂ©jĂ  gĂ©nĂ©rĂ©s + CompanyInfluences companies; // Companies dominantes rĂ©gion + StatePolicy policies; // Politiques Ă©tat local + GeographicalBias bias; // Modificateurs rĂ©gion (+montagne, -marĂ©cage) + FixedZones fixed_zones; // Zones prĂ©dĂ©finies (Tchernobyl, etc.) +}; +``` + +## SystĂšme de GĂ©nĂ©ration ProcĂ©durale par Points avec Tendances RĂ©gionales + +### Vision Globale + +#### Principe Fondamental +Chaque tile de la carte mondiale est gĂ©nĂ©rĂ©e selon un **budget de points** qui dĂ©termine ce qui s'y trouve. Les Ă©lĂ©ments ont des valeurs positives (ressources, opportunitĂ©s) ou nĂ©gatives (dangers, contraintes). La gĂ©nĂ©ration combine des Ă©lĂ©ments pour atteindre exactement le score cible, crĂ©ant automatiquement un Ă©quilibre risque/rĂ©compense. + +#### Innovation ClĂ© : Tendances RĂ©gionales +Au-dessus du systĂšme de points, des **zones gĂ©ographiques** influencent la probabilitĂ© d'apparition de certains Ă©lĂ©ments, crĂ©ant des rĂ©gions spĂ©cialisĂ©es rĂ©alistes : bassins pĂ©troliers, zones miniĂšres historiques, rĂ©gions forestiĂšres, zones post-industrielles. + +### Anatomie d'une Tile + +#### Budget de Points +Chaque tile reçoit un **score cible** (-10 Ă  +10) qui dĂ©termine son "potentiel" : +- **Scores positifs** : Zones riches mais souvent avec contraintes +- **Score zĂ©ro** : Terrain Ă©quilibrĂ© ou neutre +- **Scores nĂ©gatifs** : Zones dangereuses ou difficiles + +#### Philosophie de Design +- **Équilibre automatique** : Richesse compensĂ©e par contraintes +- **VariĂ©tĂ© Ă©mergente** : MĂȘmes Ă©lĂ©ments, contextes diffĂ©rents +- **CohĂ©rence gĂ©ographique** : ÉlĂ©ments appropriĂ©s aux rĂ©gions via tendances rĂ©gionales +- **DĂ©couverte progressive** : Certains Ă©lĂ©ments cachĂ©s nĂ©cessitent exploration +- **SpĂ©cialisation territoriale** : RĂ©gions dĂ©veloppent identitĂ©s distinctes + +## Typologie des ÉlĂ©ments + +### Ressources Naturelles (Positives) +**Minerais de Base** +- Fer = +1 point +- Cuivre = +1 point +- Charbon = +1 point +- Plomb = +1 point + +**Minerais PrĂ©cieux** +- Bauxite = +2 points +- Étain = +2 points +- Titane = +3 points +- MagnĂ©sium = +2 points +- TungstĂšne = +3 points +- Chrome = +2 points +- Antimoine = +2 points + +**MĂ©taux PrĂ©cieux** +- Gold = +4 points +- Platine = +5 points +- Silver = +3 points +- Iridium = +6 points + +**Ressources ÉnergĂ©tiques & Chimiques** +- Lithium = +4 points +- Thorium = +3 points +- Soufre = +1 point +- Phosphore = +1 point +- Natron = +1 point + +**Ressources Organiques** +- Bois dur = +1 point +- Terre noire = +1 point +- Zinc = +2 points + +**Ressources ÉnergĂ©tiques** +- PĂ©trole = +3 points +- Gaz naturel = +2 points +- Uranium = +5 points + +**Ressources Organiques** +- ForĂȘt dense = +1 point +- Zone de chasse = +1 point +- Eau douce = +1 point + +### Vestiges et Structures (Variables) +**Vestiges Anciens** +- Ruines antiques = +1 point (matĂ©riaux rĂ©cupĂ©rables) +- Ruines mĂ©diĂ©vales = +1 point +- Vestiges industriels = +1 point (scrap mĂ©tallique) + +**Ruines Inutiles** +- Ruines effondrĂ©es = -1 point (obstruction) +- DĂ©combres = -1 point +- Structures instables = -2 points + +### Contraintes GĂ©ologiques (NĂ©gatives) +**Terrain Difficile** +- MarĂ©cages = -1 point +- Terrain rocailleux = -1 point +- Pentes abruptes = -2 points +- InstabilitĂ© gĂ©ologique = -3 points + +**Contaminations Historiques** +- Pollution miniĂšre ancienne = -2 points +- Contamination chimique = -2 points +- Pollution radioactive = -3 points +- Radiations intenses = -5 points + +### Features GĂ©ologiques SpĂ©ciales +**Formations Naturelles** +- Grottes = +1 point (abri, ressources cachĂ©es) +- Sources thermales = +1 point +- Gisements de sel = +1 point +- MĂ©tĂ©orite = +5 points (mĂ©taux rares et prĂ©cieux concentrĂ©s) +- ForĂȘt pĂ©trifiĂ©e = +2 points (silice, attraction gĂ©ologique) +- Geysers d'eau chaude = +2 points (Ă©nergie, tourisme thermal) +- CheminĂ©es de fĂ©es = +1 point (formation Ă©rosive unique) +- Arche naturelle = +1 point (pont rocheux, point de repĂšre) +- Pilier rocheux isolĂ© = +1 point (formation Ă©rosive, nidification) +- Mesa = +1 point (plateau isolĂ©, position dĂ©fensive) + +**Features GĂ©ographiques Aquatiques** +- Lac = +1 point (eau douce, transport) +- Lac avec Ăźle centrale = +2 points (position dĂ©fensive, mystĂšre) +- Étang = +1 point (ressource eau locale) +- MarĂ©cage = 0 points (ressources +2, difficultĂ©s terrain -2) +- Delta fluvial = +2 points (terres fertiles, voies navigation) +- Fjord = +1 point (port naturel protĂ©gĂ©) +- Cascade = +1 point (Ă©nergie hydraulique) +- Geyser = +2 points (Ă©nergie gĂ©othermique, attraction) +- Source de riviĂšre = +2 points (eau pure, position stratĂ©gique) +- Île fluviale = +1 point (position dĂ©fensive sur cours d'eau) +- Archipel = +3 points (multiple positions dĂ©fensives, pĂȘche) +- Atoll = +2 points (lagon protĂ©gĂ©, rĂ©cif corallien) +- Crique isolĂ©e = +2 points (port cachĂ©, protection tempĂȘtes) +- Crique avec Ăźlot = +3 points (mouillage protĂ©gĂ©, mystĂšre) +- Skerry = +1 point (Ăźlot rocheux, navigation difficile) +- Tombolo = +2 points (Ăźle reliĂ©e par banc de sable) +- Lac assĂ©chĂ© = 0 points (sel +2, ariditĂ© -2) + +**Features GĂ©ographiques Terrestres** +- Canyon = 0 points (protection +2, accĂšs difficile -2) +- Plateau Ă©levĂ© = +1 point (position dominante, vents) +- VallĂ©e encaissĂ©e = +1 point (protection, microclimat) +- Plaine fertile = +2 points (agriculture excellente) +- Steppe = 0 points (pĂąturages +1, ariditĂ© -1) +- Dunes mobiles = -1 point (instabilitĂ© terrain) +- Oasis = +3 points (eau prĂ©cieuse en zone aride) +- Col de montagne = +1 point (passage stratĂ©gique) +- Cirque glaciaire = +1 point (amphithéùtre naturel) +- Gorge = 0 points (passage Ă©troit +1, accĂšs limitĂ© -1) +- Glacier = +1 point (rĂ©serve d'eau douce, terrain difficile) +- Colline marĂ©cageuse = 0 points (position Ă©levĂ©e +1, humiditĂ© -1) +- Caldeira = +3 points (sol volcanique fertile, gĂ©othermie) +- Isthme = +2 points (contrĂŽle liaison terrestre) +- VallĂ©e isolĂ©e = +2 points (protection totale, autarcie) +- Montagne isolĂ©e = +1 point (point de repĂšre, position dominante) +- CratĂšre gĂ©ant = +4 points (formation spectaculaire, minerais) +- Plateau dĂ©sertique = 0 points (position Ă©levĂ©e +1, ariditĂ© -1) +- Badlands = -1 point (Ă©rosion sĂ©vĂšre, sol pauvre) +- Oasis de glace = +2 points (eau en zone arctique) +- Gouffre = -2 points (danger naturel, accĂšs souterrain) + +**Features GĂ©ographiques CĂŽtiĂšres** +- Baie protĂ©gĂ©e = +2 points (port naturel excellent) +- Falaises = 0 points (dĂ©fense +2, accĂšs -2) +- Plage de sable = +1 point (dĂ©barquement, tourisme) +- RĂ©cif corallien = +1 point (protection naturelle) +- Estuaire = +2 points (commerce fluvial-maritime) +- Presqu'Ăźle = +1 point (position dĂ©fensive) +- DĂ©troit = +2 points (contrĂŽle passage maritime) +- Île cĂŽtiĂšre = +2 points (avant-poste maritime, dĂ©fense) +- Falaises cĂŽtiĂšres = +1 point (dĂ©fense naturelle, position Ă©levĂ©e) +- Rift cĂŽtier = +1 point (formation gĂ©ologique, accĂšs limitĂ©) + +**Features Industrielles Historiques** +- Terikon = 0 points (pollution -2, scrap +2) [voir exemple dĂ©taillĂ© section Score -1] +- Ville fantĂŽme = -1 point (infrastructure +2, dangers -3) +- Usine textile abandonnĂ©e = 0 points (machinerie +2, amiante -2) +- Centrale thermique dĂ©saffectĂ©e = -1 point (infrastructure +3, pollution -4) +- AciĂ©rie en ruines = +1 point (scrap mĂ©tallique massif +3, contamination -2) +- Raffinerie abandonnĂ©e = -2 points (infrastructure +2, pollution toxique -4) +- Complexe chimique = -3 points (Ă©quipements +3, contamination sĂ©vĂšre -6) +- Moulin industriel = +1 point (machinerie +2, roue hydraulique +1, dĂ©labrement -2) +- Briqueterie abandonnĂ©e = +1 point (argile locale +2, fours +1, fumĂ©es -2) +- Verrerie en ruines = +1 point (sable siliceux +2, Ă©quipements +1, dĂ©bris -2) +- Papeterie dĂ©saffectĂ©e = 0 points (machinerie +2, pollution riviĂšre -2) +- Distillerie illĂ©gale = +1 point (Ă©quipements cuivre +2, isolation +1, rĂ©putation -2) +- Scierie abandonnĂ©e = +1 point (outillage +3, bois stockĂ© +1, rouille -3) + +**CimetiĂšres de VĂ©hicules** +- CimetiĂšre de tanks = +2 points (scrap mĂ©tallique militaire) +- CimetiĂšre de voitures = +1 point (scrap mĂ©tallique civil) +- CimetiĂšre d'avions = +3 points (alliages aviation rares) +- DĂ©chĂšterie Ă  ciel ouvert = -1 point (pollution -3, scrap +2) +- Épave de train = +2 points (acier massif +3, accident historique -1) +- CimetiĂšre de bateaux = +2 points (acier naval +3, corrosion -1) +- DĂ©potoir Ă©lectronique = +1 point (mĂ©taux rares +3, toxicitĂ© -2) +- Station-service abandonnĂ©e = 0 points (cuves enterrĂ©es +1, contamination sol -1) + +**Sites Militaires AbandonnĂ©s** +- Base Cold War abandonnĂ©e = +1 point (bunkers +3, contamination -2) +- Zone de guerre ancienne (WW1) = 0 points (munitions dangereuses -2, scrap +2) +- Bunker Nazi enterrĂ© = +2 points (fortifications +3, histoire -1) +- Site de lancement de missiles = +3 points (infrastructure +4, contamination -1) +- Champ de mines inactif = -2 points (danger rĂ©siduel -3, dĂ©minage +1) +- Base navale abandonnĂ©e = +2 points (installations portuaires +3, rouille -1) +- AĂ©rodrome militaire = +2 points (piste +3, hangars +1, carburant rĂ©siduel -2) +- DĂ©pĂŽt de munitions = -1 point (explosifs dangereux -4, mĂ©taux +3) +- Radar abandonnĂ© = +1 point (Ă©quipements Ă©lectroniques +2, position Ă©levĂ©e +1, obsolescence -2) + +**Sites Culturels & Naturels** +- Tribu indigĂšne = +2 points (connaissances locales, guides) +- Village abandonnĂ© = 0 points (bĂątiments +1, isolement -1) +- MonastĂšre en ruines = +1 point (archives historiques, position Ă©levĂ©e) +- Site archĂ©ologique = +2 points (artefacts, valeur scientifique) +- Phare abandonnĂ© = +1 point (position cĂŽtiĂšre stratĂ©gique) +- ChĂąteau fort = +2 points (position dĂ©fensive, pierre de taille) +- Observatoire astronomique = +1 point (optiques prĂ©cises, site isolĂ©) +- CimetiĂšre historique = +1 point (patrimoine, position centrale) +- UniversitĂ© abandonnĂ©e = +2 points (laboratoires +3, bibliothĂšques +1, dĂ©labrement -2) +- HĂŽpital en ruines = 0 points (Ă©quipements mĂ©dicaux +2, contamination -2) +- Prison dĂ©saffectĂ©e = +1 point (sĂ©curitĂ© +3, rĂ©putation -2) +- CathĂ©drale gothique = +2 points (architecture +3, tourisme +1, entretien -2) +- Moulin Ă  vent historique = +1 point (mĂ©canique ancienne +2, position ventĂ©e +1, obsolescence -2) +- Ferme collective abandonnĂ©e = 0 points (hangars +2, terres +1, dĂ©labrement -3) + +**Anomalies GĂ©ologiques** +- Formations cristallines = +2 points +- DĂ©pĂŽts d'argile rare = +2 points +- Sables siliceux = +1 point +- Gisements de quartz = +2 points (pour optiques laser) +- Filons de diamant = +4 points (outils de prĂ©cision, optiques industrielles) +- Pierres prĂ©cieuses diverses = +2 points (technologie laser, Ă©lectronique) +- Geysers de mĂ©thane = +2 points (Ă©nergie, mais risque d'explosion) +- DĂŽme de sel = +3 points (stockage souterrain, ressource chimique) +- TourbiĂšre = +1 point (combustible organique, prĂ©servation) +- CoulĂ©e de lave ancienne = +2 points (roches volcaniques, terres fertiles) +- CratĂšre d'impact = +4 points (mĂ©taux rares, formation gĂ©ologique unique) +- Faille gĂ©ologique active = -1 point (instabilitĂ© +0, minerais exposĂ©s +1) +- Karst = 0 points (grottes +2, effondrements -2) +- Gisement d'ambre = +3 points (rĂ©sine fossile, inclusions scientifiques) +- Schiste bitumineux = +2 points (hydrocarbures non-conventionnels) +- Doline = -1 point (effondrement naturel, accĂšs souterrain) +- EntrĂ©e de grotte = +2 points (exploration, abri naturel) +- Grotte de surface = +1 point (abri visible, stockage) +- Puits de l'enfer = -3 points (gouffre profond, Ă©manations dangereuses) + +**Biomes & ÉcosystĂšmes** +- ForĂȘt tempĂ©rĂ©e = +1 point (bois, biodiversitĂ©) +- ForĂȘt borĂ©ale = +1 point (conifĂšres, sols acides) +- ForĂȘt tropicale = +2 points (biodiversitĂ©, bois exotiques) +- Prairie = +1 point (agriculture, Ă©levage) +- Savane = 0 points (pĂąturages +1, sĂ©cheresse -1) +- Toundra = 0 points (permafrost +0, froid extrĂȘme -1, isolation +1) +- TaĂŻga = +1 point (bois massif, fourrures) +- Mangrove = +2 points (protection cĂŽtiĂšre, Ă©cosystĂšme unique) +- DĂ©sert chaud = -1 point (ariditĂ© -2, minĂ©raux exposĂ©s +1) +- DĂ©sert froid = -1 point (froid -1, isolation +0) +- Zone alpine = 0 points (position Ă©levĂ©e +2, accĂšs difficile -2) +- Marais salant = +1 point (sel naturel, difficultĂ©s terrain) +- Lande = 0 points (sol pauvre -1, tourbe +1) +- Maquis mĂ©diterranĂ©en = +1 point (plantes aromatiques, feux -1) +- Steppe herbacĂ©e = 0 points (Ă©levage +1, vents forts -1) +- Zone humide = +1 point (filtration naturelle, biodiversitĂ©) +- Plaine inondable = 0 points (fertilitĂ© +2, inondations -2) +- Plateau continental = +1 point (pĂȘche, position maritime) +- ForĂȘt mixte = +1 point (diversitĂ© bois, Ă©quilibre Ă©cologique) +- Chaparral = 0 points (rĂ©sistance feu +1, broussailles -1) +- Pampa = +1 point (terres fertiles, vents constants) +- Jungle Ă©quatoriale = +2 points (ressources exotiques +3, accessibilitĂ© -1) +- ForĂȘt de nuages = +2 points (humiditĂ© constante, espĂšces rares) +- DĂ©sert de sel = -1 point (hostile -3, extraction sel +2) +- Banquise = -2 points (isolation extrĂȘme -3, pĂȘche arctique +1) +- RĂ©cif barriĂšre = +3 points (protection +2, biodiversitĂ© marine +2, navigation -1) +- Oasis de montagne = +3 points (eau rare +2, position stratĂ©gique +2, accĂšs -1) +- VallĂ©e glaciaire = +1 point (sol fertile +2, climat rigoureux -1) + +**ÉlĂ©ments Climatiques & MĂ©tĂ©orologiques** +- Zone de tornades = -2 points (danger -3, Ă©nergie Ă©olienne +1) +- Couloir de vents = +1 point (Ă©nergie Ă©olienne constante) +- Zone de brouillards = -1 point (visibilitĂ© rĂ©duite -2, humiditĂ© +1) +- Micro-climat chaud = +1 point (agriculture prolongĂ©e) +- Poche de froid = -1 point (gel permanent, prĂ©servation naturelle) +- Zone de calme plat = 0 points (navigation difficile -1, tranquillitĂ© +1) + +**ÉlĂ©ments Anthropiques Modernes** +- Autoroute abandonnĂ©e = +1 point (bitume +2, pollution -1) +- Pont autoroutier = +2 points (passage stratĂ©gique +3, entretien -1) +- Tunnel ferroviaire = +2 points (passage montagne +3, maintenance -1) +- Ligne haute tension = +1 point (infrastructure Ă©lectrique +2, danger -1) +- Éolienne cassĂ©e = 0 points (piĂšces mĂ©caniques +2, encombrement -2) +- Antenne relais = +1 point (communication +2, position Ă©levĂ©e +1, obsolescence -2) +- Pipeline enterrĂ© = +1 point (infrastructure +2, risque fuite -1) +- DĂ©charge contrĂŽlĂ©e = -1 point (rĂ©cupĂ©ration +2, pollution -3) + +**ÉlĂ©ments MystĂ©rieux & Rares** +- Cercle de pierres = +2 points (mystĂšre historique, point de repĂšre) +- Monolithe isolĂ© = +3 points (formation inexpliquĂ©e, attraction) +- Zone de silence radio = -1 point (phĂ©nomĂšne inexpliquĂ© -2, isolation +1) +- Anomalie magnĂ©tique = +2 points (minerais rares +3, instruments perturbĂ©s -1) +- Source radioactive naturelle = -2 points (danger -4, recherche scientifique +2) + +## SystĂšme de DĂ©couverte + +### ÉlĂ©ments Visibles +DĂ©tectables lors de la gĂ©nĂ©ration du chunk : + +**GĂ©ologiques Apparents** +- Relief et formations rocheuses +- Cours d'eau et sources +- Couverture forestiĂšre +- Ruines en surface + +**Indices Subtils** +- VĂ©gĂ©tation anormale (contamination) +- Coloration du sol (minerais) +- Formations gĂ©ologiques particuliĂšres + +### ÉlĂ©ments CachĂ©s +NĂ©cessitent exploration spĂ©cialisĂ©e : + +**Niveau 1 - Prospection GĂ©ologique** +- Gisements souterrains (fer, cuivre, charbon) +- Nappes d'hydrocarbures +- Eaux souterraines +- CavitĂ©s souterraines + +**Niveau 2 - Exploration MagnĂ©tomĂ©trique** +- Structures mĂ©talliques enfouies +- Monolithes et anomalies magnĂ©tiques +- Épaves enterrĂ©es profondĂ©ment +- Formations mĂ©talliques naturelles + +**Niveau 3 - Analyse Chimique/Radiologique** +- Contaminations invisibles +- Gisements radioactifs +- Pollutions chimiques anciennes +- Zones de dĂ©contamination nĂ©cessaire + +### SystĂšme de DĂ©couverte StratifiĂ© + +#### Couche Visible +**Reconnaissance Standard** : Relief, vĂ©gĂ©tation, structures en surface, cours d'eau +**Indices Subtils** : VĂ©gĂ©tation anormale suggĂ©rant contamination, coloration du sol indiquant minerais + +#### Couche CachĂ©e - Niveau 1 +**VĂ©hicule GĂ©ologique** : RĂ©vĂšle gisements souterrains, nappes d'hydrocarbures, eaux profondes +- PortĂ©e : 3×3 chunks depuis position +- Temps : 2-5 minutes selon profondeur + +#### Couche CachĂ©e - Niveau 2 +**VĂ©hicule MagnĂ©tomĂ©trique** : DĂ©tecte anomalies magnĂ©tiques, structures mĂ©talliques enfouies, monolithes +- PortĂ©e : 1×1 chunk haute prĂ©cision +- Temps : 1-3 minutes + +#### Couche CachĂ©e - Niveau 3 +**VĂ©hicule NRBC** : RĂ©vĂšle contaminations invisibles, radiations, pollutions chimiques +- SĂ©curitĂ© : Protection Ă©quipage +- Temps : 3-8 minutes selon danger + +## Tendances RĂ©gionales + +### Concept de SpĂ©cialisation GĂ©ographique +Des **zones d'influence** superposĂ©es Ă  la carte modifient les probabilitĂ©s d'apparition des Ă©lĂ©ments, crĂ©ant des rĂ©gions avec des "personnalitĂ©s" distinctes basĂ©es sur la gĂ©ographie et l'histoire rĂ©elles. + +### Types de RĂ©gions + +#### Bassins PĂ©troliers (Golfe Persique, Mer du Nord) +- PĂ©trole : probabilitĂ© ×5 +- Gaz naturel : probabilitĂ© ×3 +- Terrains marĂ©cageux : ×2 +- AccĂšs maritime naturel + +#### Zones MiniĂšres Historiques (Ruhr, Donbass, Oural) +- Fer et charbon : probabilitĂ© ×3-4 +- Teritons : probabilitĂ© ×8 (trĂšs caractĂ©ristique) +- Vestiges industriels : ×2 +- Pollution miniĂšre hĂ©ritĂ©e : ×3 + +#### RĂ©gions ForestiĂšres/Montagneuses (Alpes, Carpates, TaĂŻga) +- ForĂȘt dense et chasse : probabilitĂ© ×3-4 +- Grottes et sources : ×2-3 +- Pentes abruptes : ×2 +- InstabilitĂ© gĂ©ologique : ×1.5 + +#### Zones Post-NuclĂ©aires (Tchernobyl Ă©largi, sites d'essais) +- Pollution radioactive : probabilitĂ© ×10 +- Uranium accessible : ×3 +- Structures abandonnĂ©es : ×3 +- VĂ©gĂ©tation mutante caractĂ©ristique + +#### RĂ©gions CĂŽtiĂšres (Littoraux, deltas) +- AccĂšs maritime : bonus naturel +- SĂ©diments et argiles : ×2 +- Zones humides : ×1.5 +- Érosion cĂŽtiĂšre : contrainte spĂ©cifique + +### Zones de Transition +**Transition Progressive** : L'influence rĂ©gionale diminue avec la distance du centre, crĂ©ant des zones mixtes rĂ©alistes +**Superposition** : Plusieurs influences peuvent se combiner (montagne + ancien bassin minier = mĂ©taux prĂ©cieux en terrain difficile) + +## Distribution et Équilibrage + +### RĂ©partition des Scores (Distribution en Cloche) +- **30%** des tiles Ă  score 0 (terrain neutre de base) +- **40%** des tiles Ă  scores ±1 Ă  ±3 (variations courantes) +- **20%** des tiles Ă  scores ±4 Ă  ±6 (zones remarquables) +- **8%** des tiles Ă  scores ±7 Ă  ±8 (zones exceptionnelles) +- **2%** des tiles Ă  scores extrĂȘmes ±9 Ă  ±10 (zones lĂ©gendaires) + +### Biais GĂ©ographiques Globaux +- **Zones montagneuses** : +1 point (concentration minĂ©rale naturelle) +- **Zones cĂŽtiĂšres** : +0.5 point (accĂšs et sĂ©diments) +- **Zones industrielles historiques** : -1 point (pollution hĂ©ritĂ©e) + +### Sites Fixes Historiques +**Lieux EmblĂ©matiques** conservent leurs caractĂ©ristiques rĂ©elles : +- Tchernobyl : Score fixe -10 (radiations massives, zone morte) +- Golfe Persique : Score fixe +8 (pĂ©trole abondant, infrastructure) +- SibĂ©rie diamantifĂšre : Score fixe +9 (diamants + or + difficultĂ©s extrĂȘmes) +- DĂ©sert d'Atacama : Score fixe -7 (ariditĂ© extrĂȘme, minerais rares) +- RĂ©gion Ruhr : Score fixe +3 (richesse industrielle) + +## Exemples de GĂ©nĂ©ration + +### Tile Score +3 +**Combinaisons Possibles :** +- PĂ©trole (+3) = Gisement pur +- Fer (+1) + Bauxite (+2) = Double gisement +- Cuivre (+1) + Grottes (+1) + Ruines antiques (+1) = Complexe minier ancien +- Uranium (+5) + Contamination (-2) = Gisement dangereux + +### Tile Score 0 +**Combinaisons Possibles :** +- Rien = Terrain neutre standard +- Fer (+1) + Ruines effondrĂ©es (-1) = Gisement obstruĂ© +- ForĂȘt (+1) + MarĂ©cages (-1) = ForĂȘt marĂ©cageuse +- Vestiges industriels (+1) + Pollution miniĂšre (-1) = Friche industrielle + +### Tile Score -3 +**Combinaisons Possibles :** +- Pollution radioactive (-3) = Zone contaminĂ©e simple +- InstabilitĂ© gĂ©ologique (-3) = Zone dangereuse +- Contamination (-2) + Ruines effondrĂ©es (-1) = Site industriel polluĂ© +- Uranium (+5) + Radiations (-5) + Pentes abruptes (-2) + Grottes (+1) = Mine uranium abandonnĂ©e + +## Features de Chunk IntĂ©grĂ©es + +### Features GĂ©ologiques Majeures + +#### Terikon (Score -1) +- **Composition** : Vestiges industriels (+1) + Pollution miniĂšre (-2) +- **Visible** : Colline artificielle caractĂ©ristique +- **CachĂ©** : Traces de mĂ©taux rares dans les dĂ©blais +- **RĂ©gional** : ×8 probabilitĂ© en zones ex-miniĂšres +- **Gameplay** : DĂ©blaiement rĂ©vĂšle ressources enfouies + +#### VallĂ©e Fluviale (Score +2) +- **Composition** : Eau douce (+1) + SĂ©diments (+1) +- **Visible** : Relief et Ă©coulement Ă©vidents +- **CachĂ©** : DĂ©pĂŽts alluvionnaires prĂ©cieux +- **Gameplay** : Dragage rĂ©vĂšle minerais transportĂ©s + +### Features de Vestiges + +#### Complexe Industriel AbandonnĂ© (Score 0) +- **Composition** : Scrap (+1) + Pollution (-2) + Fer rĂ©siduel (+1) +- **Visible** : Structures industrielles en ruine +- **CachĂ©** : Filons non exploitĂ©s, Ă©quipement enterrĂ© +- **RĂ©gional** : FrĂ©quent dans zones ex-industrielles +- **Gameplay** : DĂ©contamination + fouilles rĂ©vĂšlent trĂ©sors + +### Features d'Anomalies + +#### Site d'Anomalie MagnĂ©tique (Score +2) +- **Composition** : Monolithe mystĂ©rieux (+3) + InstabilitĂ© (-1) +- **Visible** : Formations gĂ©ologiques Ă©tranges +- **CachĂ©** : Structure mĂ©tallique d'origine inconnue +- **RĂ©gional** : TrĂšs rare, distribution alĂ©atoire +- **Gameplay** : Exploration magnĂ©tomĂ©trique rĂ©vĂšle secrets + +## Évolution Temporelle + +### Actions Joueur Modifient Scores +- **DĂ©contamination** : -2 → +1 avec technologie appropriĂ©e +- **Exploitation** : +3 → +1 aprĂšs Ă©puisement partiel +- **Pollution industrielle** : +2 → -1 aprĂšs accident +- **Nettoyage ruines** : -1 → 0 aprĂšs dĂ©blaiement + +### Processus Naturels +- **RĂ©gĂ©nĂ©ration forestiĂšre** : +0.1 point/an en zone tempĂ©rĂ©e +- **Érosion contamination** : -0.05 point/an (trĂšs lent) +- **SĂ©dimentation fluviale** : Peut rĂ©vĂ©ler/cacher ressources +- **InstabilitĂ© gĂ©ologique** : Évolution selon activitĂ© sismique + +## Gameplay Émergent + +### SpĂ©cialisation Économique Naturelle +**Bassins PĂ©troliers** deviennent naturellement centres Ă©nergĂ©tiques +**Anciennes Zones MiniĂšres** Ă©voluent vers centres sidĂ©rurgiques +**RĂ©gions ForestiĂšres** se spĂ©cialisent dans construction bois et chasse + +### StratĂ©gie Territoriale +**ContrĂŽle RĂ©gional** : Certaines rĂ©gions deviennent stratĂ©giquement vitales +**Exploration CiblĂ©e** : "Je cherche du fer → direction les montagnes ex-miniĂšres" +**DĂ©fis SpĂ©cialisĂ©s** : Chaque rĂ©gion impose ses contraintes techniques + +### Reconnaissance et Apprentissage +**Patterns Visuels** : Joueurs apprennent Ă  reconnaĂźtre les indices rĂ©gionaux +**Teritons** = Zone ex-miniĂšre probable = Fer mais pollution +**VĂ©gĂ©tation anormale** = Contamination = Danger mais ressources rares potentielles + +### Équilibre Risque/RĂ©compense Automatique +**Zones Riches** compensĂ©es par contraintes proportionnelles +**Zones SĂ»res** moins rewarding mais accessibles +**Zones ExtrĂȘmes** trĂšs dangereuses mais trĂšs lucratives + +## CohĂ©rence et RĂ©alisme + +### GĂ©ographie Logique +Reproduit les patterns gĂ©ologiques et historiques rĂ©els : les bassins pĂ©troliers sont oĂč ils devraient ĂȘtre, les zones miniĂšres correspondent aux vraies formations gĂ©ologiques. + +### Histoire IntĂ©grĂ©e +Chaque rĂ©gion raconte son histoire through les Ă©lĂ©ments prĂ©sents : pollution industrielle hĂ©ritĂ©e, vestiges d'exploitation, contaminations d'accidents passĂ©s. + +### Évolution Temporelle +Actions du joueur modifient progressivement les caractĂ©ristiques locales : dĂ©contamination, Ă©puisement de gisements, accidents industriels. + +**Objectif Final** : CrĂ©er un monde oĂč chaque tile a une identitĂ© unique dĂ©terminĂ©e par sa gĂ©ographie, son histoire et son Ă©quilibre naturel risque/rĂ©compense, gĂ©nĂ©rant organiquement des choix stratĂ©giques et des opportunitĂ©s d'exploration meaningfuls. \ No newline at end of file diff --git a/docs/global/mecaniques-jeu.md b/docs/global/mecaniques-jeu.md new file mode 100644 index 0000000..4b10518 --- /dev/null +++ b/docs/global/mecaniques-jeu.md @@ -0,0 +1,525 @@ +# MĂ©caniques de jeu + +## Recherche et progression + +### SystĂšme de recherche +Recherche Ă  la Factorio pour : +- Moyens d'extraction +- Production +- Assembly +- Communication +- ChĂąssis civil +- Recherche +- Transport (rail, hyperloop) +- Diplomatie +- Électronique +- Prototype militaire +- Prototype IA +- Prototype composants +- Proto radar + + +**Exemple Proto radar** : +- Composant Ă©quipement taille 6x6, 2kw, fiabilitĂ© 50% + +**Recherche radar 1** : +- Composant Ă©quipement taille 5x5, 2kw, fiabilitĂ© 60% +- Composant Ă©lectronique taille 4x4, 500w, fiabilitĂ© 20% + +**Recherche radar 2** : +- Composant Ă©quipement taille 8x3, 1.5kw, fiabilitĂ© 80% + +## SystĂšme de Recherche Dual + +### 1. Recherche GĂ©nĂ©rique (Points de Tech) +- **Points de recherche standard** : SystĂšme classique d'accumulation points +- **Usage** : Recherches civiles, technologies de base, progressions linĂ©aires +- **Source** : Production continue, investissement R&D, temps + +### 2. Recherche SpĂ©cifique (Scrap Analysis) +- **Scrap Analysis** : Reverse engineering matĂ©riel ennemi +- **DĂ©couvertes alĂ©atoires** : T-72 → ERA, blindage, canon (random) +- **Analyse ciblĂ©e** : Étude composants spĂ©cifiques pour breakthroughs +- **EfficacitĂ© variable** : Selon qualitĂ© et Ă©tat du matĂ©riel rĂ©cupĂ©rĂ© + +## SystĂšme de Breakthroughs + +### Verrous technologiques +- **Recherches bloquĂ©es** : Certaines technologies inaccessibles sans breakthrough +- **Exemple** : "Armor Javelin-Proof" impossible sans analyse Javelin +- **Gating stratĂ©gique** : Force acquisition d'Ă©chantillons spĂ©cifiques + +### Prerequisites Gating & Performance +**Scaling technique** : Le systĂšme breakthrough peut gĂ©rer 3000 technologies grĂące au gating intelligent : + +#### Prerequisites Chain +- **~10-50 techs eligible** simultanĂ©ment pour un player donnĂ© (pas 3000) +- **Tech dependencies** : Nouvelle tech nĂ©cessite prĂ©requis recherchĂ©s +- **Progressive unlock** : Chaque breakthrough dĂ©bloque quelques nouvelles possibilitĂ©s +- **Organic discovery** : Player dĂ©couvre par gameplay naturel, pas par browsing + +#### Validation Performance +- **On-demand checks** : Conditions vĂ©rifiĂ©es quand Ă©vĂ©nement trigger (construction, production, etc.) +- **State-based** : Validation sur Ă©tat actuel (avoir 5 radars), pas historique complexe +- **Ticker optimisĂ©** : VĂ©rifications breakthrough toutes les minutes, pas 60fps +- **Cache results** : Évite recalculs conditions identiques + +### 3 Sources de Breakthroughs + +**1. Scrap Analysis** +- **MĂ©thode primaire** : Reverse engineering matĂ©riel ennemi +- **SimplicitĂ©** : Scrap = scrap (pas d'Ă©tat, pas de fraĂźcheur) +- **EfficacitĂ©** : MĂ©thode la plus directe et Ă©conomique + +**2. Points de Recherche AvancĂ©s** +- **Alternative coĂ»teuse** : Breakthrough sans scrap +- **CaractĂ©ristiques** : Cher et lent +- **Usage** : Quand scrap spĂ©cifique inaccessible/rare + +**3. Reverse Engineering Produits** +- **SystĂšmes capturĂ©s** : Équipement intact rĂ©cupĂ©rĂ© (1-3 breakthroughs) +- **Achat commercial** : Produits achetĂ©s sur marchĂ© (produit final seul) +- **ConsĂ©quences diplomatiques** : Relations gravement affectĂ©es avec company/Ă©tat vendeur +- **Limites** : Produit accessible mais pas ses composants/ingrĂ©dients + +### EfficacitĂ© par source +- **Scrap** : 0-1 breakthrough (alĂ©atoire, Ă©conomique) +- **Capture** : 1-3 breakthroughs (risquĂ©, trĂšs efficace) +- **Achat** : 1 breakthrough produit (cher, consĂ©quences diplomatiques) +- **Recherche avancĂ©e** : Garantie breakthrough (trĂšs cher et lent) + +## Économie des Technologies + +### Vente de technologies +- **MarchĂ© tech** : Breakthroughs dĂ©blocables vendables sur marchĂ© +- **Revenus additionnels** : MonĂ©tisation des dĂ©couvertes R&D +- **Concurrence** : Autres actors peuvent acquĂ©rir vos innovations + +### Contenu long terme (future) +- **Espionnage industriel** : Vol de breakthroughs entre companies +- **Protection IP** : MĂ©caniques de sĂ©curisation des technologies + +## Actions normales militaires + +L'idĂ©e c'est qu'une action normale est un dĂ©roulement : + +**Exemples de dĂ©roulements** : +- **Établir Position AA** = dĂ©placement → dĂ©ploiement → attente d'engagement +- **Assaut** = dĂ©placement opĂ©rationnel → engagement tactique → attaque CQC → Prise de position de dĂ©fense → attente d'engagement + +### Mise en place +- Établissement de FOB, dĂ©pĂŽt de munitions +- Établissement d'AP +- Établir Position radar +- Établir Position AA (point defense, area defense) +- Établir Position static Artillerie +- Établir Trench network +- Defense tempo (retrenchment) + +### Ravitaillement +- Ravitaillement de convois +- Ravitaillement lĂ©ger (drone) +- Ravitaillement classique (mono camion) + +### Action de combat +- **Assaut** (prise de position ennemie) +- **Reconnaissance** (discrĂšte) +- **Reconnaissance in force** (lĂ©gĂšre ou blindĂ©e) +- **Infiltration** +- **Raid** (logistique, anti-AA, anti-artillerie, JSP) +- **Attaque** (char → boum boum boum → retrait → recommencer) (dĂ©truire l'ennemi) + +### Long range +On inclut ici l'artillerie, les missiles, le support aĂ©rien au sol : + +- **Frappe destructive** +- **Contre frappe** (contre batterie) +- **Saturation artillerie** +- **Support des troupes** +- **Obscuration** +- **Suppression** + +### ContrĂŽle aĂ©rien +- **SEAD** +- **DEAD** +- **Interception** +- **SupĂ©rioritĂ© aĂ©rienne** → patrouille +- **Escorte** +- **Reconnaissance aĂ©rienne** +- **Identification** +- **Alerte** (warn non hostile) + +## IA stratĂ©gique + +### DĂ©fis de l'IA +Pas facile hein
 + +DĂ©jĂ  l'IA doit ĂȘtre capable d'implĂ©menter toutes les "actions normales" ci-dessus. + +Pour ce qui est de la dĂ©cision de quelle action implĂ©menter et oĂč, c'est une vraie difficultĂ© et c'est ce qui doit ĂȘtre rĂ©flĂ©chi. + +### Doctrines diffĂ©renciĂ©es +DĂ©jĂ  il faut comprendre que toutes les IA ne feront pas la mĂȘme chose (doctrine tactique et opĂ©rationnelle) et cela en fonction d'objectifs stratĂ©giques, donc dĂ©cidĂ©s par l'IA stratĂ©gique. + +**Proposition** : Donner un set de prĂ©fĂ©rences (par action) pour dĂ©finir une doctrine, avec sĂ»rement un concept de phases opĂ©rationnelles. + +**Exemple doctrine US** : +Campagne aĂ©rienne → SEAD → DEAD → C&C target → CAS → Ground assault + +### Concept de recette +Concept de recette avec un coĂ»t Ă  trois composantes : +- **Raid** → **AA pos** → **125e compagnie d'inf moto** +- **Quoi ?** / **Qui/oĂč ?** / **Comment/avec qui ?** + +## MĂ©caniques de combat + +### AOE (str) +Ça doit ĂȘtre possible mais bon Ă  Ă©viter. + +### Tacops (tactique/4x) +Ce qu'est censĂ© ĂȘtre le combat mid-late game. Une gestion des unitĂ©s sur une carte de campagne et les unitĂ©s qui se dĂ©merdent sur l'aspect combat IA. Il est important de pouvoir contempler les combats. + +### RĂ©paration/logistique +*À dĂ©velopper* + +### RPG +*À dĂ©velopper* + +## Simulation de monde + +### Factions +IntĂ©gration de factions qui, souvent seront les Ă©tats et avec lesquels l'interaction doit ĂȘtre possible (Ă©conomie, diplomatie). + +### Économique +SystĂšme Ă©conomique avec lequel le joueur peut interagir, notamment par l'intermĂ©diaire de la vente ou l'achat de ressources. SpĂ©culation ? + +Celle-ci doit ĂȘtre dynamique et intĂ©grer un systĂšme d'Ă©conomie d'Ă©chelle permettant une spĂ©cialisation Ă©conomique des factions. Pour autant, les enjeux stratĂ©giques (bouffe, armes etc.) doivent ĂȘtre pris en compte et intĂ©grĂ©s Ă  la production Ă©conomique des factions. + +### StratĂ©gique +ComprĂ©hension des enjeux stratĂ©giques liĂ©s aux ressources, aux positions gĂ©ographiques. + +### Politique +IntĂ©gration de l'ordre public et des courants politiques. + +## SystĂšme d'Administration + +### Principe Fondamental +Chaque **company** et **Ă©tat** dispose de points d'**Administration** qui limitent leurs actions quotidiennes, reprĂ©sentant leur capacitĂ© organisationnelle et bureaucratique. + +### MĂ©caniques Core + +#### Points Administration Base +- **Companies** : 1000 points/jour de base (1 jour = 10 minutes rĂ©elles) +- **États** : Variable selon taille/dĂ©veloppement (Ă  dĂ©finir) +- **RĂ©gĂ©nĂ©ration** : Reset quotidien complet des points +- **FrĂ©quence actions** : ~1 action tous les 3-5 jours par company (rythme macro stratĂ©gique) + +#### Actions CoĂ»tant Administration + +**Recherche & DĂ©veloppement** : +- Lancer nouvelle recherche : 100-500 points (selon complexitĂ©) +- Breakthrough forcĂ© (scrap analysis) : 200-800 points +- Achat technology sur marchĂ© : 150 points + +**Commerce & Économie** : +- NĂ©gocier nouveau contrat : 50-200 points +- Changer prix produits : 25 points +- Ouvrir nouveau marchĂ© d'export : 300 points +- Merger/acquisition : 500+ points + +**Diplomatie** : +- Proposer accord commercial : 200 points +- Sanctions Ă©conomiques : 400 points +- NĂ©gociation traitĂ© : 600+ points + +**Production & Infrastructure** : +- Construire nouvelle usine : 300 points +- Changer ligne de production : 100 points +- Optimisation processus : 150 points +- Expansion facilities : 250 points + +**OpĂ©rations Militaires** (États principalement) : +- Lancer opĂ©ration militaire : 500+ points +- Coordination multi-forces : 300 points +- Changement doctrine : 400 points + +### Facteurs Modifiant Administration + +#### Company Features Impact + +**Features RĂ©duisant Admin** : +- **Quality** : -10% coĂ»ts admin (organisation efficace) +- **Administration** : +50% points admin de base (spĂ©cialisation bureaucratique) + +**Features Neutres** : +- **Innovation** : Pas de bonus admin (crĂ©ativitĂ© ≠ organisation) +- **Cost** : Pas d'impact admin +- **Speed** : Pas d'impact admin + +#### Investissements Infrastructure + +**Bureaux & Management** : +- **Bureaux modernes** : +200 points admin/jour +- **SystĂšmes ERP** : +150 points admin/jour +- **Managers expĂ©rimentĂ©s** : +100 points admin/jour +- **Automation administrative** : +300 points admin/jour + +#### Modificateurs Contextuels + +**État de Guerre** : +- **Companies** : +200 points admin/jour (Ă©conomie de guerre = urgence) +- **États** : +500 points admin/jour (mobilisation totale) +- **Justification** : Urgence permet dĂ©cisions rapides, bypass bureaucratie + +**État de Paix** : +- **Administration normale** : Valeurs de base +- **Bureaucratie standard** : Processus normaux + +**Stress Économique** : +- **RĂ©cession** : -100 points admin/jour (ressources rĂ©duites) +- **Croissance** : +50 points admin/jour (expansion capabilities) + +### StratĂ©gies Administration + +#### Optimisation Resource Management +- **Priorisation actions** : Quelles dĂ©cisions sont critiques ? +- **Timing operations** : Grouper actions similaires +- **Investment planning** : ROI bureaux vs production + +#### SpĂ©cialisations Companies +- **Company "Administration"** : Devient sous-traitant admin pour autres +- **Outsourcing** : DĂ©lĂ©guer certaines tĂąches vs faire internal +- **Efficiency focus** : Quality companies = moins de waste admin + +### Examples Concrets + +#### Company JournĂ©e Type +``` +Thales (Company "Electronic, Quality, Administration"): +├── Administration disponible: 1000 + 500 (Admin feature) + 200 (bureaux) = 1700/jour +├── CoĂ»ts journĂ©e: +│ ├── Recherche "Radar AESA": -400 points +│ ├── NĂ©gociation contrat Ukraine: -150 points +│ ├── Optimisation ligne production: -120 points (Quality = -10%) +│ └── Total utilisĂ©: 670/1700 +└── Surplus: 1030 points (peut faire plus d'actions) +``` + +#### Company LimitĂ©e +``` +StartupCorp (Company "Innovation"): +├── Administration disponible: 1000/jour (base seulement) +├── CoĂ»ts journĂ©e: +│ ├── Recherche breakthrough: -500 points +│ ├── NĂ©gociation financement: -300 points +│ ├── Changement production: -250 points +│ └── Total: 1050 points +└── LIMITE ATTEINTE: Doit choisir prioritĂ©s ! +``` + +### Impact Gameplay + +#### Pour l'IA +- **Performance naturellement limitĂ©e** : Pas d'actions infinies par tick +- **Comportements rĂ©alistes** : Companies choisissent prioritĂ©s selon pools admin +- **Rythme macro** : ~1000 companies × 1 action/3-5 jours = ~0.33 actions/seconde systĂšme +- **SpĂ©cialisations Ă©mergentes** : Features influencent strategies + +#### Pour le Joueur +- **Companies IA prĂ©visibles** : Limitation actions = patterns plus lisibles +- **OpportunitĂ©s timing** : Profiter quand competitors "admin-locked" +- **Market dynamics** : Administration shortage = prix changes moins frĂ©quents + +### Balance Considerations + +#### Éviter Frustration +- **Actions critiques** : Survie company ne doit jamais ĂȘtre bloquĂ©e par admin +- **Emergency actions** : Certaines actions bypass admin en crisis +- **Learning curve** : Interface claire sur coĂ»ts admin + +#### Maintain Dynamism +- **Baseline sufficient** : 1000 points permet gameplay de base +- **Scaling rewards** : Investment admin = exponential returns +- **Variety strategies** : Multiple paths pour optimiser admin + +## Terrain de combat PMC + +### Zones d'opĂ©ration +- AmĂ©rique du Sud dans les zones peu peuplĂ©es +- Madagascar +- Afrique +- Ouest de la Chine +- Russie +- Moyen-Orient + +## Meta Game Design + +### Philosophie de difficultĂ© +"Aucune satisfaction parce que le jeu est fait pour ĂȘtre gagnĂ©. Quel intĂ©rĂȘt de gagner alors ?" + +**Objectif** : Faire un jeu oĂč le but de l'IA contre le joueur est bel et bien de gagner, pas de perdre. + +## SystĂšme d'ExpĂ©rience VĂ©hicules + +### ExpĂ©rience Combat +- **Gain expĂ©rience** : Combat, missions rĂ©ussies, survie prolongĂ©e +- **Effets** : AmĂ©lioration fiabilitĂ©, prĂ©cision, temps de rĂ©action IA +- **VĂ©tĂ©rans** : VĂ©hicules expĂ©rimentĂ©s plus efficaces, moins de pannes + +### SystĂšme de GĂ©nĂ©raux et ArmĂ©es + +#### Structure de commandement +- **Composition automatique** : Joueur assigne types/nombres ("20 chars lourds"), gestion automatique +- **Types de vĂ©hicules** : Classification par rĂŽles (char lourd, IFV, drone, etc.) +- **Logistique intĂ©grĂ©e** : Assignement, maintenance, ravitaillement gĂ©rĂ©s automatiquement +- **HiĂ©rarchie** : GĂ©nĂ©ral en chef donne objectifs Ă  subalternes qui planifient opĂ©rations +- **Limite par expĂ©rience** : CapacitĂ© de commandement croĂźt linĂ©airement avec expĂ©rience +- **Malus surcharge** : ArmĂ©e trop grosse → rĂ©serves, opĂ©rations limitĂ©es, qualitĂ© dĂ©gradĂ©e + +#### Modes de planification +1. **Plans proposĂ©s** : GĂ©nĂ©ral propose plans que joueur valide/modifie +2. **Plans joueur** : Joueur conçoit plans dĂ©taillĂ©s, gĂ©nĂ©ral exĂ©cute +3. **Objectifs gĂ©nĂ©raux** : Joueur donne objectifs, gĂ©nĂ©ral gĂ©nĂšre dĂ©tails opĂ©rationnels +4. **Ordre simple** : Ordre "attaque", IA choisit mĂ©thodes et tactiques + +#### SpĂ©cialisations et IA des gĂ©nĂ©raux +- **Machine Learning** : Adaptation tactique selon rĂ©sultats (Ă©checs → Ă©vitement progressif) +- **PersonnalitĂ© & Traits** : Influencent probabilitĂ© d'usage de certaines tactiques +- **Exemple adaptatif** : GĂ©nĂ©ral blindĂ© Ă©chec urban → reste blindĂ© mais tactiques adaptĂ©es +- **Apprentissage spĂ©cialisĂ©** : Usage vĂ©hicules overloadĂ©s → amĂ©lioration overload dynamique + +#### Cycle d'apprentissage overload dynamique + +**Phase Planning** : +1. **Analyse menace** : Blindage insuffisant estimĂ© pour mission +2. **Recherche solutions** : Liste options (Spaced armor, ERA, etc.) +3. **Check logistique** : DisponibilitĂ© Ă©quipements (ERA disponible) +4. **Commande automatique** : Order passĂ© au rĂ©seau logistique + +**Phase PrĂ©-mission** : +- **Workshop preparation** : Équipement ERA sur vĂ©hicules compatibles +- **Validation configuration** : VĂ©rification intĂ©gritĂ© overload + +**Phase Mid-mission** : +- **Observation dĂ©taillĂ©e** : Monitoring performance en temps rĂ©el +- **Data collection** : Impact sur vitesse, Ă©lectronique, capteurs + +**Phase Post-analyse** : +- **EfficacitĂ© ERA** : RĂ©duction dĂ©gĂąts mesurĂ©e vs prĂ©diction +- **Ajustement valeurs** : Calibrage algorithmes d'Ă©valuation +- **Impact systĂ©mique** : Analyse systĂšmes ennemis, contre-mesures +- **DĂ©cision adaptative** : Mise Ă  jour probabilitĂ©s d'usage futur + +**CaractĂ©ristiques gĂ©nĂ©rales** : +- **Templates flexibles** : Style HOI4 + contrĂŽle fin possible +- **Influence principale** : Tactiques et opĂ©rations privilĂ©giĂ©es +- **Influence secondaire** : LĂ©gers bonus stats selon expertise + +#### SystĂšme logistique intĂ©grĂ© +- **Orders automatiques** : ArmĂ©es placent commandes logistiques automatiquement +- **Équipement dynamique** : Blocs ERA commandĂ©s via rĂ©seau logistique +- **Delivery system** : Logistique tente de livrer selon capacitĂ©s/prioritĂ©s + +#### ContrĂŽle joueur et politiques +**SĂ©paration des rĂŽles** : +- **Joueur** : LĂ©go industriel + ordres stratĂ©giques + planning optionnel +- **GĂ©nĂ©raux** : ExĂ©cution autonome selon designs et stocks disponibles + +**Gestion des stocks** : +- **Stocks spĂ©ciaux** : Joueur contrĂŽle mise Ă  disposition (ERA, Ă©quipements rares) +- **Premier arrivĂ©, premier servi** : Pas de systĂšme de prioritĂ©s complexe +- **ContrĂŽle indirect** : ArrĂȘt production = fin disponibilitĂ© pour gĂ©nĂ©raux + +**Politiques par design** : +- **Design constraints** : Espace disponible pour overload ou interdiction +- **Pas de budgets gĂ©nĂ©raux** : Pas d'autorisation ni limite financiĂšre +- **ContrĂŽle passif** : IA utilise ce qui est disponible selon designs autorisĂ©s + +#### Interface de planification +- **Plans sĂ©quentiels** : Phases avec objectifs et timeline +- **Visualisation carte** : Zone d'opĂ©ration avec numĂ©ros, flĂšches, positions +- **DĂ©tails drill-down** : AccĂšs effectifs prĂ©vus par phase/objectif +- **Validation joueur** : Approbation/modification des plans proposĂ©s + +## Cycle Technologique des Armes + +### Évolution forcĂ©e : Petit → Moyen → Gros +- **Recherche naturelle** : Nouvelles armes plus puissantes mais plus grosses +- **Dilemme chĂąssis** : Armes avancĂ©es ne logent plus sur chĂąssis existants +- **Solutions forcĂ©es** : + - Overload chĂąssis existants (malus mais moins cher) + - DĂ©velopper chĂąssis super-lourds (coĂ»teux, spĂ©cialisĂ©s, limitĂ©s) +- **Équilibrage** : ChĂąssis super-lourds pas OP (style HOI4) - lents, chers, vulnĂ©rables + +## Architecture serveur + +### Economy Server + +#### MarchĂ© global dynamique +- **Fonction** : Ressources globales, commerce, spĂ©culation, Ă©conomie d'Ă©chelle +- **Trade dynamique** : Prix fluctuants selon offre/demande et Ă©vĂ©nements +- **RĂ©activitĂ© militaire** : Économie rĂ©agit aux conflits et batailles + +#### Acteurs Ă©conomiques +- **Companies** : Entreprises privĂ©es (Thales, Dassault, joueur initial) +- **États** : Nations avec politiques et relations diplomatiques +- **Relations croisĂ©es** : Companies dĂ©pendent des Ă©tats mais ont relations propres +- **Restrictions multi-niveaux** : Blocages possibles par companies ET Ă©tats +- **MatiĂšres et services** : Restrictions sur industriel, production, consommation (Ă©lectricitĂ©, acier) + +#### SystĂšme de marchĂ©s +- **MarchĂ©s segmentĂ©s** : Par pays, par company, par bloc multinational, mondial +- **ExclusivitĂ©s** : Joueur peut vendre exclusivement sur certains marchĂ©s +- **Designs concurrents** : Companies gĂ©nĂšrent designs procĂ©duraux, reverse engineering possible +- **Commandes nationales** : États passent commandes directes selon besoins + +#### Early game - Économie de guerre Ukraine +- **Scrap russe** : RĂ©cupĂ©ration tanks dĂ©truits comme ressource de base +- **Transformation** : Recyclage et revente sur marchĂ© ukrainien +- **Bootstrap Ă©conomique** : Revenus initiaux via scrap → Ă©quipement → export + +#### Dynamiques de pĂ©nurie et production +- **PĂ©nuries temporaires** : Prix augmentent selon durĂ©e estimĂ©e de rĂ©solution +- **DiffĂ©rentiation temporelle** : "RĂ©glĂ© dans 2 mois" vs "rĂ©glĂ© dans 5 ans" +- **Adaptation marchĂ©** : Production s'ajuste selon signaux prix et demande + +#### SystĂšme de menaces (style AI War) +- **BasĂ© sur capacitĂ© production** : Volume de production brute = menace principale +- **Impact indirect** : Tank company X dĂ©truit matos → menace pour company X +- **Escalade naturelle** : SuccĂšs militaire → attention ennemie → frappes ciblĂ©es +- **Exemple concret** : Anti-tank rĂ©volutionnaire dĂ©truit masses de vĂ©hicules → strikes russes + +#### MĂ©canismes de protection +- **DĂ©fense personnelle** : Investissement dĂ©fenses propres autorisĂ© +- **Protection Ă©tatique** : État hĂŽte (Ukraine) dĂ©fend companies importantes +- **Dispersion gĂ©ographique** : Étalement production pour rĂ©duire vulnĂ©rabilitĂ© +- **NĂ©gociation neutralitĂ©** : Accords diplomatiques possibles avec hostiles +- **Équilibrage mutuel** : État protĂšge company → company contribue dĂ©fense nationale + +#### Expansion gĂ©ographique +- **DĂ©localisation** : Possible si pays hĂŽte accepte l'implantation +- **Changement nationalitĂ©** : Possible mais exclusif (pas de multi-nationalitĂ©) +- **Pas de filiales** : Structure company unifiĂ©e sous une seule nationalitĂ© +- **Approbation Ă©tatique** : Accord gouvernemental requis pour implantation + +#### SystĂšme de renseignement +- **Fog of War** : Reconnaissance obligatoire pour informations prĂ©cises +- **Identification progressive** : BĂątiments → Usines → Usines d'armement → Usine d'arme de X +- **Stats Ă©conomiques publiques** : Menace calculĂ©e sur donnĂ©es ouvertes +- **Paradoxe info** : Menace omnisciente mais localisation floue + +#### RĂŽle du joueur dans le monde +- **Échelle variable** : Du massif Ă  l'insignifiant selon choix joueur +- **Joueur secondaire** : Le monde tourne indĂ©pendamment du joueur +- **Impact optionnel** : Joueur peut influencer mais n'est pas nĂ©cessaire Ă  l'Ă©conomie globale + +### World Server +- **Fonction** : Factions, diplomatie, gĂ©opolitique, Ă©vĂ©nements macro +- **Scope** : Relations internationales, politique interne, crises globales +- **Features** : 3 endgames (zombies, aliens, dĂ©mons) +- **IntĂ©gration** : Ordre public et courants politiques + +### Gameplay asynchrone +- **Principe** : Combat peut avoir latency, player gĂšre autre chose +- **ImplĂ©mentation** : Background processing pendant diplo/Ă©conomie +- **Avantage** : Bataille 10k unitĂ©s = 30 secondes → player continue production \ No newline at end of file diff --git a/docs/global/metriques-joueur.md b/docs/global/metriques-joueur.md new file mode 100644 index 0000000..c93129a --- /dev/null +++ b/docs/global/metriques-joueur.md @@ -0,0 +1,269 @@ +# MĂ©triques Joueur + +## Vue d'ensemble + +Le systĂšme de mĂ©triques de Warfactory fournit aux joueurs des **statistiques dĂ©taillĂ©es** avec graphiques complets de performance, permettant l'analyse fine de leur progression industrielle et militaire. + +## Architecture DonnĂ©es + +### Distinction Breakthrough vs MĂ©triques + +**Breakthrough System** : DonnĂ©es minimales (~KB par company) +- State actuel uniquement +- Compteurs cumulatifs simples +- Focus : Performance et dĂ©clenchement conditions + +**SystĂšme MĂ©triques** : DonnĂ©es historiques complĂštes (~MB par entitĂ©) +- Historique dĂ©taillĂ© production +- Graphiques temporels complets +- Focus : Analyse et visualisation + +### Volume de DonnĂ©es par Partie (300-400h) + +#### Companies IA (1000) +- **FrĂ©quence** : 1 point toutes les 10min +- **Ressources** : 10 produits trackĂ©s par company +- **Volume** : 1000 × 10 × (400h × 6 points/h) × 8 bytes = **192MB par partie** + +#### États (50) +- **FrĂ©quence** : 1 point toutes les 10min +- **Ressources** : 3000 ressources par Ă©tat +- **Volume** : 50 × 3000 × (400h × 6 points/h) × 8 bytes = **2.9GB par partie** + +#### Joueurs (Scaling Adaptatif Multijoueur) +- **Solo/Company partagĂ©e** : 1 point toutes les 30sec = 120 points/h +- **Multijoueur adaptatif** : FrĂ©quence rĂ©duite selon nombre de companies + - **1 company** : 2 points/min (120 points/h) + - **5 companies** : 0.4 points/min (24 points/h) + - **10+ companies** : 0.25 points/min minimum (15 points/h) +- **Ressources** : 40 produits trackĂ©s +- **Volume variable** : 1 × 40 × (400h × points/h) × 8 bytes = **15MB Ă  3MB selon config** + +**Total par partie** : ~3.1GB constant (data sharing + scaling adaptatif) +- **Joueurs mĂȘme company** : Dataset partagĂ© (pas de duplication) +- **Free-for-all** : GranularitĂ© rĂ©duite maintient volume total stable + +## Types de MĂ©triques + +### 1. Production & Économie + +#### MĂ©triques de Production +- **Production par ressource** : Steel/h, Electronic components/h, VĂ©hicules/jour +- **EfficacitĂ© usines** : % utilisation, downtime, bottlenecks identifiĂ©s +- **Évolution capacitĂ©s** : Courbes de croissance industrielle +- **Ratios production** : Input/Output, waste, efficiency metrics + +#### MĂ©triques Économiques +- **Revenus/DĂ©penses** : Graphiques dĂ©taillĂ©s par source et destination +- **Flux financiers** : Cash flow, profit margins, ROI investissements +- **Commerce international** : Exports/imports par pays et ressource +- **CoĂ»ts opĂ©rationnels** : Breakdown par type (Ă©nergie, main d'Ɠuvre, matiĂšres premiĂšres) + +### 2. Recherche & DĂ©veloppement + +#### Progression Technologique +- **Timeline breakthroughs** : Chronologie dĂ©couvertes avec sources +- **Sources de dĂ©couverte** : Ratio Scrap vs Natural vs Events vs Purchase +- **Domaines expertise** : Radar de spĂ©cialisations technologiques +- **Investissements R&D** : Allocations budget et ROI par domaine + +#### Innovation Metrics +- **Taux dĂ©couverte** : Breakthroughs/mois in-game +- **EfficacitĂ© R&D** : CoĂ»t moyen par breakthrough +- **Diversification** : Spread technologique sur domaines +- **CompĂ©titivitĂ©** : Position vs autres companies (si intel disponible) + +### 3. Expansion & Influence + +#### ContrĂŽle GĂ©ographique +- **Territoire contrĂŽlĂ©** : Surface, ressources accessibles, population +- **Infrastructure** : Density routes, bases, installations industrielles +- **Influence diplomatique** : Relations par pays/rĂ©gion, contrats actifs +- **SĂ©curitĂ© zones** : Threat levels, incidents sĂ©curitaires + + +## Visualisations + +### Graphiques Temporels + +#### Production Dashboard +``` +Production Steel (tonnes/jour) + â–Č +1000│ ╭─╼ + 800│ ╭─╯ ╰─╼ + 600│ ╭─╯ ╰─╼ + 400│╭╯ ╰─╼ + 200│╯ ╰─── + 0└─────────────────────▶ + Mois 1 2 3 4 5 6 +``` + +#### Financial Trends +``` +Cash Flow (M€) + â–Č + 5.0│ ██████████████████▒▒▒▒ Revenue + 4.0│ ████████████▒▒▒▒▒▒▒▒▒▒ Expenses + 3.0│ ████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Profit + 2.0│ ████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ + 1.0│ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ + 0└─────────────────────▶ + Q1 Q2 Q3 Q4 +``` + +#### Breakthrough Timeline +``` +DĂ©couvertes Technologiques +│ +├─ Mois 2: Radar AvancĂ© (Scrap Analysis) +├─ Mois 4: MatĂ©riaux Composites (Natural) +├─ Mois 7: IA Tactique (Purchase Intel) +├─ Mois 9: Blindage RĂ©actif (Capture) +└─ Mois 12: Moteurs Fusion (Event) +``` + +### Radar Charts + +#### Technology Mastery +``` + IA (8/10) + /\ + / \ +Electronics MatĂ©riaux + (6/10) ────────── (9/10) + \ / + \ / + Moteurs (4/10) +``` + +### Heatmaps + +#### Market Opportunities +``` +Resource vs Country Demand + │UKR│POL│GER│FRA│ +Steel │ ██│ ▓▓│ ░░│ ▓▓│ +Electronics│▓▓│ ██│ ██│ ▓▓│ +Vehicles │ ██│ ▓▓│ ░░│ ░░│ +``` + +## SystĂšme de Stockage + +### Architecture DonnĂ©es + +#### Structure TimeSeries SimplifiĂ©e +```cpp +struct MetricTimeseries { + int32_t value; // 4 bytes signed int + // Timestamp et rĂ©solution stockĂ©s en mĂ©tadonnĂ©es +}; + +struct TimeseriesMetadata { + uint32_t start_timestamp; + uint32_t interval_seconds; // Ex: 30s pour joueur, 600s pour IA + uint32_t data_count; +}; + +struct EntityMetrics { + EntityID entity_id; + + // Production (par ressource) - listes simples de int32 + map> production_history; + map production_metadata; + + // Financial - listes simples + vector revenue_history; + vector expenses_history; + vector cash_flow_history; + TimeseriesMetadata financial_metadata; + + // Technology + vector breakthrough_timeline; +}; +``` + +#### Breakthrough Events SimplifiĂ© +```cpp +struct BreakthroughEvent { + uint32_t timestamp; + TechID technology_id; + BreakthroughSource source; // SCRAP, NATURAL, PURCHASE, EVENT + string details; // "Scrap: T-72 Tank" +}; +``` + +### AgrĂ©gation & Compression + +#### RĂ©solution Adaptative +- **DerniĂšre semaine** : Points toutes les 30sec (joueur) / 10min (IA) +- **Dernier mois** : AgrĂ©gation horaire +- **Derniers 6 mois** : AgrĂ©gation quotidienne +- **Plus ancien** : AgrĂ©gation hebdomadaire + +#### Compression Intelligente +- **Delta encoding** : Stocker diffĂ©rences vs valeurs absolues +- **Run-length encoding** : Pour pĂ©riodes stables (production constante) +- **Lossy compression** : DonnĂ©es anciennes → prĂ©cision rĂ©duite acceptable + +## Interface MĂ©triques + +### Dashboard Principal + +#### Vue d'Ensemble +``` +┌─────────────────┬─────────────────┬─────────────────┐ +│ PRODUCTION │ FINANCES │ RECHERCHE │ +│ Steel: ↗ +15% │ Profit: ↗ +8% │ 3 breakthroughs│ +│ Elec: ↘ -3% │ Cash: 2.4M€ │ this month │ +├─────────────────┌─────────────────┌────────────────── +│ TERRITOIRE │ DIPLOMATIC │ STATUS │ +│ 12 installations│ 3 trade deals │ ✅ Operational │ +│ 3 countries │ 85% relations │ 🔄 Expanding │ +└─────────────────┮─────────────────┮─────────────────┘ +``` + +#### Navigation & Drill-Down +- **Overview** → **Domain** → **Specific Metric** → **Detailed Timeline** +- **Comparisons** : Self vs time, targets vs actual, competitors (si data available) +- **Filters** : Date ranges, metric types, zoom levels, entity types + +### MĂ©triques SpĂ©cialisĂ©es + +#### Competitive Intelligence (si disponible) +``` +Market Share Analysis +Company │Production│Revenue│Breakthroughs│ +Thales │ 25% │ 30% │ 18 │ +Lockheed │ 18% │ 22% │ 15 │ +Player │ 12% │ 15% │ 12 │ +Dassault │ 15% │ 18% │ 10 │ +Others │ 30% │ 15% │ 45 │ +``` + + + +## Privacy & Intelligence + +### Data Visibility + +#### Player Data (Full Access) +- **Toutes mĂ©triques personnelles** : Production, finances, recherche, combat +- **Historique complet** : Depuis dĂ©but de partie +- **Analytics avancĂ©es** : Trends, predictions, optimization suggestions + +#### Competitor Data (Limited) +- **Via espionnage** : Intel partiel sur production/capabilities +- **Market signals** : DĂ©ductions via prix, volumes, nouvelles exportations +- **Combat assessment** : Performance observĂ©e lors d'engagements +- **Public information** : Certaines mĂ©triques "corporate" accessibles + +#### State Data (Contextual) +- **Economic indicators** : PIB, imports/exports publics +- **Military capabilities** : Intel selon relations diplomatiques +- **Technology level** : Observations Ă©quipements, brevets publics + + +--- + +*Les mĂ©triques constituent l'outil principal d'analyse et d'optimisation continue pour maĂźtriser la complexitĂ© industrielle et militaire de Warfactory* \ No newline at end of file diff --git a/docs/global/questions-ouvertes.md b/docs/global/questions-ouvertes.md new file mode 100644 index 0000000..35c7ae1 --- /dev/null +++ b/docs/global/questions-ouvertes.md @@ -0,0 +1,143 @@ +# Questions Ouvertes - Warfactory + +*Questions importantes Ă  rĂ©soudre lors du dĂ©veloppement* + +## Questions Architecturales + +### 1. **Operation Engine - ComprĂ©hension Situation** +**Question** : Comment implĂ©menter l'analyse de rapports War Engine pour "comprendre" situations complexes ? + +**Options envisagĂ©es** : +- Pattern matching simple (if-then rules) +- Algorithmes plus sophistiquĂ©s +- Machine learning avancĂ© + +**Status** : En suspens, sujet difficile Ă  rĂ©soudre pour l'instant + +### 2. **Designer Engine Role** ✅ RÉSOLU +**Question** : Qui design les vĂ©hicules pour les IA companies/Ă©tats ? + +**Solution** : Designer Engine unifiĂ© sert joueur ET IA +- IA : Random generation + evaluate + blueprints doctrinaux +- Joueur : Design manuel + assistance IA optionnelle +- Company features influencent choix procĂ©duraux IA + +### 3. **Factory Benchmarking Implementation** ✅ RÉSOLU +**Question** : Le systĂšme factory benchmarking est-il implĂ©mentĂ© ou spĂ©culatif ? + +**Solution** : ReportĂ© en long-term update +- Optimisation prĂ©maturĂ©e, focus sur gameplay core d'abord +- Concept conservĂ© pour dĂ©veloppement futur +- Status uniforme dans tous les documents + +## Questions Gameplay + +### 4. **Tension Militaire/Politique** +**Question** : MĂ©caniques concrĂštes pour rĂ©sistance militaire aux ordres politiques stupides ? + +**Exemples** : +- Militaire peut "traĂźner les pieds" sur ordres suicide +- DĂ©lais supplĂ©mentaires pour ordres non-optimaux +- SystĂšme de moral/confiance commandement + +**Status** : EnvisagĂ© pour long-term updates + +### 5. **Convergence Tactique IA** +**Question** : Comment Ă©viter homogĂ©nĂ©isation si toutes IA apprennent mĂȘmes tactiques efficaces ? + +**Solutions identifiĂ©es** : +- DiversitĂ© options/tech/ennemis +- Armes semi-random crĂ©ent diffĂ©rentiations +- Biais doctrinaux persistants + +**À surveiller** : Équilibrage convergence rĂ©aliste vs diversitĂ© gameplay + +## Questions Techniques + +### 6. **Chunk Size Standardization** ✅ RÉSOLU +**Question** : Quelle taille officielle pour les chunks ? + +**Solution** : Architecture multi-Ă©chelle clarifiĂ©e +- SystĂšme patches ressources (forme libre) vs chunks terrain/bĂątiments/effets +- Chaque type de donnĂ©e utilise rĂ©solution optimale selon besoins +- 64x64 = chunk principal gameplay, autres tailles pour donnĂ©es spĂ©cialisĂ©es + +### 7. **Client Capabilities** ✅ RÉSOLU +**Question** : Les clients sont-ils "dumb terminals" ou gĂšrent-ils streaming intelligent ? + +**Solution clarifiĂ©e** : Smart Client / Authoritative Server +- **Client Smart** : Interface complexe, rendu optimisĂ©, streaming carte, cache local +- **Client Dumb** : Aucune simulation gameplay, pas de logique mĂ©tier +- **ResponsabilitĂ©s client** : UI industrielle/militaire/diplomatique, LOD, culling, cache zones +- **Server Authoritative** : Toute simulation et Ă©tat de jeu + +**CohĂ©rence restaurĂ©e** : Terminologie "dumb terminal" remplacĂ©e par architecture plus prĂ©cise. + +## Questions Scope + +### 8. **SystĂšme Administration - Integration** ✅ RÉSOLU +**Question** : Comment intĂ©grer le systĂšme de points d'administration avec l'architecture engines ? + +**Solution** : MacroEntity Engine gĂšre entiĂšrement le systĂšme +- **Architecture** : MacroEntity Engine responsable companies/Ă©tats + administration +- **Isolation** : Autres engines ignorent systĂšme admin, consultent via API si besoin +- **Actions refusĂ©es** : Admin exhaustĂ© = refus immĂ©diat (pas de queue) +- **Performance** : Calculs lĂ©gers, batch processing, rythme adaptĂ© gameplay macro +- **Joueur exempt** : Pas de contraintes admin pour le joueur +- **Recherche** : CoĂ»ts admin faibles pour ne pas freiner le jeu + +### 9. **Client Rendering Stack** +**Question** : Quelle technologie pour le rendu 2D pixel art ? + +**Options techniques** : +- **Canvas 2D** : Simple, direct, compatible partout +- **WebGL** : Performance supĂ©rieure, scaling, effects +- **Hybrid** : Canvas UI + WebGL game world + +**ConsidĂ©rations** : +- Performance avec milliers d'unitĂ©s simultanĂ©es +- CompatibilitĂ© navigateurs et plateformes +- ComplexitĂ© dĂ©veloppement vs performance gains +- Support zoom discret pixel perfect + +**À dĂ©cider** : Choix tech stack rendu client + +### 10. **DĂ©veloppement Narratif** +**Question** : Comment dĂ©velopper le contenu narratif pour supporter la richesse du systĂšme ? + +**État actuel** : Travail narratif incomplet +- **Ukraine baseline** : Contexte initial dĂ©fini mais peu dĂ©veloppĂ© +- **Autres rĂ©gions** : Congo, Sahara, etc. - aucun contenu narratif +- **Storylines** : Manque de quĂȘtes, Ă©vĂ©nements, personnages +- **Immersion** : Gap entre mĂ©caniques sophistiquĂ©es et narrative basique + +**Besoins identifiĂ©s** : +- **Ukraine dense** : DĂ©velopper storylines Ă©piques, personnages, Ă©vĂ©nements historiques +- **RĂ©gions alternatives** : Warlords Congo, conflicts sahĂ©liens, tensions gĂ©opolitiques +- **ÉvĂ©nements dynamiques** : Crises, alliances, retournements de situation +- **Personnages** : Leaders, gĂ©nĂ©raux, figures historiques et fictives +- **Lore systĂ©mique** : Background Ă©conomique, technologique, culturel par rĂ©gion + +**À dĂ©velopper** : Contenu narratif riche pour toutes les rĂ©gions supportĂ©es + +## Process de RĂ©solution + +### PrioritĂ© 1 - Bloquants Architecture +- Factory benchmarking status +- Chunk size standardization +- Client capabilities dĂ©finition + +### PrioritĂ© 2 - Core Gameplay +- Designer Engine role +- Operation Engine comprehension method + +### PrioritĂ© 3 - Polish Features +- Tension militaire/politique +- Convergence tactique prevention + +### Long-term +- Narrative/technical alignment + +--- + +*Ces questions seront rĂ©solues progressivement lors du dĂ©veloppement. Certaines nĂ©cessitent prototypage pour validation.* \ No newline at end of file diff --git a/docs/global/systeme-militaire.md b/docs/global/systeme-militaire.md new file mode 100644 index 0000000..7ff669a --- /dev/null +++ b/docs/global/systeme-militaire.md @@ -0,0 +1,884 @@ +# SystĂšme militaire + +## Conception de vĂ©hicules + +### SystĂšme de Frames +Une frame est une base sur laquelle on vient ajouter des composants dans une grille. Les frames ont des formes variĂ©es, rarement rectangulaires, avec des zones mortes et des emplacements d'overload spĂ©cifiques. + +#### Interface de Design +**Placement des Composants** : +- **Pick & Place** : Clic sur composant dans inventaire latĂ©ral, drag vers grille, clic pour placer +- **Snap automatique** : Alignement automatique sur grille avec feedback visuel +- **Rotations** : A/E pour tourner composants (standard PC gaming) +- **Snap toggle** : R pour dĂ©sactiver/activer l'alignement grille +- **Zones interdites** : Feedback visuel rouge pour placements impossibles +- **Templates** : Designs prĂ©-faits et patterns recommandĂ©s +- **Validation temps rĂ©el** : Contraintes (poids, Ă©nergie, etc.) vĂ©rifiĂ©es durant placement + +#### Anatomie d'un ChĂąssis +``` +Exemple: ChĂąssis "Griffon" (chenillĂ© moyen) + [X][O][O][O][O][X] X = Zone morte (non utilisable) + [X][●][●][●][●][●][●][X] ● = Zone standard + [●][●][●][●][●][●][●][●] ○ = Zone overload possible + [●][●][●][●][●][●][●][●] â–Č = Zone centrale (critique) + [●][●][â–Č][â–Č][â–Č][â–Č][●][●] ■ = Zone flanc (vulnĂ©rable) + [■][■][â–Č][â–Č][â–Č][â–Č][■][■] ╬ = Zone dĂ©connectĂ©e + [○][○][●][●][●][●][○][○] + [○][●][●][●][●][○] + +Exemple: ChĂąssis "Viper" modulaire (roues) + [●][●][●] [●][●][●] Zones dĂ©connectĂ©es + [●][â–Č][●] [●][â–Č][●] → Composants 3x3+ impossibles + [○][○][○] [○][○][○] → Chaque bloc autonome +``` + +**Zones spĂ©ciales** : +- **Zone centrale** : Composants critiques (moteur, IA principale) +- **Zones flanc** : +50% dĂ©gĂąts si touchĂ©es, Ă©viter composants vitaux +- **Zones mortes** : Cases bloquĂ©es par forme du chĂąssis +- **Zones overload** : Seuls endroits oĂč overload possible +- **Zones dĂ©connectĂ©es** : Blocs isolĂ©s, limitent taille composants + +### GĂ©nĂ©rations et Styles de ChĂąssis + +#### Concept de GĂ©nĂ©rations +- **Gen 1 (1960-1980)** : Robustes, simples, rĂ©parables sur le terrain +- **Gen 2 (1980-2000)** : Électronique basique, modularitĂ© Ă©mergente +- **Gen 3 (2000-2020)** : NumĂ©risation, composites, furtivitĂ© +- **Gen 4 (2020+)** : IA intĂ©grĂ©e, matĂ©riaux avancĂ©s, hybride/Ă©lectrique + +#### Styles Alternatifs & Originaux + +**ChĂąssis "Sloped" (inspirĂ© soviĂ©tique)** +- **Grille en losange** : 7x10 mais forme inclinĂ©e +- **Bonus** : -20% chance d'ĂȘtre touchĂ©, +15% ricochet +- **Malus** : Espace intĂ©rieur rĂ©duit, ergonomie difficile +- **Exemple** : ChĂąssis chenillĂ© sloped Gen2 + +**ChĂąssis "Boxy" (inspirĂ© occidental)** +- **Grille rectangulaire standard** : 8x12 optimisĂ© +- **Bonus** : +20% espace utilisable, maintenance facile +- **Malus** : Profile plus Ă©levĂ©, angles morts +- **Exemple** : ChĂąssis roues boxy Gen3 + +**ChĂąssis "Hexagonal" (expĂ©rimental)** +- **Grille hexagonale** : placement alternatif des composants +- **Bonus** : Synergies Ă  6 faces, rĂ©partition dĂ©gĂąts optimale +- **Malus** : CoĂ»t production +30%, complexitĂ© assemblage +- **Breakthrough requis** : "Advanced Geometry Manufacturing" + +**ChĂąssis "Modular Block" (futuriste)** +- **Grille segmentĂ©e** : 4 blocs de 3x3 non-connectĂ©s +- **Bonus** : Reconfiguration rapide sur le terrain +- **Malus** : Points faibles aux jonctions, composants >2x2 impossibles +- **Contrainte** : Chaque bloc isolĂ© → composants doivent tenir dans un bloc +- **SpĂ©cial** : Peut changer configuration selon mission mais perd cohĂ©sion + +**ChĂąssis "Organic" (bio-inspirĂ©)** +- **Grille courbe** : forme irrĂ©guliĂšre naturelle +- **Bonus** : Auto-rĂ©paration partielle, adaptation terrain +- **Malus** : Incompatible composants standards +- **Breakthrough requis** : "Biomimetic Engineering" + +#### ChĂąssis Terrestres NommĂ©s + +**Roues** +- **"Fennec"** (ultra-lĂ©ger Gen3) : Forme triangulaire 2x3, overload arriĂšre uniquement +- **"Coyote"** (lĂ©ger Gen2) : Forme hexagonale allongĂ©e, zones mortes avant +- **"Bison"** (moyen Gen3) : Rectangle avec coins coupĂ©s, flancs exposĂ©s +- **"Rhino"** (lourd Gen4) : Forme trapĂ©zoĂŻdale, zone centrale renforcĂ©e +- **"Viper"** (Desert Runner) : Profil serpentin, 3 zones overload isolĂ©es + +**Chenilles** +- **"Lynx"** (lĂ©ger Gen3) : Forme diamant, excellente rĂ©partition +- **"Griffon"** (moyen Gen2) : Octogone irrĂ©gulier, zones mortes avant/arriĂšre +- **"Mammoth"** (lourd Gen4) : Massif hexagonal, 8 zones overload pĂ©riphĂ©riques +- **"Badger"** (Gen1 Vintage) : Rectangle simple, pas de zones mortes +- **"Crocodile"** (Low Profile) : TrĂšs allongĂ©, zone centrale Ă©troite +- **"Otter"** (Amphibie) : Forme hydrodynamique, zones mortes latĂ©rales + +**Rails** +- **ChĂąssis locomotive** : 4x20 grille (moteur obligatoire) +- **ChĂąssis wagon lĂ©ger** : 4x12 grille +- **ChĂąssis wagon lourd** : 6x15 grille +- **ChĂąssis wagon plateforme** : 5x18 grille + +#### ChĂąssis AĂ©riens NommĂ©s + +**Volants lĂ©gers** +- **"Sparrow"** (quadcopter Gen3) : Croix parfaite, 4 moteurs aux extrĂ©mitĂ©s +- **"Wasp"** (hexacopter Gen4) : Forme Ă©toile, zones overload entre rotors +- **"Kestrel"** (lĂ©ger Gen2) : Forme T inversĂ©, zone centrale large +- **"Osprey"** (Tilt-Rotor) : Forme H, zones mortes centrales +- **"Raven"** (Stealth Copter) : Triangle noir, overload pointe avant uniquement + +**Volants moyens** +- **"Falcon"** (moyen Gen3) : Fusiforme classique, flancs vulnĂ©rables +- **"Eagle"** (Delta Wing) : Triangle parfait, pas de zones mortes +- **"Condor"** (Canard) : Forme X, 4 zones overload aux extrĂ©mitĂ©s +- **"Phantom"** (Flying Wing) : Aile pure, zone centrale minimale + +**Volants lourds** +- **"Albatross"** (lourd Gen3) : Forme cruciforme, soute centrale massive +- **"Pelican"** (transport Gen2) : Rectangle avec protubĂ©rance avant +- **"Vulture"** (trĂšs lourd Gen4) : Forme W, 6 zones overload rĂ©parties +- **"Leviathan"** (Ekranoplan) : Forme aplatie, zones mortes latĂ©rales massives +- **"Manta"** (Blended Body) : Ovale parfait, overload pĂ©riphĂ©rique uniquement + +#### ChĂąssis Navals NommĂ©s + +**Surface** +- **"Barracuda"** (ultra-lĂ©ger Gen3) : Forme effilĂ©e, overload proue uniquement +- **"Hammerhead"** (lĂ©ger Gen2) : Forme T, zone centrale Ă©largie avant +- **"Orca"** (moyen Gen3) : Fusiforme avec renflement central +- **"Neptune"** (Trimaran) : 3 coques parallĂšles, zones mortes entre coques +- **"Skimmer"** (Hydrofoil) : Forme V inversĂ©, zone centrale surĂ©levĂ©e +- **"Poseidon"** (SWATH) : Double coque immergĂ©e, pont Ă©troit +- **"Kraken"** (lourd Gen4) : Forme tentaculaire, 8 zones overload +- **"Behemoth"** (trĂšs lourd Gen3) : Hexagone massif, flancs exposĂ©s +- **"Atlas"** (plateforme Gen2) : Rectangle avec dĂ©coupes pour piste + +**Submersibles** +- **"Piranha"** (ultra-lĂ©ger Gen4) : Forme torpille pure +- **"Stingray"** (lĂ©ger Gen3) : Forme diamant aplati +- **"Nautilus"** (Teardrop) : Goutte parfaite, pas de zones mortes +- **"Typhoon"** (Double Hull) : Rectangulaire avec double paroi +- **"Triton"** (moyen Gen2) : Cylindrique classique, zones mortes avant/arriĂšre +- **"Abyss"** (lourd Gen3) : Forme bulbeuse, rĂ©sistance pression +- **"Mariana"** (Deep Dive) : SphĂšre allongĂ©e, overload minimal +- **"Colossus"** (trĂšs lourd Gen4) : Multi-segments, zones overload entre sections + +#### ChĂąssis Breakthrough Uniques + +**"Metamaterial Frame"** (tous domaines) +- **Grille adaptive** : Change de forme selon besoins +- **Breakthrough requis** : "Programmable Matter" +- **Bonus** : Reconfiguration temps rĂ©el +- **Malus** : CoĂ»t astronomique + +**"Plasma Shield Chassis"** (terrestre/naval) +- **Grille standard** + champ plasma +- **Breakthrough requis** : "Plasma Containment" +- **Bonus** : ImmunitĂ© projectiles cinĂ©tiques +- **Malus** : Consommation Ă©nergie massive + +**"Quantum Tunneling Frame"** (submersible uniquement) +- **Grille quantique** : 4x4 mais espace infini +- **Breakthrough requis** : "Applied Quantum Mechanics" +- **Bonus** : CapacitĂ© interne illimitĂ©e +- **Malus** : InstabilitĂ© dimensionnelle + +## Layers + +Les frames sont les bases de chaque layer d'un matĂ©riel. Cela peut varier en fonction de la base d'un matĂ©riel : le chĂąssis. + +**Ce qu'on peut construire avec les chĂąssis** : + +Le mĂȘme chĂąssis peut servir Ă  diffĂ©rents rĂŽles selon ce qu'on y installe : + +**ChĂąssis terrestre lĂ©ger Ă  roues** : +- Avec IA autonome → drone terrestre UGV +- Avec cabine pilote → camion de transport +- Avec blindage + mitrailleuse → vĂ©hicule de reconnaissance +- Avec compartiment personnel → transport de troupe lĂ©ger + +**ChĂąssis chenillĂ© moyen** : +- Avec canon 30mm + compartiment → IFV +- Avec blindage renforcĂ© + mitrailleuses → APC +- Avec canon 120mm → char lĂ©ger +- Avec Ă©quipement gĂ©nie → vĂ©hicule du gĂ©nie + +**ChĂąssis volant lĂ©ger** : +- Avec IA + camĂ©ra → drone de surveillance +- Avec cabine pilote → hĂ©licoptĂšre lĂ©ger +- Avec armement guidĂ© → drone kamikaze +- Avec compartiment mĂ©dical → Ă©vacuation sanitaire + +**ChĂąssis volant lourd** : +- Avec soute Ă  bombes → bombardier +- Avec compartiment cargo → transport +- Avec radar + missiles → intercepteur +- Avec Ă©quipement guerre Ă©lectronique → AWACS + +**ChĂąssis naval moyen** : +- Avec hĂ©lipad → frĂ©gate ASW +- Avec VLS → destroyer +- Avec canons → croiseur lĂ©ger +- Avec IA autonome → drone naval USV + +**ChĂąssis submersible** : +- Avec torpilles → sous-marin d'attaque +- Avec missiles balistiques → SSBN +- Avec compartiment cargo → transport furtif +- Avec IA + capteurs → UUV de reconnaissance + +### 3 Layers principaux +1. **ChĂąssis** (mobilitĂ©, armure, structure) +2. **SystĂšmes** (IA, transmetteurs, radiateurs, Ă©lectronique) +3. **Armes & Capteurs** (optiques, canons, radars, ERA) + +## Composants + +Les composants sont les Ă©lĂ©ments qui sont placĂ©s dans les frames. Ils ont des formes variĂ©es, rarement carrĂ©es et jamais 1x1. + +### DiversitĂ© Massive de Composants + +**Principe** : Des centaines de composants uniques, chacun avec forme, taille et caractĂ©ristiques propres. + +#### Exemples Layer ChĂąssis +``` +Moteur Diesel Compact Moteur V8 Racing Turbine Jet + [█][█] [█] [█] [█][█][█] + [█] [█][█][█] [█][█][█] + [█] [█] + +Suspension Active RĂ©servoir Principal Transmission CVT +[█] [█] [█][█][█][█] [█] + [█] [█][█][█][█] [█][█][█] +[█] [█] [█][█][█][█] [█] + +Blindage NERA Cage Survie Flotteurs Amphibie +[█][█][█][█][█] [█] [█] [█][█] [█][█] +[█][█][█][█][█] [█][█] [█] [█] +``` + +#### Exemples Layer SystĂšmes +``` +CPU Basique IA Tactique v3 Quantum Processor +[█][█] [█][█][█] [█] + [█][█][█] [█][█][█] + [█] [█] + +Radio HF SystĂšme AEGIS ECM Suite +[█] [█] [█][█][█][█] +[█] [█][█][█] [█][█][█][█] +[█] [█][█][█] + +Cooling Liquid Heat Pump Radiateur GraphĂšne +[█][█][█] [█][█] [█] [█] + [█] [█] [█] +``` + +#### Exemples Layer Armes & Capteurs +``` +Canon 30mm Missile VLS Railgun Exp. +[█] [█][█] [█] +[█] [█][█] [█] +[█] [█][█] [█] + [█][█] [█] + [█] + +Optique x10 Radar AESA Sonar Passif +[█] [█][█][█][█] [█][█] + [█] [█][█] + +ERA Block Trophy APS Laser CIWS +[█] [█] [█] [█][█] + [█][█] [█][█] + [█] [█] [█][█] +``` + +**Formes communes** : +- **Forme L** : Radiateurs, tuyaux cooling (2x2 en L) +- **Forme T** : SystĂšmes de distribution Ă©nergie (3x2 en T) +- **Forme I** : Canons, missiles (1x3, 1x4, 1x5) +- **Forme Z** : Composants Ă©lectroniques complexes +- **Forme +** : Hubs de connexion, joints universels +- **Forme Rectangle** : Blindage, batteries (2x3, 2x4, jamais carrĂ©) + +**Tailles minimales** : +- **Exceptions 1x1** : ERA blocks, capteurs basiques (seuls composants 1x1) +- **Plus petit standard** : 1x2 (optiques simples) +- **Standard petit** : 2x2 en forme L ou 1x3 +- **Standard moyen** : 2x3, 3x2, formes irrĂ©guliĂšres +- **Gros composants** : 3x4+, souvent formes complexes + +### Explosion de Variantes par Technologie + +**Principe** : Une seule tech dĂ©bloque 5-15 variantes adaptĂ©es aux diffĂ©rents usages + +#### Exemple : Tech "Autocannon Gen3" dĂ©bloque : +``` +25mm Chain Gun 30mm Bushmaster 35mm Oerlikon +[█] [█] [█][█] +[█] [█] [█][█] +[█] [█] [█][█] + [█] + +40mm Bofors CT 20mm Gatling 30mm Coaxial +[█][█] [█][█][█] [█] +[█][█] [█] [█] +[█][█] +``` +- **25mm** : LĂ©ger pour IFV rapides (forme I mince) +- **30mm** : Standard IFV/APC (forme I standard) +- **35mm** : Anti-aĂ©rien (forme rectangle) +- **40mm** : Support lourd (forme L) +- **20mm Gatling** : Haute cadence (forme T) +- **30mm Coaxial** : Compact pour tourelle (forme courte) + +#### Exemple : Tech "Composite Armor v2" dĂ©bloque : +``` +NERA Light (IFV) Chobham Standard Dorchester Heavy +[█][█][█] [█][█][█][█] [█][█][█][█][█] + [█][█][█][█] [█][█][█][█][█] + [█][█][█][█][█] + +Cage Armor Slat Kit AppliquĂ© Module +[█] [█] [█] ═══════ [█][█] +[█] [█] [█] ═══════ [█][█] + ═══════ [█] +``` + +#### Variations par GĂ©nĂ©ration + +**Gen 1 (1960s)** : Formes simples, robustes +- Canon 105mm L7 → 3 variantes (standard, court, long) +- Moteur diesel basique → 2 variantes (truck, tank) + +**Gen 2 (1980s)** : Diversification +- Canon 120mm smoothbore → 6 variantes (L44, L55, compact, etc.) +- Moteur turbodiesel → 5 variantes (power/efficiency trade-offs) + +**Gen 3 (2000s)** : SpĂ©cialisation +- Canon 120mm advanced → 10 variantes (urban, long-range, autoloader, etc.) +- Moteur hybride → 8 variantes (diesel-electric, turbine-electric, etc.) + +**Gen 4 (2020s)** : Explosion des options +- Railgun experimental → 12 variantes (energy levels, sizes, cooling) +- Moteur full-electric → 15 variantes (battery types, power outputs) + +#### Impact sur le Gameplay + +**Pour le Joueur** : +- Une tech = choix stratĂ©giques multiples +- Optimisation selon doctrine (speed vs armor vs firepower) +- Mix & match pour designs uniques + +**Pour l'IA** : +- Companies dĂ©veloppent prĂ©fĂ©rences (Rheinmetall → gros canons) +- Évolution designs selon retours terrain +- Émergence de "schools of thought" rĂ©gionales + +**Total avec variations** : +- ~100 technologies principales +- × 5-15 variantes chacune +- = **1000-1500 composants rĂ©els dans le jeu** + +**RĂšgles d'exclusivitĂ©** : +- Composants gĂ©nĂ©ralement exclusifs par layer +- **Exception** : Certains composants de protection peuvent ĂȘtre partagĂ©s entre layers + +### SystĂšme d'AmĂ©lioration GĂ©nĂ©rique + +**Principe** : AmĂ©liorations universelles applicables Ă  toute catĂ©gorie d'Ă©quipement, stackables Ă  l'infini avec rendements dĂ©croissants. + +#### AmĂ©liorations Universelles par CatĂ©gorie + +**Pour TOUTES les Armes** : +- **High ROF** : Cadence de tir +X%, chaleur +40% (non rĂ©duit) +- **High Velocity** : Vitesse projectile +X%, recul +30% +- **Match Grade** : PrĂ©cision +X%, temps production +50% +- **Extended Barrel** : PortĂ©e +X%, poids +20% +- **Reliability** : MTBF +X%, coĂ»t maintenance -30% + +**Pour TOUS les Moteurs** : +- **Turbo** : Puissance +X%, conso fuel +50%, chaleur +40% +- **Efficiency** : Conso fuel -X%, puissance -15% +- **High Torque** : Couple +X%, vitesse max -20% +- **Reliability** : DurabilitĂ© +X%, performance -10% + +**Pour TOUS les SystĂšmes** : +- **Overclocking** : Performance +X%, Ă©lec +60%, chaleur +50% +- **Efficiency** : Conso Ă©lec -X%, performance -20% +- **Redundancy** : FiabilitĂ© +X%, poids +30% +- **Miniaturization** : Poids -X%, coĂ»t +40% + +#### Formule de Stacking + +``` +Bonus effectif = Bonus_base × (1/2)^(n-1) +oĂč n = nombre de fois appliquĂ© + +Exemple High ROF: +1er: +20% ROF (120% total) +2e: +10% ROF (130% total) +3e: +5% ROF (135% total) +4e: +2.5% ROF (137.5% total) + +Malus: TOUJOURS COMPLET +1er: +40% chaleur +2e: +40% chaleur (80% total!) +3e: +40% chaleur (120% total!!) +4e: +40% chaleur (160% total!!!) + +CoĂ»t: Exponentiel modĂ©rĂ© +CoĂ»t_final = CoĂ»t_base × 1.25^n +1 amĂ©lio: ×1.25 +2 amĂ©lios: ×1.56 +3 amĂ©lios: ×1.95 +4 amĂ©lios: ×2.44 +``` + +**SpĂ©cialisation** (bonus contextuel): +- **Arctic Package** : Fonctionne Ă  -60°C, +15% coĂ»t +- **Desert Sealing** : ImmunitĂ© sable, +20% coĂ»t +- **Urban Kit** : +30% rotation tourelle, -10% armure top +- **Naval Coating** : Anti-corrosion marine, +25% coĂ»t + +#### Exemple Concret : Canon 30mm avec Multi-Stack + +**Base** : +- 30mm Autocannon : 600 RPM, 100 damage, chaleur 50 + +**Application de 3× High ROF** : +``` +Stack 1: +20% ROF → 720 RPM, chaleur +40% (70 total) +Stack 2: +10% ROF → 792 RPM, chaleur +40% (90 total) +Stack 3: +5% ROF → 831 RPM, chaleur +40% (110 total) + +CoĂ»t: 100 × 1.25Âł = 195 unitĂ©s +RĂ©sultat: 831 RPM mais chaleur ×2.2! +``` + +**Application mixte (ROF + Velocity + Reliability)** : +``` +High ROF: +20% cadence, +40% chaleur +High Velocity: +20% dĂ©gĂąts, +30% recul +Reliability ×2: +20% MTBF puis +10% MTBF + +CoĂ»t: 100 × 1.25⁎ = 244 unitĂ©s +RĂ©sultat: Arme polyvalente mais trĂšs chĂšre +``` + +#### Exemples ExtrĂȘmes de Stacking + +**"Chaingun of Doom" (6× High ROF)** : +``` +Base: 600 RPM, 50 chaleur +Final: 945 RPM, 290 chaleur (!!) +CoĂ»t: ×3.81 +→ NĂ©cessite systĂšme cooling dĂ©diĂ© Ă©norme +``` + +**"Eco Motor" (4× Efficiency)** : +``` +Base: 50L/100km, 300hp +Final: 31L/100km, 195hp (-35% perf totale!) +CoĂ»t: ×2.44 +→ Autonomie excellente, performance mĂ©diocre +``` + +**"Glass Cannon Railgun" (ROF×3 + Velocity×3)** : +``` +Base: 1000 damage, 10s reload, 500kW +Final: 1350 damage, 6.5s reload +Chaleur: +120%, Recul: +90%, Élec: 500kW +CoĂ»t: ×4.77 +→ DPS massif mais ingĂ©rable sans support +``` + +#### RĂšgles de Stacking + +**Pas de limite** au nombre d'amĂ©liorations : +- Stack mĂȘme amĂ©lioration = rendements dĂ©croissants +- Mix diffĂ©rentes amĂ©lios = synergie ou conflits +- **Forme reste IDENTIQUE** peu importe le stack +- Malus s'accumulent linĂ©airement (danger!) + +### AmĂ©lioration de ChĂąssis + +**Principe** : Les chĂąssis peuvent aussi ĂȘtre amĂ©liorĂ©s mais avec coĂ»ts exponentiels et nouvelles ressources requises. + +#### AmĂ©liorations ChĂąssis SpĂ©cifiques + +**ChĂąssis "Griffon" Gen2 (base)** : +``` +Base: 100 Steel +Forme: Octogone 8x14, zones mortes standard + ++1 amĂ©lio: 125 Steel + 20 Composite ++2 amĂ©lios: 156 Steel + 40 Composite + 15 Titanium ++3 amĂ©lios: 195 Steel + 80 Composite + 35 Titanium ++4 amĂ©lios: 244 Steel + 160 Composite + 65 Titanium + 10 Ceramics ++5 amĂ©lios: 305 Steel + 320 Composite + 120 Titanium + 25 Ceramics +``` + +**Types d'amĂ©liorations chĂąssis** : +- **Reinforced Structure** : +30% HP, +20% poids +- **Lightweight Frame** : -25% poids, -15% protection, +coĂ»t +- **Extended Grid** : +2 cases overload possibles +- **Improved Geometry** : -1 zone morte, +coĂ»t massif +- **Modular Mounting** : +1 zone centrale (critique → standard) +- **Composite Upgrade** : +20% rĂ©sistance, +nouvelles ressources + +#### Exemples Concrets + +**"Griffon" Enhanced (3 amĂ©lios)** : +``` +Base form: [X]●●●●[X] + ●●●●●●●● + ●â–Čâ–Čâ–Čâ–Č●● + ■■â–Čâ–Čâ–Čâ–Č■■ + +Enhanced: [O]●●●●[O] (+Extended Grid) + ●●●●●●●● + ●â–Čâ–Čâ–Čâ–Čâ–Č●● (+Modular Mounting) + ■●â–Čâ–Čâ–Čâ–Č●■ (+Improved Geometry) + +CoĂ»t: 195 Steel + 80 Composite + 35 Titanium +Bonus: +2 overload zones, +1 centrale, -2 zones mortes +``` + +**"Lynx" Ultra-Light (4 amĂ©lios)** : +``` +4× Lightweight Frame stacked: +-25%, -12.5%, -6.25%, -3.125% = -43% poids total +-15%, -15%, -15%, -15% = -60% protection!! + +CoĂ»t: 244 Steel + 160 Composite + 65 Titanium + 10 Ceramics +RĂ©sultat: ChĂąssis papier mais ultra-rapide +``` + +#### Ressources AvancĂ©es Requises + +**Composite Materials** : +- Requis pour amĂ©liorations chĂąssis moyennes +- Production complexe (Carbon + Resin + Pressure) + +**Titanium** : +- ChĂąssis haute performance +- Ressource rare, extraction difficile + +**Ceramics** : +- AmĂ©liorations extrĂȘmes (5+ stacks) +- Tech trĂšs avancĂ©e requise + +**Metamaterials** : +- AmĂ©liorations breakthrough uniquement +- CoĂ»ts astronomiques + +#### Impact Économique + +**Escalade des coĂ»ts** : +- ChĂąssis Gen1 amĂ©liorĂ© peut coĂ»ter plus qu'un Gen4 standard +- Nouvelles supply chains requises (Titanium, Ceramics) +- Choix stratĂ©gique : few super-chĂąssis vs many standard + +**Trade-offs** : +- ChĂąssis perfect = 90% du budget vĂ©hicule +- Reste peu pour composants advanced +- Peut valoir le coup pour designs spĂ©cialisĂ©s + +**Impact StratĂ©gique** : +- Components peuvent devenir **ultra-spĂ©cialisĂ©s** +- ChĂąssis custom = signature builds +- Stack moderĂ© = optimal, stack extrĂȘme = niche +- NĂ©cessite blueprints pour gĂ©rer complexitĂ© +- **Ressources tier-2** deviennent critiques + +#### ConsĂ©quences SystĂšme + +**ProblĂšmes en cascade** : +- Canon overclocked → +80% chaleur → besoin 2x radiateurs +- Moteur racing → +100% fuel → rĂ©servoirs plus gros ou autonomie divisĂ©e +- IA overclocked → +60% Ă©lec → gĂ©nĂ©rateur supplĂ©mentaire requis +- Tout overclock → systĂšme cooling peut saturer → shutdown combat + +**Choix tactiques** : +- Full performance = logistique cauchemar (fuel, maintenance) +- EfficacitĂ© max = performance mĂ©diocre mais autonomie +- Balance = compromis selon doctrine + +#### Impact sur le Meta + +**Designs uniques** : +- MĂȘme avec composants identiques, deux vĂ©hicules jamais pareils +- Companies IA ont prĂ©fĂ©rences d'amĂ©lioration selon features +- Joueur peut crĂ©er designs signature + +**Trade-offs stratĂ©giques** : +- Performance maximale vs coĂ»t raisonnable +- SpĂ©cialisation vs polyvalence +- Production rapide vs qualitĂ© optimale + +**Total possibilitĂ©s** : +- 1500 composants de base +- × 5-10 amĂ©liorations possibles chacun +- × Combinaisons de 1-3 amĂ©liorations +- = **Millions de variantes possibles** + +### SystĂšme de Blueprints Multi-Échelles + +**Principe** : Sauvegarder et rĂ©utiliser des designs Ă  toutes les Ă©chelles, du composant au vĂ©hicule complet. + +#### Niveaux de Blueprints + +**1. Micro-Blueprints (Arrangements de composants)** +``` +"Power Module v3" (4x3 sauvegardĂ©) +[Motor][Motor][Radiator] +[Motor][Motor][Battery ] +[Trans][Trans][Battery ] +[Trans][Trans][Generator] + +→ RĂ©utilisable dans tous mes designs futurs +``` + +**2. Layer Blueprints (Layer complet)** +``` +"ChĂąssis Standard IFV" (Layer 1 complet) +- Arrangement moteur/transmission testĂ© +- Blindage optimisĂ© zones critiques +- Suspension Ă©quilibrĂ©e +→ Compatible avec chĂąssis "Lynx", "Griffon", etc. +``` + +**3. SystĂšme Blueprints (3 layers combinĂ©s)** +``` +"Urban Fighter Mk2" (SystĂšme complet) +- Layer 1: ChĂąssis mobilitĂ© urbaine +- Layer 2: SystĂšmes com/cooling optimisĂ©s +- Layer 3: Armes courte portĂ©e + APS +→ Adaptable Ă  diffĂ©rents chĂąssis de mĂȘme classe +``` + +**4. VĂ©hicule Blueprint (Design final)** +``` +"Viper AT-4" (VĂ©hicule complet) +- ChĂąssis: "Desert Runner" Gen3 +- SystĂšme: "Tank Hunter v5" +- AmĂ©liorations: Tous les overclocks +→ Production directe en usine +``` + +#### Gestion et Partage + +**Organisation personnelle** : +``` +Mes Blueprints/ +├── Micro/ +│ ├── Power/ +│ │ ├── Compact_Power_2x3.bp +│ │ └── Racing_Power_4x3.bp +│ ├── Weapons/ +│ │ └── AT_Combo_3x4.bp +│ └── Cooling/ +│ └── Max_Cool_2x4.bp +├── Layers/ +│ ├── ChĂąssis_Speed.bp +│ └── SystĂšme_Overclocked.bp +├── SystĂšmes/ +│ └── Glass_Cannon_Full.bp +└── VĂ©hicules/ + ├── MBT_Fortress.bp + └── IFV_Swarm.bp +``` + +**Partage communautaire** : +- **Export/Import** : Fichiers .bp partageables +- **Workshop** : Blueprints notĂ©s par la communautĂ© +- **Company Blueprints** : IA companies ont leurs propres bibliothĂšques +- **Évolution** : Blueprints peuvent ĂȘtre fork et modifiĂ©s + +#### Adaptation et CompatibilitĂ© + +**Micro → Universel** : +- Module 4x3 fonctionne dans tout chĂąssis avec 4x3 libre +- Rotation/miroir automatique possible +- Alerte si incompatible (forme/taille) + +**Layer → Semi-flexible** : +- AdaptĂ© aux chĂąssis de mĂȘme gĂ©nĂ©ration/style +- Ajustements mineurs automatiques possibles +- Warning si sub-optimal + +**SystĂšme → Contraintes** : +- Besoin chĂąssis compatible (taille/forme similaire) +- Peut nĂ©cessiter adaptations manuelles +- Preview montre conflits potentiels + +#### Interface de Blueprint + +``` +[Conception VĂ©hicule] +┌─────────────────────┬────────────────┐ +│ Grille Active │ Blueprints │ +│ │ ┌Favoris──────┐│ +│ [Current Design] │ │☆ Power v3 ││ +│ │ │☆ AT Combo ││ +│ [Drag Blueprint→] │ │☆ Cool Max ││ +│ │ └──────────────┘│ +│ │ ┌Recent───────┐│ +│ │ │ IFV Urban ││ +│ [Drop Zone] │ │ Tank Rush ││ +│ │ └──────────────┘│ +└─────────────────────┮────────────────┘ + +[Save Current as Blueprint] +Type: [Micro|Layer|System|Vehicle] +Name: [_________________] +Tags: [Urban][Speed][Gen3] +``` + +#### MĂ©ta-Évolution + +**ItĂ©ration rapide** : +1. Design initial → test combat +2. Identifier module problĂ©matique +3. Remplacer juste ce module via micro-blueprint +4. Re-test → save nouvelle version + +**LignĂ©es de designs** : +``` +MBT_Heavy_v1 (original) +├── MBT_Heavy_v2 (cooling fix) +├── MBT_Heavy_Urban (fork urbain) +│ └── MBT_Heavy_Urban_ERA (+ protection) +└── MBT_Heavy_Desert (fork dĂ©sert) + └── MBT_Heavy_Desert_Eco (- conso) +``` + +**Impact stratĂ©gique** : +- Designs Ă©prouvĂ©s deviennent "meta" +- Companies dĂ©veloppent styles signature +- Joueur accumule bibliothĂšque personnelle +- Transfert de savoir entre parties + +### Synergies +Il est important de mettre en place une synergie entre certains composants pour que leur contact dans la grille les rende plus efficaces. + +**Types de synergies** : +1. **Synergie existentielle** : composants simplement prĂ©sents dans la mĂȘme frame +2. **Synergie couplĂ©e** : composants se touchent au moins une fois en un point +3. **Synergie de contact Ă©tendue** : composants se touchent le plus possible pour obtenir le plus gros bonus + - Calcul par nombre de faces adjacentes + - Visualisation : highlight des faces en contact avec micro-animation brillante + +### SystĂšmes spĂ©ciaux + +**TempĂ©rature** : +- **Sources de chaleur** : Puces IA dans layer systĂšmes, armes (railgun, canons) +- **Gestion** : Radiateurs dans layer systĂšmes pour refroidissement +- **SystĂšme dynamique** : Heat accumulation en temps rĂ©el selon utilisation +- **Overload system** : PossibilitĂ© de dĂ©passer seuil thermique contre dĂ©gĂąts +- **Gestion IA** : IA combat gĂšre automatiquement la tempĂ©rature (pas le joueur) +- **Balance** : Avantage joueur contrebalancĂ© par contraintes thermiques + +**QualitĂ© d'assemblage** : +- **Conception** : Design "parfait" dans l'interface de conception +- **Production** : RĂ©duction qualitĂ© lors de l'assemblage automatique si placement non-optimal +- **SystĂšmes optimisables** : Chaque systĂšme peut ĂȘtre optimisĂ© (pas de plan unique) +- **Designs OP** : Existence de designs/assemblages optimaux dĂ©couvrables +- **Erreurs placement** : RĂ©duisent qualitĂ© du systĂšme final +- **Upgrades bras** : Bras meilleure prĂ©cision + bras de "lob" pour composants +- **RĂšgle** : Penser Ă  l'assemblage dĂšs la conception pour Ă©viter pĂ©nalitĂ©s + +**ChĂąssis Overload** : +- **Principe** : PossibilitĂ© d'ajouter cases de conception au-delĂ  des limites initiales +- **Limites** : Nombre max de cases d'overload dĂ©fini par chĂąssis + tech dĂ©blocables +- **ChĂąssis diffĂ©renciĂ©s** : Certains chĂąssis plus "overload-friendly" que d'autres +- **PĂ©nalitĂ©s linĂ©aires** par chĂąssis : malus % sur fiabilitĂ©, vitesse, cooling, poids +- **ConsĂ©quences cascade** : + - Poids Ă©levĂ© → terrains impraticables, trains solides requis + - Cooling rĂ©duit → surchauffe plus rapide + - FiabilitĂ© rĂ©duite → maintenance accrue +- **Timing** : Overload recommandĂ© lors des refits (pas conception initiale) +- **IA tactique** : SĂ©lection vĂ©hicules selon mission (haut risque = overloadĂ©s) +- **CoĂ»t rĂ©el** : Prix production des composants avancĂ©s (recherche) +- **Compensation** : Nouveaux composants tech compensent partiellement malus +- **Encouragement cycle armes** : Armes Ă©voluent petit→moyen→gros, forçant overload ou chĂąssis lourds + +**Maintenance & Refit** : +- **Usure progressive** : Barrels d'armes deviennent inutilisables aprĂšs usage intensif +- **Maintenance prĂ©ventive** : Remplacement composants usĂ©s avant panne +- **Refit modifications** : Ajouter ERA, changer canon, upgrade composants +- **Usine obligatoire** : retour en usine pour modifications majeures +- **Usines de terrain** : maintenance basique et rĂ©parations d'urgence +- **PiĂšces de rechange** : Stock et logistique des composants critiques + +## Valeurs des vĂ©hicules + +### Valeurs par Ă©lĂ©ment +- **Armure** (int) +- **HP** (int) +- **Profile** (int) + +### Valeurs globales +- **HP** (int) +- **Multidmg aĂ©rien** (double) - armure du toit +- **Multidmg rear** (double) - armure arriĂšre +- **Multiatk flank** (double) +- **Turret down is vehicule down** (bool) +- **Vmax** (int) +- **AccĂ©lĂ©ration** (int) +- **PrĂ©cision de tir** (double) +- **PrĂ©cision de visĂ©e** (double) +- **Profile total** (int) +- **Reliability** (int %) + +## Techniques de l'armĂ©e + +### CatĂ©gories d'unitĂ©s +*Tous les aspects doivent ĂȘtre applicables Ă  toutes les factions* + +**Infanterie** : +- UnitĂ© d'occupation de terrain +- Puissante par ses capacitĂ©s polyvalentes et sa discrĂ©tion naturelle + +**VĂ©hicule de transport** : +- Transport de troupe, transport logistique, medevac +- Gamme : camion → M113 + +**IFV** : +- Doit ĂȘtre capable de transporter du personnel +- Exemple : Merkava comme IFV + +**MBT** : Char de bataille principal + +**Missiles** : +- Munition capable de se diriger +- Inclut artillerie guidĂ©e +- Missiles stratĂ©giques : SCALP, Tomahawk +- Drones kamikaze stratĂ©giques : Shahed +- Drones FPV ukrainiens + +**Drone copter** + +**HĂ©licoptĂšre** : moteur "unique" mais lourd + +**Jet lĂ©ger** : un moteur + +**Jet lourd** : deux moteurs + +**Transport aĂ©rien** + +**Bombardier lourd** : 3+ moteurs + +## IA militaire + +### PrĂ©vention des glitches +Il vaut mieux Ă©viter qu'on puisse glitcher l'IA, et surtout de maniĂšre Ă©ternelle. + +**Exemple de timeout sur pathfinding** : +1. IASystem give : "Soldat go to B (point A vers B)" +2. GameServer : "copy timeout is 30tick" +3. GameServer in 30ticks fails to move to the point +4. GameServer : "Soldat pathfinding failed from A to B" +5. IASystem : "Soldat go to C" (position de C totalement diffĂ©rente) + +**ProblĂšme** : Si le soldat est bloquĂ© de tous les cĂŽtĂ©s → proposer la destruction des obstacles ? + +## Performance Combat Server + +### Gestion de milliers d'unitĂ©s +- **Adaptive tick rate** : 60→15 TPS sous charge +- **Simulation temps rĂ©el** complexe +- **Batailles massives** : 10k unitĂ©s = 30 secondes de traitement +- **Background processing** : player continue autres tĂąches pendant combats + +### Architecture performance +- **Langages** : C++/C/ASM pour calculs critiques +- **Scope Ă©tendu** : Infantry, vĂ©hicules, aviation, missiles, logistique militaire +- **Actions normales** intĂ©grĂ©es : assaut, reconnaissance, soutien, etc. \ No newline at end of file diff --git a/docs/global/systemes-techniques.md b/docs/global/systemes-techniques.md new file mode 100644 index 0000000..2f9cc6a --- /dev/null +++ b/docs/global/systemes-techniques.md @@ -0,0 +1,98 @@ +# SystĂšmes techniques + +## Tile System + +### Superficies +- **OcĂ©an** : 362 000 000 000 mÂČ +- **Total** : 510 000 000 000 mÂČ +- **Terre** : 148 000 000 000 mÂČ (118.4 Go) +- **Urbain** : 4 440 000 000 mÂČ (3.552 Go) + +### RĂ©fĂ©rence Minecraft +- MC 256x256 = 3 540 ko + +## Gestion mĂ©moire + +### Game Chunk max DD Absolue pire cas (256x256) +- **Land** : 131 ko +- **Ressources** : 393 ko +- **Build** : 459 ko +- **Roof** : 131 ko +- **Effect** : 131 ko +- **Total** : 1 245 ko + +### Game Chunk RAM (256x256) +- **Land** : 131 ko +- **Ressources** : 655 ko +- **Build** : 720 ko +- **Roof** : 131 ko +- **Effect** : 131 ko +- **Total** : 1 768 ko + +## Architecture Multi-Échelle des Chunks + +### Principe de Design +DiffĂ©rents types de donnĂ©es utilisent diffĂ©rentes rĂ©solutions de chunks selon leur granularitĂ© naturelle et leurs besoins de performance. + +### HiĂ©rarchie des Échelles + +#### Chunk 512x512 - Terrain de Base +**Usage** : DonnĂ©es homogĂšnes sur grandes zones +- **landId** : 16b - Texture de la tile (potentiel modificateur) DD/Ram +- **roofId** : 16b - Identification toitures/couverture sol +- **Justification** : Terrain change peu, grandes zones homogĂšnes +- **MĂ©moire** : Toujours en RAM (donnĂ©es de base) + +#### Chunk 256x256 - Structures et BĂątiments +**Usage** : BĂątiments et constructions moyennes/grandes +- **buildingPtr** : 32b "DD"/Ram +```cpp +{ + BuildingId : 32b DD/Ram + Collision : 4b Ram + PV : 20b DD(24b)/Ram +} +``` +- **Justification** : BĂątiments ont taille intermĂ©diaire, besoin rĂ©solution moyenne +- **MĂ©moire** : Chargement Ă  la demande + +#### Chunk 128x128 - Effets et DĂ©tails Fins +**Usage** : Effets visuels, particules, dĂ©tails haute frĂ©quence +- **effectId** : 16b +- **Justification** : Effets nĂ©cessitent granularitĂ© fine pour prĂ©cision +- **MĂ©moire** : Streaming selon proximitĂ© joueur + +#### Chunk 64x64 - Gameplay Principal +**Usage** : Simulation de base, FOW, navigation (documentĂ© dans map-system.md) +- **Justification** : Échelle optimale pour mĂ©canique Factorio-like +- **MĂ©moire** : Core gameplay, chargement prioritaire + +### SystĂšme Ressources (IndĂ©pendant) +**ResourcePatches** : Formes libres non-alignĂ©es sur chunks (78x53 exemple) +- **Justification** : Gisements naturels ne respectent pas grilles artificielles +- **Documentation** : DĂ©tails complets dans map-system.md +- **MĂ©moire** : Chargement selon exploration et exploitation + +### Avantages Architecture Multi-Échelle +- **Performance optimisĂ©e** : Chaque donnĂ©e Ă  sa rĂ©solution naturelle +- **MĂ©moire efficace** : GranularitĂ© adaptĂ©e aux besoins d'accĂšs +- **Scaling intelligent** : Pas de sur-Ă©chantillonnage ni sous-Ă©chantillonnage +- **Maintenance** : SystĂšmes indĂ©pendants, modifications isolĂ©es + +## Stack technique + +### Langages de performance +- **C++ / C / ASM** pour performance critique +- **Justification** : Simulation temps rĂ©el complexe + milliers d'unitĂ©s +- **Compromise** : ComplexitĂ© dev acceptable vs performance requirements + +### Optimisations performance + +#### Adaptive Tick Rate +- **Normal** : 60 TPS +- **Sous charge** : 15 TPS +- **Principe** : DĂ©gradation gracieuse selon la charge + +#### Queue Systems +- Batch processing pour opĂ©rations coĂ»teuses +- Future scaling : clustering dynamique per module \ No newline at end of file diff --git a/docs/global/updates-long-terme.md b/docs/global/updates-long-terme.md new file mode 100644 index 0000000..a71e565 --- /dev/null +++ b/docs/global/updates-long-terme.md @@ -0,0 +1,59 @@ +# Updates Long Terme + +## FonctionnalitĂ©s futures Ă  dĂ©velopper + +### Espionnage Industriel +- **Vol de breakthroughs** : MĂ©caniques permettant aux companies de voler les technologies d'autres actors +- **Protection IP** : SystĂšmes de sĂ©curisation des technologies sensibles +- **Contre-espionnage** : DĂ©fenses contre tentatives d'infiltration technologique +- **RĂ©seaux d'espions** : Agents infiltrĂ©s dans companies concurrentes + +### Factory Benchmarking System +**Concept** : Conversion des usines stables en lookup tables pour performance optimale + +**Inspiration** : ModĂšle Mindustry pour optimisation usines Ă  grande Ă©chelle +- DĂ©tection automatique patterns d'input/output stables +- Conversion vers calculs O(1) pour scaling optimal +- Maintien prĂ©cision comportement vs simulation complĂšte + +**Process envisagĂ©** : +1. Factory neuve → full simulation dĂ©taillĂ©e +2. AprĂšs X cycles stables → benchmark input/output ratios +3. Conversion en lookup table → unload detailed simulation +4. Recalibrage si modifications (upgrades, dĂ©gĂąts) + +**Justification report** : Optimisation prĂ©maturĂ©e, focus sur gameplay core d'abord + +### Économie avancĂ©e +- **Balance commerciale** : États surveillent imports/exports +- **Inflation** : SystĂšme d'impression monĂ©taire et dĂ©valuation en temps de guerre +- **Économie noire** : MarchĂ©s parallĂšles dans zones de conflit + +### Interface et Vues +- **Vues multiples simultanĂ©es** : Plusieurs vues locales ouvertes en mĂȘme temps +- **Split-screen** : Surveiller plusieurs zones/usines simultanĂ©ment +- **Picture-in-picture** : Mini-vues dans vue principale + +### SystĂšme de Communication +- **SystĂšme de messages** : Communication asynchrone entre joueurs +- **Diplomatie formalisĂ©e** : Propositions, traitĂ©s, accords commerciaux +- **Intel sharing** : Partage de reconnaissance entre alliĂ©s + +### Limites Techniques Map +- **Chunks actifs max** : Limite nombre chunks simultanĂ©s pour performance +- **Distance rendu max** : LOD et culling selon distance +- **Joueurs par zone** : Limite joueurs dans mĂȘme zone locale +- **Optimisations mĂ©moire** : Compression chunks inactifs +- **Streaming adaptatif** : Ajustement qualitĂ© selon bande passante + +### GĂ©nĂ©ration ProcĂ©durale AvancĂ©e +- **Cultures urbaines** : Styles architecturaux par rĂ©gion/pays +- **ContinuitĂ© amĂ©liorĂ©e** : Algorithmes liaison inter-chunks +- **Biomes complexes** : Transitions naturelles entre terrains + +### Autres fonctionnalitĂ©s Ă  explorer +*À complĂ©ter selon l'Ă©volution du projet* + +--- + +*Ce document liste les fonctionnalitĂ©s prĂ©vues pour les mises Ă  jour futures du jeu* \ No newline at end of file diff --git a/docs/global/vue-ensemble.md b/docs/global/vue-ensemble.md new file mode 100644 index 0000000..7347c02 --- /dev/null +++ b/docs/global/vue-ensemble.md @@ -0,0 +1,34 @@ +# Vue d'ensemble du projet + +## Vision et objectifs + +- **Concept gĂ©nĂ©ral** : Jeu d'usine avec une composante militaire forte +- **Inspiration** : Factorio-like avec dimension stratĂ©gique militaire +- **Principe clĂ©** : L'importance du choix Ă  tous les niveaux +- **Progression** : De PMC vers opĂ©rations conventionnelles, impact du joueur grandit avec le temps + +## Philosophie de design + +### ClartĂ© et simplicitĂ© +- Interface claire avec pictogrammes simples pour Ă©viter la fausse complexitĂ© +- Jeu dĂ©jĂ  complexe nĂ©cessitant une prĂ©sentation accessible + +### Aspect usine +- La ligne d'assemblage soit le cƓur +- La doctrine militaire que le joueur s'est trouvĂ©e indique les besoins industriels +- L'Ă©nergie c'est facile Ă  gĂ©rer +- L'extraction c'est facile + +### Aspect militaire +- Le joueur doit se trouver sa propre doctrine et crĂ©er son gameplay +- Mettre en avant le concept de doctrine d'emploi +- La contemplation du combat +- IA qui donne du feedback de sa compĂ©tence ou de sa mĂ©diocritĂ© +- Bien que le contrĂŽle direct soit important, il n'est pas le cƓur + +### Progression militaire +- Dans un premier temps on se cantonner Ă  des opĂ©rations irrĂ©guliĂšres +- L'impact du joueur grandit avec le temps + +## Inspiration Undertale +- S'inspirer d'Undertale pour la partie choix gĂ©opolitique \ No newline at end of file diff --git a/docs/serveur/README.md b/docs/serveur/README.md new file mode 100644 index 0000000..0ab8259 --- /dev/null +++ b/docs/serveur/README.md @@ -0,0 +1,107 @@ +# Server Coordinator Documentation + +## Overview +The **Server Coordinator** orchestrates communication between the 10 autonomous engines and manages the Smart Client architecture. + +**Key Responsibilities:** +- Engine coordination and communication routing +- Smart Client request/response management +- Performance monitoring and load balancing +- System-wide state synchronization + +## Architecture + +### Smart Client Pattern +From `architecture-technique.md`: +- **Request/Response Only**: No streaming, stateless communication +- **Engine Autonomy**: Engines operate independently between requests +- **Performance Target**: 60fps with 1000+ AI companies +- **FOW Granularity**: Chunk-level fog of war coordination + +### Engine Coordination +- **Inter-Engine Communication**: Message routing between engines +- **State Synchronization**: Coordinated updates across engine boundaries +- **Event Broadcasting**: Global events distributed to all engines +- **Performance Monitoring**: Engine load balancing and optimization + +## Core Systems + +### Communication Hub +```cpp +class ServerCoordinator { + // Engine management + void registerEngine(EngineType type, std::shared_ptr engine); + void routeMessage(const Message& message); + void broadcastEvent(const GlobalEvent& event); + + // Client management + void handleClientRequest(const ClientRequest& request); + ClientResponse processRequest(const ClientRequest& request); + void updateClientFOW(int clientId, const FOWUpdate& update); + + // Performance monitoring + void monitorEnginePerformance(); + void balanceEngineLoads(); + PerformanceMetrics getSystemMetrics() const; +}; +``` + +### Engine Communication Patterns + +#### Economy ↔ Factory +- Production cost calculations +- Resource availability updates +- Manufacturing order processing + +#### War ↔ Operation +- Battle result analysis +- Strategic learning data +- Tactical coordination + +#### Intelligence ↔ All Engines +- Metrics collection from every system +- FOW updates and coordination +- Performance analytics + +#### Event → All Engines +- Global event broadcasting +- Breakthrough notifications +- System-wide state changes + +### Client Request Processing +From `architecture-technique.md`: + +1. **Request Validation**: Ensure client permissions and data integrity +2. **Engine Routing**: Direct requests to appropriate engines +3. **State Coordination**: Manage cross-engine dependencies +4. **Response Assembly**: Compile responses from multiple engines +5. **FOW Filtering**: Apply visibility restrictions per client + +### Performance Requirements +- **60fps Target**: Maintain real-time performance +- **1000+ Companies**: Scale to massive multiplayer scenarios +- **Engine Autonomy**: Minimize blocking between engines +- **Memory Efficiency**: Optimize inter-engine communication + +## Key Integration Points + +### Fog of War Coordination +- **Intelligence-Engine**: FOW state management +- **Map-Engine**: Chunk visibility coordination +- **Client Filtering**: Per-client visibility enforcement + +### Event System Integration +- **Event-Engine**: Global event generation and scheduling +- **All Engines**: Event consumption and response +- **Client Notification**: Event broadcasting to relevant clients + +### Metrics and Analytics +- **Intelligence-Engine**: System-wide metrics collection +- **Performance Monitoring**: Real-time system health +- **Load Balancing**: Dynamic resource allocation + +## Implementation Notes +- Smart Client pattern eliminates streaming complexity +- Engine autonomy maximizes parallel processing +- FOW at chunk granularity optimizes performance +- Message routing minimizes engine coupling \ No newline at end of file