¿Qué estás buscando?
Games

Enter the Boss Room: nuestro nuevo juego multijugador de muestra

DEW SMITH / UNITY TECHNOLOGIESContributor
Apr 8, 2021|6 minutos
Enter the Boss Room: nuestro nuevo juego multijugador de muestra
Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

Explora la nueva biblioteca experimental de Netcode de Unity y los patrones subyacentes de un juego Multiplayer en nuestro RPG cooperativo a pequeña escala, Boss Room.

Crear juegos multijugador no es fácil, y es habitual sentirse abrumado cuando se explora el desarrollo de un juego multijugador, incluso con los documentos SDK proporcionados. Necesitas asesoramiento sobre qué hacer con los SDK proporcionados y los patrones que puedes utilizar como bloques de construcción para tus propios juegos. Nuestro objetivo como equipo de Redes Multiplayer de Unity es equipar y apoyar a los desarrolladores (como tú) con las herramientas necesarias para crear grandes experiencias de juego multijugador para tus jugadores. Parte de esa promesa consiste en proporcionar no sólo la tecnología de redes básica, sino también la documentación y las plantillas educativas necesarias para comprender su aplicación. Ahí es donde entran nuestras muestras de Multiplayer: Boss Room es el primer contenido educativo de este tipo.

A medida que se vaya desarrollando Boss Room, se irán escribiendo tutoriales en sobre los distintos aspectos de la conexión en red de la muestra para los desarrolladores en nuestro nuevo sitio de documentación. Estos tutoriales cubrirán muchas piezas críticas de la creación de redes de un pequeño juego cooperativo, tales como la forma de elegir entre RPCs vs NetworkVariables, o cómo diseñar su juego para ser sensible con técnicas de compensación lag.

Ahora vamos a sumergirnos en nuestra nueva muestra cooperativa de acceso anticipado: Sala del Jefe.

Entra en la Sala del Jefe

Bienvenido a la Boss Room, un proyecto de muestra oficial construido en 2020 LTS que muestra el conjunto nativo de herramientas, gráficos y tecnología de red experimental de Unity - disponible ahora como Early Access a través de Github. Boss Room aprovecha el nuevo paquete experimental de Netcode para reunir hasta ocho jugadores y derrotar a los diablillos y a un jefe en esta adorable porción vertical de una mazmorra RPG cooperativa. ¿Quieres más Boss Room? No te preocupes: seguirá evolucionando junto con la comunidad, al igual que nuestra solución Multiplayer.

Empieza aquí, o sigue leyendo para ver un rápido recorrido por lo que puedes esperar hoy en Boss Room.

La premisa

Los jugadores comenzarán Boss Room alojando o uniéndose a un servidor de juego, que se alojará en uno de los dispositivos de los jugadores.

Una vez conectados, los jugadores seleccionarán un héroe de entre los ocho disponibles, se unirán a un Lobby y seleccionarán a su personaje mientras esperan a que todos los miembros del grupo estén listos para jugar. Cuando todos los jugadores están listos, se muestra un breve temporizador y luego todos los Héroes son transportados al entorno de la Sala del Jefe.

Una vez en la sala del jefe, los jugadores deben trabajar juntos para superar a los súbditos enemigos y derrotar al jefe.

Oportunidades para hacer nuevos contactos

Dado que el objetivo principal de Boss Room es enseñar a los desarrolladores los conceptos y patrones subyacentes a un juego multijugador, los aspectos de red de la muestra son cruciales.

Parte del principal valor diseñado en Boss Room son los patrones de Multiplayer que muestra: anticipación de animación de acción, lobby, estado vs RPC, y más. El objetivo es proporcionar a los usuarios no sólo la implementación de dichos patrones, sino también documentación que les ayude a entenderla. No deje de consultar nuestro sitio de documentación para estar al día de estos artículos a medida que se publiquen en los próximos meses.

El modelo de red utilizado en Boss Room es un servidor alojado en el cliente, y los jugadores pueden conectarse entre sí a través de una conexión directa Photon Relay e IP integrada.

Personajes y clases

Para los personajes de los jugadores, tenemos cuatro clases de personajes en 3D (Mago, Guerrero, Pícaro y Arquero), tres razas (Elfo, Humano y Enano) y dos géneros representados en la actualidad. Estos personajes tienen dos habilidades principales y algunas animaciones emote incluidas para cada una. En cuanto a la IA y los enemigos, contamos con diablillos y un jefe de mazmorra, cada uno con sus propias habilidades.

Personajes de Boss Room

Todos los personajes de Boss Room se basan en un modelo común al que llamamos cariñosamente "U", diseñado para ser reutilizado y adaptado a nuevas formas y tamaños. Como todos comparten una estructura común, están diseñados para ser reutilizados. Boss Room utiliza la licencia UCL, lo que significa que podrás reutilizar todos nuestros recursos y crear a partir de ellos tu propio proyecto Unity, así que no lo dudes... ¡a modelar!

Imagen que muestra cómo pueden reimaginarse los personajes

Como ya se ha mencionado, Boss Room muestra una variedad de técnicas de juego de acción que suelen encontrarse en los RPG cooperativos, junto con los patrones y técnicas de codificación que resultan útiles a la hora de implementar dichas acciones. Esto incluye la búsqueda de rutas y movimientos en el servidor con interpolación en el cliente, así como que el sistema de acciones sea un mecanismo generalizado para que los personajes "hagan cosas" en red.

Las acciones lo incluyen todo, desde el ataque básico de tu personaje hasta una habilidad AOE de fantasía como el Tiro Volado del Arquero. A continuación figura una lista de los arquetipos de acción aplicados mediante este sistema:

  • Ataque cuerpo a cuerpo con una comprobación de la caja de impacto basada en la física.
  • Ataque de área de efecto. El ataque se centra en un punto proporcionado por el cliente para mostrar la selección de área del lado del cliente con un efecto impulsado por el servidor.
  • Ataque de proyectil a distancia que genera un proyectil dirigido por el servidor. También incluye una variante de esta acción con la posibilidad de "cargar" el disparo manteniendo pulsado el botón de acción.
  • Acción de aturdimiento que impide a los agentes manejados por la IA hacer nada.
  • Acción de sigilo que activa el modo sigilo para el pícaro.
  • Una acción de pulido con la posibilidad de cargarla manteniendo pulsado el botón de acción. Produce un efecto extra en el nivel máximo de carga.
  • Acciones Emote que reproducen animaciones tontas de los personajes: muestran la comunicación de los jugadores.
  • Acción de persecución que hace que tu personaje siga al objetivo elegido
  • Selección de objetivo que se utiliza para las acciones que pueden apuntar a un objetivo, si se elige uno.
  • Acción de Trample que el Jefe ejecuta y empuja a los héroes incautos a un lado - esto muestra patrones para la física en red.
  • Acción de revivir que permite a los héroes resucitarse unos a otros.

Mazmorras y jugabilidad

El entorno de la Sala del Jefe está diseñado para que los jugadores tengan unos momentos para poner a prueba las habilidades de su personaje antes de enfrentarse al jefe.

La mazmorra cuenta con una antecámara y una sala del jefe, con un sencillo puzle de interruptor de coop para entrar en la zona del jefe. El objetivo es sencillo: derrotar a los diablillos, resolver el rompecabezas, acabar con el jefe... ¡y llegar hasta el tesoro del final!

Ejemplo en editor de una escena de Boss Room

Nota de nuestro equipo

El objetivo de Boss Room va más allá de la mera educación sobre la API. Multiplayer es una de las áreas de la creación de juegos que influirá en su diseño, no sólo en su implementación. Conocer buenas prácticas como "cuándo está bien ser dirigido por el cliente frente a ser dirigido por el servidor si tengo un PNJ dirigido por el servidor que afecta a la física, como el jefe" o "trucos en los que puedes usar animaciones de aceleración para ocultar la latencia" te ayudará a hacer un mejor juego Multiplayer. Todas las funciones de Boss Room son ejemplos de estas prácticas y pautas.

El objetivo de nuestro equipo es ofrecerte una referencia de todo el proceso de ingeniería en torno al desarrollo de juegos Multiplayer para que seas capaz de construir un juego Multiplayer de la A a la Z para tipos específicos de juegos. Esto implicará el diseño, la implementación, las pruebas y cómo manejar un entorno en vivo. Empezaremos con Boss Room como referencia; actualmente estamos redactando la documentación correspondiente.

El objetivo secundario de Boss Room es dar a conocer el nuevo paquete experimental de Netcode para GameObjects (una evolución de MLAPI). El equipo de muestras y el equipo del SDK trabajan codo con codo para mejorar MLAPI, aportar comentarios sobre UX y plantear problemas. A medida que MLAPI añada nuevas funciones y actualice el SDK, seguiremos utilizando estas funciones y nos aseguraremos de que tengan sentido en un contexto de desarrollo de proyectos.

¿Y ahora qué?

A medida que nuestra solución de red siga creciendo y mejorando, también lo hará esta muestra. He aquí algunas formas de participar.

Chatea con nosotros en Discord o en el foro Multiplayer de Unity y comparte tus experiencias o pide ayuda.