Hacker News new | ask | show | jobs
by stratigos 946 days ago
From what I gather, Unity has recently made moves to lose the trust of all of their customers, and there is a massive exodus towards other game dev software/frameworks/etc.
2 comments

Kind of, until they realize what Unity (or Unreal) offers, doesn't come only from late nights, and someone has to put money in for feature parity.

Anyway I really appreciate MonoGame folks carry on the XNA flag, after the people responsible for it on Microsoft lost to the DirectX/C++ group, hence DirectXTK as its replacement.

Parity with Unity/Unreal is very much a non-goal for MonoGame. They're very different abstraction levels with very different purposes.
I know, the point was about any FOSS engine, and the overflow expectations of pushing them as alternatives.
The biggest advantage Unity has over alternatives like Godot and MonoGame is the ecosystem around the engine, not the engine itself. Things like the asset store and the wealth of tutorials out there. It will take time for the ecosystems around open source engines to match or exceed that of Unity, but the more people leave Unity the faster that will happen.
An engine that also targets consoles and VR headsets, uses C# as the main language, has an AOT toolchain for it, thanks to HPC# subset also allows for low level engine code in C#, and naturally the graphical debugging tools for profiling and GPU.
Unity and MonoGame are not really comparable. Unity is a game engine that is also an IDE, whereas MonoGame is simply a set of libraries.
Or to give an example: Unity provides a decent workflow for artists. XNA doesn't.
Out of the pan, into the fire.
It might be somewhat related but Unity and Monogame target very different developer experiences. Monogame is an alternative to low level frameworks like SDL/SFML/etc for C++. It's not a game engine.

The difference is that you get to code most of the engine as opposed to mostly coding gameplay. That's of course a significant trade-off. If you like being low level and understanding how things work and learning a ton then Monogame is the tool to use. If you strictly want to make a game and don't mind ramping on someone else's toolset to "go slow to go fast later" then Unity/Unreal/Godot are the tools.

Monogame shines when it comes to 2D games since 2D games require less specialized engine tools and most of the editors can be made quite easily for a 2D game and will teach you a lot. Don't get me wrong, it's capable of 3D but the experience will be much harder and unstable. You'll be much more at the mercy of outdated open source libraries for things like importing animations from your favorite 3D editor. Conversely, writing a library to import and load your own 2D animations can be done in an afternoon.

The showcase of games built in Monogame echo this with lots of heavy hitters and well-known 2D games and very few well-known 3D games.