warfactoryracine/CLAUDE.md
StillHammer 4e1f46f4d8 Update CLAUDE.md with complete implementation status
📋 Updated project guidance to reflect current implementation:
- 10 functional engines with CMake build system
- Comprehensive build commands and development workflow
- Complete project structure documentation
- Dependencies and defensive programming features
- Development workflow optimized for daily iteration

🚀 Project status: Design → Implementation active

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 14:25:57 +08:00

150 lines
7.3 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
**Warfactory** is a Factorio-inspired industrial military simulation game combining factory management with strategic military doctrine. The project has evolved from design/documentation phase to **functional implementation** with a complete 10-engine architecture and comprehensive build system.
**Core Philosophy:**
- Factory assembly lines as gameplay foundation
- Player-driven military doctrine development
- Progression from PMC operations to conventional warfare
- Choice and complexity balanced with accessible presentation
## Documentation Architecture
The project uses a modular documentation system in `/docs/`:
### Core Design Documents
- `vue-ensemble.md` - Vision, philosophy, and design principles
- `architecture-technique.md` - Multi-server architecture, engines, performance specs
- `systemes-techniques.md` - Tile system, memory management, chunks
- `map-system.md` - Procedural generation with 218+ elements, budget system (-10 to +10)
### Gameplay Systems
- `gameplay-industriel.md` - Resource flow, production, factory optimization
- `systeme-militaire.md` - Vehicle design with grid-based component placement
- `economie-logistique.md` - Market simulation, supply chains, pricing
- `mecaniques-jeu.md` - Research systems, breakthrough mechanics, administration
### Advanced Systems
- `arbre-technologique.md` - 3000+ technology tree with prerequisites gating
- `metriques-joueur.md` - Comprehensive analytics (3.1GB per game, adaptive scaling)
- `coherence-problem.md` - Resolved design contradictions and technical challenges
## Key Technical Concepts
### Engine Architecture
- **Autonomous Engines**: 10 specialized engines (Designer, Economy, Event, Factory, Intelligence, Logistic, MacroEntity, Map, Operation, War)
- **Smart Client**: Request/response pattern, no streaming, FOW at chunk granularity
- **Performance Target**: 60fps with 1000+ AI companies, 1-2 vehicle designs/tick globally
- **Implementation Status**: All engines have functional stub implementations with threading and main loops
### Map System
- **Multi-scale**: World (diplomatic) → Regional (logistics) → Local (factory) → Detail (combat)
- **Procedural Generation**: 218 elements with budget scoring, millions of combinations
- **Chunk System**: 64x64 tiles, streaming on demand, persistent storage
### Military Design
- **Grid-based Vehicle Design**: Irregular chassis shapes with component placement
- **Interface**: Pick/place with A/E rotation, R for snap toggle, template support
- **Combat**: Multi-chunk battles, persistent frontlines, auto-battler with player oversight
## Development Context
### Resolved Issues
Most initial "coherence problems" (P1-P30) were invalidated through clarification:
- Architecture scales properly with smart resource management
- Interface complexity is standard for genre (comparable to Factorio, Tarkov inventory)
- Performance targets achievable with proper optimization
- Only P7 (engine responsibilities) requires further analysis
### Current Status
- **Phase**: **Implementation active** - All 10 engines functional with CMake build system
- **Build System**: Comprehensive CMake with defensive programming, sanitizers, and 16 C++ libraries
- **Development Ready**: Fast/full build presets, optimized workflow for daily iteration
- **Next Steps**: Engine logic expansion, inter-engine communication, gameplay features
- **Questions Open**: 11 items in `questions-ouvertes.md` for future resolution
## Working with This Project
### Documentation Updates
- Cross-reference systems when making changes (especially architecture ↔ gameplay)
- Maintain coherence between technical specs and game design
- Update `coherence-problem.md` if new conflicts emerge
### Key Design Constraints
- **Skip-ability**: All systems must be automatable for accessibility
- **Depth vs Accessibility**: Complex systems with simple interfaces
- **Performance**: Real-time constraints with large-scale simulation
- **Realism**: Military authenticity balanced with gameplay fun
### Important Files for Context
- Start with `vue-ensemble.md` for project vision
- Reference `architecture-technique.md` for technical decisions
- Check `coherence-problem.md` for resolved design challenges
- Use `questions-ouvertes.md` for known open issues
## Build System and Development
### Build Commands
```bash
# Fast development build (minimal sanitizers, ~30s)
cmake -DFAST_BUILD=ON .. && make claude-workflow-fast
# Full validation build (all sanitizers + static analysis)
cmake -DCMAKE_BUILD_TYPE=Debug .. && make
# Release build (optimized, stack protection)
cmake .. && make
# Single engine development
make economy-engine && ./bin/economy-engine
```
### Project Structure
```
├── engines/ # 10 autonomous engines
│ ├── Designer-Engine/ # Vehicle design with AI assistance
│ ├── Economy-Engine/ # Market simulation, pricing
│ ├── Event-Engine/ # Breakthrough system, global events
│ ├── Factory-Engine/ # Factorio-like production
│ ├── Intelligence-Engine/ # Metrics collection, reconnaissance
│ ├── Logistic-Engine/ # Supply chains, transport
│ ├── MacroEntity-Engine/ # Companies, diplomacy, administration
│ ├── Map-Engine/ # Procedural generation, chunks, FOW
│ ├── Operation-Engine/ # Military strategy, AI generals
│ └── War-Engine/ # Combat simulation, frontlines
├── cmake/ # Build system configuration
│ ├── WarfactoryDefenses.cmake # Defensive programming
│ ├── WarfactoryAutomation.cmake # 16 C++ libraries
│ └── WarfactoryAdvancedTools.cmake # Static analysis, testing
├── build/ # Build artifacts (git ignored)
│ └── bin/ # Final executables
└── docs/ # Complete design documentation
```
### Development Workflow
1. **Fast iteration**: Use `FAST_BUILD=ON` for daily development
2. **Single engine**: `make economy-engine` for focused work
3. **Full validation**: Debug build with all sanitizers before commit
4. **Engine-specific development**: Work directly in `engines/*/` directories
5. **Incremental builds**: CMake rebuilds only modified files (~2-5s)
### Dependencies and Libraries
The project includes 16 C++ libraries via FetchContent:
- **Networking**: zeromq, cppzmq, redis-plus-plus, cpprestsdk
- **Logging**: spdlog, fmt
- **Memory**: Microsoft GSL, foonathan/memory
- **Testing**: Catch2, Google Test, Google Benchmark
- **Utilities**: nlohmann/json, fifo_map, junction+turf, pcg-cpp
- **Navigation**: recastnavigation, abseil-cpp
- **Graphics**: imgui, sqlite
### Defensive Programming Features
- **Sanitizers**: AddressSanitizer, UndefinedBehaviorSanitizer, LeakSanitizer
- **Static Analysis**: Clang Static Analyzer, Cppcheck, PVS-Studio integration
- **Contract Programming**: GSL contracts, custom assertion macros
- **Compiler Hardening**: Stack protection, frame pointers, maximum debug info
- **Memory Safety**: Smart pointers, RAII patterns, leak detection