Godot 3.3 incorpora editor web y mejora el soporte multiplataforma
Godot 3.3 ya está entre nosotros para continuar con la evolución de este prometedor motor gráfico Open Source orientado a los videojuegos, el cual durante mucho tiempo ha pasado bastante inadvertido, pero que en los últimos años está consiguiendo tener repercusión incluso más allá de los círculos ligados al FLOSS.
Mientras que en estos momentos la mayor parte de los esfuerzos se están centrando en Godot 4, la tercera versión mayor del motor y el editor siguen recibiendo mejoras y novedades conforme se van publicando sus versiones de mantenimiento. Godot 3.3 iba a ser en un principio la versión 3.2.4, pero su desarrollo fue creciendo “hasta convertirse en una actualización repleta de funciones por la que vale la pena abrir una nueva rama estable”.
Tras conocer algunas de las circunstancias que dieron a luz a Godot 3.3, vamos a zambullirnos para conocer al menos los cambios y novedades más importantes que trae. Para empezar nos encontramos con la incorporación de una versión web del editor de Godot, el cual ha sido construido con el mismo código de exportación usado para los juegos creados con este motor. Según cuentan los responsables, “estos cambios han dado lugar a innumerables mejoras para las exportaciones web”.
La segunda gran novedad de Godot 3.3 es la incorporación de soporte de Android App Bundle (AAB), “un formato de publicación que permite una distribución más eficiente de las aplicaciones de Android” y que se suma al soporte de APK presente en el editor. “Google Play recomienda publicar en AAB, ya que permite que la Play Store distribuya solo las bibliotecas nativas principales para la ABI de un dispositivo”. Otras características añadidas son la incrustración de subvista, el soporte para los recortes y las muescas en Android 9 y posteriores y la implementación de los eventos de teclado y ratón.
El soporte para iOS ha incorporado la misma interfaz para los plugins que ya fue añadida a través de una nueva API para Android en la versión 3.2.2. Dicha interfaz abre la puerta a poder mover complementos de iOS como ARKit, GameCenter e InAppStore al repositorio oficial (first party) ‘godot-ios-plugins’, haciendo que puedan ser mejorados independientemente del desarrollo de Godot. Este criterio también puede aplicarse a los plugins de terceros.
La exportación a HTML5 ha obtenido en Godot 3.3 soporte para hilos y de GDNative, si bien debido a limitaciones de la plataforma resultan incompatibles entre sí. El soporte para los hilos depende de la API SharedArrayBuffer, la cual todavía no es compatible con navegadores como Safari (tanto en macOS como iOS). También se ha mejorado en este frente el soporte para controladores y teclados virtuales y la construcción de los hilos debería beneficiarse del soporte de la API AudioWorklet, “que permite una mejor salida de audio sin bloquear el hilo principal”.
Apple ha iniciado toda una revolución tecnológica con su procesador M1, y viendo el entusiasmo que ha despertado entre los usuarios de la manzana mordida, todo el mundo da por hecho que la compañía culminará rápido y con éxito su transición de x86 a ARM. Esta situación está haciendo que las aplicaciones empiecen a soportar el Apple M1, y Godot 3.3 no iba a ser menos al ofrecer para macOS un “binario universal” capaz de funcionar tanto en x86 como en ARM, aunque de momento solo está disponible la versión estándar y no la que soporta Mono/C#.
Continuando con el soporte para macOS, a partir de Godot 3.3 se proporcionarán binarios del editor que estarán firmados mediante un certificado de firma y el diálogo de exportación es capaz ahora de firmar las compilaciones exportadas.
En lo que respecta al motor, nos encontramos con una modernización del soporte de multihilo portado hacia atrás de Godot 4 con el fin de mejorar el soporte multiplataforma, además de la implementación del método BVH dinámico para la partición espacial como alternativa Octree para resolver fallos y problemas de rendimiento. A nivel de renderización se han incorporado nuevos formatos de vértices que permiten que muchos sombreadores (shaders) personalizados aprovechen mejor el procesamiento por lotes en 2D y un nuevo mapeador de luz por CPU. Para Godot 4 se espera incorporar un mapeador de luz por GPU, el cual depende del soporte de Vulkan.
Por último destacamos el plugin para OpenXR, la carga y reproducción de MP3 por la expiración de las patentes, el soporte de minimapa en GraphEdit y las correcciones para distintos tipos de colisión. El editor puede ahora copiar y pegar nodos de forma fiable y se ha mejorado el inspector de edición de los subrecursos, una característica proveniente de Godot 4 que hace que sea más fácil saber qué recurso se está editando cuando hay más de dos niveles.
Todos los detalles de Godot 3.3 pueden ser consultados en el anuncio oficial, mientras que la aplicación puede ser descargada desde la correspondiente sección en la web del proyecto para GNU/Linux (escritorio y servidor), macOS y Windows.