Update TODO.md for optimization only focus

This commit is contained in:
Jared Miller 2025-12-15 14:26:00 -05:00
parent 186f8b66f6
commit 097408b8e3

32
TODO.md
View file

@ -48,22 +48,26 @@ further options (if needed):
- GPU instancing (single draw call for all entities) - GPU instancing (single draw call for all entities)
- or just move on - 100k @ 60fps is a solid ceiling - or just move on - 100k @ 60fps is a solid ceiling
## phase 4: add collision ## phase 4: spatial partitioning
- [ ] spatial partitioning (grid or quadtree) - [ ] uniform grid collision
- [ ] projectile-to-enemy collision - [ ] quadtree comparison
- [ ] measure new ceiling with collision enabled - [ ] measure ceiling with collision checks enabled
## phase 5: game loop ## phase 5: rendering experiments
- [ ] player entity (keyboard controlled) - [ ] increase raylib batch buffer (currently 8192 vertices = 2048 quads)
- [ ] enemy spawning waves - [ ] GPU instancing (single draw call for all entities)
- [ ] player attacks / projectiles - [ ] compute shader entity updates (if raylib supports)
- [ ] enemy death on hit - [ ] compare OpenGL vs Vulkan backend
- [ ] basic game feel
## future ## future optimization concepts
- [ ] different enemy types - [ ] SIMD entity updates (AVX2/SSE)
- [ ] player upgrades - [ ] struct-of-arrays vs array-of-structs benchmark
- [ ] actual game design (after we know the constraints) - [ ] multithreaded update loop (thread pool)
- [ ] cache-friendly memory layouts
- [ ] LOD rendering (skip distant entities or reduce detail)
- [ ] frustum culling (only render visible)
- [ ] temporal techniques (update subset per frame)
- [ ] fixed-point vs floating-point math