GitHub project Licence Build status Codacy Badge


eszFW is a cross-platform game engine written in C. It's aimed at platformer games. This project is the logical continuation of my older projects Rainbow Joe and Boondock Sam.



The documentation can be generated using Doxygen:


A automatically generated version of the documentation can be found here:


Update: I started to write the entire engine from scratch. Until the next release this project is in an incomplete state.

This project is in development. I will enhance it gradually, mainly as a tool to my own use. To see it in action, take a look at Tau Ceti: a cross-platform 2D sci-fi themed tech demo which I develop to test this engine.

Tau Ceti Tau Ceti

An Android version of Tau Ceti is available on Google Play:

Get it on Google Play


The abbreviation esz is a tribute to my best friend Ertugrul Söylemez, who suddenly passed away on May 12th, 2018. We all miss you deeply.

C is dead, long live C

Even though hardly any games are written in C nowadays, there are a few noteworthy titles that meet this criterion e.g. Doom, Quake, Quake II, and Neverwinter Nights.

This project should show that it is still possible and that C (and procedural programming in general) is often underestimated.

With that in mind: C is dead, long live C!


The program has been successfully compiled and tested with the following libraries:

libxml2 2.9.10
SDL2 2.0.12
zlib 1.2.11 (optional)


First clone the repository including the submodules:

git clone --recurse-submodules -j2
cd eszFW

To compile eszFW under Linux use CMake as follows:

mkdir build
cd build
cmake ..

Licence and Credits

This project is licensed under the "The MIT License". See the file for details.

cwalk by Leonard Iklé is licensed under the MIT License. See the file for details.

TMX C Loader by Bayle Jonathan is licensed under a BSD 2-Clause "Simplified" Licence. See the file COPYING for details.