Cómo evaluar el módulo multijugador y de redes UNet en Unity 5
Unity todavía era un motor de desarrollo de juegos del lado del cliente antes de la llegada de la web. Después de la llegada de la web, Unity incluso se convirtió en un motor de desarrollo de juegos entre clientes y servidores.
El mismo componente existe en Unreal desde hace mucho tiempo, pero si nos remontamos a los primeros tiempos, probablemente era un motor privado de una gran empresa de juegos extranjera. Pero el poder de Unity reside en su amplia popularidad, por lo que fue el primer motor comercial en llevar este componente al mercado.
La creación de redes es esencialmente una abstracción de alto nivel de la capa de red en el software de arquitectura C-S tradicional.
La lógica del servidor y la lógica del cliente están escritas en una clase (esto causará algunos problemas en la limpieza del código~~)
Cuando el servidor y el cliente sincronizan datos, no hay necesidad de enviar paquetes de datos se pueden sincronizar automáticamente agregando la etiqueta [SyncVar] delante del atributo.
Cuando el cliente llama al servidor, no necesita enviar un paquete de datos, solo una llamada a una función.
El servidor llama al cliente sin enviar paquetes de datos, simplemente realizando llamadas a funciones.
Los beneficios son numerosos.
Hablando de desventajas, es un problema de seguridad. Imagínese, si la lógica del cliente y el servidor están juntas, una vez que el cliente está descompilado, ¿no significaría que la lógica del servidor lo está? filtrado?
Desventaja 2: Es posible que los programadores de servidores no necesiten escribir la lógica del juego.