Skip to content

Действие как структурная единица

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

Любая настольная пошаговая игра - это не что иное, как последовательное изменение состояния - игроки перемещают свои фишки, перекладывают жетоны, берут в руку и выкладывают на стол карты - все это можно представить в виде изменения состояния Игры. Важно, что изменения не происходят одновременно и параллельно - все они строго последовательны.

Исходя из этого можно выделить минимальную неделимую часть игры - атомарное Изменение состояния. Наверное, можно представить их в виде перемещения чего-либо между двумя частями состояния игры в целом. Примеры с картами и разными фишками однозначно транслируются в такую форму, но, например, попытки отгадать число в "Быках-коровах" - уже с натяжкой. Тем не менее, стоит над этим подумать.

Однако с точки зрения игры отдельные изменения состояния не особенно интересны. Гораздо важнее то, что они происходят в результате какого-то Действия, предпринимаемого игроком или игрой. Именно Действие является минимальной единицей игры, имеющей смысл. В результате Действий изменяется состояние, после совершения Действия игра может передать ход другому игроку или еще как-то изменить свою фазу (начать новый раунд, оценить условия завершения игры и т.п.).

Мы как-то говорили о том, что любое состояние любой игры можно представить в виде результата последовательного применения ряда каких-то входящих команд, и вот Действие, мне кажется, подходит на эту роль.

Что важно для Действия?

  • Всегда есть один и только один Инициатор (т.е. тот, кто совершает действие) - либо игрок, либо игра.
  • Действие без изменения состояния лишено смысла.
  • С действием может быть связано любое количество изменений состояния (одно или больше), в том числе и изменение фазы игры (смена активного игрока, и т.п.), то есть выполнение действия может продвинуть игру дальше по структуре ходов и раундов.
  • Фактическое содержание действия (то есть реальные изменения состояния) специфичны для каждой игры, но само поведение действия (применение этих изменений и оповещение игры о совершении действия) одинаково для всех игр.
Clone this wiki locally