5 радикальных идей для диалоговых систем

Оригинал тут. За наводку спасибо данному товарищу. Текст довольно сложный, если будут ошибки, прошу сообщить о них тут же.

5 радикальных идей для диалоговых систем

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

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

Разумеется, в прошлом у древ были разные варианты. Два ранее существовавших новшества, которые первыми приходят на ум: «Ограничение по времени» и «Прерывания». Во втором случае, или игра прерывает вас, либо вы её. Один из примеров применения такой механики – игры от Telltale. В Westerado, можно начать стрелять и остановить диалог.

Давайте же взглянем на эти радикальные идеи для диалоговых систем.

1. Симметричный диалог

Как известно из книги Ричарда Гарфилда «Характеристики игр», симметричная игра — это такая игра, в которой все игроки, в том числе, игровые персонажи обладают одинаковой информацией. В большинстве систем, процесс выбора реплики неизвестен для NPC. Можно представить себе это, как обычный когнитивный процесс, в котором вы думаете, что сказать. Ваш собеседник не будет знать об ответе, который не был выбран.

Но представьте себе, если бы NPC мог предвидеть то, что вы бы хотели сообщить. Предположите, если бы боты имели видимые опции и делали выбор между ними. Что, если бы вы могли видеть выражение их лица, когда они читают и рассматривают каждый вариант? Что если бы они могли обидеться на выбор, который вы сделали, учитывая альтернативы?

5 радикальных идей для диалоговых систем

«Почему ты не выбрал вариант, где написано, что я крутой? Ты не думаешь, что я такой?»

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

2. Деревья внутри деревьев

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

5 радикальных идей для диалоговых систем

Идея «Деревья внутри деревьев» такова, что игрок использует раздробленные варианты, чтобы сформулировать мысль. Используя поиск по фразам, станет возможным сказать, то что требуется. Во время начала разговора, вы уже будете собирать предложение по кусочкам, чтобы ответить. Их длина будет различной, что позволит писателям, при необходимости, не внедрять простые диалоговые деревья. Кроме того, если вы хотите быть особо доброжелательны к игроку, позвольте им «откатываться назад» и изучать все возможности, прежде чем они выскажутся.

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

3. Магнитная поэзия

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

5 радикальных идей для диалоговых систем

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

4. Парсинг в «неформальных» языках

parser/парсер (разборщик, анализатор) — программа, принимающая входной поток и преобразующая его в AST и/или позволяющая привязать исполняемые функции к элементам грамматики

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

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

5 радикальных идей для диалоговых систем

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

5. Выбор по таймингу

Это, по сути, смесь обычного древа и игры Guitar Hero. Представьте себе, что по мере того, как кто-то говорит с вами, различные варианты того, что вы можете сказать, будут появляться на экране. Вам не нужно выбирать между всеми предложенными вариантами. Но NPC будет ошеломлен, при частом перебивании и разочарован, при многократных неловких молчаниях. Поэтому постарайтесь найти наиболее подходящую опцию.

5 радикальных идей для диалоговых систем

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

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

Заключение

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

Если вам нужен совет или помощь в реализации нестандартной системы диалога, пожалуйста обращайтесь.

8989
26 комментариев

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

6
Ответить

Хорошо, постараюсь добавить в течении суток.

5
Ответить

Дом Старр пишет: “Всегда интересно подумать о том, как мы бы могли развить механики диалогов. Ведь разговор - такая важная часть социального взаимодействия человека. Но, кажется, с годами мало что изменилось в том, как мы представляем его в играх!”
Ваша первая идея интересна: Я согласен, что она может показаться немного "искусственной". Особенно если персонаж, с которым вы говорите, демонстрирует осведомленность о выборе, который вы сделали. Но видеть несколько возможных вариантов разговора, в каждой возможной опции сродни взвешиванию последствий сказанного. Это, то, о чем мы думаем, перед тем чтобы произнести наши мысли. По – моему опыту, такого в играх еще не было. Не уверен, что вы представляли себе: если бы NPC обладали одним единственным ответом. Ведь было бы интересно посмотреть на то, что они выбрали. Боты брали бы за основу такие факторы, как текущее "отношение" к игроку, предыдущие выборы в этом или прошлом разговоре, небольшой рандом и т.д. Получается более иммерсивная, нелинейная система.

Не совсем уверен, что второй метод лучше, чем прием с несколькими параллельными опциями в диалоге (и в данном примере очень похожем). Возможность создать что – то новое для игрока, нежели выбор заранее определённой фразы. Sentienta (Psygnosis, 1997) попробовал что-то подобное (в сочетании с возможностью задавать поведение игрока в разговоре!), но на практике это оказалось довольно «угловато». И, насколько мне известно, с тех пор никто не экспериментировал и не пытался усовершенствовать что-то подобное.

Ваши третий и четвертый примеры также напоминают старые попытки изменить подход к диалогу: Например, в Commander Blood (Exxos, 1988!) был некий микс этих приемов. Предложения строились из предопределенного набора смайликов, представляющих грамматические элементы и лексикон. Этакий симулятор универсального переводчика, для общения с инопланетными видами. И (по крайней мере, из вашего примера) четвертый кажется очень похожим на подход LucasArts к таким приключенческим играм, как Sam and Max: Hit the Road (1993) и The Dig (1995), а также к Broken Sword: Shadow of the Templars от Revolution Software (1996). Может быть, я упустил замысел в последней игре!
Мне нравится то, чего вы хотите достичь с помощью пятой механики. Хотя я не уверен, что Guitar Hero идеальный кандидат. Ритм, о котором вы говорите, может быть интерпретирован как более продвинутая система разговора с таймингами и прерываниями. Не прибегая к откровенному QTE, время и выбор ответа будут влиять на то, как проходит разговор. То, что позволит игроку сосредоточиться на повествовании, и возможности к срыву драмы. Касательно ограничений: как геймер отреагирует, если не нажмет на кнопку вовремя (как это сделала бы предложенная игра Guitar Hero)? Я пытаюсь вспомнить, сделал ли это Heavy Rain (Quantic Dream, 2010)? Или это просто усложняет оценку вашего ответа, ведь эти кнопки с репликами то вращаются, то исчезают, то появляются вокруг головы персонажа? Было бы интересно вернуться назад и посмотреть, как в это игралось!

Созрел вопрос касательно Heavy Rain и многих недавних диалоговых систем. Каковы ваши мысли о тенденции к использованию ключевых фраз/слов, вместо полных предложений? Я чувствую, что это, безусловно, способствует оптимизации таких систем и сделает использование таймеров более жизнеспособным (время закончилось, потому что я был слишком увлечен чтением! ужасная досада). Хотя это может привести к небольшому диссонансу, когда мой персонаж будет произносить то, что я совершенно не имел в виду!

Кроме того, что вы думаете о попытках моделирования бесед, в которых несколько собеседников действуют одновременно, в отличие от повсеместной практики, где игрок разговаривает с NPC, и компаньоны встревают в разговор, как по скрипту?

3
Ответить

Вариацию пункта 3 встречал в играх как минимум дважды (Discworld Noir, Detective Grimoire). Оба раза эта система вместо того чтобы добавить интерактивности/иммерсивности и т.п. сводилась к тупому перебору вариантов пока не найдешь тот, который предусмотрел дизайнер.

Да и вообще, чушь какая-то, если честно. Есть классическая диалоговая система. Она работает. Всякие 'оптимизации' типа волшебного колеса Bioware, таймеров, прерываний и прочего только мешают.

7
Ответить

Кстати да. Вне зависимости от игры, эти парафразы только мешают. 

Ответить

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

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

5
Ответить

При разработке игры важны тестируемость и предсказуемость. Только представьте, СКОЛЬКО различных вариантов придётся протестировать перед тем, как выпустить игру, и нет особых гарантий, что игра не сломается во время любого из них. Нейросетки – это хорошо и интересно, но только для вполне конкретных и узких вещей. Я не спорю, когда-нибудь описанный вами вариант наверняка будет воплощён в жизнь, но это будет не скоро, и к тому времени, имхо, индустрия поменяется совершенно.

1
Ответить