Игру можно реализовать как машину состояний (автомат), в которую вложены другие такие-же. Например, игра может находится в состоянии "смотрим меню", "играем", "пауза"..
В то время, как она находится в состоянии "играем", главный герой может принимать кучу других состояний — "бежит", "стреляет", "ползёт", "сдох" ...
Если Вас не затруднит, ответьте на несколько вопросов:
1. В чём, как Вы считаете, преимущества и недостатки этого метода? Если недостатки, то какие есть способы, позволяющие их избежать?
2. До какой степени детализируются состояния, например, героя (до "бежит" или до "бежит_кадр_1", "бежит_кадр_2", ...)?
3. Вся логика игры вешается в таком случае на события смены состояний автоматов, как я понимаю.. Не слишком ли сложные сценарии получаются для отладки?