AT THE REQUEST OF WORKERS! Taken from an open network.
After 10 months of development, the release of the open source game engine Godot 3.2, suitable for creating 2D and 3D games. The engine supports an easy-to-learn scripting language for game logic, a graphical environment for game design, a one-click game deployment system, extensive animation features, and physical simulation capabilities, built-in debugger, and performance profiling tools. The source code of the game engine, game design environment, and related development tools (physics engine, sound server, 2D/3D rendering backends, etc.) is distributed under the MIT license.
The engine's source code was opened by OKAM studio in 2014 after ten years of developing a proprietary-level product that was used to create and publish many games for PC, gaming consoles, and mobile devices. The engine supports all popular desktop and mobile platforms (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), as well as game development for the Web. Binary builds ready for launch are available for Linux, Windows, and macOS.
A new rendering backend based on the Vulkan graphics API is being developed in a separate branch, which will be offered in the upcoming Godot 4.0 release, replacing the currently offered OpenGL ES 3.0 and OpenGL 3.3 rendering backends (support for OpenGL ES and OpenGL will be maintained by ensuring the old OpenGL ES 2.0/OpenGL 2.1 backend runs on the new Vulkan-based rendering architecture). Transitioning from Godot 3.2 to Godot 4.0 will require reworking applications due to API-level compatibility breaks, but a long support cycle will be ensured for the Godot 3.2 branch, depending on user demand for this version. The possibility of porting non-stability affecting innovations from the 4.x branch, such as AOT compilation support, ARCore, DTLS, and iOS platform for C# projects, to intermediate releases 3.2.x is also not ruled out.
Key innovations in Godot 3.2:
- Support for Oculus Quest virtual reality headsets has been added, implemented via a plugin for the Android platform. Support for the ARKit framework for developing augmented reality systems for iOS has been added. Support for the ARCore framework is being developed for Android, but it is not yet ready and will be included in one of the intermediate releases 3.3.x.
- The interface of the shader visual editor has been revamped. New nodes have been added to create more advanced shaders. For shaders implemented with classic scripts, support for constants, arrays, and 'varying' modifiers has been added. Many shaders specific to the OpenGL ES 3.0 backend have been ported to OpenGL ES 2;
- Support for physically based rendering (PBR) materials has been synchronized with the capabilities of new PBR rendering engines like Blender Eevee and Substance Designer, ensuring similar scene representation in Godot and the 3D modeling packages used;
- Various rendering settings have been optimized to improve performance and increase image quality. Many features have been transferred from GLES3 to the GLES3 backend, including support for MSAA (Multisample anti-aliasing) and various post-processing effects (glow, DOF blur, and BCS);
- Full support for importing 3D scenes and models in glTF 2.0 format (GL Transmission Format) has been added, along with initial support for the FBX format, which allows importing animated scenes from Blender, but is currently incompatible with Maya and 3ds Max. Support for bone skinning has been added when importing scenes via glTF 2.0 and FBX, allowing the use of a single skeleton across multiple meshes. Work on improving and stabilizing support for glTF 2.0 has been done in collaboration with the Blender package developer community, where enhanced support for glTF 2.0 will be offered in version 2.83;
- The engine’s networking capabilities have been expanded with support for WebRTC and WebSocket protocols, as well as the ability to use UDP in multicast mode. An API has been added for handling cryptographic hashes and working with certificates. A graphical interface for profiling network activity has been added. Work has begun on creating a Godot port for WebAssembly/HTML5, which will allow running the editor in the browser via the web;
- The plugin for the Android platform and the export system have been redesigned. Now, for creating packages for Android, two separate export systems are offered: one with a pre-built engine and another allowing the creation of custom builds based on customized engine options. Custom builds can be configured at the plugin level for Android without manual editing of the original template;
- The editor has been updated to support selective disabling of specific features; for example, buttons to invoke the 3D editor, script editor, resource library, nodes, panels, properties, and other elements that are not required by the developer can be removed (hiding unnecessary items significantly simplifies the interface);
- Initial support for integration with source control systems has been added, along with a plugin for Git support in the editor.
- The ability to override the camera for a running game through the editor window has been provided, allowing for the assessment of various modes in the game (free view, node inspection, etc.).
- An implementation of the LSP (Language Server Protocol) server for the GDScript language has been proposed, enabling the transfer of information about GDScript semantics and code autocompletion rules to external editors like the VS Code plugin and Atom.
- Numerous improvements have been made to the built-in GDScript editor: the ability to set bookmarks at positions in the code has been added, a minimap panel (for quick overview of all code) has been implemented, input autocompletion has been enhanced, and visual scripting mode capabilities have been expanded.
- A pseudo-3D game creation mode has been added, allowing the use of depth effects in 2D games by defining several layers that create a fake perspective;
- Support for texture atlases has been restored in the 2D editor.
- For text data, the ability to observe changes in effect parameters in real time has been added, supporting BBCode tags and enabling the definition of custom effects;
- For text data, the ability to live observe changes in effect parameters has been added, BBCode tags support has been provided, and the ability to define custom effects has been enabled.
- A sound stream generator has been added, allowing for the creation of sound waves based on individual frames and a spectral analyzer.
- Using the V-HACD library, the ability to decompose concave meshes into precise and simplified convex parts has been implemented. This capability significantly simplifies collision shape generation for existing 3D meshes.
- The possibility of developing game logic in C# using Mono for Android and WebAssembly platforms has been implemented (previously, C# was supported only for Linux, Windows, and macOS). Support for C# 8.0 has been implemented based on Mono 6.6. Initial support for ahead-of-time compilation (AOT) for C# has also been added to the codebase but is not yet activated (the interpreter is still used for WebAssembly). The ability to connect external editors like MonoDevelop, Visual Studio for Mac, and Jetbrains Rider for C# code editing has been implemented.
- Documentation has been significantly expanded and improved. A partial translation of the documentation into Russian has been published (the introductory guide to getting started has been translated).
Source: linux.org.ru

