¿Qué leyes rigen la red y la complejidad computacional de los juegos multijugador?

Sobre cada grupo de jugadores localizado, cada acción debe pasarse a todos los demás jugadores en ese grupo. Si se devuelve al iniciador depende de si es un cliente ligero o no y también, si no, de lo inteligente que es.

Cada acción, en cuanto a CPU, depende de si las acciones son seriales o paralelas. Si es en serie, con los resultados agrupados y entregados de una vez (común en los juegos de guerra en línea elementales), entonces la complejidad de la CPU es O (n) y la mensajería es O (1).

Si es serial y los resultados no están agrupados, la mensajería es O (n).

Si se realiza en paralelo, por lo que las interacciones entre las acciones son significativas, la complejidad de la CPU aumenta a O (n ^ 2). Si la retroalimentación es en tiempo real, esto también debe ser cierto para la actividad de la red.

Francamente, no sé cómo se maneja Elite: Dangerous, las batallas espaciales pueden ser enormes.

La única forma en que puedo pensar que algunos de estos sistemas pueden manejarlo es que el cliente está haciendo una predicción determinista que también se realiza en el servidor. Luego reconcilias la diferencia y solo la transmites. Es mucho más costoso para la CPU, pero el tiempo de CPU es barato en comparación con el ancho de banda del lado del cliente.

Esto crea una carga de CPU de O (2n (n + 1)) y reduce la carga de red a O (log (n)).