06 agosto 2024

Cómo probar juegos multijugador en Unity

Estoy haciendo el curso de GameDevTV sobre desarrollo de juegos multijugador con Unity. Cuando lo acabe, ya os contaré mi opinión, como ya he hecho con otros cursos. Hasta entonces, quería contaros un truco nuevo que he descubierto en Unity: cómo crear varias instancias de un juego multijugador para probarlo en un PC.

Tener esta capacidad resulta indispensable durante la fase de desarrollo para asegurar que sincronizamos bien todos los elementos del juego entre los diferentes participantes. Godot incluye de manera nativa la capacidad de arrancar hasta 4 instancias independientes del juego para probarlo. Sin embargo, en Unity no ha sido así, al menos hasta ahora.

El curso que estoy haciendo, por ejemplo, se limita a probar las cosas compilando y ejecutando una instancia del juego, externa al editor (con la opción "Build and Run"), y ejecutando una segunda instancia dentro del editor de Unity. No se explica por ningún lado cómo probar con mas de dos jugadores y es que la cosa no resultaba sencilla. Buscando por internet he llegado a la conclusión de que lo más parecido que tenía Unity a la funcionalidad de Godot era una extensión de terceros llamada ParrelSync.

La novedad es que en Unity 6 van a incluir por fin la posibilidad de la que ya disfrutan los usuarios de Godot. Aunque aún no hay versión estable de Unity 6, ya se puede probar todo lo que vamos a ver en las versiones Preview que ya se pueden instalar desde el Unity Hub.

La funcionalidad se denomina Multiplayer Play Mode y te permite simular hasta 4 jugadores. Uno desde el editor y otras 3 instancias virtuales del juego.

Para instalarlo, tenemos que ir al Package Manager el editor de Unity 6 e instalar el paquete Multiplayer Play Mode del Unity Registry.

Para activar una instancia virtual del juego tienes que ir a Window > Multiplayer Play Mode y marcar cuántas instancias vas a querer arrancar. 



Aquellas instancias que marques iniciarán un proceso de arranque y, cuando pasen a estar activas, aparecerán sus respectivas ventanas. No te preocupes por el largo tiempo que emplean para arrancar. Sólo tardan tanto la primera vez. A partir de ahí, la información queda cacheada y los siguientes arranques son mucho más rápidos.


A partir de ese momento, cada vez que arranquemos el juego desde el editor, este se reproducirá tanto en el editor como en las instancias virtuales de manera, con lo que podremos simular el comportamiento de jugadores independientes.

Para operar como uno de los jugadores, bastará con seleccionar la ventana de su instancia e interactuar con el juego como haría el jugador.

Para parar el juego lo haremos desde el editor, como haríamos con un juego monojugador. Eso parará el juego en todas las instancias virtuales.

Para hacer que las ventanas desaparezcan sólo tendremos que desmarcarlas de la ventana del Multiplayer Play Mode.

Con esto ya tendríamos todo lo que necesitamos para probar cualquier juego multijugador. 

Espero que te haya resultado interesante.