Lately, I’ve been in the mood to get back into gamedev. It has been a while since I sat down and made a game for real, so this feels like an ideal moment to look at the landscape with fresh eyes. Over the last 5-10 years, a lot of open-source game engines and frameworks have popped up and grown up alongside the indie scene. I have a little framework of my own, but I want to find the tech that I’m most comfortable with.
To that end, I’ve got a fun exercise to try. I call it:
The Big FOSS Game Tech Battle Royale
The concept is quite simple: Every week, I’ll spend 6 days trying out a new set of tech and building a little breakout clone. I’ll write about my experience, then at the end I’ll pick whatever I enjoyed the most for my future projects. Also, though it goes without saying–I’ll also post the code and assets for each attempt.
I think breakout is a nice ‘test game’ because it’s very simple on a mechanical level but incorporates a decent number of core game development concepts. The simple format is also ripe for expansion–which will be good for testing tech with a fast iteration speed.
I’ve picked out 8 ‘contestants’ for this exercise.
- DFGame – DFGame is a lightweight C framework that I’ve worked on from time to time… It’s not terribly impressive, but works well and benefits a lot from being familiar territory.
- MonoGame – I’ve used XNA to build games in the past, and I work in C# professionally as well. For that reason, I think this framework is absolutely worth trying.
- Godot – Godot is an engine that I’ve heard a lot about, but never actually used. While I’m a little skeptical of the hype it’s gathered, dismissing it offhand would be silly. This exercise will be a good opportunity to give it a fair shake.
- HaxeFlixel – From my understanding, Haxe is the phoenix that rose from the corpse of Adobe Flash… I never really enjoyed Flash development proper, but I’ve never tried Flixel before and Haxe has been used several high-profile indie titles.
- LÖVE – Good old LÖVE, I used this engine for a few months back when this blog first started. I discarded it for silly reasons back when I was first learning C++, but the engine is still going strong to this day and I want to give it a second look.
- SFML – Another briefly-used piece of tech, I used SFML for exactly one school project. I have a couple of friends who recommended it while I was building this list, so here it is!
- Raylib – I’ve never used this one, but at a glance it looks like “DFGame, if it was fleshed-out and actively supported”. I don’t know if it’s any good, but it’s clearly worth trying out if it can save me from reinventing the wheel.
- Pygame – I’d forgotten about Pygame until I asked around and someone mentioned it. It seems a bit dated, but how it fares remains to be seen.
What a list! If I knock out one test a week, it should be enough to last me a couple of months. It should also give me plenty to write in the meantime as well. I’m also open to suggestions, if you know a little open-source gem feel free to suggest it in the comments.