Como programar um jogo de aventura em primeira pessoa

Saiba como classes C++ que implementam as mecânicas básicas de um jogo em primeira pessoa.