Как сделать диалоговую игру
Диалоги в играх: Программные средства и дизайнерские идеи
В данной статье мы затронем две темы:
Учитывая, что написание, скажем, частично ветвящихся диалогов – процесс специфический, то каким образом можно уменьшить влияние технических тонкостей исходных состояний и варьирующихся результатов на творческий процесс?
Дизайну диалоговой системы обычно не уделяется столько внимания, сколько уходит на прочие игровые ассеты. Мы посмотрим на имеющиеся примеры и выделим идеи, достойные рассмотрения.
Небольшое замечание по поводу авторской точки зрения. Мы иногда пишем «мы», а иногда «я», когда речь идёт о чьём-то личном отношении к делу, будь то Даниеле или же Пьетро. Уж простите нас – его – меня 🙂
Как упростить написание игровых текстов?
Сюжеты – отличный инструмент для создания хороших игр (не будем цитировать Богоста). Но писать истории для игр тяжело по нескольких причинам.
Адам Хайнс (Adam Hines) в своей статье «The future of dialogue in games» пишет:
«Писать тексты для игр и для всего остального – совершенно разная работа. Это скорее похоже на решение сложной математической задачи, чем на обычный труд писателя».
Для большинства произведений характерен предопределённый, линейный прогресс сюжета. Даже когда автор старается скрыть это посредством запутанного повествования, путь из начала в конец всегда лишь один. Игры в этом плане сильно отличаются: здесь приходится иметь дело с мутирующим, ветвящимся сюжетом – это как если бы к написанию историй применялась теория хаоса.
Касательно специфики написания текстов для игр: вот вам цитата из книги «Writing for Animation, Comics, and Games»:
«Анимация, комиксы и игры попадают под категорию, которую я называю «сокращённым» писательством для контраста с обычной прозой, где автор не ограничен в длине описаний и диалогов и может охватывать все пять чувств – зрение, слух, обоняние, осязание и вкус – посредством как внешнего (диалоги и описания), так и внутреннего (описание мыслей и эмоций) повествования.
«Сокращённое» писательство требует умения писать в рамках чётко структурированного формата: урезать описания до абсолютного минимума, сжимать диалоги до их непосредственной сути, рассказывать ёмкие, плотно сплетённые истории».
Далее мы рассмотрим, как облегчить сокращённое писательство, дополненное работой с переменными и состояниями, при помощи специальных программных средств. Методология прототипирования и тестирования игровых текстов может оказать существенное влияние на результат, поэтому будет не лишним обогатить свой набор писательских инструментов.
Другой особенностью работы игрового писателя является специфичность тестирования: когда вы, допустим, пишете обычный рассказ, для тестирования достаточно напечатать черновик на бумаге или прочесть его вслух, но в любом случае вы будете иметь дело с уникальным черновиком. В случае с играми вам необходима возможность быстрого тестирования и внесения изменений, при этом нужно проверять несколько потенциальных исходов.
Это, к примеру, позволит проверить реплики ваших персонажей в различных ситуациях. Сюжет в играх способен быть решением проблем, но он должен допускать внесение изменений в динамическом состоянии.
Вот описанная Даниеле проблема, которую может решить инструмент для работы с динамическим потоком с поддержкой интерактивного написания текстов и их тестирования:
«Немного отойдём от основной темы: Пьетро попросил меня написать об одной вещи, которую я упоминал в наших разговорах, она меня постоянно раздражает и представляет собой хороший пример плохо выдержанного темпа. Это то, что я называю эффектом «стены NPC», характерной для RPG и некоторых квестов.
Бывает, что вы за несколько часов игры разговариваете всего с парой человек, а потом вдруг приходите в город. Внезапно на вас обрушивается масса новых персонажей и если вы, как и я, не желаете упускать ни одной детали, вам ПРИДЁТСЯ разговаривать с каждым из них. Если бы их было, скажем, четверо, это было бы приятной сменой темпа. Но когда это целый город, повествование напрочь лишается плавности и вы оказываетесь перед «стеной NPC». Для меня такие моменты одновременно интересны и утомительны, поскольку новые люди представлены мне не постепенно, а все разом – это куча работы, которую мне предстоит проделать.
Одно из решений уже используется в играх с меньшим упором на диалоги, где большинство NPC просто болванчики, которым нечего сказать. Это лишает персонажей глубины, но сохраняет плавность темпа, поскольку игрок уже не видит в каждом встречном лишнюю нагрузку. Но я убеждён, что найдутся толковые решения и для игр с весомой ролью диалогов. Это так, пища для размышлений».
Итак, давайте взглянем на существующие инструменты для работы с игровыми текстами.
Примечательный инструмент, позволяющий всё вышеописанное – Ink от компании Inkle, в общих чертах описанный Йоном Ингольдом (Jon Ingold) тут и более подробно в этой речи Джозефа Хамфри (Joseph Humfrey).
Это бесплатный скриптовый язык с открытым кодом, можете скачивать, устанавливать и работать. Текст пишется линейно (сверху вниз), синтаксис – своего рода язык разметки, вы всё контролируете прямо из текста.
Обобщающие слова самого создателя Ink:
Потенциальным недостатком этого (замечательного) инструмента является сложность понимания чужих работ, да и в своей бывает непросто разобраться, когда она увеличивается в размерах.
Диалог в виде графа потока
Другим подходом к написанию текстов выступает соединение отдельных узлов в граф, как на картинке ниже:
Редактор диалогов Oxenfree от Night School Studio.
Outspoken Даниеле (подробнее ниже).
В недавнем подкасте Кит Бургун (Keith Burgun) брал интервью у Рафа Костера (Raph Koster), который поделился несколькими замечательными наблюдениями об IDE (в частности, Unity), воплощающими в своей эволюции некоторые принципы гейм-дизайна. В случае с Unity кое-какие из этих принципов реализованы изначально, другие же предоставляются сторонними расширениями. Одно из таких мы и рассмотрим – это Outspoken за авторством Даниеле.
Outspoken
Немалое время назад я (Даниеле) ощутил потребность в редакторе диалогов, который можно использовать в Unity. Несомненно, у многих студий есть собственные восхитительные редакторы, но из того, что можно найти в общем доступе, меня ничего не устроило, главным образом потому, что все эти редакторы на редкость недружелюбны к писателям (за исключением Ink, который хорош, но ему не достаёт быстрого взгляда на организационную структуру, а для меня это, субъективно, самое главное). Так я начал свой утомительный путь к созданию собственного редактора Outspoken. Не примите это за рекламу, Outspoken предназначен для внутреннего использования и для друзей. Просто это хороший пример философии собственных редакторов диалогов, с которой я, очевидно, знаком не понаслышке.
Итак, я решил следовать такой философии:
1. Редактор создаётся в первую очередь ради писательских целей.
Я сам намерен писать тексты прямо в нём, поэтому меня интересует плавность потока, удобство и простота чтения/понимания. Если я потеряю концентрацию, отвлекаясь на лишние нюансы, пострадает живость и согласованность моего текста.
2. Работать должно быть весело, вплоть до того, что писатель почувствует себя автором комиксов.
Этот редактор многое для меня значит, и я сам работал с комиксами, так что данное правило мне отлично подходит.
3. Приятный глазу, не перегруженный деталями интерфейс.
Узлы диалогов не должны быть улеплены лишними элементами и должны быть как можно меньше сами по себе. В итоге я решил скрывать редко используемые элементы интерфейса (то есть, большую их часть), когда не нажата кнопка ALT.
4. Сочетания клавиш – ключ к успеху.
Так можно писать, не перемещая руку между клавиатурой и мышью, что мешает сконцентрироваться.
5. Очевидно, редактор должен быть снабжён всеми необходимыми функциями и быть расширяемым.
«Необходимыми» – значит необходимыми лично мне 😛 То есть акторы, ссылки на аудиоклипы, внутридиалоговый скриптовый язык, внутридиалоговые текстовые блоки, либо случайные, либо отбираемые по переменной/полу/ещё чему-то, локализация, глобальные и локальные переменные и так далее.
Работы было немало, но я уже опробовал редактор в нескольких играх и вполне им доволен (как и несколько моих друзей, первым из которых был Пьетро). Разумеется, я его постоянно дорабатываю.
Как подходить к дизайну диалогового интерфейса?
Как красиво оформить диалог в игре? Мы представим образцы из существующих игр, а потом расскажем, чему нас научил опыт разработки игр с такими диалогами.
Уроки из комиксов
Я (Даниеле) – выходец из культуры комиксов. Я любил, изучал и восхвалял комиксы всех видов – да и сам немало их написал. Поэтому, когда я делал свой первый мини-квест Faith No More, для меня было вполне естественным смотреть в том направлении и экспериментировать.
Есть одна вещь, которую комиксы не могут не понимать. Оформление диалогов и шрифтовка должны быть искусством сами по себе. Они должны передавать эмоции, атмосферу, напряжение столь же хорошо, как и смысл слов (или даже ещё лучше). Игры вместо этого преподносят текст в виде обычных субтитров, даже когда нет звука, или же в виде красиво украшенной книжной страницы. Среди немногих исключений я могу назвать Night in the Woods и Oxenfree – и обе игры взяли пример с комиксов. И получается, что каждый диалог – если и не стена, то кирпичик текста. И это плохо: шрифтовка была бы в разы лучше. И в плане отображения текста, и в плане композиции его элементов, их разбиения, сжатия или искажения, что оставило бы на них режиссёрский след. Просто взгляните на эти чудесные работы – можете увеличивать и наслаждаться ими во всей красе.
Cerebus (Dave Sim и Gerhard) и Snapchat (Chris Ware)
Arkham Asylum (Grant Morrison, Dave McKean и Gaspar Saladino)
Giallo Scolastico (Andrea Pazienza) и Elektra Assassin (Frank Miller, Bill Sienkiewicz и Jim Novak)
Конечно, комиксам проще. Там всё (как бы) заранее собрано воедино, с прекрасным пониманием каждого, сугубо статичного, элемента. Игры же пребывают в динамическом состоянии, где многочисленные переменные вмешиваются в происходящее. Тут всё куда сложнее. Так что я не говорю: «Вот, смотрите на комиксы! Давайте просто делать такие же диалоги!» Я лишь хочу сказать, что это отличная культура, с которой неплохо начинать поиск собственного пути.
Уроки из игр
Давайте начнём с обратных примеров: «как не надо делать», стандартные, очевидные подходы. Я (Пьетро) выбрал для этого The Banner Saga, потому что это восхитительная игра с чудесным сюжетом, но реже всего её наверняка хвалят за интерфейс диалогов, в чём можно убедиться на скриншотах:
Высокое качество графического дизайна несколько контрастирует с диалоговой системой. Похоже, кинематографическая жилка дизайнеров не подразумевает, что некий «интерфейс пользователя» достоин лишнего внимания.
Положительным (весьма и весьма) примером диалоговой системы выступает Night In The Woods (на наш взгляд лучший образец, вдохновлённый комиксами – она просто прекрасна):
Диалоги Night in the Woods лучше всего оценивать в анимации (а это уже о многом говорит).
Для каждого образца мы кратко подытожим дизайнерские идеи.
Особенности интерфейса: весь текст заглавными буквами, фиксированный размер шрифта, анимированный фон, выравнивание по левому краю.
В 80 Days есть два вида диалогов. Наиболее часто использующийся – простой проматывающийся текст в рамке:
Второй – с персонажами по бокам:
Особенности интерфейса: обрамление диалога, отсутствие «пузырей», выравнивание по стороне персонажа.
Теперь рассмотрим три примера из наших собственных игр:
Faith No More + Nothing Can Stop Us
Примечания по интерфейсу: (Даниеле) кроме вдохновения комиксами можно отметить идею остающихся на фоне пузырей завершённых реплик. Я считаю, что это помогает лучше всё понимать, ведь игрок видит частичную историю диалога (хотя, в своей новой игре я отделаюсь от идеи «истории» в пользу одиночных анимированных пузырей, так что всё зависит от контекста – ниже показан пример ранней версии «мысленного пузыря»).
Оглядываясь назад, я могу назвать диалоговый интерфейс с двух примеров выше не более, чем интересными экспериментами, лишёнными желаемого шарма и глубины. Пример пониже уже движется в нужном направлении. Ух, наверное, я многовато пишу. Пьетро меня за такое не ругает, вот я и распоясался!
Football Voodoom
Особенности интерфейса: выравнивание по центру, фиксированный размер шрифта, стандартный «резкий» указатель, выделение говорящего персонажа.
Заключение
Выше приведены примеры дизайна диалоговой системы, черпающие идеи и приёмы из комиксов и других игр. Какое заключение можно из этого вывести?
Заключение в том, что никаких заключений нет. Вы что, с ума сошли, полагая, будто творческую работу по созданию интерфейса диалогов можно привести к какому-то итогу? Это непрерывный процесс, и вдохновение комиксами – лишь наводка, в основном, призванная выделить одно из направлений за пределами «широко распространённых» и «общепринятых» 🙂 Однако игры – это игры, а не комиксы или фильмы, так что они открыты для экспериментов и привнесения толики собственной индивидуальности. Удачи!
Диалоги в мобильных играх
Отдел копирайтинга краснодарской студии Plarium провел небольшое исследование роли диалогов в проектах, не сфокусированных на тексте, и делится результатами.
Есть мобильные игры, живущие словами: это главным образом интерактивные романы и симуляторы свиданий. С ними все ясно, в них текст — базовая механика. Что касается жанров, в которых текст не на первом месте, то там большинство разработчиков использует не весь потенциал диалогов, а их может быть целых два типа: NPC с игроком и NPC между собой. И каждая фраза — это возможность увлечь рассказом о мире игры, повеселить, вызвать сочувствие. Мы выделили четыре основных роли диалогов в мобильных проектах, проиллюстрировали их примерами и отметили приемы, которые могут улучшить опыт игрока.
Туториал как диалог
Цель туториала — познакомить игрока с механиками, интерфейсом и миром игры. Он важен еще и тем, что это первый контакт игры с игроком. Туториального персонажа стараются сделать обаятельным, чтобы новичок симпатизировал ему, а значит, и самой игре.
Обычно в туториале есть один или два героя, которые взаимодействуют с игроком через диалог. Это дает возможность улучшить нарратив в игре — например, прописать речевой портрет персонажа, чтобы его выделить или усилить к нему эмоциональную привязанность игрока.
Скриншоты из игры AFK Arena
Мираэль из AFK Arena — туториальный и игровой персонаж. С помощью одних только «хм» и «эй» писатель придал ее образу живости и смягчил императивность, которой часто грешат туториалы. Для сравнения на скриншотах ниже — герой с другой манерой речи.
Скриншоты из игры AFK Arena. Разница есть? Разница есть!
Но что, если туториальный персонаж за игру встречается всего раза два? Или если он должен оставаться нейтральным, не притягивать к себе внимание? Это повод отказаться от составления речевого портрета персонажа и использовать диалоги с ним для того, чтобы показать tone of voice проекта — манеру общения игры с игроком, ее собственный голос. С пояснениями нам поможет Dota Underlords Mobile и ее очаровательный, по-своему скромный туториальный вороненок.
Скриншоты из игры Dota Underlords Mobile
Вороненок задает непринужденный тон, используя разговорные словечки и построенные естественным образом фразы. Это поддерживает хулиганский стиль Dota Underlords, которая посвящена разборкам бандитов.
Диалог как постановка квеста
Самый часто встречающийся квестгивер — это NPC с его «сходи туда, принеси то».
Скриншот из игры Cat Quest II
Просто, понятно и для кого-то может быть даже забавно, но быстро приедается. Когда тебе постоянно говорят, что делать, ты плывешь в игре по течению, пропуская все больше текста. Как это исправить? Например, подать сюжет в форме живого диалога, как в Good Knight Story.
Скриншоты из игры Good Knight Story
В этом диалоге есть все: цель, предыстория, мотивация и юмор. Вот только шутеечки подойдут не для каждого проекта. Тогда можно писать серьезные диалоги, но чаще разработчики все же задействуют забавного или ироничного персонажа — для контраста.
Скриншоты из игры Age of Magic. М-м-м, репа.
Диалоги как общение в любой момент
Игроки любят исследовать — заходить во все окна, кликать по предметам и по другим персонажам. Чтобы порадовать пытливые умы, разработчики добавляют разные фразочки, отображающиеся при нажатии на героя.
Эти фразочки не в полной мере диалог, но суть та же: пользователь взаимодействует с персонажем — хочет узнать, как тот реагирует, что думает. Примером может быть девиз, или catchphrase, в нескольких вариантах.
Скриншоты из игры AFK Arena
Но персонаж может и к игроку обратиться — прямо через четвертую стену! По форме это в большей степени диалог, чем девизы, а по сути — такое же взаимодействие.
Скриншоты из игры Homescapes
У Остина из Homescapes огромное количество фразочек. Разработчики даже сообщают на экране загрузки, что за главным героем можно наблюдать часами: он постоянно что-то делает и что-то говорит, даже если его не трогать.
Диалоги как двигатель сюжета
Часто вместо полноценной кат-сцены создатели игры делают комикс-диалог между двумя-тремя NPC. Это простой способ проиллюстрировать изменения в сюжете или достижение важной вехи.
Скриншоты с форума игры Empires & Puzzles
Empires & Puzzles — это не визуальная новелла, a match-three, и пусть количество текста не вводит вас в заблуждение. На форуме игры есть тема, где пользователи ищут скрины с сюжетными диалогами — в свое время проскипали все, что могли. Как сделать так, чтобы диалоги не пропускали? Эксперты из книг и интернета советуют следующее:
Скриншоты из игры Good Knight Story
А что вы думаете про диалоги в мобильных играх, не сфокусированных на тексте? Какими они должны быть? Что порадовало лично вас (или основательно взбесило)? Делитесь в комментариях!