MuyLinux Eduardo Medina  

El motor de juegos Godot presenta su versión más ambiciosa

Godot

Godot es un motor de videojuegos 2D y 3D Open Source (licencia MIT) que incluye su propio editor. El editor está oficialmente disponible para GNU/Linux, Windows y macOS, permitiendo exportar lo creado a los sistemas operativos mayoritarios en el escritorio, Android, Universal Windows Platform e iOS, aunque también hay que tener en cuenta los requisitos a nivel de API de cada plataforma.

Sin generar el ruido ni recibir la atención de conocidas y mediáticas soluciones privativas como Unreal Engine y Unity3D, Godot se ha consolidado con el paso de los años como una fuerte alternativa a las otras dos, sobre todo para proyectos llevados a cabo por equipos pequeños o desarrolladores que trabajan en solitario. Lo conseguido por este motor de videojuegos Open Source tiene gran mérito si tenemos en cuenta que está sostenido por muchas menos personas que las soluciones comerciales. En GNU/Linux se distribuye como un ejecutable con versiones para 32 y 64 bits que requiere de muy pocas dependencias, por lo que puede funcionar en casi cualquier distribución.

Los videojuegos creados con Godot pueden ser programados con C++ o bien GDScript, un lenguaje de script propio, de alto nivel y tipado de forma dinámica muy sencillo de utilizar gracias a su simple sintaxis. Renderiza los gráficos utilizando OpenGL y soporta físicas, sombras dinámicas, transparencias, imágenes especulares y efectos de postprocesamiento a pantalla completa como FXAA, bloom, DOF y HDR.

Tras realizar una breve introducción, en MuyLinux nos hacemos eco de Godot 3.0, el lanzamiento más ambicioso que jamás haya hecho este software por la gran cantidad de novedades y cambios introducidos, los cuales no solo se encargan de hacer este motor de videojuegos más completo, sino también de abrirlo a una mayor cantidad de programadores al soportar ahora C# mediante Mono. Estas son las principales novedades de Godot 3.0, que ha costado 18 meses de trabajo a los desarrolladores.

Nuevo renderizador 3D basado en físicas

Con el fin de equipararse o incluso superar en algunos aspectos a sus rivales comerciales, el nuevo motor 3D incluye muchas características por defecto para así facilitar la construcción y un buen acabado de los entornos tridimensionales.

Aquí la novedad más destacada es la introducción de la gama completa de principios BSDF de Disney para el renderizado basado en físicas, siendo Godot el primer motor que ofrece esta característica, con posibilidades como albedo, acabado metálico, oclusión ambiental, asperezas, refracción y anistropía sin necesidad de introducir software adicional.

Godot 3.0 incluye dos flujos de trabajo para la iluminación global con sondas que funcionan en tiempo real, por lo que la luz surte efecto inmediatamente sobre los objetos. También soporta reflejos de luz indirectos y vóxeles que resultan fáciles de utilizar, aunque debido a los requisitos de hardware se mantendrá la iluminación clásica en dispositivos móviles.

Efectos y reflejos de luz en Godot 3.0

Entre las nuevas capacidades de renderizado hay un nuevo conjunto soportado de opciones de midprocesamiento y postprocesamiento, de las que se puede destacar un nuevo mapa de tonos con soporte para HDR, múltiples curvas estándares y exposición automática. La implementación de SSAO permite configurar los efectos de la iluminación.

Gracias a que Godot 3.0 incluye un lenguaje propio que soporta la mayoría de la especificación de GLSL, la escritura de los shaders resulta sencilla. Por otro lado, se espera que el editor visual de materiales, que tuvo que ser eliminado en la versión 2.1 por motivos de compatibilidad, vuelva para la versión 3.1 del motor.

Las partículas serán ahora procesadas mediante la GPU tanto en 2D como en 3D, permitiendo el despliegue de millones de partículas por imagen y la realización de efectos impresionantes.

Partículas mediante GPU en Godot 3.0

Nuevos activos en el flujo de trabajo

Godot 3.0 ha cambiado la forma de trabajar con los activos, facilitando la importación mediante arrastrar y soltar activos en la carpeta del proyecto, pudiéndose luego modificar sus opciones. Otra nueva posibilidad interesante es la de poder mover activos sin que el editor haga una operación de reimportación. El activo de flujo de trabajo 3D también ha recibido mejoras que hacen más sencillo su manejo.

Ahora el editor soporta la importación de escenas glTF 2.0, un nuevo estándar impulsado por Khronos Group (desarrolladora de Vulkan); se ha mejorado el soporte de OBJ; y se añadido soporte para la importación de gráficos vectoriales SVG como mapas de bits para poder adaptar mejor los gráficos a pantallas HiDPI.

GDNative

GDNative es un framework incluido en Godot para extenderlo a bibliotecas externas de C y C++ sin tener que recompilar el motor con su editor. Esto abre la puerta a poder trabajar con software tan diverso como Steam, OpenVR, Kinect, SQLite, códecs de vídeos y audio, realidad virtual, etc.

También soporta lenguajes de scripts adicionales, pudiéndolos utilizar sobre la marcha sin tener que recompilar el motor. Entre las tecnologías que se pretenden incorporar están Python, Nim, D y los bindings oficiales de C++.

Soporte de C# mediante Mono

C# (pronunciado como sí-sharp) es posiblemente el lenguaje de programación más conocido de Microsoft. Su implementación más conocida es la incorporada en .NET Framework, mientras que en GNU/Linux y Mac se ha extendido principalmente a través del Proyecto Mono. Es muy popular en la creación de videojuegos debido a que se puede utilizar con Unity3D y es la base de Monogame. De hecho, el mismo Juan Linietsky ha reconocido que la integración de esta tecnología en Godot es en parte fruto de la petición popular.

De momento el soporte de C# mediante Mono sigue sin estar completo a pesar de ser usable, por lo que se espera que mejore en los próximos lanzamientos correspondientes a la versión 3 de Godot.

Creación de scripts de forma visual

Godot 3.0 soporta ahora la creación de scripts mediante herramientas visuales que básicamente se componen de cajas y conexiones. Esta característica puede venir muy bien a personas no muy habilidosas con la programación o bien para exponer lo realizado de forma simplificada y visual a otras que no trabajan con código, como los diseñadores.

Script visual de Godot 3.0

Mejoras en GDScript

El lenguaje de scripts propio de Godot también ha recibido mejoras, usando ahora principalmente propiedades en lugar de funciones, lo que facilita su utilización por parte de los novatos. Además, mediante la función get_node() se pueden obtener los nodos del árbol en la escena local utilizando el símbolo del dólar ($) como alias.

GDScript 3 en Godot 3.0

Un nuevo motor de audio

Godot 3.0 incluye un nuevo motor de audio totalmente centrado en AudioStreams con flujos que pueden ser reproducidos en tiempo real. Los reproductores pueden ahora enviar su salida a los buses en un rack, mejorando la eficiencia y la libertad a la hora de diseñar el sonido de un juego. También se ha incluido por defecto una gran biblioteca con efectos de sonido.

El audio posicional está ahora totalmente soportado, abarcando estéreo, 5.1 y 7.1, pudiendo enviar audio 3D a cualquier canal.

Rack de audio de Godot 3.0

Soporte para la realidad virtual

Mientras que el soporte para la realidad aumentada (que no es lo mismo que realidad virtual) ha sido retrasado para el lanzamiento de Godot 3.1, de momento hay dos opciones para utilizar realidad virtual con la versión 3.0:

  • La solución de realidad virtual de Cardboard que utiliza los sensores embebidos para el seguimiento básico de la cabeza 3DOF.
  • Implementación de la API OpenVR basada en GDNative, haciendo que Godot sea totalmente compatible con SteamVR. De momento los binarios precompilados para utilizarlo solo están disponibles en Windows, mientras que las demás plataformas serán soportadas en el futuro.

Físicas para proyectiles o balas

El motor de físicas para los proyectiles está ahora habilitada por defecto. Además de facilitar el buen rendimiento y el correcto comportamiento de las físicas, esto abre la puerta a implementar futuras características como cuerpos blandos.

Y otras muchas mejoras importantes

Como se puede comprobar, Godot 3.0 llega cargado de novedades que le darán un fuerte impulso frente a las soluciones comerciales, porque a todo lo mencionado hasta aquí hay que sumar una nueva API para las partidas multijugador; un sistema de exportación reescrito; soporte para IPv6, WebAssembly y WebGL 2.0; un nuevo editor de temas y personalización; baldosas automáticas en los mapas de mosaicos; un estilo de cajas planas mejorado; oversampling de las fuentes para que se muestren más limpias; cursor del ratón por hardware personalizado para reducir la latencia; se ha mejorado la vista del editor 3D; y el motor ha sido portado a Nintendo Switch.

Como vemos, Godot 3.0 tiene la intención de no solo ser un lanzamiento más de este motor de videojuegos Open Source, sino que pretende ser todo un salto cualitativo que lo convierta en un referente dentro del sector.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.