This is a cool project!<p>- CMake, yay! These make generating build files for a variety of platforms (even Windows) a breeze. It also works with code completion stuff (CLion IDE, KDevelop both have CMake-based projects)<p>- I like how it splits stuff up as well (<a href="https://github.com/klaussilveira/qengine/tree/master/src/game" rel="nofollow">https://github.com/klaussilveira/qengine/tree/master/src/gam...</a>).<p>- As for vendorizing SDL2, there is an opportunity for optimization: The shared libraries and header files can be scanned through CMake scripts. Example: <a href="https://github.com/tcbrindle/sdl2-cmake-scripts" rel="nofollow">https://github.com/tcbrindle/sdl2-cmake-scripts</a>.<p>- I see the .clang-format file, nice! (This is for clang-format: <a href="https://clang.llvm.org/docs/ClangFormat.html" rel="nofollow">https://clang.llvm.org/docs/ClangFormat.html</a>)<p>Unfortunately, license is going to be a real barrier to most game developers. The ironic thing is this engine includes SDL 2 which prides itself on being on a permissive license. (<a href="https://youtu.be/MeMPCSqQ-34?t=405" rel="nofollow">https://youtu.be/MeMPCSqQ-34?t=405</a>, 6:40 to 7:30)<p>If it's the intention to create an open source library to be helpful as possible to developers. If it's the intention to have a library just for use in the GPL ecosystem of games (which isn't bad: OpenTTD is GPL!) then this is okay.<p>The reason why is a private game developer want to retain control of their intellectual property, even throughout the prototyping phase.<p>As for open sourcing, I'd approach it in a different way: I'd release reusable components under a permissive license (e.g. MIT, BSD, ISC, zlib, etc.) and keep any creative work product code/source files private.<p>Similar SDL2 framework for 2D games (I made some CMake contributions a while back): <a href="https://oxygine.org/" rel="nofollow">https://oxygine.org/</a>