Skip to content

2021 04 02 Протокол

nergal-perm edited this page Apr 3, 2021 · 1 revision

Составные части движка

Наши попытки обнаружить абстрактные сущности движка привели к появлению концепции Действие-как-структурная-единица и, соответственно, к пониманию центральной роли Состояния игры.

В итоге, пришли к тому, что движок должен обеспечить поток информации между тремя сущностями:

  1. Состояние игры. В предельно простом случае - это словарь, элементы которого полностью описывают игру в любой конкретный момент времени. То есть, Состояние содержит информацию о том, кто должен сделать текущий ход, какая фаза игры сейчас идет, какие фишки лежат на доске, какие клетки заняты, какие карты на руках игроков и т.п.
  2. Доступность Действий. Модуль, определяющий возможность совершения любого Действия на основе текущего состояния игры. В предельно простом случае - это все возможные комбинации значений параметров Состояния, влияющих на действие.
  3. Влияние Действий на Состояние. Модуль, описывающий конкретные изменения значений параметров Состояния при выполнении Действия. По идее, должен содержать какие-то алгоритмы, хотя, наверное, можно и на каком-то DSL выразить изменения в табличной форме.

Дальнейшие действия

  • Составить списки возможных Действий для игр
  • Определить параметры состояния, влияющие на доступность каждого из Действий
  • Определить параметры состояния, изменяющиеся в результате каждого Действия
  • Закодировать взаимодействие между этими тремя сущностями в рамках одного Действия
Clone this wiki locally