-
Notifications
You must be signed in to change notification settings - Fork 0
2021 04 02 Протокол
nergal-perm edited this page Apr 3, 2021
·
1 revision
Наши попытки обнаружить абстрактные сущности движка привели к появлению концепции Действие-как-структурная-единица и, соответственно, к пониманию центральной роли Состояния игры.
В итоге, пришли к тому, что движок должен обеспечить поток информации между тремя сущностями:
-
Состояние игры. В предельно простом случае - это словарь, элементы которого полностью описывают игру в любой конкретный момент времени. То есть,
Состояние
содержит информацию о том, кто должен сделать текущий ход, какая фаза игры сейчас идет, какие фишки лежат на доске, какие клетки заняты, какие карты на руках игроков и т.п. -
Доступность Действий. Модуль, определяющий возможность совершения любого
Действия
на основе текущего состояния игры. В предельно простом случае - это все возможные комбинации значений параметровСостояния
, влияющих на действие. -
Влияние Действий на Состояние. Модуль, описывающий конкретные изменения значений параметров
Состояния
при выполненииДействия
. По идее, должен содержать какие-то алгоритмы, хотя, наверное, можно и на каком-то DSL выразить изменения в табличной форме.
- Составить списки возможных
Действий
для игр - Определить параметры состояния, влияющие на доступность каждого из
Действий
- Определить параметры состояния, изменяющиеся в результате каждого
Действия
- Закодировать взаимодействие между этими тремя сущностями в рамках одного
Действия