Se presenta el lanzamiento del motor de videojuegos de código abierto Godot 4.6, adecuado para la creación de juegos 2D y 3D. El motor soporta un lenguaje fácil de aprender para la lógica del juego, un entorno gráfico para el diseño de juegos, un sistema de despliegue de juegos con un solo clic, capacidades de animación y simulación de procesos físicos, un depurador integrado y un sistema de detección de cuellos de botella en el rendimiento. El código del motor de juegos, el entorno de diseño de juegos y las herramientas de desarrollo asociadas (motor físico, servidor de sonido, backends de renderizado 2D/3D, etc.) se distribuyen bajo la licencia MIT.
Los códigos fuente del motor fueron abiertos en 2014 por el estudio OKAM, después de diez años de desarrollo de un producto propietario de nivel profesional que se utilizó para crear y publicar muchos juegos para PC, consolas de videojuegos y dispositivos móviles. El motor es compatible con todas las plataformas de escritorio y móviles populares (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), así como el desarrollo de juegos para la web. Se han generado versiones binarias listas para ejecutar para Linux, Android, Windows y macOS.
Principales cambios en Godot 4.6 (1, 2, 3):
- En el editor se ha propuesto por defecto un nuevo tema de diseño "Modern", que se caracteriza por su apariencia contemporánea, un mayor contraste en la información para mejorar la legibilidad, la optimización de los márgenes entre elementos y el uso de una paleta de colores en tonos grises. Para los usuarios acostumbrados al diseño antiguo, hay una opción para retornar al tema clásico.

- En el editor se ha unificado el manejo de paneles. Los paneles inferiores y la mayoría de los paneles dock ahora son flotantes y pueden desacoplarse. Los paneles se pueden mover mediante drag & drop a diferentes partes de la interfaz.
- Para nuevos proyectos 3D, por defecto se utiliza el motor de simulación de procesos físicos JoltPhysics, que ya se está utilizando en juegos de clase AAA, como Death Stranding 2.
- Se ha añadido un nuevo sistema de cinemática inversa (IK, inverse kinematic), que permite crear animaciones más realistas. Se han añadido nuevos modificadores y restricciones (constraint), que permiten controlar la rotación y la velocidad angular de las articulaciones para evitar movimientos no deseados. Las restricciones definidas se pueden vincular a nodos 3D, por ejemplo, para que el brazo del personaje se extienda y agarre un arma. Se ha añadido un nuevo modificador IKModifier3D, creado a partir del modificador esquelético SkeletonModifier3D. Se encuentran disponibles soluciones determinísticas (solver) TwoBoneIK3D y SplineIK3D, así como soluciones iterativas FABRIK3D, CCDIK3D y JacobianIK3D. La arquitectura modular del marco IK permite combinarlo con otros modificadores y restricciones para ajustar la animación procedural directamente en el motor.
- Se ha revisado completamente el sistema SSR (Screen Space Reflection), responsable de la visualización de materiales con superficies reflectantes, como metal, agua y vidrio. La nueva implementación se distingue por alcanzar una mayor realismo, mejorar el rendimiento y añadir dos modos: full-resolution (máxima calidad) y half-resolution (más baja). alto rendimiento).
- Se han implementado identificadores únicos internos de nodos (Node ID), que se almacenan en los archivos de escena y no cambian después de reorganizar la escena, cambiar la jerarquía de elementos, mover o renombrar nodos.
- Se ha añadido la biblioteca libgodot, que permite integrar Godot Engine en sus propias aplicaciones en lugar de ejecutarlo como un proceso separado, lo que puede ser útil, por ejemplo, al desarrollar editores de juegos propios. Se admite el funcionamiento en Linux, Windows y macOS.
- Las escenas 2D, colocadas como mosaicos en TileMap (por ejemplo, cofres animados, lámparas y antorchas), ahora pueden rotarse en incrementos de 90 grados.
- Para acercar el flujo de trabajo a los editores 3D modernos, se ha realizado una separación de los modos de selección y transformación. El antiguo modo 'Selección' (Select) se ha renombrado a 'Transformación' (Transform), y se ha añadido un nuevo modo exclusivo para selección, en el cual se pueden seleccionar nodos sin mostrar el gizmo de transformación, lo que previene operaciones accidentales de movimiento, rotación y escalado.
- Se ha mejorado la herramienta de dibujo y eliminación 3D en GridMap, que se ha trasladado al algoritmo de Bresenham para la interpolación entre puntos, lo que permite obtener líneas más suaves y acelerar la creación de nuevos niveles y mapas voxel al reducir ajustes manuales.
- Se ha añadido en el gizmo 3D la capacidad de rotar objetos alineándolos con la dirección de la cámara.
- En la interfaz gráfica, se ha simplificado el proceso de centrado del punto de rotación.
- Se ha separado el manejo del enfoque entre el ratón/trackpad y el teclado: un clic del ratón ya no cambia el foco de entrada del teclado.
- Al seleccionar el nodo MarginContainer en el editor, se proporciona una visualización de los márgenes en el área de visualización.

- Se ha mejorado la navegación entre pestañas: al mover un recurso en modo Drag & Drop, ahora se puede pasar el cursor sobre la pestaña deseada y cambiar automáticamente a ella sin hacer clic.
- En el panel de Output, ahora se puede hacer clic en el nombre de un archivo en el mensaje de error o advertencia para abrirlo en el editor.
- La herramienta de seguimiento de objetos ha añadido la opción de crear instantáneas de ObjectDB y comparar cortes de estado con listas de objetos existentes en momentos determinados.

- En el diálogo de apertura rápida de recursos se ha añadido soporte para la vista previa del recurso seleccionado en el contexto de la escena actual.
- En el editor de animaciones se ha añadido la opción de cambiar la duración de la animación al estirar o comprimir clips en la línea de tiempo. En la interfaz de ajuste de curvas de Bézier se han añadido botones para mostrar, bloquear y eliminar grupos de nodos.
- Se ha añadido soporte para la codificación delta de parches PCK, que permite incluir solo las partes de recursos que han cambiado en los parches.
- Se ha añadido la posibilidad de personalizar el color de los indicadores LED de los controladores de juego. En el futuro se espera soporte para sensores de movimiento, paneles táctiles, retroalimentación háptica, gatillos adaptativos y obtención de información sobre el controlador.
- Gracias a la optimización del procesamiento de texturas RGB, que ahora se convierten en RGBA en la GPU y se utilizan directamente, se han logrado acelerar hasta dos veces las operaciones de importación de texturas comprimidas.
- Al renderizar, se ha activado por defecto el modo de mezcla 'Screen' y se ha asegurado la aplicación del efecto de brillo (Glow) antes de la tonificación (tonemapping). Se ha añadido la posibilidad de ajustar los parámetros de la conversión tonal AgX.
- En el editor Godot XR se ha añadido soporte para dispositivos Android XR para simplificar las pruebas y depuración de proyectos de realidad aumentada y virtual. Se ha añadido soporte para la especificación OpenXR 1.1.

- Se ha añadido soporte para ejecutar aplicaciones exportadas en dispositivos Android a través de scrcpy para reflejar el contenido de la pantalla del smartphone en la pantalla del PC.
- Al compilar proyectos para Windows, se utiliza Direct3D 12 por defecto.
También se puede destacar la continuación del desarrollo del proyecto Redot, que es un fork de Godot, creado en respuesta a la estricta política de moderación en los canales de comunicación oficiales y la negativa de los desarrolladores de Godot a aceptar opiniones que difieran de sus puntos de vista. Los fundadores de Redot tenían la intención de construir una comunidad inclusiva, donde se aceptaran las creencias personales de los desarrolladores, se rechazara la politización del proceso de desarrollo y se centrara únicamente en la creación de juegos. Hace unos días se publicó el candidato a la versión Redot 26.1, que incorpora muchas mejoras de Godot 4.6.
Fuente: opennet.ru




