Hello, I wanted to start a small topic about game development and tools for it, actually I’ve been thinking for a long time about the best way to develop Mechaenetia
Unity3D:
I work as a developer in Unity, I managed to create some test projects with voxel generation, so you can try to create Mechaenetia in Unity That even sounds bad Seriously, I don’t think Unity is suitable for such a project, too limited functionality and performance leave much to be desired, not to mention it’s a proprietary tool with a controversial license.
Godot:
Recently fully open source code is gaining popularity, it follows OOP, but it has its own disadvantages, as far as I’m concerned GDScript greatly limits the scope of this engine, it’s quite difficult to write some complex and low-level things in it, even GDNative or GDExtension don’t help, so Since the engine is primarily designed for high-level interpreted GDScript, it leaves its traces in the engine API, even if you use C++ for high-performance modules. The engine is similar to Unity in this respect, although performance is even lower than Unity in some places.
Bevy:
I’ve created several test projects on it, and once created a project on it with simple single chunk generation. It’s a great open source tool that delivers performance dozens of times better than Unity just out of the box, but it has its pitfalls, I didn’t like trying to use ECS where it’s not needed, same UI. ECS is a great approach, but it’s also limited, and trying to use it where ECS doesn’t fit wastes time not on development, but on trying to get around the limitations.
Fyrox:
Looks very promising, also written in Rust, also open source, tries to simplify development even if sometimes you have to use not the prettiest designs Similar in structure to Godot. Would like to find time to try some projects on it.
raylib:
More like a library, but gives basic functionality on which you can create a game, low-level, which gives a plus in performance, C language is still relevant but quite complex although if there is no desire to dive into C there is support for a very large list of languages, the same Rust is in this list. Raylib is more like a library, can also be considered a disadvantage, as many elements of the engine you will have to write yourself.
Your own game engine:
I like this option, although if you write your own engine, Mechaenetia will come out in the 40th century The advantages are that you can use any tools, any languages etc that you feel comfortable with, it’s like creating your own linux distribution, you build the tools and programs you need, but it’s time consuming, if you have that time then the option is good.
Sorry for the language, almost everything was written with a translator