19 julio 2024

Curso "Unity C# Mobile Game Development: Make 3 Games From Scratch" de GameDevTV

El curso que hice sobre desarrollo de juegos en Godot, para plataformas móviles, me supo a poco. Así que decidí hacer el equivalente para Unity y comparar las dos plataformas. En concreto, elegí otro curso de GameDevTV: "Unity C# Mobile Game Development: Make 3 Games From Scratch". En este caso lo compré en Udemy, donde ya tengo otros cursos.

Se basa en desarrollar tres proyecto: una especie de Angry Birds, un juego de carreras y un Asteroids. Todos son muy sencillos, pero tocan lo básico: configuración de físicas, tratamiento de cámara y mucho, muchísimo, de configuración de UI.

A nivel específico de plataformas móviles, el curso explica:

  • Configuración del editor para simular plataformas móviles.
  • Compilación para Android e iOS.
  • Gestión de entradas a través de pantallas táctiles, incluidas las entradas multidedo (multi-touch)
  • Notificaciones.
  • Anuncios (Ads).
  • Microcompras (in-app purchases).
Está bien en general, pero hay varios puntos en los que se nota que necesita una actualización. Lo más sangrante es que el mismo profesor reconoce alguno de esos puntos. Por ejemplo, al llegar a la parte de los Ads, la plataforma de Unity te ofrece dos opciones. El profesor admite que la opción clásica ya está obsoleta y que el desarrollo de Unity va por la segunda opción, ¿pero adivinas cuál explica al final? justo la opción que ha reconocido que es obsoleta.

También ocurre que hay varios momentos en los que Unity ha evolucionado y los componentes que usa en la clase no aparecen o no se comportan exactamente como en la clase. Cuando te pase eso y te quedes atascado te recomiendo que eches un ojo a la sección de comentarios de la clase de turno. Verás que está hasta arriba de alumnos preguntando, pero el profesor no contesta nunca. Aun así, hay que reconocer que GameDevTV pone a profesores asociados a responder las preguntas, aunque en la mayor parte de las ocasiones sus respuestas creo que no aportan mucha ayuda. Al final, las mejores pistas las consigues de los comentarios de otros alumnos. Yo he dejado también algunas aportaciones, por si sirven de ayuda a alguien.

Como plataforma, Unity está muchísimo más madura para hacer juegos, y obtener ganancias con ellos en plataformas móviles, que Godot. Se nota que tienen componentes para todo, si bien es cierto que en muchos momentos he echado de menos la mayor claridad de Godot y, sobre todo, su mayor rapidez a la hora de desarrollar. Se me llevan los demonios cada vez que modifico un script de Unity, cambio al editor para probarlo y tengo que quedarme 5 o 6 segundos mirando a la pantalla mientras Unity hace uno de sus famosos "domain reload". En comparación, el flujo de trabajo en Godot es mucho más ágil, con ejecuciones prácticamente instantáneas (incluso usando C#), por lo que no resulta tan cansino. En mi opinión, si quieres hacer un juego para móviles con la intención de sacarle rendimiento mediante anuncios o microcompras, la mejor opción es Unity, aunque yo no descartaría Godot para hacer un prototipo, ni mucho menos para juegos de PC (para los que Godot creo que está muy bien preparado).

Como conclusión: el curso está bien, merece la pena. A mí me ha permitido asentar conceptos, algunos de los cuales ya me había presentado el curso de Godot, y además me ha permitido entender por fin cómo configurar UIs en Unity (parece mentira, pero no les había cogido el tranquillo hasta ahora). Pero, en todo caso, ten en cuenta que algunos contenidos están antiguos y no funcionarán como esperas. Así que, si te atascas, lo mejor es que acudas a la sección de comentarios porque lo mismo descubres que la culpa no es de tu código. Con esa salvedad en mente, creo que es un curso al que se puede sacar mucho partido.