4 ms·
Unfortunately we're hitting some scaling issues, we're exploring some ways around them, but even in "clean slate" tests we're struggling to exceed ~10k agents i
by adanto6840 9y ago
Unfortunately we're hitting some scaling issues, we're exploring some ways around them, but even in "clean slate" tests we're struggling to exceed ~10k agents in motion without framerates starting to dwindle. We've also very quickly learned that multi-threaded development is, or can be, quite difficult & tedious. Things can go wrong in even more ways than we'd have imagined, though it has been a fun challenge too.
Right now, players with higher-end computers are reporting that they're able to push ~3k or so "pax" (passenger agents) before framerates start to get choppy.
When we receive save game files with bugs to look into, and we load them up and see 4-5k+ pax, we cringe a bit (and it's even worse w/ all our logging on, etc). ;-)
As far as details go, the algorithm for passenger needs/desires/selection is pretty neat -- it uses "delta need scoring", it's quite a robust approach & also a decently-scalable system.
- sitepodmatt 9y agoDo you use a thread per agent? What does an agent map to closer to the wire?
- neuronexmachina 9y agoIf you don't mind my asking, which parts of the agent logic tend to be the profiling hot spots when you have several thousand of them? Do you end up running into a combinatorial explosion somewhere?