feat: world scale ×5 — trees, pools, walls, rooms, corridors all 5× larger

- WORLD_SCALE=5 constant in worldgen.rs, adjustable via single constant
- Trees: trunk 30 cells tall, canopy radius 10 (was 6/2)
- Pools: radius 10-30 (was 3-6)
- Walls: height 10-35, width 5 (was 3-7/2)
- Sand dunes: width 20-80 (was 6-16)
- BSP rooms: min 20×20, corridors width 5 (was 9×9/2)
- Surface terrain: amplitude ×5 (±20 vs ±4)
- Dirt layer depth: 40 cells (was 8)
- Spawn offsets ×5 for goblins/slimes
- Dirty rects cleared after world generation to avoid CA processing static terrain
- Chunk activation by dirty rects only (not modified flag)
- Dirty rect size limit 4096 cells to prevent CA spikes
- CA fill_prob for caves reduced 0.45→0.38 for larger open spaces
- All 185 tests + 14 scenarios pass
- Benchmark: ~18 FPS (regression from 85 FPS due to larger world features)
- Performance optimization deferred to separate pass
This commit is contained in:
Emil
2026-06-22 08:27:15 +03:00
parent 4c1e3987ec
commit 4c9a074bb0
5 changed files with 153 additions and 65 deletions
+12 -12
View File
@@ -1,17 +1,17 @@
{
"mode": "graphics",
"ticks": 300,
"total_time_ms": 3493.0,
"avg_fps": 85.9,
"avg_frame_time_ms": 11.62,
"p99_frame_time_ms": 31.15,
"min_frame_time_ms": 7.65,
"ticks": 60,
"total_time_ms": 6710.1,
"avg_fps": 8.9,
"avg_frame_time_ms": 111.81,
"p99_frame_time_ms": 1055.62,
"min_frame_time_ms": 12.09,
"subsystems": {
"ca_step_avg_us": 4142,
"ca_step_p99_us": 20939,
"ca_step_min_us": 523,
"render_avg_us": 4335,
"render_p99_us": 6314,
"render_min_us": 3830
"ca_step_avg_us": 103983,
"ca_step_p99_us": 1048423,
"ca_step_min_us": 5067,
"render_avg_us": 4606,
"render_p99_us": 15606,
"render_min_us": 3928
}
}