Блестящие диалоги в играх: мастер-класс

Текстовая версия выступления Джона Ингольда на Adventure Expo 2018, посвященного написанию игровых диалогов. Много текста и примеров. Заваривайте чай или кофе и устраивайтесь поудобнее, читать придётся долго.

Видеозапись выступления "Sparkling Dialogue: A Masterclass"

Меня зовут Джон Ингольд, я нарративный директор в компании Inkle. Сегодня мы поговорим о блестящих диалогах. О том, как оживить интерактивные беседы, сделав персонажей отзывчивыми, обаятельными, и, пусть ненадолго, по настоящему живыми.

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

Диалоги в играх и кино

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

Давайте я покажу вам пример из малоизвестной инди-игры “Assassin’s Creed Odyssey”. Эти новички выпустили игру за две недели до Read Dead Redemption 2, поэтому о ней скорее всего не писали в новостях, и вряд ли вы вообще о ней слышали. Но это хорошая игра, одна из лучших игр, которые эти ребята делали в последнее время. Вот кусок диалога из начала игры, в нем нет никаких спойлеров, давайте посмотрим.

Кассандра: Понятно. Значит, у тебя нет денег вернуть мне долг? Маркос: Есть ли у меня деньги, чтобы вернуть долг? Конечно. Конечно. То есть нет. Сейчас нет. Кассандра: Тогда добудь их. Маркос: Сию минуту, подруга, сию минуту. Но, наверное, тебе лучше самой это сделать. Есть один торговец в Сами - знаешь, я не очень хорош в этих делах. Кассандра: Ты хочешь, чтобы я сама забрала деньги, которые ты мне должен? Маркос: Просто они ждут тебя в Сами, подруга. Кассандра: Что за торговец? Маркос: Дурис. Ты знаешь Дуриса. Он приятный человек. > Кассандра: Дурис? Снова? Зачем ты продолжаешь давать ему деньги в долг? Маркос: Он верный друг. Не хочу, чтобы его семья голодала. Кассандра: Ты хороший друг, но с деньгами обращаться не умеешь. > Кассандра: Где мне найти Дуриса? Маркос: В магазине в Сами с видом на доки - ты же знаешь, Кассандра. Кассандра: И он будет там? Маркос: Я же не пифия, как я могу знать? > Кассандра: И как ты хотел бы, чтобы я уладила это дело? Маркос: Не так, как в тот раз с оливковым маслом. Это было… это было слишком. Кассандра: Но деньги-то я добыла!

Ладно, ладно, хватит. Это неплохая сцена, красиво отрендеренная и безупречно анимированная. И текст неплох, даже шутки есть.

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

Очень жаль, ведь диалог - один из самых мощных инструментов повествования, ведь люди по своей природе сложные и интересные.

Лучше всего продемонстрировать разницу на примере кино, где автор имеет намного больше контроля над диалогом. Я покажу вам другое видео примерно той же длины из фильма, которому уже 40 лет. Вы, наверное, слышали про него, фильм называется “Бегущий по лезвию”, там что-то про роботов, или вроде того. Давайте посмотрим.

Рэйчел: Нравится сова? Декард: Она искусственная? Рэйчел: Конечно. Декард: И, должно быть, дорогая? Рэйчел: Очень. Я Рэйчел. Декард: Декард. Рэйчел: Похоже, вы не считаете нашу работу благом для общества. Декард: Репликанты - это машины. Они либо благо, либо угроза. Если благо - меня это не касается. Рэйчел: Можно личный вопрос? Декард: Да. Рэйчел: Вы убивали человека по ошибке? Декард: Нет. Рэйчел: С вашей профессией это возможно. Тайрелл: Это будет тест на эмпатию? Расширение капилляров при так называемой реакции стыда. Расфокусировка зрачка, непроизвольное расширение роговицы. Декард: Мы называем это тестом Войта-Кампфа. Рэйчел: Мистер Декард, доктор Элдон Тайрелл. Тайрелл: Продемонстрируйте ваш тест. Декард: Где объект? Тайрелл: Хочу убедиться, что на человеке результат будет отрицательным. Декард: На человеке? Тайрелл: Именно так. Декард: На вас? Тайрелл: На ней.

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

Сегодня я хочу показать, что это возможно не только в кино. Я уверен, что в интерактивных играх мы можем создавать диалоги не хуже, а для этого нужно мыслить в определенном направлении.

Видеоигры такие видеоигры

Интерактивная версия нижеприведенного диалога - здесь, по ссылке "Game Version".

Сначала я покажу, как выглядел бы этот диалог в типичной игре:

> Декард: Привет, я Декард. Рэйчел: Привет, Декард. Ты - Бегущий по лезвию, не так ли? Твоя работа - охотиться за репликантами и убивать… то есть устранять их?

У меня есть три варианта. Я могу следовать сценарию и выбрать “Репликанты - это машины”, но вместо этого я выберу классическое “Автор дал мне возможность выбора!”

> Декард: А ты как думаешь? Рэйчел: Я думаю, репликанты - величайшее изобретение человечества. Теперь мы как боги. Ты когда-нибудь задумывался о последствиях этого?

Она задала мне вопрос! В лучших традициях видеоигр я его проигнорирую:

> Декард: Репликанты - это машины. Они либо благо, либо угроза. Если благо - меня это не касается. Рэйчел: Теперь я чувствую себя в большей безопасности. > Декард: Тайрелл хотел меня видеть. Рэйчел: Вот и он. Тайрелл: Это будет тест на эмпатию? Тайрелл: Расширение капилляров при так называемой реакции стыда. Расфокусировка зрачка, непроизвольное расширение роговицы. > Декард: Можете объяснить еще раз?
Смех в зале. Реакция актрисы, зачитывающей текст NPC - бесценна.
Тайрелл: Конечно. Тест на эмпатию. Тайрелл: Расширение капилляров при так называемой реакции стыда. Расфокусировка зрачка, непроизвольное расширение роговицы. > Декард: Понятно. Рэйчел: Мистер Декард, мистер Элдон Тайрелл. Тайрелл: Продемонстрируйте ваш тест. Хочу увидеть его в действии. > Декард: Где объект? Тайрелл: Хочу убедиться, что на человеке результат будет отрицательным. > Декард: На вас? Тайрелл: На ней.

Всё, конец сцены. Как по мне, получилось отстойно.

Что же пошло не так?

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

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

Подтекст. В нашем диалоге его вообще нет. Эту же проблему мы видим и в сцене из Assassin's Creed - все говорят именно то, что имеют в виду, и не говорят ничего такого, что не подразумевалось бы.

Я думаю, мы можем сделать лучше.

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

Биты сцены

Биты - это ключевые сюжетные точки, благодаря которым формируется структура.

Начнем с того, что попытаемся понять эту сцену. В чём её смысл? Очевидно, не в сове и не в тесте Войта-Кампфа, хотя именно об этом говорят персонажи. Но что же происходит на самом деле?

  1. Рэйчел входит и говорит: “Нравится сова?”, что по смыслу в общем соответствует вопросу “Как погода?”
  2. Затем она говорит “Я Рэйчел”
  3. Затем “Похоже, вы не считаете нашу работу благом для общества”
  4. Затем “Могу я задать личный вопрос?”
  5. Затем входит Тайрелл и просит продемонстрировать тест на человеке.

Вот основные биты сцены.

Когда Рэйчел говорит “Нравится сова?”, это значит “У нас есть сова, поэтому я невероятно богата и намного важнее тебя”, на что Декард отвечает “Мне она не нравится, это подделка, она искусственная”.

Она говорит “Я Рэйчел”. Она не говорит “Я Рэйчел Тайрелл”, или “Я Рэйчел, веду дела этого офиса”, или “Я племянница Тайрелла”. Она даёт понять: “Я Рэйчел, и никаких объяснений не нужно, потому что ты и так знаешь, кто я такая”. И как отвечает Декард? Блестяще! Он говорит “Декард”. Он использует ещё меньше слов, чем она. Вот сукин сын! Поэтому она повышает ставки - “Похоже, вы не считаете нашу работу благом для общества”, на что Декард отвечает “Да, не считаю”.

Тогда Рэйчел взрывается и говорит “Могу я задать личный вопрос?”. Полицейский пришел её допрашивать, а она хочет задать ему личный вопрос! И её реплика “Вы убивали человека по ошибке?” - это неприкрытая, прямая атака на Декарда. Он теряется, у него нет хорошего ответа, и он просто отвечает “Нет”, не вдаваясь в детали.

Затем входит Тайрелл, и мы слушаем небольшой монолог про тест на эмпатию, который совершенно не важен. Что важно - что Рэйчел, самая важная персона в комнате, которая с самого начала доминировала на сцене, - отступает на задний план, уступает этому человеку, который ничего-то интересного не сказал. И мы подсознательно понимаем, что этот человек - самая главная фигура, он настолько влиятелен, что ему не нужно даже демонстрировать свою власть.

И затем Тайрелл говорит Декарду, что ему делать. Все попытки Декарда возразить - зачем это нужно? в чём смысл? - терпят неудачу, поэтому он делает то, что сказано.

Таким образом, вся эта сцена - атака.

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

Поскольку всё значимое взаимодействие происходит на уровне подтекста, сам текст не имеет такого большого значения.

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

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

"Сова"

Интерактивная версия примеров из этого раздела - здесь, по ссылке "Interactive Fiction Version: Piece by Piece" - "The Owl"

Первый бит этой сцены - разговор про сову. Что происходит на самом деле: два персонажа кружат вокруг друг друга, примериваясь и оценивая противника. Оба немногословны, не делают резких движений. Я думаю, чтобы сделать эту сцену интерактивной - раз уж мы использовали слово “кружат” - стоит использовать петлю, цикл. Возвращая игрока к повторяющемуся варианту выбора, мы покажем, что оба персонажа ещё не полностью вовлечены в схватку.

Рэйчел: Нравится сова? > Декард: Она искусственная? Рэйчел: Конечно. > Декард: Должно быть, дорогая? Рэйчел: Очень.

Итак, мы повторили диалог из фильма. Попробуем реплики в другом порядке:

Рэйчел: Нравится сова? > Декард: Должно быть, дорогая? Рэйчел: Очень. > Декард: Она искусственная? Рэйчел: Конечно.

Разница почти незаметна, но звучит уже не так хорошо. Весь смысл сцены именно в “Должно быть, дорогая?” - “Очень”, когда Рэйчел подчеркивает, как она богата. Рэйчел точно не хотела бы закончить эту сцену сообщением о том, что сова искусственная, поэтому и мы не станем.

Давайте исправим диалог. Первое, что приходит в голову - если игрок выбрал “Должно быть, дорогая?”, то не будем предлагать ему вариант “Она искусственная?”. Но тогда получается, что мы заставляем игрока задать вопросы в определённом порядке. Поэтому лучше добавим ещё один вопрос:

Рэйчел: Нравится сова? > Декард: Должно быть, дорогая? Рэйчел: Очень. > Декард: Она искусственная? Рэйчел: Конечно. > Декард: И зачем вы её создали? Рэйчел: Потому что можем.

Это не блестящий вариант, но он доносит суть - а суть в том, что конфликт нарастает. Рэйчел говорит “я лучше тебя”, а это нам и было нужно.

Однако наши проблемы не закончились. Теперь у нас недостаточно вариантов фраз для выбора. Посмотрите, для последней фразы в диалоге у нас всего один вариант - то есть выбора нет вообще. Это всё равно, что написать “Нажмите, чтобы продолжить”. Давайте добавим текст, чтобы вариантов стало больше.

Если игрок выбрал один из вариантов “искусственная” или “дорогая”, то Декард в ответ на фразу Рэйчел скажет “Впечатляет”. Но Рэйчел не станет отвечать на эту реплику, она перейдёт к следующему биту. Это даст нам больше пространства для маневра, куда мы сможем уместить ещё несколько выборов. Давайте добавим ещё одну реплику Декарда: “Я здесь не из-за совы”. Игроку нужен диапазон возможностей самовыражения, чтобы сказать, к примеру, “Мне это не интересно, я хочу двигаться дальше”.

Рэйчел: Нравится сова? > Декард: Должно быть, дорогая? Рэйчел: Очень. > Декард: И зачем вы её создали? > Декард: Впечатляет. > Декард: Я здесь не из-за совы.

Теперь у нас есть три разных варианта: “И зачем вы её создали?” - продолжить диалог, “Впечатляет” - сказать хоть что-то, и “Я здесь не из-за совы”. Когда мы выбираем последний вариант, Рэйчел говорит “Я Рэйчел” - то есть продолжает диалог, сменив тему.

Блестящие диалоги в играх: мастер-класс

Последний вариант - это пример того, что я называю “люком” (trapdoor). Люк - это выбор, с помощью которого можно “провалиться” на следующий уровень диалога. Мы не меняем структуру сцены и при этом даём возможность продвинуться дальше, пропустив неинтересную игроку тему. Такие люки очень просто добавить в диалог.

Давайте добавим его в самое начало:

Рэйчел: Нравится сова? > Декард: Нет.

(смех в зале)

“Нет” - вполне подходящий ответ как для игрока, так и для Декарда, он соответствует настроению сцены. По сути, это звучит как “Здесь я буду задавать вопросы, и я не позволю Рэйчел меня допрашивать.”

Но Рэйчел - та ещё штучка, и в ответ на это она пропускает бит, где называет своё имя, и переходит сразу к атаке, потому что Декард заслужил такое обращение.

Итак, мы используем люк, чтобы пропустить целый бит, и при этом обострить конфликт. Простой, но эффективный приём.

Рэйчел: Нравится сова? > Декард: Нет. > Декард: Она искусственная? > Декард: Должно быть, дорогая?

Теперь у нас есть три варианта выбора. Если игрок скажет “Нет”, Рэйчел перейдет к атаке. Если он выберет “Она искусственная?”, то воспроизведёт сцену из фильма. А вариант “Должно быть, дорогая?” - нечто среднее между первыми двумя.

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

Декард: Она искусственная? Рэйчел: Конечно. > Декард: Впечатляет. > Декард: Должно быть, дорогая? > Декард: Я здесь не из-за совы.

Тут у игрока есть пространство для выражения своих эмоций. Он может сказать “Я впечатлён”, может сказать “Ого. Наверное, ты богата?”, или же “Хватит болтать про эту ерунду”.

Хороший результат. На каждый бит у нас есть три варианта выбора. Три есть правильное количество вариантов, и количество их должно быть равно трём. Два варианта - это бинарный выбор, и игрок ожидает, что один из них правильный, а второй - нет. Четыре варианта выглядят так, будто автор не знает, что делает, и сцена теряет четкость. И ещё один аргумент - люди, которые разрабатывали телефонные меню, давно открыли, что три - оптимальное количество вариантов, чтобы добраться до нужного пункта, не делая слишком длинных или слишком коротких списков вариантов. Математически правильный ответ будет e, то есть 2.71, но и 3 сойдёт. (Смех в зале.) Я придумал эту шутку пять лет назад и рад видеть, что она всё ещё смешная.

Итак, что же мы сделали?

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

“Наша работа - не благо для общества...”

Интерактивная версия примеров из этого раздела - здесь, по ссылке "Interactive Fiction Version: Piece by Piece" - "Our Work is Not Of Benefit..."

Блестящие диалоги в играх: мастер-класс
Рэйчел: Я Рэйчел. Декард: Декард. Рэйчел: Похоже, вы не считаете нашу работу благом для общества. Декард: Репликанты - это машины.

Ещё два бита, но это уже не петля. Это арка, в которой происходит обострение конфликта.

Добавим сюда люк, это довольно просто сделать:

Декард: Я пришел поговорить с Тайреллом. Рэйчел: Он довольно занятой человек.

Декард говорит “Я хочу видеть Тайрелла, мне не интересна беседа с тобой”. Очевидно, что Рэйчел не оставит этот выпад просто так. Но тем не менее - мы продолжаем, отбросив тему про работу, которая является благом для общества.

Блестящие диалоги в играх: мастер-класс

И у нас ещё есть место, чтобы добавить третий вариант. И здесь мы можем дать игроку возможность выразить эмоцию или задать вопрос. На “Я Рэйчел” отвечать не обязательно, но ещё более грубым будет встречный вопрос, что вполне в духе нашего персонажа. Вопрос, который в то же время является нападением:

Декард: Что ты делаешь здесь, Рэйчел? Рэйчел: Я племянница Тайрелла.

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

Вышеприведенная сцена - пример довольно полезного приёма для создания вариантов выбора. Я не слышал, чтобы кто-то дал ему название, да и сам я не мог дать определение, пока не начал готовиться к выступлению - поэтому я решил назвать этот приём “Принять, Отвергнуть, Уклониться”.

Блестящие диалоги в играх: мастер-класс

Рэйчел называет своё имя. Игрок может принять предложение: “ОК, ты назвала мне своё имя, я назову тебе своё”. Может отказаться от него: “Мне всё равно, кто ты такая”. И может уклониться, задав встречный вопрос: “Хорошо, ты Рэйчел, но что ты здесь делаешь-то?”.

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

Рэйчел: Похоже, вы не считаете нашу работу благом для общества. Декард: Репликанты - это машины. Они либо благо, либо угроза. Если благо - меня это не касается.

По сути, этот вариант - “Принять”, и это одна из худших строк диалогов во всём фильме. В ней слишком много слов, она звучит не очень убедительно и не очень образно.

Добавим ещё варианты:

Декард: Вы могли бы делать свою работу получше.

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

Декард: Что вы об этом думаете?

Вариант “Уклониться” довольно простой, здесь он вполне подойдет.

Выглядит уже достаточно хорошо. Но... можно сделать ещё лучше.

Напомню, участники диалога спорят, это атака. Игрок может выбрать вариант “Принять” - отлично, Рэйчел продолжит обострять конфликт дальше. Может выбрать вариант “Уклониться” - но это не сработает, Рэйчел не позволит сменить тему разговора и ответит “Неважно, что я думаю”. Но что Рэйчел сделает, если игрок выберет вариант “Отвергнуть”, пойдя в атаку сам?

Рэйчел - вернее, автор - поступит жестко, и скажет игроку: “Знаешь что? Тебе прийдётся начать диалог заново!” (Крик в зале: “Нееет!”) Самое жестокое, что вы можете сделать с игроком - заблокировать его продвижение, пусть даже ненадолго. И игроки это почувствуют.

Итак, если игрок выбирает вариант “Отвергнуть”, то Рэйчел атакует в ответ, и игрок вернется к предыдущим вариантам в диалоге. Он поймёт, что был атакован, что его атака захлебнулась, и что Рэйчел победила.

Блестящие диалоги в играх: мастер-класс

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

Мы добавим четвертый вариант выбора, который появляется только в случае, если игрок был отброшен в начало петли.

Декард: Когда придёт Тайрелл? Рэйчел: Он знает, что вы здесь, мистер Декард.

Также мы добавим немного вариативности в один из вариантов в зависимости от того, видит ли игрок эту фразу впервые, или вернулся сюда во второй раз:

Декард: {camefrom(->tyrellsays):И что же|Что} вы об этом думаете?

Я считаю, что легкая вариативность фраз в петле позволяет сохранять ощущение новизны. Если сделать текст слишком вариативным, игрок может даже не заметить, что попал в петлю. Если же этим не злоупотреблять, игрок подумает “Спасибо, что дали мне что-то новенькое”. Конечно, с текстовыми диалогами такой трюк провернуть куда легче, чем с озвученными.

"Личный вопрос"

Интерактивная версия примеров из этого раздела - здесь, по ссылке "Interactive Fiction Version: Piece by Piece" - "A Personal Question"

Блестящие диалоги в играх: мастер-класс
Рэйчел: Можно личный вопрос? Декард: Да. Рэйчел: Вы убивали человека по ошибке? Декард: Нет. Рэйчел: С вашей профессией это возможно.

И снова то же самое. В этой сцене происходит постепенная эскалация конфликта. Снова применим технику “Принять, Отвергнуть, Уклониться”. Вариант “Уклониться” будет выглядеть вот так:

Рэйчел: Можно личный вопрос? Декард: Про сову? Рэйчел: Про вас. Про вашу работу.

Отличный вариант! Но Рэйчел не даст сменить тему, и мы вернемся к началу бита.

А вот вариант “Отвергнуть”:

Рэйчел: Можно личный вопрос? Декард: Я здесь не для того, чтобы отвечать на ваши вопросы.

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

Ещё пара улучшений.

{came_from(->owl)} Декард: Моя работа - это не личное. Рэйчел: Не для репликантов, которых вы устраняете.

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

Декард: {opts > 1:Задавайте.|Да}

Лаконичное “Да” не очень хорошо выглядит в петле, особенно после фразы “Про вас. Про вашу работу.”, поэтому добавим вариативность и здесь. Нюансы важны.

"Входит Тайрелл"

Блестящие диалоги в играх: мастер-класс

Входит Тайрелл. Он что-то там говорит, и мы можем ответить:

> Декард: Мы называем это тестом Войта-Кампфа. > Декард: Вы Тайрелл? > Декард: У репликантов нет эмпатии.

Три варианта: принять, уклониться, отвергнуть. Здесь не происходит ничего важного, и мы переходим к кульминации.

"Продемонстрируйте ваш тест"

Интерактивная версия примеров из этого раздела - здесь, по ссылке "Interactive Fiction Version: Piece by Piece" - "Tyrell Wants Demonstration"

Блестящие диалоги в играх: мастер-класс

Элдон Тайрелл - руководитель, король, самый важный человек здесь - собирается заставить нас использовать машину, чтобы протестировать Рэйчел. И здесь мы сталкиваемся с новой задачей. До сих пор мы использовали подход “принять, отвергнуть, уклониться”, но теперь мы не можем позволить игроку не использовать машину. Нам как-то нужно сделать, чтобы у игрока не оставалось иного выбора перед лицом очевидно более сильного NPC.

Эту сцену очень интересно написать, поскольку задача выглядит невозможной. Сцена, очевидно, должна быть интерактивной. Мы не можем дать игроку варианты наподобие “Я ничего не буду для вас делать, вы мне не нравитесь. Прощайте, я ухожу”. Но поскольку автор держит всю ситуацию и всех персонажей под контролем, он может сделать Тайрелла настойчивым и даже агрессивным в достижении его цели.

Я применю простейший приём: Тайрелл будет совершенно игнорировать игрока.

Тайрелл: Продемонстрируйте ваш тест. Хочу увидеть его в действии. > Декард: Где объект? > Декард: И что это даст? > Декард: На вас?

У нас есть три варианта выбора. Использованные ранее варианты будут исчезать из списка - сначала вариантов будет три, потом останется два, а потом один. Независимо от вариантов, выбранных игроком, Тайрелл будет следовать сценарию, выдавая свои реплики в заданном нами порядке, игнорируя игрока.

Блестящие диалоги в играх: мастер-класс

Понимаю, что трудно поверить в то, что это сработает. Но давайте посмотрим. Я намеренно буду выбирать варианты, не повторяющие в точности фильм.

Тайрелл: Продемонстрируйте ваш тест. Хочу увидеть его в действии. Декард: На вас? Тайрелл: Хочу убедиться, что на человеке результат будет отрицательным. Декард: Где объект? Тайрелл: Сделайте одолжение. Декард: И что это даст? Тайрелл: Попробуйте на ней.

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

Блестящие диалоги в играх: мастер-класс

Добавим немного логики в сцену, чтобы исключить варианты, которые не так хорошо подходят. К примеру, вариант “И что это даст?” имеет смысл предлагать только сразу после фразы Тайрелла “Хочу убедиться, что на человеке результат будет отрицательным” - поскольку именно в этой последовательности они звучат наиболее эффектно. Далее, вариант “На вас?” - я выбрал его первым, и результат был не очень хорош, вопрос как будто взялся из ниоткуда. Его будет логично включить в список вариантов уже после того, как Тайрелл сказал про тест на человеке.

Блестящие диалоги в играх: мастер-класс

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

Итак, если Тайрелл только что сказал “Хочу убедиться, что на человеке результат будет отрицательным”, мы можем сказать “Я знаю, что вы не репликант, мистер Тайрелл”, и он ответит “Вы уверены?” Почему бы не отойти от сценария немного, если результат хорош?

Мы можем сказать “Мистер Тайрелл, я здесь по делу”, и тогда Тайрелл пойдет по своему сценарию. Но если мы выбрали этот вариант после того, как Тайрелл сказал “Сделайте одолжение”, то он ответит “Моя работа и есть ваше дело”. Чем хорош Ink - и интерактивность вообще - мы легко можем добавить пару динамических строк текста, если это нужно.

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

Тайрелл: Продемонстрируйте ваш тест. Хочу увидеть ваш тест в действии. Декард: Я знаю, что вы не репликант, мистер Тайрелл. Тайрелл: Вы уверены? Декард: Мистер Тайрелл, я здесь по делу. Тайрелл: Хочу убедиться, что на человеке результат будет отрицательным. Декард: И что это даст? Тайрелл: Сделайте одолжение. Декард: Вы наверняка видели тест раньше. Тайрелл: В исполнении эксперта - никогда. Тайрелл: Попробуйте на ней.

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

Финальные штрихи

Итак, мы это сделали! У нас всё получилось.

  • Мы построили карту битов сцены и придерживались её
  • Добавили люки и петли, но не просто так, а для усиления драматического эффекта
  • Предоставили богатый выбор, не отклоняясь от сюжета - у нас нет вариантов вроде “что вы думаете об этих окнах”
  • Пришли к заданной концовке

Что ещё можно сделать?

Есть множество способов сделать диалог блестящим. Теперь, когда мы понимаем важность подтекста, мы можем переписать неудачные фразы:

“Я здесь не из-за совы.” => “Не люблю подделки.”

повторяя это до тех пор, пока они не станут действительно хороши.

Блестящие диалоги в играх: мастер-класс

Мы можем добавить возражения, которые будут появляться только в определённом контексте, поскольку именно там они сработают лучше всего.

Блестящие диалоги в играх: мастер-класс

Можем добавить разные ветки для разных случаев. Например, когда Декард говорит “Не люблю подделки”, то в случае, если мы уже говорили про искусственную природу совы, будет хорошо, если Рэйчел скажет “Поэтому вы так поступаете с нашими творениями?” и перейдет к следующему биту, пропустив фрагмент “Похоже, вы не считаете нашу работу благом для общества”. В этом случае мы можем пропустить бит, так будет только лучше.

Блестящие диалоги в играх: мастер-класс

Мы можем заменять незначительные слова в зависимости от контекста. Если Рэйчел говорит, что она работает на своего дядю, мистера Тайрелла, а потом говорит “вы не считаете нашу работу благом для общества”, то слово “работа” повторяется дважды. Нехорошо. Пусть в этом случае она скажет “вы не считаете ваши творения благом для общества”. Никто не заметит, что вы заменили слово в одном из вариантов - но всё же лучше это сделать.

Блестящие диалоги в играх: мастер-класс

Отсылки (callbacks). Они позволяют нам избежать проблем с целостностью повествования. К примеру, в нашем диалоге может получиться так, что Декард так и не назовётся, и тогда Рэйчел не сможет обращаться к нему по имени. Но если Декард сказал своё имя, почему бы Рэйчел не использовать это знание в диалоге?

Также они дают нам новые возможности по созданию целостности. Если Рэйчел сообщила, что она племянница Тайрелла, то Декард, сказав “Я здесь не для того, чтобы отвечать на ваши вопросы”, сможет добавить “Чьей бы племянницей вы ни были”. Эта небольшая подколка будет иметь смысл только в контексте.

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

Результат

Интерактивная версия диалога - здесь, по ссылке "Interactive Fiction Version: Full" - "Draft with Nips and Tucks"

Рэйчел: Нравится сова? Декард: Она искусственная? Рэйчел: Конечно. Декард: Не люблю подделки. Рэйчел: Поэтому вы так поступаете с нашими творениями? Декард: Репликанты опасны. Рэйчел: Наши репликанты идеальны. Лучше, чем настоящие люди, как говорит доктор Тайрелл. Декард: А ты что на это скажешь? Рэйчел: Я думаю, для человечества жизненно важно то, что мы делаем. Могу я задать личный вопрос? Декард: Про сову? Рэйчел: Нет, про вас. Про вашу работу. Декард: Я здесь не для того, чтобы отвечать на ваши вопросы. Декард: Чьей бы племянницей вы ни были. Тайрелл: Это будет тест на эмпатию? Тайрелл: Расширение капилляров при так называемой реакции стыда. Расфокусировка зрачка, непроизвольное расширение роговицы. Декард: У репликантов нет никакой эмпатии. Вы не дали им такого свойства. Как и совам. Тайрелл: Пожалуй. Тайрелл: Я хочу увидеть ваш тест в действии. Декард: Где объект? Тайрелл: Хочу убедиться, что на человеке результат будет отрицательным. Декард: Мистер Тайрелл, я здесь по делу. Тайрелл: Сделайте одолжение. > Декард: Вы наверняка видели тест раньше. > Декард: На вас? Тайрелл: В исполнении эксперта - никогда. Тайрелл: Попробуйте на ней.

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

Итоги

Стратегия

  • Ключевые биты
    Не все из них игрок обязан увидеть, но биты должны идти по нарастающей
  • Приём “Принять, Отвергнуть, Уклониться”
    Конечно, он не единственный, но достаточно хорош для агентивности и вариативности
  • Варианты выбора: петли и люки
    Люки ускоряют продвижение, петли замедляют его
  • Добавляйте новые варианты на замену уже виденным
    Старайтесь, чтобы у игрока всегда было из чего выбирать
  • Ограничения: таймеры, принудительный диалог
    Отлично помогают двигать сюжет вперёд
  • Отсылки, подколки и целостность
    Добавить под конец, переигрывая и внося точечные правки

Принципы

Деятельность: игрок должен заставлять главного героя говорить

Агентивность: выборы должны отражать разнообразные подходы

Отзывчивость: на выбор должен быть ответ

Движение: для игрока время должно двигаться вперёд

Ссылки

На этом всё, спасибо за внимание!

194194
34 комментария

Хороший материал. Без воды. Приём и применение на примере. Круто.
Единственное - не камень в огород автора, а моё личное мнение - не люблю вот этот подход с "люками". Он всегда чувствуется в играх типа "кино", и ты начинаешь не говорить, а пытаться угадать, за какой репликой идёт нормальная, наиболее интересная ветка диалога, а не её ужатая версия. И диалог превращается в "постарайся ничего не упустить", если есть петля, и она очевидна (например, выделена цветом) залезаешь в неё намеренно, чтобы получить весь контент.
Наверное, для "интерактивного кино" лучше подхода и не придумали. Но в играх, ориентированных на геймплей у игрока есть цель или несколько целей, и лучше плясать от них. Лично я люблю диалоги в Готике. У тебя всегда есть вариант, который именно тебе хочется выбрать.
Но, повторюсь, материал очень хорош. Побольше бы такого.
Мейк дтф грейт эгейн

26

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

11

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

5

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

6

Я не играла в Одиссею и аналогично ничего не поняла из приведенного диалога. Ни характер NPC, ни отношения с Кассандрой. Главное, что я поняла - что он очень плох стилистически :( 

А в случае с "Бегущим..." да, надо знать контекст, но если знаешь - это блестящий диалог. Во фразе про сову есть и еще один, третий смысл (на самом деле он основной, даже более важный чем богатство Рейчел), который автор не упомянул. Он, правда, сильно спойлерный :)

8

Спасибо добрый человек! Материал отличнейший 

5

Большое спасибо за материал!

4