site banner
Tinker Tuesday for November 26, 2024

How have you been doing @Southkraut?

Still thinking about which engine to use. Are you tired of this topic yet? I am.

I had a bit of a thought.

  1. My main objection to Stride and Godot (and by extension Redot) is that they're buggy and poorly documented and support is often unhelpful. They're decent when they work, but too often they don't and it takes too much time and energy to figure out why.
  2. My main objection to Unity is that I'm not confident in its future development. Even with the recent issues concerning the pricing model having been laid to rest, Unity suffers from the company that manages it seemingly seeing it as a vehicle for advertisement, and its main target user base being mobile developers. Not exactly what I'm doing.
  3. All this switching engines has strongly reaffirmed my commitment to a maximally strict separation of my model from the engine, as explained last week.
  4. So there's nothing really stopping me from returning to Unity so long as I strongly separate the model from the engine so that if Unity does become unusable or intolerable in the future, a switch to another engine is as easy as possible.

All of this assumes C# scripting for easy migration, of course. So Unreal is right out.

From that thought onward, I considered my existing Unity codebase. There's a lot in there, ready to use, but it follows the old design doctrine of "everything is physical first, abstract second", which is of course the opposite of what I have discovered myself wanting. So even if I do return to Unity, it will take a lot of work to reshape the old code to conform to my new view, plus hanging into into the framework I build in Godot. I should think carefully about how to approach all this so as to achieve a good result without having to redo it several times over.

All that said, I'm strongly considering going for Unreal after all. It's been a pain so far, but for all the effort required to get anything done in Unreal, I am at least confident that the it will bear fruit at some point because the Engine is doubtless capable and not possibly-actually-broken like the others are in many respects. And unlike Unity, I needn't worry about its future nearly as much. That said, my two big pain points are of course C++, but maybe I just need to live with that language and its abominable two-files-per-class structure, and the fact that I won't be able to migrate over any of my old code.

So to recap: More thinking, still no coding.

And thanks for keeping this up. It prevents me from getting distracted entirely. Not like I'm getting much done either way, but this way I'm at least forcing myself to consider the issue regularly. There's hope yet. Please don't stop pinging me.