Esta pregunta es un poco complicada, pero intentaré aclararla.
Digamos que estoy construyendo un juego en línea (no a escala MMO), pero que admite tantos jugadores como sea posible, en un enfoque de servidor autorizado. Quiero mundos realmente grandes con muchos enemigos simulados por IA.
Soy consciente de algunas estrategias para ahorrar CPU del servidor subdividiendo el espacio y no procesando lo que no necesita procesamiento. Ya he dividido el mundo por regiones, lo que requerirá tiempos de carga y pequeñas transiciones, lo que creo que es importante para mantener la calidad del juego cuando se juega localmente (solo o incluso con un par de amigos). No espero que los jugadores estén en más de una o dos regiones.
El problema es que una región puede llegar a ser bastante grande y tener muchos NPC simulando a la vez. ¿Cómo manejo esto sin afectar la experiencia de los jugadores? Enfoques como un servidor por región y similares no están en la tabla.
Estoy buscando principalmente estructuras de datos para contener hordas de enemigos, e incluso NPC pacíficos. Para finalizar la pregunta, tenga en cuenta que existen vehículos, por lo tanto, es bastante rápido viajar dentro de una región, lo que influye en el "cuándo" para eliminar áreas.
Respuestas:
Por lo que entiendo, tendrás algún tipo de física ejecutándose en tu servidor.
Si ese es el caso, también hay otras técnicas disponibles para IA / física además de la partición espacial. De más a menos obvio:
Una vez que haya implementado estos mecanismos, puede decidir cuánto y con qué frecuencia los necesita. Lo mejor de esto es que más tarde puede agregar algunos servidores que podrán hacerse cargo de algunas de las tareas en lugar de las aplicaciones del cliente.
Por supuesto, la detección de colisión aproximada creará algunas aberraciones, pero podrá resolverlas agregando más precisión de vez en cuando.
También con respecto a la física, debería echar un vistazo a las bibliotecas que admiten algún tipo de sistema GPGPU como OpenCL o CUDA si tiene acceso a un servidor que lo admite.
fuente