Miro как инструмент нарративного дизайна

Когда я поставил себе задачу сделать игру, в которой у игрока будет огромное количество различных решений, то встал вопрос «как это держать в голове». Обычно основная документация для любой игры проходит такой всем известный путь: питч, концепт-документ, дизайн-документ. Остальное зависит от размера команды, жанра и фич и механик, свойственных жанру. В случае с очень ветвистой диалоговой системой, подразумевающей конкретную реакцию NPC на целый комплекс произошедших ранее событий, нужен был инструмент, в котором можно будет легко визуализировать все взаимосвязи сюжетных цепочек и решений игрока. Более того, нужно, чтобы в этом было потом легко разобраться. Чем больше времени ты тратишь на разбор собственного сюжета, тем меньше занят непосредственно разработкой. Поэтому работая над своим КингСим’ом я стал изучать различные варианты.

​Вот так решили изобразить разнообразие решений в трейлере. Игрок нажимает на одну из трёх кнопок и выбирается один из трёх вариантов дальнейших событий.
​Вот так решили изобразить разнообразие решений в трейлере. Игрок нажимает на одну из трёх кнопок и выбирается один из трёх вариантов дальнейших событий.

Как соло-геймдизайнер я многое могу держать в голове. Например, сама концепция игры для меня всегда ясна, делиться мне ей не с кем, а поэтому дизайн-документ почти отсутствует. В условиях инди-апокалипсиса (от 30 до 60 ежедневно выходящих игр в Steam) моё внимание больше уделено своему маркетинговому документу и тому, что в голове удержать невозможно — схеме сюжета. Когда-то давно я приобрёл Articy Draft SE — инструмент как раз для проектирования сценария, диалогов, инвентаря персонажа и взаимодействий персонажей. Его использовали такие студии как Ubisoft, Daedalic Entratainment, Fictiorama Studios, Osmotic Studios, Grimlore Games и другие студии, специализирующиеся на играх "про сюжет".

​Вот так выглядят сюжетные "блоки" и связи в Articy Draft
​Вот так выглядят сюжетные "блоки" и связи в Articy Draft

Изначально Articy Draft показался мне весьма недурной программой: в каждый информационный блок можно вставить связанное с ним изображение (например, локацию), а также указать какой персонаж говорит какую реплику, с какими предметами связан диалог и т.д. Кроме того сам интерфейс выглядит красиво и профессионально. Работая в Articy Draft ты словно сам играешь в какую-то инди-игру, основанную на взаимодействии с интерфейсом (вроде Orwell: Ignorance is Strength или Need to know). Всё красиво, четко и функционально. Отдельно есть меню, в котором можно заполнять BIO персонажей, отдельно меню для локаций, отдельно для инвентаря. Это может быть полезно, если вы делаете point-&-click квест. Каждый из этих элементов можно потом использовать в информационных блоках.

В Articy можно даже загружать изображения локаций и намечать зоны для интеракции; это похоже на прототипирование
В Articy можно даже загружать изображения локаций и намечать зоны для интеракции; это похоже на прототипирование

Но оказалось, что для меня лично Articy обладал рядом серьезных ограничений. К примеру, стоило на одном «полотне» сюжета разместить 50 и более сюжетных блоков как программа начинала адово лагать (даже на моём весьма не слабом PC). Судя по всему разработчики Articy планировали, что сценаристы будут разбивать весь сюжет на под-блоки: используя дабл-клик можно войти внутрь сюжетного блока и внутри него делать свои собственные сюжетные развилки. Это такой нарративный Inception. Вот только держать всё перед глазами, выходит, нельзя. А это значит, что чтобы посмотреть «а что там было у меня в сюжете вот на том моменте» нужно найти нужный сюжетный блок, зайти в него, найти ещё один блок, зайти в него... И так продолжать в зависимости от того, насколько у вас часто дробится сюжет. Это отнимает время и попросту не удобно в использовании.

Кит Сценарист, другая программа ​с относительно схожим функионалом
Кит Сценарист, другая программа ​с относительно схожим функионалом

Когда я понял, что с Articy Draft у меня не задалось и дальше будет только хуже, я решил, что надо срочно менять "паровоз". Игру я делал параллельно разработке сюжета, а потому пришлось перестраиваться на другие рельсы уже во время работы с игровым движком. Я начал пробовать самые разные аналоги для хранения и визуализации сценарной информации. Draw.io (google-диаграммы), Кит Сценарист и ещё несколько разных вариантов, всё уже не упомнишь. У большинства возникали всё те же проблемы: либо сама программа была страшно неудобной, либо при превышении определенного небольшого лимита связей на экране всё представление превращалось в слайд-шоу. Однако в один день товарищ с прошлой работы посоветовал мне попробовать программу RealtimeBoard, которая сейчас переименовалась в Miro.

В Miro можно создавать блоки и связи, майндмэпы, графики, канбан-доски вроде Trello, добавлять ​картинки, записки, комментарии, "рамки" и другое.
В Miro можно создавать блоки и связи, майндмэпы, графики, канбан-доски вроде Trello, добавлять ​картинки, записки, комментарии, "рамки" и другое.

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

Примерно так сейчас выглядит "доска"​ сюжета КингСим
Примерно так сейчас выглядит "доска"​ сюжета КингСим

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

Каждое такое "событие" я решил поместить в отдельный "frame" (на картинке - синие большие блоки), в рамку, которую можно легко перемещать по доске вместе со всем содержимым внутри. У каждой рамки есть своё название, показывающее какой сейчас игровой день и как называется само событие (названия замазал, чтобы не спойлерить сюжет неигравшим). Для простоты восприятия я решил сделать так, что визуально каждое событие начинается сразу после другого, не зависимо от того произойдет ли оно в игре или нет. Уже внутри события, в самом начале, происходит проверка "а событие вообще должно произойти?" и, если ответ отрицательный, всё событие пропускается. Это сделано для того, чтобы мне как сценаристу было проще понимать какой сюжетный блок будет идти за каким, что облегчает работу с игровым движком. При этом игрок этого не заметит, ведь часть событий не будет с ним происходить, что сделает каждое прохождение уникальным в зависимости от его решений.

Miro как инструмент нарративного дизайна

Внутри сюжетного события уже происходят различные выборы игрока и последствия его решений. При этом удобно использовать цветовую дифференциацию сюжетных блоков. Зелёными квадратами я обычно отображаю Outcome, то есть определённое последствие событий (а также блоки "начало" и "конец" всего игрового события). Серые блоки - это условия, которые проверяют какую-либо переменную в игре. Например, рейтинг отношений игрока с определённым персонажем, ранее совершенные игроком действия и решения, наличие или отсутствие определённой постройки и т.д. Фиолетовые блоки - это вопросы игроку, на которые он сюжетно может дать несколько вариантов ответов, а маленькие синие блоки - это, собственно, и есть эти варианты. Ну и, наконец, красные квадраты - это сюжетная гибель игрока, то есть конец игры. Один неправильный ответ игрока в неправильном месте может служить причиной гибели Короля. Но обычно я стараюсь давать игроку намёки на то или иное событие, чтобы игровые смерти не казались такими внезапными и не зависящими от логики принятия решений.

​Одна из 80-ти "смертельных" концовок в КингСим на данный момент.
​Одна из 80-ти "смертельных" концовок в КингСим на данный момент.

Надеюсь, материал был кому-то полезен. Если будет свободное от разработки время, то я буду ещё делиться разной полезной и не очень информацией о том, как всё продвигается. Если Вам стало интересно, что за игра такая, то вот ссылочка в Steam.

Также вы можете следить за информацией о разработке в группе ВК или даже помочь проекту на Patreon'е.

Успехов всем начинающим и не очень разработчикам!

128128
19 комментариев

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

12
Ответить

Спасибо, полезный список. Ток плагины для Unity и UE, судя по всему, для встраивания самих диалогов в игру (то есть уже непосредственно работы с диалогами в движке), а никак не для их проектирования.

Ответить

О, а мы с друзьями с помощью неё играем в киберпанк 2020, находясь в 10 тысячах км друг от друга)
Там карта, импровизированный стол и все такое.

7
Ответить

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

2
Ответить

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

1
Ответить

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

Ответить

Да, спасибо, исправил. Устал видимо)

1
Ответить