
Unity Multiplayer Games
Alan R. Stagner
- Editorial
- Packt
- Año
- 2013
- Páginas
- ~242
- Nivel
- Intermedio
De qué trata
Manual de desarrollo de videojuegos multijugador enfocado en Unity (diseñado en torno a Unity 4, con conceptos aplicables a Unity 3) que guía paso a paso en la conexión, serialización y sincronización de partidas en red. Está orientado a desarrolladores independientes y programadores de C# de nivel intermedio que ya saben construir mecánicas para un solo jugador, pero necesitan dar el salto a las arquitecturas de red cliente-servidor, servidores dedicados y partidas alojadas en la nube.
El temario aborda el uso de la API de red nativa de Unity (basada históricamente en RakNet, con NetworkView, RPCs y sincronización de variables de estado sobre UDP confiable), además de frameworks de terceros y servicios en la nube: Photon Unity Networking (PUN) para matchmaking y salas virtuales, Photon Server autohospedado en C# para servidores backend dedicados, la plataforma Player.IO con persistencia en la base de datos NoSQL BigDB, y la red de mensajería en tiempo real PubNub. El núcleo técnico más valioso del libro radica en la programación de red avanzada: compensación de latencia, interpolación y extrapolación de entidades, predicción del lado del cliente (client-side prediction), detección de impactos autoritativa en el servidor (server-side hit detection) y rebobinado de entidades (entity rewinding) para mitigación de trampas (anti-cheat).
El aprendizaje se realiza construyendo proyectos concretos que van desde un Pong básico hasta un juego de recolección de estrellas y un prototipo de estrategia en tiempo real (RTS). Destaca por explicar con rigor matemático la problemática del lag y la discrepancia entre cliente y servidor, algo que la mayoría de introducciones superficiales omiten. Conviene tener en cuenta que las herramientas nativas analizadas (NetworkView/RakNet) y las versiones tempranas de PUN están completamente discontinuadas en favor de Netcode for GameObjects o Photon Fusion; sin embargo, las bases teóricas sobre arquitectura autoritativa y sincronización física siguen siendo imprescindibles.
- Unity 4
- Networking
- Multijugador
- Photon Unity Networking (PUN)
- Photon Server
- Player.IO
- PubNub
- Predicción del cliente
- Interpolación de entidades
- Servidores autoritativos
- Compensación de lag
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Pong multijugador en red
Juego competitivo para dos jugadores desarrollado con la API de red nativa de Unity, que enseña la transmisión de llamadas a procedimientos remotos (RPC) y la serialización básica de palas y pelota sobre UDP.
Cliente de chat con Photon Unity Networking (PUN)
Aplicación de mensajería multiusuario conectada a servidores en la nube de Photon que gestiona la entrada a salas, emparejamiento (matchmaking) y listas de amigos.
Star Collector con Photon Server
Juego de recolección de estrellas en tiempo real sincronizado mediante una aplicación de servidor dedicado personalizada y autohospedada con las librerías de Photon Server en C#.
Bot Wars con Player.IO
Prototipo de estrategia en tiempo real (RTS) basado en salas multijugador con persistencia de partidas y perfiles usando la base de datos NoSQL BigDB de Player.IO.
Chatbox global con PubNub
Sistema de mensajería global multiplataforma integrado en Unity utilizando los canales de streaming de datos en tiempo real de PubNub.

