Well commented code documentation on creating a small game engine