c++ first person controller