C game engine development