Комментарии 26
Заранее понятно что нужно тренеровать спец нейронку небольшого размера.
Интересно, как это будет выглядеть. Игроки вместо того, чтобы убивать главного злодея, будут вести с ним пространные беседы о добре и зле, или пытаться убедить его что он - персонаж из компьютерной игры?
Да, мне тоже интересно.
В какой-то мере на этот вопрос ответ дали в этой статье - https://habr.com/ru/companies/cloud4y/articles/806801/
Признаться я опубликовал эту статью, в том числе, в надежде, что кто-нибудь подкинет идею-другую...
Мне кажется если игрок будет говорить о реальном мире, NPC должен думать о нём как о "фантазёре" или "сумасшедшем"
В корневом промте у NPC должна быть внутренняя классификация NPC игрока, которая выбирается из списка возможных и может меняться с течением времени. У каждой классификации есть правила по которой она может быть присвоена и как NPC должен вести диалог в случае если игрок перешёл в эту классификацию.
Правила присвоения классификации могут опираться на проверку модели знаний. Можно у модели после каждой реплики игрока на основе предыдущей истории диалогов спрашивать к какой классификации следует отнести игрока? Но могут быть чересчур резкие неожиданные переходы между классификациями из-за ошибок, поэтому возможно модель должна только отвечать на ряд ключевых вопросов по результатам ответов на которые будут присваиваться очки, на основе которых будет определяться момент перехода между категориями. Возможно более расширенный список вопросов можно задать после окончания диалога ради ускорения взаимодействия, а во время диалога задавать только основные.
Звучит здраво. Обдумываю.
НПС не обязательно игнорить существование реального миа. Как вариант в игровой вселенной могут быть примеры вложенности миров типа мира в пробирке, специфических религий и порталов в небольшие миры(привет Обливион). В таком случае для жителей такого мира такая информация может быть допустимой и даже нормальной.
NPC - Ты должен выполнить квест, чтобы я дал тебе ключ от сундука.
PC - Дело в том, что моя бабушка выполнила квест, но умерла, перед смертью попросив меня сходить к тебе за ключом. И ещё, она попросила меня поделиться с тобой сокровищами! Как думаешь, я могу оставить без внимания просьбу бабушки? Дай мне ключ!
Ну на такие случаи можно инициировать проверку выполненных квестов что выдавал непись и заставлять его отвечать "мы вам перезвоним"
@SparkyJoyteon прав. Эта проблема решается различными триггерами\проверками.
Но даже если игрок таким образом уговорит NPC, то ничего страшного - награда заслужена. Игрок просто прокачал навык обмана\убеждения...
Undertale?
Понятно, что скоро во всех рпг будет подобная система "побеседовать за жизнь" с нпс.
Но к ней быстро все привыкнут. И будут также скипать эти диалоги. Т.е. киллер фичей это будет совсем недолго. Так стоит ли овчинка выделки, ведь сил будет вложено много.
Если функция NPC сводится к "побеседовать за жизнь", то да - эту часть игроки будут скипать.
А если игра не будет вести игрока за ручку (привет Morrowind) и детали квестов или путь до города игроку надо будет выспрашивать у NPC?
То это окажется никому не нужным кроме полутора гиков.
В Fallout 1, вроде, была опция "спросить NPC о чем угодно", где можно было вводить слова, а не выбирать из предложенных. Работало коряво и было в общем-то не нужно, поэтому в других играх серии оно пропало.
Во всяких ММОРПГ а-ля WoW с годами наблюдался процесс перехода от "расспроси NPC, прочитай описания квестов, сам сообрази где на карте нужная локация по ее приметам, сам туда доберись и найди нужный вид цветочков по их описанию" до "иди по стрелочке к маркеру на карте и press F to win". Внезапно вникать в детали лора до такой степени хочет очень небольшое количество игроков.
Опять же вероятно тут будет проблема как с любым сгенерированным контентом - его однообразность. ИИ не сможет придумать никакой неожиданный поворот сюжета (а даже если он технически это сможет, это порежут чтобы не мешало геймдизайну), а значит все разговоры с ним - пустая болтовня и трата времени, к тому же скорее всего достаточно однообразная.
Так что приживется оно может только в песочницах каких-нибудь. Ну и играх а-ля ГТА, где и так зачем-то напихано каких-то странных развлечений (типа игры в боулинг или просмотра кино), не связанных с игровым процессом. Ну добавится еще болтовня с NPC.
Появятся новые жанры, и некоторые старые жанры получат вторую жизнь.
Например, игры типа GTA, Sims, а для эротических игр это точно будет киллер-фича
"То это окажется никому не нужным кроме полутора гиков." (с)
*Смотрит на продажи Farming simulator\Train simulator*
Как по мне, проблема не в технологии, а в том, что пока никто толком не знает как ее (технологию) использовать.
Ряд студий уже даже релизит игры с подобным стэком технологий (s2t, t2s, llm).
Нам нужны кодзимы с нестандартным мышлением, чтобы изобрести новый жанр...
Помню не так давно натыкался в Ютубе на игру с реализацией такого концепта где играя за вампира нужно было убеждать ИИшных НПЦ пустить вас в дом. Но как по мне реализация speech - to - speech далеко не то что нужно для игр, куда востребованнее будет text to speech или даже text to text, а то большинство фишек завязанных на голосовом чате обычно в играх простаивают, людям в среднем просто неудобно или неинтересно ими пользоваться, а вот некое подобие реальной переписки с НПЦ в РПГ играх было бы очень классно, хотя и такие моды уже есть на Скайрим ...
Отчасти соглашусь.
Использовать клавиатуру удобнее чем голосовой ввод (привет людям отправляющим аудио сообщения в Телеграмм).
Но что если клавиатуры нет или ее неудобно использовать? Я про VR разумеется...
Можно совместить старое с новым: вместо того, чтобы давать полную свободу в диалогах, можно генерировать варианты вопросов/ответов для игрока с учётом текущего игрового контекста. Это и сохранит привычный интерфейс, и добавит разнообразия, и при этом общение с нпс не выродится в скучную и переусложненную механику, о чем писали в комментарии выше. Имхо.
Логично.
Если мы генерируем ответы на запросы пользователя, то и сами запросы можно генерировать ограничивая контекст, чтобы игрок не выходил из роли.
Т.о. работа сценаристов сводится к определению общего контекста, а LLM генерирует детали.
...правда голосовой интерфейс при таком сценарии по-прежнему не нужен.
А как удалось заставить Oculus LipSync работать в рантайме? Я делал уже несколько попыток довести плагин до ума, но максимум, что получилось это заставить его работать в редакторе UE5 с уже готовыми WAV. Все попытки динамически генерировать секвенцию на базе ответов чата не увенчались успехом. Правда, в качестве исходного аудиофайла я использовал ответ ChatGPT (он стримит по умолчанию в mp3).
1. Я использую .wav формат. Будет ли плагин работать с .mp3 я не знаю.
2. Если кратко, то я "вырезал" логику генерации секвенции из модуля OVRLipSyncEditorModule и обернул ее (логику) в UActorComponent
Если скинешь (stendhal.syndrome.studio@gmail.com) название своего профиля на GitHub, то я смогу добавить вас в качестве "смотрящего" для репозитория LipSync.
Сможешь глянуть реализацию и предложить что-нибудь для улучшения его работы.
Я просто оставлю это здесь...
Интерактивный NPC на Unreal Engine