1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

ИИ и нелинейность в РПГ

Автор: DJKrolik · 12 фев 2022 · ·
  1. [​IMG]

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

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

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

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

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

    На скорую руку погуглив про ИИ в играх, нашел только мегадлинные простыни про то, грубо говоря, как шарик решает куда ему катиться.
    У меня запросы посерьезнее. Что если встроить голосового бота в НПЦ, чтобы он мог общаться с игроком? В чем цель большей части времени в серьезных сюжетных РПГ? В познавании игрового мира: отдельных областей, локаций, персонажей. Эту инфу может давать чат-бот? Может. В зачаточном состоянии так или иначе что-то подобное в играх встречалось, просто далеко не уровня современных ботов.

    Чтобы разговор не улетал за пределы игрового мира, вселенной и всего такого прочего, можно ограничивать темы, на которые готов общаться бот-NPC. Главная цель: дать игроку ту инфу, которую обычно дают прописанные диалоги. Тут возникает проблема: как сделать так, чтобы у каждого нпц-бота была определенная инфа, что-то он знает, а чего-то не знает. Можно сделать отдельную систему распределения знаний, банк информации, части которого будут заложены в НПЦ по географическому, интеллектуальному, профессиональному и т.п. признаку. Кузнец из деревни будет знать многое про эту деревню и про кузнечное дело, но мало будет знать про дальний город и про тонокости работы типографии. И на его темы говорить можно бесконечно. Тут же можно привязать и множество влияний на героя: он получает проф. инфу и немного обучается, получая какие-то новые строчки в диалогах, которые он может использовать. Можно пойти дальше и заменить готовые строчки на обычную пустую строку: спрашивай о чем хочешь. Сказал тебе кузнец про Таинственный Замок на северо-западе - можешь спрашивать про этот замок. Можно сделать для удобства такую фичу, как текущая тема. Например, тот же Замок. Начал говорить - и где-то появляется плашка "Таинственный Замок", значит можно писать сообщения типа "как туда попасть?" и кузнец будет понимать, что это про Замок спрашивают, а не про что-то другое. Пока не сбросишь тему - будешь общаться в контексте этой темы.

    Тут еще куча всякого можно придумать, но идея думаю понятна.

    Общение - это еще не все. Должен быть механизм, гарантирующий, что серьезные (и даже не очень серьезные) изменения в игровом мире вследствие наших действий будут адекватно восприняты населяющими этот мир НПЦ. Сколько раз было, когда вы/мы зачищали подземелье, убивали Главного Монстра, выходили наружу, получали приз, но потом где-то в каких-то диалогах вы все еще могли задавать местным тупые вопросы типа "расскажи мне о Монстре, есть ли у него слабые места, как попасть в его логово?", а в случае (не таких уж редких) багов и взять повторно квест на зачистку. Чаще всего мы просто списываем это все на то, что это же игра, но на самом деле это довольно сильно портит сюжет.

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

    Далее углубляемся еще глубже. НПЦ должны не просто быть ходячими справочниками, но иметь некие социальные, политические, расовые и другие особенности. Каждый! Тогда игра будет и разнообразнее и сложнее. Упрощение добрый/злой - это детский лепет, дайте НПЦ больше свободы, чтобы они имели некие принципы, в соответствии с которыми они будут реагировать и общаться. Реалистичность. НПЦ должен не просто иметь некую индивидуальность, но и собственные (да-да), зачастую шкурные, интересы. В связи с этим он может захотеть обмануть главного героя (то есть нас), дать неверную информацию, натравить нас на кого-то ради своей выгоды, подставить, использовать в своих целях. И не потому что в скриптах забита именно такая роль, а все диалоги тщательно прописаны, а потому что он к этому пришел сам в результате развития. Цель, суть, смысл - вот понятия, которых почти лишены НПЦ в играх. Только примитивные цели, только заранее прописанные роли. А что если объяснить им всем, в чем суть игры, какие правила, как тут развиваться и где взять меч +1?

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

    - Вы приходите в деревню, а замок с ценнейшим артефактом уже зачищен. Кто герой? Подмастерье кузнеца, нпц, который раскачался до приемлемого уровня, пошел и вынес там всех. И Алебарду Грозных Событий умыкнул. Кидаетесь к нему, а он на 21 уровень выше вас, и что вы ему сделаете?

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

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

    Сможет ли обычный игрок из мяса и костей соперничать с множеством разномастных ботов, если они всерьез примутся играть по правилам и достигать целей?
    6y3eJIok, Шерсть, Gelior и 2 другим нравится это.

Комментарии

  1. rusty_dragon
    Насколько я знаю, есть восстановленные и доделанные функции A-Life для Сталкера. Где неписи сами берут и выполняют квесты. Оригинальной задумкой игры ещё тогда было позволить ИИ персонажам самостоятельное прохождение сюжетных заданий. Вплоть до того что они могли бы пройти игру вместо игрока.
      beznosik и DJKrolik нравится это.
    1. Просмотреть предыдущие ответы...
    2. rusty_dragon
      На вечеринку по случаю релиза приехал Григорович. Устроил публичный скандал, крича что это его игра, у него движок украли. Его успокоили, и продемонстрировали что у игры абсолютно новый, кроссплатформенный движок позволяющий создавать игры одновременно для приставок и ПК, а также запускать игру в редакторе в реальном времени. Разозлённый Григорович уехал с вечеринки.
      ZoRg и DJKrolik нравится это.
    3. rusty_dragon
      Потом как-то была юбилейная встреча оригинальной команды Сталкера. Туда съехались все причастные: как из студии 4А, так и оставшиеся в студии после исхода, разработчики Сурвариума. Григорович не приехал. Хотя его приглашали.
    4. ZoRg
      ааа... понятно. но я смотрел интервью с разработчиком 4А и он говорил, что они ушли тогда, когда все уже было готово. оставалось только выловить баги и все такое, то есть их работа была завершена уже, и игра вышла в том виде, в каком закончили ее они.
  2. A National Acrobat
    Кирилл уже дЖвадцать лет ждёт игру своей мечты.:lol:

    А если серьёзно, то что-то похоже сделали Monolith в своей системе Nemesis в игре по Властелину колец. Но, естественно, не в таких масштабах.

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

      Зато убили игровой баланс микротранзакциями и игру денувой обмазали. А сейчас Warner Brothers принадлежит AT&T, и её сливают с Discovery.

      А, ещё систему Nemesis в итоге запатентовали. Копроративный мир в худшем виде.
  3. beznosik
    Самый лучший ИИ который я видел в играх это первый F.E.A.R. В остальных играх болванчики. Ну может разве что в Сталкере, НПС пытались себя вести по человечески, но получалось так себе
  4. Strannik_
    Дело в том, что нет никакого ИИ.
    Есть программы - конечные автоматы, разбавленные (псевдо-)случайностями. Можно задать такой программе несколько конечных целей с возможностью выбора соответственно ситуации. Всё. Программа не может "придумать" цель.
    К слову, даже поведение, основанное на чистой случайности, может казаться игроку осмысленным.
      Alex Range, Alex Ghoust, Gelior и ещё 1-му нравится это.
    1. Просмотреть предыдущие ответы...
    2. Strannik_
      В случае большого количества целей, выбираемых с некими заданными вероятностями, поведение персонажей станет "аморфным", "серым". Вероятность появления экземпляра с редкой удачей или эпического героя стремится к нулю. Над интересным поведением должен работать человек и для человека. В то же время, человек (разработчик, сценарист, режиссёр) ограничен: ему сложно вести несколько параллельных вероятностей без ошибок.

      Для генерации случайных чисел используют в основном два способа.
      Первый - получают псевдослучайные числа или последовательности как результат математических функций. Хороший пример - генерация вселенной в Elite. Одним из побочных эффектов, который можно обойти, является повторяемость.
      Второй - аппаратный, основанный на преобразовании различных хаотических процессов нашего мира в последовательность (действительно) случайных чисел. Чаще используется в криптографии в виде отдельного оборудования. Например, карт расширения.
      DJKrolik нравится это.
    3. DJKrolik
      В случае большого количества целей поведение может быть каким угодно. Ведь не то чтобы они будут каждый раз делать выбор, можно запрограммировать и некий условный набор развития, при котором с максимальной вероятностью НПЦ будет развиваться более-менее предсказуемо. Так что это тоже все настраивается. НПЦ могут как аморфными быть, так и наоборот: слишком яркими.
      Собственно, если создать такую систему, что потребует конечно колоссальных затрат, то потом можно будет только уже крутить некие внешние настройки, вешать грубо говоря сценарии на НПЦ, группы сценариев на группы НПЦ, типа того.
      Интересность поведения - тоже штука неоднозначная. Безусловно, глубоко проработанный сюжет это хорошо. А у нас тут наоборот - постоянная генерация и рандом. Значит надо экспериментировать в других аспектах игры. Можно, опять же, некоторые глобальные и/или ключевые вещи оставить нетронутыми, но лучше поработать над стилистикой. Добавить красочки, например сделать полностью планету уголовников, как в Санитарах подземелий. Можно сделать другие планеты или города, каждый со своей особенностью, как в Анахронокс, ну и население естественно тоже.
      Естественно я больше в шутку этот пост написал.
    4. Strannik_
      Хорошим примером персонажей с генерируемым поведением является SIMS. У персонажа есть набор потребностей и желаний (целей) и возможность выбора между ними по мере необходимости, основанном на нечёткой логике. Вполне приемлемое заполнение мира активностью.
      Однако, всё их поведение нельзя запрограммировать вне задач типа "пойди принеси". Целенаправленно решать логические задачи (эээ... тут правильнее сказать не логические, не основанные на формальной логике) такие персонажи не способны.
      DJKrolik нравится это.
  5. 6y3eJIok
    Нейросеть, наверное, можно натренировать побеждать. Вопрос в том, как сделать все это интересно и будет ли такой AI нужен игрокам.

    Когда разработчику Polaris Sector на форуме игры написали, что неплохо было-бы улучшить AI в боях, он на это ответил, что не будет этого делать, потому что игроки не любят проигрывать.
    Тогда меня такой ответ возмутил (вот гад, не хочет игру лучше делать!), но подумав и посмотрев, как игроки реагируют на поражения я понял, что он прав.
    Правда в том, что большинство в игры приходят за победами и контролируемым окружением, и проиграв AI, они не скажут себе "Я был недостаточно хорош, мне нужно лучше разобраться в игре, понять, что я сделал не так."
    Нет. Большинство - будут злиться, кто-то впадет в истерику, а кто-то даже пойдет в Стим и напишет негативный, ничего не объясняющий толком обзор, где будет ругать "неправильный геймдизайн" и "тупой AI, которому насыпали бонусов". Можно легко представить себе реакцию разработчика, который потратил много своего времени на написания и отладку AI, когда он прочитает подобное.
    Все это я наблюдал на примере Pandora, у которой лучший AI среди виденных мной 4х стратегий. Игроки, по привычке выставив нормал или хард, тут же эффективно получали в лоб, а оценка у игры постепенно падала. Они даже выдумали термин dogpiling, под которым подразумевается, что разные AI, оценивая и сравнивая свои силы с окружающими, и видя, что этих сил меньше всего у игрока - разом нападали на него. Но суть в том, что у AI нет никакой особенной ненависти к игроку, он просто оценивает силы и действует исходя из наиболее выгодной ситуации для себя. Т.е. игровая система честная, а игрок просто оказался слабейшим среди всех. Но это вовсе не мешает требовать исправить эту "недоработку". В результате разработчику пришлось отуплять AI, перемещать уровни сложности вниз и вводить дополнительные ограничения. И это не какая-то одиночная история, в индустрии такое происходит постоянно.

    Quake проиграл Counter Strike потому что в нем не на кого переложить ответственность. По той же причине, задолго до появляения Доты, классические режимы RTS растеряли всю свою недолгую популярность.
    Большинству не нужен хороший AI, и даже большинству из тех кто пишет про плохой AI - тоже не нужен (этим они только поглаживают свое ЧСВ, "смотрите какой я вумный!"). А нужен театр, игра в поддавки.
    Что я подразумеваю под хорошим AI. Такой, который хотя бы умеет обращаться с игровыми механиками без вреда для себя. Оценка окружения и правильная постановка задачи - вообще недостижимый космос. И в идеале, в игре не должно быть механик, работающих по разному для AI и игрока.
    Чем больше возможностей в игре - тем сложнее задача по написанию и отладке AI. Любое, даже на первый взгляд само собой разумеющееся дополнение, требует большой работы. И любое дополнение увеличивает последующие объемы работ (потому что хорошая игра - это взаимосвязанная система). Вот, допустим, взять вторую часть Age of Wonders. В ней есть юниты с инвизом и AI игнорирует инвиз (всегда их видит). Попробуй представить себе, как в такой игре написать AI, чтобы он хоть как-то более-менее эффективно справлялся с подобными юнитами. Вот нанимаешь ты дешевого, незаметного эльфийского разведчика и начинаешь "шакалить" им по краям, захватывая объекты, откусывая то тут шахту, то вот здесь башню. Как нужно написать AI, чтобы он умел отлавливать таких шакалов и в то же время сохранял свои войска для остальных задач (эффективно не дробил их)? Это непростая задача, мягко говоря.
    Получается в итоге следующее.
    а) Хороший AI возможен в "простых" системах. Наращиваешь возможности - ухудшаешь способность AI справляться с ними.
    б) Для написания и отладки AI требуется уйма сил и времени, но игрокам это не нужно. Они даже не отметят всю эту работу.
    в) И ко всему этому - привлекательное зло DLC, и прочий загружаемый "контент". Xорошая игра - это взаимосвязанная система. Невозможно сделать хорошую игру, когда вместо отладки и доработки базы, к ней сбоку постоянно добавляются вторичные, неработающие толком механики. Некоторые игры целиком состоят из таких механик. Это механики дают преимущество игроку, но AI почти всегда не умеет с ними обращаться, максимум имитировать. И эти игры прекрасно продаются, игрокам такое нравится.

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

    И еще по поводу интерактивности. Мне такое всегда нравилось, но в тоже время есть много таких, кто терпеть не может, когда в игре что-то идет не так, выходит за пределы контроля.
      A National Acrobat и DJKrolik нравится это.
    1. Просмотреть предыдущие ответы...
    2. rusty_dragon
      >Но ты ведь все равно не будешь играть.
      Почему?
    3. 6y3eJIok
      @rusty_dragon, такое у меня впечатление сложилось, что тебе интереснее читать и транслировать прочитанное, а не играть.
    4. rusty_dragon
      И совсем напрасно. У меня много часов наигранно ещё в старые цивилизации. И сегодня в 4х поигрываю. Конкретно Conquest of Elysium. Ещё вот приглядел Imperiums: Greek Wars. По последней возможно будет отчёт как руки дойдут.

      А мнениями я вполне искренне интересуюсь.
      6y3eJIok нравится это.
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление