A C++ Gaming Framework from Scratch