Finite State Machines in Game Development