んじゃぁ、僭越ながら仕様案をば…

言語:VC++
必要なランタイム:DirectX

class game2ch
{
  game2ch(HINSTANCE hIns, HWND hWnd);
  :
  (略)
  :
  int play(int (*fnc)(void) = NULL); // fncはフレームごとに呼ばれる関数のポインタ。
};

…こんな感じで(ウィンドウは自力で作ってねw)
デフォルトで3D空間をテクテク歩く内容で、
インスタンスを生成してからplayメソッド実行するまでに、
カスタマイズする内容がいいんじゃないかな。