📚 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 <noreply@anthropic.com>
5.2 KiB
5.2 KiB
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
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
- State Queries: Get current system state (factory status, battles, etc.)
- Action Commands: Execute player actions (place building, issue orders)
- Data Updates: Refresh cached information (market prices, research progress)
- 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 specificationgameplay-industriel.md- Factory interface requirementssysteme-militaire.md- Vehicle design and combat interfacesmap-system.md- Multi-scale interface coordinationmecaniques-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