Essa pergunta é um pouco complicada, mas tentarei deixar claro.
Digamos que estou criando um jogo on-line (não em escala MMO), mas que suporte o maior número possível de jogadores, em uma abordagem de servidor autorizada. Quero mundos realmente grandes com muitos inimigos simulados pela IA.
Estou ciente de algumas estratégias para economizar a CPU do servidor subdividindo o espaço e não processando o que não precisa de processamento. Já dividi o mundo por regiões, o que exigirá tempos de carregamento e pequenas transições, o que acho importante manter a qualidade da jogabilidade ao jogar localmente (sozinho ou mesmo com alguns amigos). Não espero que os jogadores estejam em mais de uma ou duas regiões.
O problema é que uma região pode se tornar bem grande e ter muitos NPCs simulando ao mesmo tempo. Como faço para lidar com isso sem afetar a experiência dos jogadores? Abordagens como um servidor por região e similares não estão na tabela.
Estou procurando principalmente estruturas de dados para conter hordas de inimigos e até NPCs pacíficos. Para finalizar a pergunta, observe que existem veículos, portanto é consideravelmente rápido viajar dentro de uma região, influenciando o "quando" para selecionar as áreas.