This is an outline of what I'm looking for in a game engine.
-
The entire engine should be implemented as a single file library. The user of the engine should be able to download the source file, add it to their source tree, and go.
-
The engine needs to have a simple build system. You should be able to compile the engine with something like
gcc my_game.c -o my_game -lpthread -lm -ldl, and on Windowsgcc my_game.c -o my_game.exe. Only libraries that come standard with the compiler should be allowed. The engine should also be built in C89 so it Just Works across all compilers.