• Страница 1 из 1
  • 1
Форум » Основной раздел » [Архив] Новостной форум | Инди » [Torment: Tides of Numenera] Разработка диалогов
[Torment: Tides of Numenera] Разработка диалогов

Тридцать восьмое обновление Kickstarter-страницы Torment: Tides of Numenera призвано разъяснить методику разработки одной из ключевых составляющих игры — диалогов. Рассказывает Томас Бикерс:

Некоторое время назад я воспользовался перерывом в своём плотном графике и расспросил Адама Гейне о том, как использовать один из ключевых инструментов, применяемых нами уже довольно длительное время — инструментарий разработки диалогов Obsidian. Этот инструментарий — настоящая находка для людей, не имеющих навыков программирования, таких как я. Он даёт возможность писать диалог и изменять его структуру, синхронизируясь с текущей сборкой на движке Unity. Будучи запущенным одновременно с игрой, инструментарий позволяет вносить изменения в реальном времени, и оценивать их, просто перезапуская диалог с персонажем снова и снова.

Для такой насыщенной диалогами игры как Torment: Tides of Numenera, очень важен хороший инструментарий их разработки. Главной задачей на этапе подготовки к полноценной разработке стала выработка собственных стандартов взаимодействия персонажей и улучшения и без того великолепного инструментария Obsidian. Я хотел бы поделиться с вами основами работы с ним, чтобы вы в дальнейшем понимали, о чём идёт речь.

Начнём с двух основных понятий: узлы и связи. Узлы содержат текст, который вы видите в игре, сама структура диалога состоит из связанных друг с другом узлов.

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

[Torment: Tides of Numenera] На скриншоте: Проектирование разветвлённых диалогов.

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

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

Поскольку диалогам в Torment: Tides of Numenera уделяется самое пристальное внимание, именно условные конструкции стали для нас одной из важнейших функций инструментария Obsidian. С их помощью мы можем выбирать из обширной коллекции предварительно написанных сценариев, используя простейшую функцию поиска: проверять значение пола персонажа, его характеристик, навыков и, конечно, Потоков, появившихся в Torment.

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

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

Вот пример того, как Колин использует дополняющий узел для передачи игроку информации о Джонте в зависимости от значения восприятия его персонажа. Если персонаж игрока соответствует требованиям, текст из узла 1 будет дополнен текстом узла 23.

[Torment: Tides of Numenera] На скриншоте: Развилка в диалоге.

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

В примере ниже, игрок в первый раз видит узел 42, а задав вопрос, в ответ получает узел 45. Проходя по диалогу несколько раз, вместо узла 42 он увидит 43, а на свой вопрос получит ответ из узла 46. Развёрнутый ответ узла 45 будет выглядеть странно для того, кто уже услышал его однажды, в то время как 46 выглядит более естественно (кстати, игрок в любое время может заглянуть в запись диалога и увидеть сказанное ими ранее).

[Torment: Tides of Numenera] На скриншоте: Повторы в диалогах.

Диалоговый инструментарий уже имеет функции последовательных вопросов и не требует создания дополнительных видов узлов, однако такой подход упрощает работу сценаристов, помогая им быстрее писать диалоги. Дополняющие и последовательные узлы улучшили функциональность инструментария Obsidian, за что мы выражаем благодарность нашему талантливому программисту Паоле Риццо [Paola Rizzo].

И последнее, о чём бы я хотел поговорить сегодня — это проверки навыков, также известные в настольной версии Numenera как задачи, или сложные задачи в Torment. В отличие от многих других систем, попытаться выполнить сложную задачу может каждый — наличие соответствующих навыков, предметов или сочетаний внешних факторов увеличивает шанс на успех, но попытаться можно и без них. Сложность задачи может быть изменена в большую или меньшую сторону в зависимости от многих условий: принятых ранее решений, снаряжения, навыков персонажей партии игрока или приложенного Усилия с использованием соответствующего запаса характеристик.

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

[Torment: Tides of Numenera] На скриншоте: Множественные развилки в диалогах.

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

Что мешает игроку пытаться выполнить задачу до тех пор, пока у него не получится? Каждый узел наделяется параметром «живучести». Многие узлы, в том числе и с задачами, имеют значение живучести, равное «единожды», то есть появляются всего лишь раз. Разумеется, существуют такие задачи, для которых параметр живучести не определён, поэтому игрок может пытаться выполнить их до тех пор, пока не преуспеет. Тем не менее, если попытка выполнения задачи была уже однажды провалена, вы должны будете заплатить стоимость повторной попытки (то есть приложить большее Усилие).

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

[Torment: Tides of Numenera] На скриншоте: Огромный ветвистый диалог.

Источник: Kickstarter.

# 1 | , 13:52 | m00n1ight
(Автор темы)
Интересно!!! Думаю, чё ответов нет "писать что ли нельзя?!" 
А нет - оказывается можно. Щас ещё перечитаю, а то что-то я не во все детали въехал.
# 2 | , 10:41 | Астролог
Группа: Неймер
Регистрация: 2014-08-24
Сообщений: 28
Ответов нет, потому что многим и написать что-то лучше "хм, круто зделали, батя одобрил. спасибо за материал" и нечего. Потому что только один человек на сайте более-менее варится в игродельческом котле (второй походу уже сварился), остальные просто сопереживающие.

Ну а по делу: "круто зделали". Все. Никто с настольной Нуменерой не знаком (ибо пдфки делать Куку труднее, чем печатный вариант).
А на счет нод: я так думал, что нечто похожее итак уже использовали. Хотя оно может и по схемам схоже, но работает проще.
# 3 | , 11:43 | Hohenheim
Группа: Фактотум
Регистрация: 2011-01-14
Сообщений: 1674
Да какая разница? Варится-не варится! Даже чисто теоретически это интересно!
Вот у меня в детстве была книга-игра "Странник, изгоняющий мрак". Такая прикольная вещь! Кубин, листок бумаги и вперёд! Остров Гохан и 300 страниц, описывающих путешествие по этому острову. Эдакий Скайрим в виде книги! )))
Вот богатые диалоги в игре - это же здорово! Тем более, чем они реалистичнее, тем лучше.
# 4 | , 12:04 | Астролог
Группа: Неймер
Регистрация: 2014-08-24
Сообщений: 28
Цитата Астролог ()
Да какая разница? Варится-не варится! Даже чисто теоретически это интересно!

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


# 5 | , 12:07 | Товарищ
Спонсор C.O.R.E.
Группа: Фактотум
Регистрация: 2010-12-22
Сообщений: 6552
Цитата Товарищ ()
Мне интересна игра, а её разработка совершенно нет. Так что думаю вы не правы.
Но было бы здорово поучаствовать в создании чего-то подобного!
# 6 | , 12:11 | Астролог
Группа: Неймер
Регистрация: 2014-08-24
Сообщений: 28
Цитата Астролог ()
Но было бы здорово поучаствовать в создании чего-то подобного!

Не интересуюсь. Честно.


# 7 | , 12:14 | Товарищ
Спонсор C.O.R.E.
Группа: Фактотум
Регистрация: 2010-12-22
Сообщений: 6552
Цитата Товарищ ()
Мне интересна игра, а её разработка совершенно нет. Так что думаю вы не правы.
И вы не один такой. Я совершенно безразличен не только к разработке игр, но и к биографии разработчиков, статьям о создании подземелий, водопадных диалогов и прочему. Я даже концепт-документ о Planescape: Torment не читал. Он, наверное, очень интересный, но мне кажется, что намного интереснее поиграть в другую игру, чем читать о том, какие сложности были у младшего помощника главного дизайнера во время создания игры.

По теме: статья о том, как чуваки используют конструкцию if-else для создания интересных диалогов.

Сообщение отредактировал Unknown - Воскресенье, 2015-02-08, 12:24

# 8 | , 12:22 | Unknown
Laughful new troll
Группа: Неймер
Регистрация: 2011-03-07
Сообщений: 854
Цитата Unknown ()
используют конструкцию if-else

Дьявол в мелочах. Эту конструкцию используют во всех диалогах, но диалоговые системы от этого одинаковыми не становятся.
# 9 | , 12:38 | m00n1ight
(Автор темы)
Было бы здорово чисто теоретически создать своё описание (легенду так сказать) какой-нибудь локации и диалоги персонажей, на ней находящихся. Просто чисто теоретически.
Типа "Как бы вы описали такое место как бар "Горящий труп" и какие диалоги создали бы у персонажей, там находящихся?" 
)))
# 10 | , 14:31 | Астролог
Группа: Неймер
Регистрация: 2014-08-24
Сообщений: 28
Цитата m00n1ight ()
Дьявол в мелочах. Эту конструкцию используют во всех диалогах, но диалоговые системы от этого одинаковыми не становятся.
И об этих мелочах - такая здоровенная статья с огромными картинками. Суть статьи заключается вот в чём: "чем больше условий типа if-else в диалогах, тем диалоги лучше, и в нашей игре даже с камнем в лесу можно поговорить 73 способами, какие же мы крутые!".
Ежели вы, m00n1ight, хотите содержательных комментов к такой статье (или, тем более,  к бессмысленной и беспощадной простыне о пещерах в Скайриме), то вам нужен форум любителей разработки ролевых игр. Даже специально зарегистрировавшийся ради этого Астролог не оставил коммента о содержании статьи. Наверное, потому, что такое вообще мало кого волнует.
# 11 | , 01:17 | Unknown
Laughful new troll
Группа: Неймер
Регистрация: 2011-03-07
Сообщений: 854
Цитата Unknown ()
Даже специально зарегистрировавшийся ради этого Астролог не оставил коммента о содержании статьи. Наверное, потому, что такое вообще мало кого волнует.
Папрашу неприличными словами не выражатца моё имя не поминать всуе!
Вот щас перечитаю и что-нибудь скажу. И вы бы тоже самое сделали. всё равно сидите и брызжите слюной, так хоть делаете это по-делу.

про живучесть узлов не совсем понятно - это чтож один раз не получилось - загружай сейф, так что ли? )))
# 12 | , 08:44 | Астролог
Группа: Неймер
Регистрация: 2014-08-24
Сообщений: 28
Цитата Unknown ()
Ежели вы, m00n1ight, хотите содержательных комментов к такой статье (или, тем более, к бессмысленной и беспощадной простыне о пещерах в Скайриме), то вам нужен форум любителей разработки ролевых игр.

Одно не исключает другого, и этот форум отнюдь не состоит из вас с Товарищем.
# 13 | , 09:24 | m00n1ight
(Автор темы)
Цитата Hohenheim ()
один человек на сайте более-менее варится в игродельческом котле
А чего говорить-то. Я такой же штукой пользовался, когда диалоги для своей визуальной новеллы писал. Могу поделиться проблемами, связанными с написанием текстов и интеграцией их в непосредственный билд, когда ты криворукий ламер неопытный разработчик. Но, серьёзно -

Цитата Unknown ()
Я совершенно безразличен не только к разработке игр

...И, что важнее...

Цитата m00n1ight ()
Дьявол в мелочах. Эту конструкцию используют во всех диалогах, но диалоговые системы от этого одинаковыми не становятся.
# 14 | , 10:39 | Ilerian
Вольный
Группа: Неймер
Регистрация: 2012-09-19
Сообщений: 635
Цитата m00n1ight ()
этот форум отнюдь не состоит из вас с Товарищем

Я кагбе ничего против и не имел. Кому интересно читает, кому неинтересно не читает. Вот и весь сказ.


# 15 | , 12:03 | Товарищ
Спонсор C.O.R.E.
Группа: Фактотум
Регистрация: 2010-12-22
Сообщений: 6552
Несколько занудно, но в целом небезынтересно. Лично я после прочтения с немного большим интересом стал ждать новый Torment, ибо увидел основательный, с моей дилетантской точки зрения, подход к работе над одним из важнейших аспектов игры.

"Disco Elysium is cool and all, but you need to be able to throw a fireball into a crowd for a game to be an rpg." © Jvegi, RPG Codex
# 16 | , 12:10 | Протей
Калликантзарос перехожий
Группа: Фактол
Регистрация: 2013-02-18
Сообщений: 3313
Цитата Протей ()
Лично я после прочтения с немного большим интересом стал ждать новый Torment, ибо увидел основательный, с моей дилетантской точки зрения, подход к работе над одним из важнейших аспектов игры.

Именно.

К вопросу о «да здесь банальные иф-элс, развели тут щи на щщах». На банальной иф-элс талантливый сценарист может сделать ого-го, чему есть множество примеров, но здесь мы видим не то что бы совсем одну иф-элс. Здесь есть массивы и селекторы разных видов, которые позволяют не просто выбирать из массива отдельные записи, но и выбирать несколько, строить друг за другом и склеивать их, составляя из кусочков целые фразы, что только обещает Левин в своей новой RPG.

У меня не только захватывает дух от мысли, что можно сделать на такой, довольно продвинутой диалоговой платформе, но прочитав эту статью, я прохожу игры, и невольно отмечаю в диалоговых системах (особенно применяемых в играх Обсидиан) такие же приёмы, и вижу, как эволюционируют их диалоги от игры к игре. Это совершенно новый взгляд, новый слой так называемого «фана», который, возможно, открылся только у меня, но он есть.

Как видите, уважаемый Неизвестный, написать есть чего, если очень захотеть, и я могу написать многое к самым разным новостям, однако новости, которые в гордом одиночестве комментирует один лишь создатель сайта, выглядят ещё более жалко, чем новости без комментариев вообще.
# 17 | , 15:06 | m00n1ight
(Автор темы)
Цитата m00n1ight ()
У меня не только захватывает дух от мысли, что можно сделать на такой, довольно продвинутой диалоговой платформе
Меня вот больше впечатлила связка с рабочим билдом. Т. е., переставил элементы - сразу же отразилось во внутри-игровом диалоге. В Draft'е такой штуке нет... unsure
# 18 | , 16:05 | Ilerian
Вольный
Группа: Неймер
Регистрация: 2012-09-19
Сообщений: 635
Цитата m00n1ight ()
массивы и селекторы разных видов, которые позволяют не просто выбирать из массива отдельные записи, но и выбирать несколько, строить друг за другом и склеивать их, составляя из кусочков целые фразы, что только обещает Левин в своей новой RPG
Как бы вам сказать... Это тоже всё if-else.

Цитата m00n1ight ()
На банальной иф-элс талантливый сценарист может сделать ого-го
То есть, все эти конструкции погоды на самом деле не делают, потому что все эти программерские приблуды - всего лишь инструмент для создания игры. Всё решает сценарий. Поэтому какая разница, с помощью чего игру создавали - оценивать я (да и вы тоже) будете её не за это. Хотя тем, кому нужен ещё один слой фана, такие статьи нужны.

Цитата m00n1ight ()
написать есть чего, если очень захотеть, и я могу написать многое к самым разным новостям, однако новости, которые в гордом одиночестве комментирует один лишь создатель сайта, выглядят ещё более жалко, чем новости без комментариев вообще
Извините за грубость, но ещё более жалко выгдядит создатель сайта, который при каждом удобном случае ноет о том, что никто ничего не комментирует, а сам молчит, как партизан, даже когда новость "дух захватывает".
Видите ли, все конструктивное обсуждение содержания статьи началось потому, что пришёл я и сказал "да тухляк, обсуждать нечего". И тут внезапно оказалось, что есть небезразличные люди, которым есть что мне возразить, и что на самом деле, если собрать в кучу много условий if-else, то в других играх получится бездушный набор условий if-else, а в замечательной обсуждаемой игре получится что-то особенное и душевное, что картинка с ветвями диалога может у кого-то вызывать умиление и радость, хотя, казалось бы, блок-схемы на информатике классе этак в пятом проходят, и так далее.

Поэтому, m00n1ight, я предлагаю вам универсальное решение большинства проблем сайта. В следующий раз, когда у вас зачешутся руки написать на форуме о том, что у нас в темах с новостями как-то пустовато и в комментариях попахивает трупным разложением, лучше откройте самую на ваш взгляд интересную из необсуждаемых тем и напишите там всё, что об этом думаете. И, глядишь, люди потянутся и тоже выскажут своё мнение. Как показывает практика, для начала разговора очень часто не хватает чьего-то мнения, за которое зацепятся другие люди, и обуждение этой новости тому подтверждение. И к чёрту эти комплексы - "я буду выглядеть жалко". Пустые темы с уникальными для рускоязычного сегмента интернета статьями выглядят вообще плачевно. Не нравятся пустые темы? Пишите сами. Problem solved.
# 19 | , 18:47 | Unknown
Laughful new troll
Группа: Неймер
Регистрация: 2011-03-07
Сообщений: 854
Цитата Unknown ()
Как бы вам сказать... Это тоже всё if-else.

А любой текст, состоит из букв. Следовательно, все тексты одинаковы.

Цитата Unknown ()
Извините за грубость, но ещё более жалко выгдядит создатель сайта, который при каждом удобном случае ноет о том, что никто ничего не комментирует, а сам молчит, как партизан, даже когда новость "дух захватывает".

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

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

Видите ли, вот эти самые сообщения за нумером 1, содержащие текст новости — это тоже сообщения на форуме (а ещё это сообщение за номером один существует здесь только потому, что эта тема показалась мне интересной). То есть создав эту тему я УЖЕ, по идее, выполнил поставленные условия. Однако проблем, как ни странно, не солвед.

Я вам больше скажу: у меня, как у человека размещающего большую часть материалов сайта, всегда есть выбор — сделать потенциально интересную новость или настрочить своё никому не нужное мнение. Так вот первое за меня (особенно это касается именно новостей) здесь не сделает никто, зато мнение может оставить кто угодно.

Да и вообще, партизан из меня неудачный:

# 20 | , 18:59 | m00n1ight
(Автор темы)
Цитата m00n1ight ()
А любой текст, состоит из букв. Следовательно, все тексты одинаковы.
Я не знаю, где вы такое прочитали, но я такого не говорил. С другой стороны, с моей точки зрения радоваться из-за диалоговой системы - это как радоваться, что скоро напечатают хорошую книгу и в ней - подумать только! - будут использовать буквы. Главное же - содержание, сами сказали.

# 21 | , 19:44 | Unknown
Laughful new troll
Группа: Неймер
Регистрация: 2011-03-07
Сообщений: 854
Цитата Unknown ()
С другой стороны, с моей точки зрения радоваться из-за диалоговой системы - это как радоваться, что скоро напечатают хорошую книгу и в ней - подумать только! - будут использовать буквы. Главное же - содержание, сами сказали.

Мы просто по-разному смотрим на вещи. То, что диалоговая система будет, мягко говоря, посложнее всяких там Mass Effect и прочих популярных калечных недо-RPG с диалоговыми колёсами, уже радует. Фундамент, понимаете ли.

# 22 | , 20:01 | m00n1ight
(Автор темы)
Форум » Основной раздел » [Архив] Новостной форум | Инди » [Torment: Tides of Numenera] Разработка диалогов
  • Страница 1 из 1
  • 1
Поиск: