Another month of work, another progress report. This month's work was divided into completing the exporters, GDNative and the new particle system.
Godot has now an experimental exporter to WebAssembly and WebGL2, thanks to eska's work. You need latest Chrome or Firefox to test it, but it works really well. It even runs games flawlessly on mobile web!
Here's a small platformer demo you can try! (again, remember, latest versions of Chrome or Firefox only!).
We recently wrote an article about GDNative (initially named DLScript but renamed to avoid confusion). Let me tell you that this amazing new feature by Thomas Herzog (karroffel) and Bojidar Marinov (bojidar-bg) is the real deal. It allows way too many amazing things:
This will be one of the new amazing additions of Godot 3.0.
Godot 3.0 will come with a new particle system. As times change, the main difference is that this one processes particles entirely on the GPU. What does this mean?
You can have hundreds of thousands of particles on legacy CPUs or mobile.. or several million particles on modern desktop GPUs.
While we offer a default particles material (which is very powerful and customizable), it is possible to write your own particle logic entirely in a shader. It is also possible to convert a particle system to a shader and do further modifications to it by yourself, manually.
The default particle material allows tweaking all parameters by using curves over time:
Also, it is no longer limited to billboards only. The new particle system uses meshes by default (to work with impostor quads, just create a QuadMesh and assign a material with billboard set to enabled).
The fact that so many particles can be used thanks to GPU processing allows for really nice effects such as brute-forced trails:
And finally, more powerful emission volumes can be provided such as box, sphere and mesh surface or volume. Mesh surfaces can also emit directed by normals:
We wanted to include skeletal transform support to emission meshes, as it's not a lot more complex, but this will have to wait for 3.1 :(
With this, all major funtionalities planned for 3.0 are implemented. We will be releasing an alpha build soon for everyone to start playing with them and finding bugs. Stay tuned!
If you are interested in seeing what each feature looks like in the code, you can check the master branch on GitHub.