-
Notifications
You must be signed in to change notification settings - Fork 0
Действие как структурная единица
Любая настольная пошаговая игра - это не что иное, как последовательное изменение состояния - игроки перемещают свои фишки, перекладывают жетоны, берут в руку и выкладывают на стол карты - все это можно представить в виде изменения состояния Игры. Важно, что изменения не происходят одновременно и параллельно - все они строго последовательны.
Исходя из этого можно выделить минимальную неделимую часть игры - атомарное Изменение состояния
. Наверное, можно представить их в виде перемещения чего-либо между двумя частями состояния игры в целом. Примеры с картами и разными фишками однозначно транслируются в такую форму, но, например, попытки отгадать число в "Быках-коровах" - уже с натяжкой. Тем не менее, стоит над этим подумать.
Однако с точки зрения игры отдельные изменения состояния не особенно интересны. Гораздо важнее то, что они происходят в результате какого-то Действия
, предпринимаемого игроком или игрой. Именно Действие
является минимальной единицей игры, имеющей смысл. В результате Действий
изменяется состояние, после совершения Действия
игра может передать ход другому игроку или еще как-то изменить свою фазу (начать новый раунд, оценить условия завершения игры и т.п.).
Мы как-то говорили о том, что любое состояние любой игры можно представить в виде результата последовательного применения ряда каких-то входящих команд, и вот Действие
, мне кажется, подходит на эту роль.
Что важно для Действия?
- Всегда есть один и только один Инициатор (т.е. тот, кто совершает действие) - либо игрок, либо игра.
- Действие без изменения состояния лишено смысла.
- С действием может быть связано любое количество изменений состояния (одно или больше), в том числе и изменение фазы игры (смена активного игрока, и т.п.), то есть выполнение действия может продвинуть игру дальше по структуре ходов и раундов.
- Фактическое содержание действия (то есть реальные изменения состояния) специфичны для каждой игры, но само поведение действия (применение этих изменений и оповещение игры о совершении действия) одинаково для всех игр.