Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Serious question, what engine should an aspiring indie dev currently pick, especially when targeting 2D?

- Godot seems immature in many ways (for example, Web export is currently broken on macOS/iOS according to their docs)

- Unreal seems like major overkill and apparently not well suited for 2D

Is there anything else that is a serious contender?

How can you protect yourself to not end up in a similar situation as the author?



> Godot seems immature in many ways

It has been used to make The Case of the Golden Idol, Brotato, Cassette Beasts, and Dome Keeper. It's indisputably a production-grade engine.

As a Rust enthusiast and small-time Bevy contributor, I wish I could recommend Bevy in the same way, but Bevy is actually immature, for real. People do make games with it, some even commercial, but it is what it is.


If your game is

1. 2D

2. Only target one kind of platforms (e.g. only Win+Linux+Mac but no mobile, or only mobile but no desktop/console)

You'll find almost any open source engine works. Rolling your own 2D engine based on a barebone one is just like writing a parser. If you never wrote one it seems like an impossibly hard problem. It's not.

Modern 3D graphics are built upon a lot of algorithms. From TAA to volumetric rendering to cascading shadow maps to SSAO to voxel-based global illumination... the list goes on an on. Surprisingly, none of these algorithm is truly hard. But you need to implement all of them to make things visually match up modern standard.

For 2D it's more like you know how to pass the offset to a shader? Boom you have sprite animation. If you want some super unique effects with clever shaders, yeah that's not easy, but using Unity doesn't make it less hard anyway.


To add to the big pile of options, HaxeFlixel [1] and Defold [2] come to mind as lighter 2D-focused frameworks with web export options and published games

[1] https://haxeflixel.com/ [2] https://defold.com/


If you’re interested in programming and building things on your own, but want a starting point where you can immediately draw stuff to the screen, then take a look at raylib or LÖVE. They have super straightforward APIs with very minimal ceremony. They aren’t engines but rather libs/frameworks.


Monogame, though it doesn't do much hand-holding: https://github.com/MonoGame/MonoGame

Webassembly support is spotty, though in progress AFAICT.

Used by a few 2D games like Stsrdew Valley and Celeste.


The answer is Defold https://defold.com/

- it's production ready, available on all the main platforms

- lightweight and performant

- best for 2d, though it's a 3d engine at heart


Godot is probably the best bet. Unreal is not great for proper 2D, but give it a consideration if you’re considering 2D in a 3D world. It’s the sprite stuff that unreal is worst at.


And the heavy hardware requirements.


Eh… my $800 gaming laptop from 5 years ago is more than performant enough.


And? That doesn't help me if I want to target low-end hardware. Not every game should need a gaming laptop to run.


I’m talking about developing a game in the editor, not playing it.

You can easily develop a low end game in unreal.


See the following: https://www.computerenhance.com/p/game-development-post-unit...

I would suggest just using Godot for 2D. With time it should be fine.

For 3D, even AAA have been going to Unreal so that may be best. It's not ideal but the business model of 5% works compared to Unity promising to avoid revenue splitting.


It seems Godot is getting quite a lot of traction these days (I see a lot of "Godot introduction for Unity devs" videos these days).

The Godot engine might be less complete than Unity, but calling it immature is a bit strong IMHO.

For devs having been burnt by a proprietary engine, namely Unity, the Open Source aspect alone is a good reason to switch.

So Godot is bound to get far more users, and consequently, develop and improve significantly.


I was about to suggest Marmalade SDK, which I found to be adequate back around 2015.. but unity/unreal squished it https://www.pocketgamer.biz/news/69217/marmalade-sdk-shuts-d...


I am not a game developer but John Romero has said good things about Solar2D (formerly known as Corna, oof)


How about going with coding-oriented solutions, like Cocos2D, Haxe, libGDX or even Flutter/Flame?


Defold is mature, used in many real games with millions of players, and has wide platform support.


Godot 3.5 LTE works for web export.


Gamemaker and Love2D are both quite decent (and arguably more stable than godot).


Thanks for the suggestions. Couldn't Gamemaker (or really anything that's proprietary) do a similar rug pull as Unity?

Is there any way you can protect yourself against that when choosing a proprietary engine?


I'm not sure about the current TOS of gamemaker. In a sense I think that this is the worst time to start development on a new game: there are some rumors that insiders may actually get Unity to backtrack, and depending on how all this shakes out (and how negatively this ends up affecting Unitys bottom-line), companies like Gamemaker and Unreal may take this as an opportunity to assure their users that they won't make the same mistake, and adjust their own terms. (althought apparently Unreal allready has certain protections in place were you can use any version of their engine under the TOS it was first released under. Obviously that isn't without risks: if you want to develop games for Windows 12 or whatever you'd have to use a new version of Unreal and agree to their newer TOS anyway)

Long story short, you might want to wait 1 or 2 months to let the dust settle before you pick an engine.


I believe unity had the same kind of terms as unreal and they just... removed them.

No idea how/if that's legal, but it seems to be what people are saying happened, and no-one seems to be arguing that point.


Yeah, migrating to a proprietary engine after this is I think missing the point entirely.


Maybe the engine used for Dead Cells, https://heaps.io ?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: