Godot 3.0 progress report #6
Another month of work, another progress report. This month work was divided into completing the exporters, GDNative (formerly DLScript) and the new particle system.
Another month of work, another progress report. This month work was divided into completing the exporters, GDNative (formerly DLScript) and the new particle system.
A short introduction to the new GDNative module (formerly DLScript) and how to use it in a project. This is a very early version, but the overall process will stay the same.
February was spent mostly rewriting the import and export workflow of Godot, so not many pretty visual features were added. At the end of the month, I also went to San Francisco for GDC.
Most of the internal code in Godot was written over a decade ago, and many design decisions that were taken back then, did not stand the test of time. January was spent mostly updating Godot internals and breaking compatibility, now that we have the chance.
It's been a month since the second progress report, and progress continues towards the new Godot renderer. This milestone was (and will likely be) the most difficult, due to the techniques that had to be implemented.
It's been a month since the first [progress report](https://godotengine.org/article/godots-new-renderer-progress-report-1), and progress continues towards the new Godot renderer. Little by little every system falls into place, and rendering starts feeling a lot more mature.
We decided to skip the planned 2.2 release to work at full steam on the upcoming Godot 3.0 and its new OpenGL ES 3.0 / OpenGL 3.3 renderer. We aim for a Godot 3.0 release in the first quarter of 2017, and it should bring an incredible load of features and improvements. Juan Linietsky will also be working full-time on Godot for the coming months thanks to the Mozilla MOSS award that we received earlier this year.
As many of you have probably heard, a new rendering backend is being worked on for Godot. One of the most common comments when evaluating godot by potential users is that, for 2D, Godot is awesome but for 3D it's pretty far from the mainstream alternatives. For Godot 3.0 (our new release being worked on) we are working hard to change this.
For most game developers, shaders are this scary monster that presents itself with such a complexity that seems out of reach. In reality, shaders are quite simple by default and just get more complex the more you add to them.
If you ever lurked in Godot source code, and tried to follow the flow of the logic, you most likely noticed that most code related to scene, formats, etc. always ends up in a giant "server" class. These really large classes, which Godot calls "severs", generally abstract some implementation or architecture.
Godot has many built-in types. Built-in types are used for non-pointer API arguments, where you need to pass around information fast and you don't really care much about keeping a reference. One of the early built-in types in Godot is Image, which is like a Vector, but with a little more information related to image data (such as width, height, format and whether or not it has mipmaps).
Up to now, Godot networking was only limited to UDP, TCP and some high level protocols such as SSL and HTTP. However, for games themselves, the key is how to synchronize state between games. Having to do this manually with low level APIs can be an enormous pain, due to the inherent limitations of the protocols...
Internationalization support has been added to the editor in the current development branch! Translators are now encouraged to contribute as many languages as possible so that we can have a great multilingual 2.1 release!
For a while users have requested they can extend Godot without having to modify the core C++ codebase. We have begun implementing this in the form of plugins. Support is experimental on GitHub HEAD but there should be enough resources to get to work.
As many of you know, Vulkan will be the next open and multi platform rendering 2D and 3D API. While many claim it will just be an additional API, those of us who have been in the industry for long enough know well that Vulkan will make other APIs obsolete.
It has only been a week since the stable release and development is moving on to other new cool features! This week has been pushed to GitHub a new code completion for the built-in editor.