warfactoryracine/docs/systemes-techniques.md
StillHammer 2e0a35cf1f Initial Warfactory documentation with complete map system
- Comprehensive map system with point-based procedural generation
- Regional tendencies system for geographical specialization
- 10-engine autonomous architecture documentation
- Vehicle design system with 3-layer structure
- Technology trees with breakthrough mechanics
- Economic system with company features and cultural doctrines
- Complete metrics and analytics system
- Military mechanics and AI systems
2025-09-18 13:25:15 +08:00

83 lines
1.7 KiB
Markdown

# 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
## Structure des chunks
### 5 valeurs importantes
**Chunk 512x512** :
- landId 16b // texture de la tile (potentiel modificateur) DD/Ram
**Chunk 64x64** :
- ressourcePtr 32b DD/Ram
```
{
ressourceId : 16b DD/Ram
RessourceNbr : 32b DD/Ram
}
```
**Chunk 256x256** :
- buildingPtr 32b "DD"/Ram
```
{
BuildingId 32b DD/Ram
Collision 4b Ram
PV 20b DD(24b)/Ram
}
```
**Chunk 512x512** :
- roofId 16b
**Chunk 128x128** :
- effectId 16b
## Principe de gestion mémoire
L'idée c'est de pas avoir tout en mémoire à part landId
## 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