В статье разбирается, как устроена под капотом система Story-Link в Tides of Tomorrow — нарративной игре, где игроки влияют на истории друг друга.
Архитектура Story-Link
Ключевая идея: каждый игрок всегда «следует» за другим игроком и сам может быть «ведущим» для следующих. Временная линия не имеет явного начала и конца, это потенциально бесконечная цепочка. Однако на уровне дизайна учитываются только два соседних звена: предыдущий игрок (N-1) и будущие игроки (N+1).
Для управления изменениями используется логика конечных автоматов (state machines). Каждый уровень имеет несколько состояний, которые могут меняться в зависимости от действий игрока. Следующий игрок получает уже изменённое состояние уровня.
Эволюция подхода к состояниям уровней
Изначально планировалось, что весь уровень будет иметь три глобальных состояния, полностью меняя свой вид и содержание. Это оказалось слишком амбициозно: менять целый уровень каждый раз слишком дорого по производству и ведёт к взрывному росту ветвлений.
Команда перешла к более гибкой схеме:
- отдельные элементы уровня (NPC, конкретные геймплейные объекты) получают собственные наборы состояний;
- в финальной версии сочетаются два уровня логики: глобальное состояние уровня для каждого нового игрока и локальные состояния отдельных элементов внутри этого глобального состояния.
Система работает поуровнево, что делает её управляемой и контролируемой с точки зрения объёма контента и ветвлений.
Дизайн цепочки игроков
Благодаря поуровневому подходу игрок может переключать, за кем он следует, между уровнями. Это позволяет продолжать игру, даже если он «догнал» конкретного игрока в цепочке.
Другие игроки могут значительно менять ваш путь: состояние уровней, восприятие событий и персонажей. При этом сохраняется важный принцип традиционных сюжетных игр: вы остаетесь в контроле над своей конечной целью и ключевыми решениями.
Таким образом, Story-Link балансирует между:
- ощутимым влиянием чужих решений на ваш опыт;
- и сохранением персонального выбора и агентности игрока.
Выводы
- Цепочка игроков бесконечна, но учитываются только соседние звенья (N-1 и N+1).
- Основой системы служат стейт-машины: у уровней и элементов есть набор управляемых состояний.
- Сочетаются глобальные состояния уровня и локальные состояния отдельных объектов, чтобы избежать взрывного ветвления.
- Поуровневый дизайн позволяет переключать «ведущего» игрока и не ломать прогрессию.
- Система даёт сильное влияние других игроков, но не отнимает у вас контроль над собственной историей.