Ogre seems fairly fine, but I was turned off by not having even a good scene editor. Building everything from atoms is painful. I doubt there is one yet.

I chose Unity for now because it’s affordable and the asset store has stuff that makes my life easy. This is a choice I hope I won’t regret but there’s not enough money sunk in assets that I might not change my mind and I believe what little I have somewhat easily ported if need be. In this case it would be Godot, not Ogre.

Has anyone here tried using Godot in anger yet? I’m tempted to use this instead of Unity for things, but a bit unsure of how difficult it might be to use Godot for simple prototyping (namely whether docs are complete enough).

I quit Unity years ago and switched to Godot. The docs aren’t great (they seem to be working on that) but the builtin stuff is amazing, it’s kinda weird at times but it always seems like it has the one specific thing you want. I spent days implementing things that I usually don’t find in editors just to find out that they were already implemented in Godot, just a bit hidden.

GDScript is acquired taste, I still don’t love it, but it’s grown on me enough that I can use it comfortably. For all its quirkiness (tries to be python but fails) it hasn’t given me a single issue or unwanted behavior, unlike the spotty C# in Unity (although I’ve heard it’s getting better?).

The main reason I never took Godot seriously is that they decided to invent their own language because “none of the existing ones were good enough” which tells me that the project leadership at the time were not very sensible. It’s a good sign that they’ve realized that was a mistake.

I think that was nearly ubiquitous in game engines prior to, say, 2009–2010 or so. Unreal has its own language, UnrealScript, based on a previous in-house language, ZZT-oop. And Unity started with a DIY language, UnityScript, which had Javascript-like syntax and was sometimes called “Javascript” in the docs, but wasn’t really JS, and was finally axed just a few months ago. So it’s not that surprising Godot would also have one, even if it started a little later than those two engines.

I’m not 100% sure on the timeline, but I think Lua was one of the first third-party languages to be widely picked up as a game scripting language. At the time it was seen as necessary for game-scripting languages that they be lightweight, small implementations that are easily embeddable, and ideally permissively licensed, which Lua fit the bill. Though now things have moved on to where embedding Mono isn’t a dealbreaker.