Last night I decided to completely trash my A* pathfinding, it just is not good enough for big maps and huge number of subjects. After 14 hours, everything is now re-coded and re-thinked. Now game can run 2000 population simulation at 1920×1080 resolution and maintain solid 30+ fps (tested on late 2016 Macbook Pro, i7, Radeon pro 455).
Before optimizations even population of 1000 forced frame rate to drop below 20 fps .
Main problem was with pathfinding and zombies human detection, but now with multithreaded pathfinding with heap-indexing and whatnots I would think that real gaming setups could easily simulate over 5000 people infections.
But with great speed, comes great sacrifices
- My glorious civilian models were about 3500 verts each. Now they are only 413 and look horrible from close distance. But in game it does not really show.
- No more realistic collision detection, characters will overlap and no more zombie-piles. Collision detection is playable at 1000 humans, but after that only really beefy CPU:s can handle them (I will try to find some middle-ground solution for this).