Hacker News new | ask | show | jobs
by bellgrove 893 days ago
Have you considered not using an engine at all, in favor of libraries? There are many amazing libraries I've used for game development - all in C/C++ - that you can piece together:

General: stb https://github.com/nothings/stb

2D Phys: box2d https://box2d.org/

UI / Editor: imgui https://github.com/ocornut/imgui

Platform: SDL https://www.libsdl.org/

Engine: Quake https://github.com/id-Software/Quake

Ok, Quake is more of an engine than a library - but it is well documented & widely used. Even many current day AAA engines are still originally based on the Q1 engine (though, of course, heavily modified over the years to stay modern).

I don't mean to bring down anyone but I feel like game engine announcements are a dime a dozen these days. As someone who has worked in the industry I'd favor putting together my own simple engine based on libraries for smaller scoped projects. Most open-source engines, I presume, are not really going to be battle tested, well-supported, well-funded etc. There are some exceptions of course (like Godot). If your goal is too complex; why not just use UE5 or Unity? Epic has been in the industry for a long time, Tim Sweeney is a really smart guy, and the engine has been widely used in AAA and indie games.

1 comments

Building your own engine is fine advice for someone with experience throughout the whole stack, but for most people who just "want to make a game" it's just going to get them stuck in the weeds of intractable problems once they get past the "fun parts" and things get complicated and out of their depth.
Of course depends on ones mindset and scope for the game. If you made one or two very simple games "back in the day" and just want to repeat the experience, using libraries can be a smaller hurdle than to grok a game engine.

But if you want 3D objects or game networking etc etc, a game engine will probably be the right thing.