Как создавалась механика изменения правил в Baba Is You

Разработка метасистемы, польза геймджемов и поиск подходящих сочетаний слов.

Основная механика Baba is You удивительна: когда три слова подряд составляют предложение, например «ROCK IS PUSH», это создаёт правило, которое немедленно вступает в силу в игре — камни на сцене можно толкать. Если убрать одно из слов, этот эффект немедленно исчезнет.

Арви Тейкари создал оригинальную версию Baba Is You для геймджема ещё в 2017 году. Теперь же она доступна для Switch, ПК, Mac и Linux на itch.io, Steam. Автор Gamasutra пообщался с создателем игры и выяснил подробности создания основной механики изменения правил. Мы выбрали из текста главное.

Игра обновляет правила только в случае необходимости: есть переменная, которая отслеживает перемещение или изменение слов, и при обнаружении сообщает системе о необходимости переписать правила. Следовательно, игра инициирует фактический процесс написания правил, который делится на различные подпроцессы. А предыдущие правила полностью удаляются.

Например, слово «Baba» необходимо, чтобы написать предложение «Baba Is You», поэтому первое слово должно располагаться сверху или слева по отношению к остальным блокам. После того, как эти «первые слова» собраны, игра проверяет наличие других блоков рядом с ними и выполняет несколько элементарных проверок для сочетания этих слов.

Как создавалась механика изменения правил в Baba Is You

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

Наконец, когда всё установлено, игра проверяет окончательный набор правил и корректирует их при необходимости. Например, если существует правило «Baba Is Not You», «Baba Is You» помечается как недействительное.

Некоторые слова, такие как SINK и PULL, имитируют поведение классической игры-головоломки, и поэтому их эффект очевиден. Другие слова возникли из-за того, что разработчик пытался придумать эффекты, которые могут быть интересными или забавными: MORE и LONELY — хорошие примеры этого.

Пример применения слова MORE

Наконец, по мере развития, Арви начал видеть всё больше и больше возможностей для мета-слов, которые как-то влияют на саму систему правил игры. TEXT — блок, который позволяет игроку применять правила к самим словам, хорошо демонстрирует эту категорию.

Обычно, как только разработчик внедрял новое слово, он сразу же тратил некоторое время на изучение наиболее очевидных идей для головоломки. После начального этапа большинство уровней появились во время экспериментирования с доступным набором слов. Чаще всего автор пытался отобрать наиболее удивительные и забавные комбинации.

Как только он понимал, что нашёл хорошую концепцию, он перепроектировал уровень, который требовал использования этого сочетания, и определял полезность идеи. Конечно, несколько уровней были основаны на чужих предложениях, или появились совершенно неожиданно без какого-либо явного мозгового штурма. «Вариантные» уровни особенно часто основывались на альтернативных решениях, найденных тестером, которые разработчик не хотел добавлять в оригинальную локацию.

По признанию Арви, иногда ему приходилось сокращать уровни, в которых игроки должны были следовать только по единственному пути решения задачи, потому что они оказывались слишком сложными. Также создатель убирал уровни, в которых требовалось слишком много правил для прохождения.

Как создавалась механика изменения правил в Baba Is You

Также автор рассказал, что в какой-то момент во время разработки он внезапно осознал, что в некоторых случаях игрок сможет складывать слова друг на друга. Это раньше не приходило ему в голову. Хотя тестировщик предложил уровень, который потребовал бы этого, но Арви не понял это сразу.

Вся система правил была построена на предположении, что в данном пространстве всегда будет только одно слово. Если в пространстве есть два слова, выбор будет произвольным. Переработка системы правил, чтобы должным образом учитывать эти сложенные фразы, оказалась одной из самых трудных задач в процессе разработки игры. Это связано с проверкой всех возможных вариантов построения предложения.

Конечно, большая часть этой системы никогда не видна в самой игре, но было очень важно принять во внимание возможность пользователя сделать что-то совершенно неожиданное.

Как создавалась механика изменения правил в Baba Is You

Геймджемы отлично подходят для создания прототипов идей, в которых разработчики не совсем уверены. Возможность потратить ограниченное количество времени, чтобы уточнить основы концепции, не беспокоясь о том, чтобы доработать или отполировать её, очень помогает выяснить, какой потенциал у неё есть.

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

Тем не менее потенциальная опасность состоит в том, что чрезмерно конкурентная среда может привести к переутомлению и переработкам. По словам Арви, для него геймджемы — это по большей части прогулка по залу и впитывание атмосферы.

Baba Is You создана в Multimedia Fusion 2. Разработчик использует инструменты семейства продуктов Clickteam не менее 14 лет. По его словам, он очень привык к причудам MMF2, и поэтому считает его удобным инструментом. Также он добавил, что до того момента, как его друг-разработчик показал ему плагин Lua для MMF2 в 2016 году, у него не было каких-либо существенных знаний о языках программирования.

Таким образом, решение использовать MMF2 для Baba Is You было принято скорее по привычке. Lua позволил реализовать игровую логику таким образом, чтобы базовая «система событий» MMF2 не вызывала проблем. А сама MMF2 очень упрощала рендеринг графических ассетов.

Этот подход значительно усложнил портирование — у MMF2 есть несколько официальных инструментов экспорта, но у них есть собственные правила, которым нужно следовать. Компания MP2 Games создала движок специально для портирования игр: без него порт на Switch нужно было бы переписывать с нуля, а версии для Mac и Linux были бы значительно более ограниченными.

Как создавалась механика изменения правил в Baba Is You
Как создавалась механика изменения правил в Baba Is You

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

К самым ранним идеям относится, например, правило «Game Is Win» или «You Is You», которое приводит игрока к кат-сцене, происходящей «вне игры», или добавление слов, которые напрямую влияют на пользовательский интерфейс («Right Is Defeat» — при нажатии кнопки вправо наступает смерть и так далее). По признанию автора, это были интересные, но довольно мелкие и более разовые уловки, чем всестороннее изучение игровой механики.

Ещё одной ранней идеей был какой-то секретный мир или новая версия карты. Когда эта идея пришла в голову Арви, карта мира была совершенно отдельным экраном вне логики игры, и потребовалось довольно много времени и помощи других инди-разработчиков, чтобы придумать концепцию, в которой карта является уровнем, подобным любому другому.

Я был очень счастлив, когда мои знания кода наконец-то достигли такого уровня, что я смог полностью реализовать эту метасистему. (Тестер фактически убедил меня сделать метаструктуру на один уровень глубже, чем я изначально планировал, хе-хе).

Арви Тейкари, создатель Baba Is You
6161
24 комментария

Интересная игра-головоломка. Ещё никогда мне не доводилось ходить по уровню стенами.

15
Ответить

Комментарий недоступен

10
Ответить

Сами вы бабы.

4
Ответить

Шутка is не смешная

1
Ответить

Scribblenauts на минималках.

3
Ответить

Комментарий недоступен

Ответить

Ты, конечно, готов наглядно аргументировать свою позицию, я надеюсь?

7
Ответить