Visual Shader Editor is back
After some weeks of work, the new visual shader editor is ready for testing!
After some weeks of work, the new visual shader editor is ready for testing!
After a long time coming, and as part of this trend of modernizing many old godot subsystems, the animation tree has been rewritten from scratch and it's now brand new, with plenty of new features.
The existing animation system in Godot was already one of the most powerful of any game engine, but its age was starting to show (it was written 10 years ago and barely improved). The new one builds upon the strengths of the previous one but does massive improvements to features and usability.
The GLES2 backend is getting closer and closer to completion, this progress report shows a detailed overview of the steps taken to implement PBR.
Work is ongoing to completely overhaul Godot inspector. This was a pending assignment for me since even before Godot was open sourced but, as always, other issued had priority.
Godot 3.1 is getting many improvements on the physics side, and one of those is the new ragdoll system. Physics maintainer Andrea Catania presents the work he did on this topic and how to get started with physical bones and ragdoll simulation.
The progress of last month was largely defined by stabilizing the 3D renderer with many smaller fixes, but work on the PRB side of things has begun and the GDNative system also saw some quality-of-life changes again, with improvements to the GDNativeLibrary resource as well as an API to provide safe type-casting in NativeScript.
Currently, Godot is pretty comfortable for doing 2D cutout animation, with several games in development making use of this feature. A very common request, though, was the ability to do custom mesh deformation based on the same bones used to animate separate parts. This would allow deforming such parts, for a more organic animation feel.
After years of discussion on how to implement CSG, Godot finally gets suport for it. This implementation is simple, but makes use of Godot's amazing architecture to shine.
Godot has been accepted into the Google Summer of Code program in 2018. This summer we will have 5 students working on new features to the engine.
For the past months, popular demand has been growing for a way to propery map controller axes in Godot. For a long time Godot was only able to map a single event to an action, making it impossible to deal with analog strengths. Today (after months of discussions), this problem has been solved, and it only took very little amount of changes to the current input mapping system!
Latest update on the GLES2 and GDNative developments. This month, a lot of time has been spend on refactoring the way materials work together with shaders, but also the C++ bindings got some nice new make-up!
Another month, another progress report! This time with the early beginnings of 3D rendering in GLES2 and some GDNative ecosystem updates.
Godot VR support is slowly improving. The OpenVR drivers are now supplied through the asset library and we have the first version of our Oculus drivers available!
Because of the big release there have been many GDNative related tasks that needed to be addressed. Apart from that, the month was mostly spent on implementing more 2D items in the renderer as well as working on getting custom shaders running.
Thanks to our very supporting patrons I have the opportunity to work part-time on Godot! My work will be mostly about implementing an OpenGL ES 2.0 compatible rendering backend for Godot 3.1, as well as maintaining the GDNative system and bindings. The first month I spent on getting started and familiar with the rendering in Godot.
GDNative changed a lot since it was first introduced. From being a scripting-centered module it quickly became a more general purpose tool than we initially assumed. Here we present the way GDNative and related technologies work together.
A considerable number of users requested a more efficient way to have GI (Global Illumination) in their projects. Godot 3.0 currenty offers the GIProbe node, which provides a real-time approximation to GI. This generally works and looks pretty, but it's quite shader intensive, which makes it not work on mobile or low end GPUs. The newly added VR support also suffers with GIProbe, as it has to render in very high resolutions.
Right on time before Beta Freeze, our superstar contributor Pedro Estebanez completed Onion Skinning support! This implementation is really good, and allows visualizing future and past frames. This helps animators have a much greater deal of control on repositioning objects on every frame.
The past year we've been hard at work behind the scenes adding support for AR and VR to Godot. Support for basic mobile VR and full support for OpenVR is ready for Alpha 2. OpenHMD support is being worked on and we have a working ARKit implementation.
When Godot started (a decade ago), there were not many good physics engine available and Godot always had quite demanding API requirements for them (such as Area nodes, KinematicBody, RayCast shapes, etc.), so they were not usable without a lot of modification. This led us to implementing our own custom engine. Now, thanks to the work of Andrea Catania, we are introducing Bullet as a new and better maintained backend for the 3D physics!
The next alpha release of Godot 3.0 is about to be published and it will be the first version that ships with C# support. This post gives an introduction to C# scripting in Godot and how to use it in your project.
Godot uses a considerably different approach to rendering (and rendering abstraction) than other, popular, game engines. The motivation behind it was not to achieve the maximum performance in extreme use cases, but accomodate better to most user's needs.
The Godot Engine contributors were not idle during Juan's long holidays - lots of interesting features were implemented over the last two months, and they all converge towards making Godot 3.0 an impressive release! This progress reports covers the work done by all contributors apart from Juan, who will showcase his recent renderer improvements in the next progress report.