As someone who once did a very long term game project (an MMO that started development around 2001 and is still online in 2020, though not updated since like 2016ish), I wanted to encourage people to consider choosing stable, mature (& preferably open) tech stacks.
The advantage to a mature, less actively developed codebase - they won't have massive API changes. Especially for a project that you just work on a little bit here and there, that'll mean you can spend your time on your game instead of updating your game.
Open codebases means that even when the original framework/engine developers abandon the project, you can soldier on. The graphics framework I chose for my MMO's client was dropped by its creator, but I continued using it years on and making fixes and improvements as needed. A closed source, blackbox engine could be dropped with no recourse, and even worse if there's no source on it, you may not even be able to open the editor anymore due to it not being able to connect to licensing servers (*cough* Unity *cough*).
And ideally, find one with a nice sized community still using it so you'll be able to get help with issues as they crop up.
Here's some that I'm eyeing:
- SDL (WP) - Has been around for 22 years, but still has active forums. C API (although bindings in other languages also) and fairly close to the metal, so doesn't have a lot of the modern niceties or higher level features, so expect to have to write DX/OpenGL more or less directly.
- MonoGame (WP) - Came out of the XNA era, has already been around for ten years. Runs on many platforms, including consoles. C#, so a bit more modern and programmer friendly.
- Cocos2d-x (WP) - Around for 10+ years, C++ API (also has Lua/JS bindings) with many desktop & mobile platforms supported. Looks like it is a bit higher level, with notions for scene graphs and such.
What stable (preferably open) stacks are you considering for long-term development?