I've started a new project: a C++ 2D game engine.
I've reached a small milestone where you can use the Tiled level editor to place things around, and can play through a complete level. The game compiles to Windows, Linux and Web (HTML/WASM). Here is what that demo level looks like.
You can play this level here.
f for fullscreen works on some browsers.
You can follow the development using this RSS feed. You can give feedback in the box at the bottom of the screen, or contact me on Mastodon.
I'm open to share the engine code on GitHub if people are interested. You can created your own levels using the Tiled Level Editor.
This is meant to be the kind of project I would have liked to follow when I was getting started as a software engineer years ago: someone that blogs the technical aspects of developing a game and shares the source code with interesting technically focused articles along the way. The core audience that may be interested in this project are people that want to learn C++, and are more interested in understanding how to create a game engine from scratch rather than making a game. The path I'm taking is that I don't use any dependency besides SDL2 -- everything is built from scratch, for the pure kick of learning it. For example, the JSON parser was written after reading some chapters from the Dragon Book. Indeed, the fun here is not really to build an awesome game, but rather to geek out in developing the tech around a game engine with interesting demonstrations. This is really not a good recipe to get to a fun game fast, but it's a good recipe to have fun learning along the way.
What I'd like to hear from you (there is a comment box at the bottom of this article) is:
I'm writing this because I think it would be more fun to go through this project with other people, either as contributors or just to receive some feedback.