Cree un juego multijugador listo para la producción con Netcode for GameObjects

¿Estás creando un juego cooperativo Multiplayer con Unity? Tenemos el recurso a la carta perfecto para usted: Una serie de seminarios web en cuatro partes del equipo Multiplayer, ahora disponible en YouTube. Esta serie se sumerge en la Boss Room para explorar cómo puedes crear un juego multijugador listo para producción con Unity y Netcode for GameObjects.
Para crear juegos multijugador no basta con utilizar las API adecuadas. El primer episodio de la serie trata de las mejores prácticas y ofrece consejos a la hora de introducir una tecnología caótica como Internet entre tus jugadores cuando desarrollas un juego Multiplayer.
En el primer episodio tratamos:
- ¿Qué es Netcode for GameObjects (NGO) y Unity Gaming Services (UGS)?
- NetworkVariables vs RPCs y razones para elegir cuál para cada función
- Autoridad y por qué elegimos la autoridad de servidor para la mayor parte de nuestro juego
- Movimientos y modelos alternativos como la Autoridad del Cliente para tratar el retraso, y trucos de optimización para los movimientos basados en la búsqueda de trayectorias.
- Implementación básica del juego y cómo utilizamos State (netvar, network list) y RPCs
El segundo episodio trata de la implementación de las habilidades de los personajes en Boss Room y de cómo enfocar la implementación de habilidades en tu juego.
Nos sumergimos en:
- El flujo general de implementación de las capacidades dirigidas por el servidor
- Fiabilidad y qué significa que los RPC no sean fiables
- Los ataques cuerpo a cuerpo y la anticipación de los problemas de animación
- Funcionalidad del escudo del tanque e interacción con el entorno
- Los disparos potentes de los arqueros y el Área de Efecto (AOE), que requieren entradas de seguimiento a lo largo del tiempo sólo en el lado del cliente.
- Mago firebolt y uso del ancho de banda
- La arquitectura general de nuestro sistema de capacidades
También miramos:
- Objetos generados dinámicamente
- Generación de objetos estáticos colocados en escena
- Generación de objetos destruibles colocados en escena
- Lecciones aprendidas sobre los diablillos zombis al incorporarse tarde
- Lógica de generación personalizada como pools y cómo integrarlos con NGO
En la tercera sesión, cubriremos algunos detalles más de la implementación del juego antes de sumergirnos en cómo hacer que tu juego Multiplayer sea resistente a los jugadores.
Exploramos:
- Interacciones físicas, objetos y crianza, escenas y gestión de escenas
- Cómo usar Relay y Lobby para jugar online y por qué no se puede usar NGO para unir jugadores
- Sincronización de la pantalla de selección de personaje entre jugadores mediante ONG y serialización personalizada.
- Cómo hacer que su juego resista las idas y venidas de los jugadores, así como los flujos de reconexión, el apoyo a las incorporaciones tardías, la desconexión y los tiempos de espera.
- Manejo de condiciones de carrera y diversas pruebas a realizar
En la cuarta y última sesión de la serie, exploraremos las mejores prácticas de desarrollo de juegos multijugador.
Este episodio cubre:
- Optimizaciones de ancho de banda y herramientas para crear perfiles, optimización de NetworkTransforms y otros consejos.
- Herramientas de depuración como simuladores de estado de la red, supervisión de estadísticas y flujos de depuración personalizados.
- Arquitectura del proyecto (sistema de acción, arquitectura del jugador, etc.)
- El futuro de Boss Room
¿Ver la serie? Comparta sus comentarios para que podamos planificar sesiones aún mejores en el futuro.
Si estás listo para sumergirte en tu próximo proyecto Multiplayer con Unity y Netcode for GameObjects, aquí tienes algunos recursos útiles para empezar:
- Más información sobre Netcode for GameObjects
- Explore nuestras muestras: 3D Boss Room, 2D Galactic Kittens, Muestras Bitesize
- Leer la documentación
¿Tienes preguntas o comentarios sobre el desarrollo de juegos Multiplayer en Unity? No dudes en unirte al debate en Discord o en los foros.