# 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