10 years and a CS degree later, I'm employed in industry but would really like to get back into making games as a creative outlet. But I'm always stuck on deciding what language, framework, engine, and environment to use.
So I'm wondering, what's the most straightforward stack and programming environment that gets me a window, event loop, canvas, etc. so that I can make whatever kind of 2D games I'm interested in? C++ with SDL? Javascript and canvas? Plain old Java again? Would like to hear what people here have a good experiences with.
I'd say it's a valid option as long as you are willing to devote some time building up the foundations. But if you are more into game programming than game engine programming, Godot may be your best choice. I have never used it though so cannot say for sure.
C++ and SDL2 will get you a window, events, sound and other low level stuff, and you can get support for PNGs and fonts easier by including some of nothings/stb libraries[0] (rather than the equivalent SDL libs.) Maybe toss in Lua/LuaJIT for good measure. That will scratch a lot of itches.
But IMHO it's better in the long run to just pick up Godot and save yourself months of unnecessary effort. Otherwise if you're like me you'll wind up in the weeds with nothing to show for it but a tilemap class you've rewritten a dozen times.
Haxe is very nice as a language, can easily cross-compile to a lot of targets, Haxeflixel is heavily inspired by some Actionscript framework and has a lot of goodies. Maybe Heaps is more mature, up to date and allows for more advanced features.
The cool thing is you can get started right away writing code, without having to learn a full-on tool like Unity. But it has visual tools for debugging things on-screen for example.
Look at all this! https://github.com/raysan5/raylib/tree/master/examples
If straying from native code then CanvasRenderingContext2D in the browser with JS/TS is good too, particularly because you can have hot-code-replacement during development by using e.g. Vite.