A Component-based C++ Game Engine