26 mayo 2024

Curso "Godot 4 Multiplayer: Make Your Own Online Game" de GameDev.TV

Hace unos días que finalicé el curso que da título a este artículo y ya estoy listo para contaros lo que me pareció. 

Hice el curso en Udemy. También se encuentra en la plataforma propia de GameDevTV, aunque como ya tengo otros cursos de otras temáticas en Udemy prefiero seguir comprándomelos allí para tenerlos todo en un mismo sitio. Otra ventaja de Udemy es que suele contar con subtítulos en inglés, lo cual puede ser un auténtico salvavidas si el profesor tiene un acento muy cerrado. En teoría, la plataforma de GameDevTV debería permitir activar subtítulos, pero no he visto cómo en los pocos cursos que tengo allí.

En Udemy, el curso se anuncia prometiendo cubrir los siguientes temas:

  • Construcción de un juego online multijugador usando las librerías de Godot 4.
  • Crear mecánicas habituales en los juegos multijugador como baldosas interruptoras, objetos movibles, puertas a desbloquear, etc.
  • Sincronización de estas mecánicas a través de internet para permitir que los jugadores puedan interactuar entre sí y colaborar para superar los retos.
  • Usar la infraestructura de W4 Games para permitir que los jugadores puedan conectarse entre sí aunque no estén en la misma red local.
El juego que desarrolla para explicar estos principios es un sencillo plataformas 2D, en el que 2 jugadores podrán colaborar para alcanzar baldosas interruptoras que abran puertas y hagan aparecer puentes que permitirán acceder a zonas previamente inalcanzables. También se incluye la mecánica de abrir un cofre, para recoger una llave con la que abrir la llave de finalización de nivel. Como verás, el juego en si mismo es muy sencillo, pero permite cubrir una serie de mecánicas muy habituales en este tipo de juegos. 

Todo el primer bloque del curso, se dedica a darle forma al juego base. Si hace tiempo que no tocas Godot, te puede servir como repaso. Si nunca has tocado Godot, también te puede valer como tutorial introductorio.

En el segundo bloque es donde se empieza a implementar que los jugadores puedan conectarse entre sí, dentro de una misma red local. Al final resulta que, a Godot, le bastan 2 nodos especializados para ofrecer una experiencia multijugador completa. Todo un alarde de sencillez y elegancia que dice mucho de este engine. Entre esos 2 nodos especializados y las llamadas RPC desde el código, ya tienes todo lo que necesitas para montar tu juego online.

En el tercer bloque, el más largo, es donde se va explicando cómo aplicar los conceptos del bloque anterior para que las distintas mecánicas del juego se puedan sincronizar a todos los jugadores al mismo tiempo y que estos vean siempre el mismo estado del juego.

El curso implementa su código en GDScript, pero yo lo he seguido implementando mi código en C# y no he tenido problema alguno.

El profesor se explica muy bien, su pronunciación es buena y no divaga. El proyecto que ha elegido para sustentar sus explicaciones es lo suficientemente sencillo como para no estorbar por complejo, pero más que suficiente para cubrir las mecánicas más habituales que se suelen implementar en un plataformas. Al final del curso acabas teniendo una idea bastante buena de cómo articular un juego multijugador básico. 

Aun así, hay cosas mejorables. Para empezar, las herramientas multijugador de Godot (los 2 nodos y las llamadas RPC) se cubren de una manera bastante práctica, lo cual no está mal, pero me he quedado con las ganas de que profundizase en la parte teórica. Al final acabas intuyendo lo que hace cada cosa, pero no con la seguridad de saber lo que hace por dentro. Por ejemplo, se tratan las llamadas RPC y se usan ampliamente en el curso, pero me habría gustado que se detuviera más en ellas para explicar su funcionamiento general y cómo se utilizarían en otros contextos.

Otra cosa mejorable, es que a pesar de mencionar los servicios de W4 Games, en el curso no se les menciona para nada. Es cierto que en la letra pequeña advierten que esos contenidos no están disponibles aún y que llegarán más adelante, pero hace tiempo que W4 Games abrió su beta para que la gente probase sus servicios y esperaba que a estas alturas hubieran incluido esa parte en el curso, o que al menos hubiesen dicho cuándo lo harían. Nada de eso ha ocurrido y esa es la razón por la que no le he dado 5 estrellas en Udemy. Si finalmente, acaban incluyendo el bloque explicando cómo usar los servicios de W4 Games, revisaré al alza la puntuación.

A pesar de eso, el curso es muy recomendable, si bien no al precio completo con el que lo anuncian en Udemy y en GameDevTV. Mi consejo es que espera a que esté de oferta en alguna de esas dos plataformas para comprártelo. En GameDevTV no lo sé, pero en Udemy las ofertas son muy frecuentes, así que mi consejo es que no cometas la novatada de comprarlo por 50 o 90 € cuando es muy frecuente verlo ofertado por 10 o 15.