Форум » Общеролевой раздел » О жанре » Диалоговая система в CRPG (какой вы хотите ее видеть?) |
Диалоговая система в CRPG |
Безусловная строчная, а ещё лучше, что бы реплики зависели от <<диалоговых навыков>> и <<диалоговых характеристик>>, типа "Красноречие". Также, что бы игрок мог сам формировать реплики персонажа по средствам тех самых "навыков и характеристик". Что бы к примеру реплики в "1" диалоге, влияли на построение реплик во "2", а сам диалоговая система подчинялась персонажу. Принципиально не люблю "эмоциональное колесо", ибо реплики уже зарание выстроены разработчиками, то бишь влиять на структуру диалога мы не можем.
|
В идеале вообще надо, чтобы игрок вводил ответ с клавиатуры, специальный модуль распознавания текста его анализировал и выдавал соот. ответ от NPC, а также "на ходу" формировалась озвучка написанной фразы. Мол ты напечатал, герой проговорил это хорошим пафосным голосом, а собеседник тут же выдал ответ, соответствующий теме фразы и ее эмоциональной окраске.
P.S. Понимаю, что вышесказанное звучит слишком фантастически, но... мечтать ведь не запретишь... |
|
В идеале вообще надо, чтобы игрок вводил ответ с клавиатуры, специальный модуль распознавания текста его анализировал и выдавал соот. ответ от NPC, а также "на ходу" формировалась озвучка написанной фразы. Мол ты напечатал, герой проговорил это хорошим пафосным голосом, а собеседник тут же выдал ответ, соответствующий теме фразы и ее эмоциональной окраске. P.S. Понимаю, что вышесказанное звучит слишком фантастически, но... мечтать ведь не запретишь... Все правильно. Мечтать как говорится, не вредно |
В идеале вообще надо, чтобы игрок вводил ответ с клавиатуры, специальный модуль распознавания текста его анализировал и выдавал соот. ответ от NPC, а также "на ходу" формировалась озвучка написанной фразы. В кои-то веки плюсую Борису! Идеал к которому стоило бы стремиться разрабам. |
В идеале вообще надо, чтобы игрок вводил ответ с клавиатуры, специальный модуль распознавания текста его анализировал и выдавал соот. ответ от NPC, а также "на ходу" формировалась озвучка написанной фразы. В кои-то веки плюсую Борису! Идеал к которому стоило бы стремиться разрабам. Что бы поработать такую диалоговую систему, нужно по меньшей мере 1 - 2 года. К примеру если я скажу NPC "пошел на *уй", то он должен соответственно отреагировать |
Лучше сразу создать искусственный интеллект. До тех пор пока его нету, прописать адекватную реакцию на любую реплику, которая придет в голову игроку - невозможно. Не говоря уже о том, чтобы еще и связать данные любые реплики с ролевой системой.
|
Согласен. Хотя бы сделали так, что все реплики в игре, зависели от персонажа, и структура диалога менялась от выбора реплик в диалогах. К примеру если в начале игры мы выбираем "адекватный" вариант ответа, то в последующих диалогах велось бы развитие этого варианта. А если в начале игры мы выбрали "агрессивный" вариант ответа, то в последующих диалогах, также велось развитие этого варианта. Надеюсь поняли мою мысль.
|
Отыгрыш через такую диалоговую модель (которую привел в пример Amell) может быть в рамках влияния характеристик персонажа на реакцию NPC, т.е. например если я в строке ввода ответа прописываю какой-нибудь симпатичной девушке-NPC-иське что-то типа "эй, детка, пойдем со мной!", то в зависимости от характеристики моего персонажа (например от его "внешности" и/или "харизмы") получаю либо положительный ответ, либо отрицательный.
Еще один вариант - изменять то что скажет мой персонаж в зависимости от его характеристик, например, если я поставлю своему персонажу низкий интеллект, а затем напечатаю "Добрый день! Мне очень приятно с вами познакомиться", то мой персонаж, исходя из характеристики его интеллекта, исковеркает данную фразу (как и любую другую) в стиле "Гыыы, превед! Моя очень приятно!" и в итоге получит соответствующую реакцию NPC. Плюс ответы могут влиять на характеристики, можно же сделать так что если персонаж игрока будет всем хамить, то получит перк "хамло" и т.п. |
Отыгрыш через такую диалоговую модель (которую привел в пример Amell) может быть в рамках влияния характеристик персонажа на реакцию NPC, т.е. например если я в строке ввода ответа прописываю какой-нибудь симпатичной девушке-NPC-иське что-то типа "эй, детка, пойдем со мной!", то в зависимости от характеристики моего персонажа (например от его "внешности" и/или "харизмы") получаю либо положительный ответ, либо отрицательный. Еще один вариант - изменять то что скажет мой персонаж в зависимости от его характеристик, например, если я поставлю своему персонажу низкий интеллект, а затем напечатаю "Добрый день! Мне очень приятно с вами познакомиться", то персонаж, исходя из характеристики интеллекта, исковеркает данную фразу (как и любую другую) в стиле "Гыыы, превед! Моя очень приятно!" и в итоге получит соответствующую реакцию NPC. Плюс ответы могут влиять на характеристики, можно же сделать так что если персонаж игрока будет всем хамить, то получит перк "хамло" и т.п. Главное это грамотно реализовать. В NV есть подобное, привязка определенных реплик к характеристикам и перкам. |
В NV есть подобное, привязка определенных реплик к характеристикам и перкам. Я сейчас не про обычную диалоговую систему (с ней все понятно, имхо), где нам на выбор дают варианты реплик, а про систему в которой игрок сам в строчке ввода прописывает то что хочет сказать. |
Я сейчас не про обычную диалоговую систему (с ней все понятно, имхо), где нам на выбор дают варианты реплик, а про систему в которой игрок сам в строчке ввода прописывает то что хочет сказать. Это я понял. Отчасти в NV это есть, ты говорил про привязку "вводимых слов" к характеристикам. Так вот в NV есть второе, правда там скорее привязка определенных реплик к характеристикам и перкам. |
В идеале вообще надо, чтобы игрок вводил ответ с клавиатуры, специальный модуль распознавания текста его анализировал и выдавал соот. ответ от NPC... Об этом чёрти когда я писал вот здесь. |
В идеале вообще надо, чтобы игрок вводил ответ с клавиатуры, специальный модуль распознавания текста его анализировал и выдавал соот. ответ от NPC, а также "на ходу" формировалась озвучка написанной фразы. Мол ты напечатал, герой проговорил это хорошим пафосным голосом, а собеседник тут же выдал ответ, соответствующий теме фразы и ее эмоциональной окраске. Так-то вот. Эта система и есть по сути ИИ. "- Давайте создадим машину времени. С её помощью мы устроим товарный обмен с прошлым и будем всегда в выигрыше из-за инфляции и изменений курсов валют! - А давайте создадим прибор, превращающий мусор в золото! Так мы решим сразу две наши проблемы! - Я призываю вас к порядку, господа депутаты! Давайте уже прекратим высказывать фантастические предложения и вернёмся к нашей сегодняшней теме заседания. Итак, у кого есть дельные предложения: как нам увеличить бюджет страны?" |
Собственно не отказался бы видеть в диалоговой системе ролевых игр следующее свежее решение:
/forum/18-31-5301-16-1298112994 |
не одобряю прописаных строчек диалога
предпочитаю выбор направления русла диалога или поведение и чтобы движок при этом выбирал наиболее подходящую фразу исходя из предыдущего курса диалога, статов, навыков, даже обмундирования снабжая всё это дело по возможности соответствующей анимацией положим я шпион и пробрался в город одет я не по-местному, но дорого, оружия при себе не имею тормозит меня стражник и тонко намекает, что я смотрюсь здесь неуместно "Здрав будь, мил человек, и откуда это ты к нам пожаловал?" в ответ система предлагает мне варианты развития притворяться/запугивать/изворачиваться соответственно примерно реплики будут примерно такие 1 "Здрав будь, пожаловал я из соседнего Княжества по поручению Купца Кхем-хемского разузнать каких товаров спрашивают здесь. а что и в избытке есть" 2 "Да известно ли тебе, смерд кто я таков, да я князя нашего тайный соглядатай, с дозором по городу иду" 3 "Ой! А у вас молоко убежало! Да и мне пора" как-то так, дальнейшее развитие уже пойдёт в зависимости от выбора и успешности проверки положим, если бы это был не страж, а просто кто-то из граждан, а при героее с собой было бы оружие можно было бы этим оружием тонко намекнуть на серьёзность своих намерений и получить плюс к убедительности. Основное пожелание, конечно - игрок не должен на 100% знать почему возникает та или иная фраза и к какому результату она ведёт, поэтому я и считаю, что было бы хорошо. если бы самой фразы игрок не видел до того как выберет тактику ведения диалога. сильно запуганый горожанин, положим, убежит с воплями и переполошит всю стражу. хотя имеется и недостаток, в виде невозможности в такой системе реализовать разговоры на определённые темы. хотя это можно добавить в виде "расскажи мне о..." как было в первом фалауте и wasteland. |
Badunius, т.е., как в Alpha Protocol?
И всё же проблема таких диалогов в том, что иногда персонаж выдает совсем не то, что подразумевал игрок выбирая то или иное "русло" или направление. Да и философских, многогранных диалогов уровня Planescape: Torment с такой системой не сделать. И никакие кнопочки "расскажи мне о.." тут не помогут. |
не играл =( иногда персонаж выдает совсем не то, что подразумевал игрок выбирая то или иное "русло" или направление попробую перечислить требования к "направлениям" - название должно однозначно характеризовать в контексте последней фразы - двух - набор "направлений" должен соответствовать контексту беседы - набор "направлений" должен соответствовать навыкам, параметрам, экипировке и "осведомлённости персонажа" будут ещё мысли - дополню Да и философских, многогранных диалогов уровня Planescape: Torment с такой системой не сделать. а почему не возможна такая ситуация *сто строк диалога* ... - а как вы считает, уважаемый, есть ли жисть на марсе? [варианты] - восхититься = ("поразительно, что в наше время братоубийственных войн, повального пьянства и блуда, ещё сохранились столь пыткие и не замутнённые мирскими тяготами умы") - усомниться = ("коллега, на данный счёт есть множество теорий, но большинству из них я не склонен доверять") - согласиться = ("ах, право слово, я не знаю как признаться, но по секрету мне сказали, что будто жисть на марсе таки-есть") - осмеять = ("глупец, и как такое в голову взбрести могло, в кругу мужей учёных вы несёте эту ересь! Господа, Вы только послушайте его! На марсе жизнь! Ах право слово") - огрызнуться = ("На марсе жизнь! Подумал бы о хлебе, весь город голодает третий год, пока жируешь ты в своём университете!") это пример абстрактный конечно =) но не нереальный. ах да и ещё одно дополнение к любой диалоговой системе, диалог не должен циклиться. гонять одну и ту же цепочку по кругу это не игра, это манчкинство ещё пример: *нам надо найти какого-то кадраб заходим в таверну, тыкаем в первого попавшегося пьянчугу* [варианты] - вежливо = ("разрешите подсесть к вашему столику") - прямо = ("я кое-кого ищу, ты не поможешь мне") - грубо = ("эй смерд, ответь ка на вопрос") *пьяница поднимает на вас свой мутный взгляд и говорит* - я тоже *ик* его ищу... это мой дааа... дааавний *ик* друг, его зовут... Аль... Аль... Коголь... [варианты] - переспросить = ("простите, я не понял, вы о ком?") - подшутить = ("а, как я смотрю не промах старикан, я подсоблю тебе, когда окажешь мне услугу") - подпоить = ("а если я тебе сейчас устрою с ним встречу? трактирщик! две пинты тёмного сюда!") - пригрозить = ("шутить со мною вздумал старый хрыч, немедленно скажи мне кто такая Всёчобыла?!") - потише *ик* тише, голова и без рычанья твоего гудит... [варианты] - описать = ("три фута ростом, рыжегривый кендер, в районе этом промышляет мелким воровством, где мне найти её?") - усмирить = ("да не трясись ты так, я только пошутил, признаюсь не совсем удачной вышла шутка.") - припугнуть = ("*вы достаёте из запазухи кинжал, молниеносный жест и он на пол клинка в столе пред носом старикана* последний шанс тебе даю или сегодня выйдя из трактира, в него ты никогда уж не войдёшь") и так далее и так далее =) т.е. разная тактика ведёт к разному успеху и разной скорости течения диалога кстати, в процессе написания диалога понял что это напоминает, простите за вульгарность Симс =) т.е. интеракция производится не посредством конкретных фраз, а выбором, ну впрочем я уже об этом говорил =) |
Советую. Если конечно для вас важен сам геймплей и отыгрыш, а не графика и техническая отполированность. В ней есть почти всё, что Вы описали для такой системы. - а как вы считает, уважаемый, есть ли жисть на марсе? [варианты] - восхититься = ("поразительно, что в наше время братоубийственных войн, повального пьянства и блуда, ещё сохранились столь пыткие и не замутнённые мирскими тяготами умы") - усомниться = ("коллега, на данный счёт есть множество теорий, но большинству из них я не склонен доверять") - согласиться = ("ах, право слово, я не знаю как признаться, но по секрету мне сказали, что будто жисть на марсе таки-есть") - осмеять = ("глупец, и как такое в голову взбрести могло, в кругу мужей учёных вы несёте эту ересь! Господа, Вы только послушайте его! На марсе жизнь! Ах право слово") - огрызнуться = ("На марсе жизнь! Подумал бы о хлебе, весь город голодает третий год, пока жируешь ты в своём университете!") Я бы не назвал это дискуссией. Выходит одноступенчатый диалог: вопрос - ответ в виде эмоции/отношения в стиле "согласен"/"не согласен", обсуждения вопроса из такой системы вряд ли можно сделать. |
да я бы тоже =) А: поднимает тему Б: Высказывает своё мнение по данному вопросу А: выслушивает и приводит анализ ответа, при этом возможен переход в смежную тему Б: соглашается или не соглашается с анализом, при необходимости приводит свои доводы, при переходе в смежное русло может высказать как своё мнение по поводу перехода, так и мнение по поводу новой темы *продолжать до бесконечности или пока у кого-то не останется что скзать* всё зависит от глубины проработки в простейшем варианте будет тот самый одноступенчатый диалог |
Badunius, ну хорошо, вот допустим наш ГГ встречает некого философа и тот у нашего персонажа спрашивает: "Как Вы считаете, в чем смысл жизни и почему?"
Как при описанной выше системе предоставить возможность игроку дать именно тот ответ, который он хочет? Ведь нужно не только ответить одним словом, но и обосновать "почему". Т.е. тут уже одного выбора эмоции или "русла" общения будет мало. |
сейчас я вам не отвечу, потому что спать хочу. и завтра не отвечу, потому что буду работать, а потом — бухать. а вот в воскресенье, если звёзды сложатся правильно — нормально покурю и попробую набросать ответ на ваш вопрос.
|
| |||