site banner

Small-Scale Question Sunday for September 17, 2023

Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?

This is your opportunity to ask questions. No question too simple or too silly.

Culture war topics are accepted, and proposals for a better intro post are appreciated.

1
Jump in the discussion.

No email address required.

What are the best alternatives to the Unity Engine?

I know, I know, the Unreal Engine exists, but it just kills my machine to run it and I can't actually afford the necessary upgrades at present.

I hear the name Godot a lot recently, but I don't actually know anything about it.

Obviously I'll be forced to do my own research and experiment eventually, but what are your quick arguments for or against any particular game engines one could use instead of Unity?

Also, in the spirit of YM denouncing his own failings: Until a year or two ago my approach to architecture was to write all my code with a solid layer of abstraction between internal logic and anything having to do with Unity, and to minimize my reliance on the engine. Then I decided that if I ever wanted to get anything done, I'd need to go all-in for Unity and just use all its features that might promise to speed me along. Now I feel right stupid for that one. Bad choice. It's going to take a lot of work to undo all that.

If you really love C#, Stride. Otherwise, Unreal or Godot.

I do, but I'm not married to it. Still, Godot claims to run C# as well - is that not true, or at least not without caveats?

Not without caveats. Godot originally ran only GodotScript or whatever the name of their homebrew DSL is, the devs added C# support because Unity was the 800-pound gorilla and most gamedevs knew C#. It's been getting better and better, but it's still not on par IIRC.

What limitations would I be looking at with C# Godot?

How does Godot compare to Stride, overall?

Godot C# is half proper .NET Core 6 (desktop games) and half Mono (mobile and web), which means you have to use the older version of Godot for those platforms.

Godot has a much better momentum at the moment and a bigger community. Stride (aka Xenko, aka Paradox) was initially developed by a much better dedicated team, but went through several iterations of funding, licensing and trademark issues and lost a lot of steam in the process.

Godot C# is half proper .NET Core 6 (desktop games) and half Mono (mobile and web), which means you have to use the older version of Godot for those platforms.

So as long as I'm just targeting Desktop, it's C# without downsides? Sounds like a decent deal to me.

Thanks for the explanations; I guess Godot it will be. Not even necessarily using C#, but I'll see.

Godot's Gscript is pretty well documented and easy to learn. You'll probably find it preferable as it's what most of the community uses. Also Godot is incredibly lightweight and older machine friendly, so you'll probably find it a very good fit.

Power and Performance are more important to me than ease of use (cue someone joking that I should be writing C instead); is GDS on par with C# or C++ in those two aspects?

More comments

My use of these game engines boils down to scores of half-finished projects that never went anywhere, so it might be better to get advice from someone who actually finished something, but I'll leave a vote for Godot. It suffers from a drawback common to open source projects in that the interface feels a bit clunky - I'd rather set up a 3D scene in Unity than Godot, but it has a benefit, also common to open source projects, that when you grit your teeth and figure out what it can do, it's ridiculously powerful. You want a solid layer of abstraction between Godot and your project? How about shoving everything into a native c++ extension or a module with full access to the engine's core?

3D editors are the least important thing for me since I like to proc-gen everything anyways, right down to the vertices.

Godot sounds increasingly good. I wish someone would speak out against it to dampen my expectations a little.

I tried to use it some time ago and run into repeated showstopper bugs.

Ouch. Will do some research here. Thanks for the warning.

Note that it was some time ago. Maybe it got better?