I know WH doesn’t want to spawn people in it, but couldn’t it be so that the NPC spawn at a logic location (for example their farm or their shop (at 13 o’clock for example when the player is near) or that they spawn at the local tavern. And from there make their decissions. That way the game doesn’t have to store every NPC’s location and then the npc’s still have their own decisions. so for example: the smith spawns in his house when you are 2 km away from him. then when you are there he could have had ennough idea’s for what he wanted to do (eat, work, drink) but it doesn’t have to be 1 spawn point. It can be at the tavern, the shop, the place he works, the street, the woods. I understand that would make a problem for spawning, but you can programm it so, that a npc can’t spawn at the same place as the oter (like in the same square meter) and not all spawn in the street, so for that you could make a logaritm, like 3 on the streets, 2 at the bar, 5 at their home working (for example) and then the do what they would do what they would normaly do.
I think this will improve both cpu and it will still be the npc’s who make the decissions for themself.