gouh
But still, I hope AMD will standardize a core non-proprietary Vulkan API for ray-tracing unlike the RTX close proprietary Nvidia-only prefixed RTX for Vulkan extension.
A bit off topic, but it's sad to see so few people raising against Nvidia-monopoly closed & proprietary CUDA, Optix, RTX, etc. this is the equivalent of Flash, Vendor Prefixed Web (-apple-, -ms-, -webkit-,...) or AMP but for computer graphic
Unity feels like Windows, they stack on top of each other all the latest shiny features to attract customers resulting in a massive mess instead of thinking about a coherent overall architecture/UI. Their latest ECS system is an eg of this, they have just stacked on top of the pile a more FP approach although their architecture is not necessarily designed for that, but hey, FP and data-driven is trendy so let's add this too on the pile .
The real drawback right now with Godot is the 3D renderer which is okay but clearly not on par with UE or Unity, but 4.0 is coming with a re-written from scratch new Vulkan renderer.
To take a simple example, if you have a high-school wagon-rolling-down-a-slope Newton Physic exercise, then you can capture in your mind everything which explains the problem. But then take https://youtu.be/a3jfyJ9JVeM , it's still Newton, but so many constrains that we cannot picture in our mind everything and we are not even solving the problem with a close form equation anymore. But we have modeled a simulation which enable us to make experiments and build locomotion algorithm. Actually, you don't even need to understand Newton or Physics to implement that paper, you can just see it as optimizing a black box.
In the future I could see that happen at larger scale. For eg we put everything we known about the brain or cells in a simulation, we can't picture what's really going on because the system is too complex, yet we can run simulations and optimize models to find for eg new cures, treatments, etc.
As stated in the readme, Rootson " does not have particularly clean code and is not particularly well designed " so it makes sense not to use it in production. But there are very few alternative (Wayfire is one alternative but the architecture and API is so confusing that I'd rather use wlroots directly)
- GDScript : included by default
- C# : you have to download the Mono version of Godot (and install the Mono SDK)
- Any other language (Rust, Python, C++, D, etc...) : using GDNative
(- And of course you can also directly modify the engine source code in C++ if you need super low level modifications (like writing your own render engine))
With Unity you have many features, a big asset store that allows you to very quickly prototype, the render engine is powerful, but the architecture & organization is just a massive mess. It's really the kind of editor were you can do everything because the dev added all the popular shiny features to make fancy trailers but nothing is planned & well organized, all features are just put one of top of another with no coherence.
Not only the the architecture feels complicated but the editor itself is super heavy : mandatory Email & account, installation size of several GBs, etc.
Godot has less tools and the asset store has almost nothing on it right now. The current render engine is not powerful but it is temporary, everything will get re-written with Vulkan to be on par with other engines.
While it has not as many features as Unity, the foundations of Godot are really solid & clean, I think this will be a huge advantage on the long term
Now this is the same idea but, this time, one layer lower so that we can have performance, the language we want, etc. This is kind what I always wished would happen.
It will be interesting to see how the sandboxing will work with already existing sandboxing solutions. For e.g a WebAssembly app packaged as a Android/Flatpak/UWP/etc. , there will be the need to make mappings between the permissions of the two sandbox systems. Or even maybe one day we'll have the Webassembly sandbox as the only sandbox (like in https://github.com/nebulet/nebulet)