Thursday, March 14th, 2019 Posted by Jim Thacker

Godot team ships Godot 3.1

The Godot team has released Godot 3.1, the latest version of the open-source game engine, introducing an alternative OpenGL ES 2.0 render engine for better performance on mobile devices and in HTML5 games.

The update also introduces a new Boolean modelling system, a Bullet-physics-based soft body and cloth system, new ragdoll and skeleton IK systems, and OpenSimplex noise.

New 2D features include a new tileset editor, support for 2D meshes and skeletons, and animation updates.

Rendering on OpenGL ES 3.0: a tale of woe
Many of the features in Godot 3.1 flow from the new OpenGL 3.3/OpenGL ES 3.0 render engine introduced in Godot 3.0 last January.

While it offered a much wider range of shading and post effects – at the time, it was described as “the first engine to offer the full range of Disney’s principled BSDF [shading model] for physically based rendering” – it also created problems for developers of mobile and online games.

As well as what the Godot team describes as “crippling driver bugs” on modern mobile devices, many older devices simply don’t support OpenGL ES 3.0.

In addition, few mobile browsers currently support WebGL 2.0, the equivalent HTML5 API, and nor do Microsoft’s Edge and Internet Explorer browsers or Apple’s Safari browser.

Godot’s solution has been to bring back its old OpenGL 2.1/OpenGL ES 2.0 renderer, removed in Godot 3.0.

It is now available in parallel to the OpenGL ES 3.0 renderer for devs who need maximum compatibility at the expense of newer features like HDR rendering or subsurface scattering.

The new – or is that the old? – render engine is supported by a new CPU particle system, the GPU particle system introduced in Godot 3.0 not being compatible with OpenGL ES 2.0.

For users of the old – or is that the new? – OpenGL 3.3/OpenGL ES 3.0 renderer, the visual shader editor has been reinstated, and now supports the new PBR shading features.

The devs now plan to introduce a new Vulkan-based renderer in Godot 4.0 and deprecate the OpenGL ES 3.0 renderer, so let’s hope the whole confusing pattern doesn’t repeat itself.

For 3D games: Boolean modelling, soft body dynamics and OpenSimplex noise
Unquestionably new features in Godot 3.1 include a new Boolean modelling system, intended here for rapid level prototyping.

The engine’s implementation of Bullet physics has also been updated to support soft bodies, making it possible to create simple cloth effects like cloaks and flags.

3D animators get new ragdoll and skeleton IK systems.

The update also adds new noise-generation functionality, intended for 3D voxel terrain generation and 2D texture effects, in the shape of the open-source OpenSimplex library.

For 2D games: new tileset editor, improved 2D animation
Developers of 2D games get a new tileset editor with “many features familiar from other tileset creation software”, and a usability-focused overhaul of the 2D asset editor.

For 2D animation, the engine now supports polygonal 2D meshes and 2D skeletons as well as sprites, plus a major overhaul of the animation editor, well summarised in this blog post.

There are also improvements to other artist toolsets and programming features like C# support, networking APIs and integration with version control systems. Find a full list via the link below.

Godot 3.1 is available for 32-bit and 64-bit Windows and Linux, and macOS. The source code is on GitHub.

Read an overview of the new features in Godot 3.1 on the Godot team’s blog

Read more about Godot on the game engine’s website