The editor is built specifically for the engine, it is a bit younger than the engine - the engine is 3+ years old and the editor is 2 yo. Asking a potential question - the editor is built using fyrox-ui library which is made from scratch too.
Yeah, I've spent almost a week trying to go through compiler issues, like mismatch TypeId for the same type across projects (game DLL and engine) was a main source of headache. I did some workarounds (use UUIDs as type ids), but that wasn't enough - some libraries use `Any` trait inside to do dynamic type casting. It is done by comparing TypeIds and simple pointer type cast, but TypeId does not match across projects! Even if I would fixed those issues, I still playing with fire - everything that passing DLL boundary is a source of undefined behavior and potential crashes. So I decided to use static linking instead, as the post says, it have its own pros and cons, but at least it is super safe.
It is possible to use C ABI, via C bindings but in this case you losing all benefits that Rust provides.
Thank you! It seems that I'm just bad at promotion. The thing is that rg3d is on https://arewegameyet.rs/ecosystem/engines/ page for more than 1.5 years already, but nobody notices it.
Please, get me right, I'm not condoning his behavior. I just can't tell people what to do. I can just tell that his position does not match mine. I prefer to keep distance from any kind of "hot" discussions. I can only apologize for the current situation.
I just want to clarify that I cannot tell Adam what should he do. I can just try to convince you that the community is friendly and non-toxic, I answer all the questions in the Discord server (https://discord.gg/xENF5Uh), even write code to help help people. It is sad that you're judging the whole project by posts of just one guy.
Thanks! It took half of year to build it, it was a hard task especially for a newbie Rust programmer I was back in the day. I was able to find right desing from fourth attempt.
To be honest I'm not trying to implement "bleeding edge" renderer, it would just take enormous amount of time which can be put into other more important parts (there are plenty of them).
The game and the editor are massively helps to find right approaches in development. All my previous attempts to write engines (in other languages) were bad because all they had is just some very simple demos with some meshes and lights. You never know which features engine should have until you need them. Many engines trying to have best possible graphics and does not pay attention to other very important things, like sound, animation, physics, resource management, save/load, editor, etc.
There is also a problem with rg3d-sound - it supports only Windows and Linux right now. So there will be no sound on other OSes. I've tried to add at least macOS backend by myself, but I failed all attempts to install macOS on virtual machine :(