Я на самом деле не совсем правильно сформулировал идею. Смысл скорее был в том, что ИИ должны обладать не только очевидные мобы, а вообще весь мир. На мой взгляд задача при создании игрового ИИ звучит скорее не как "создать NPC, которые будут настолько умными, что будут казаться живыми", а "создать иллюзию живого игрового мира". Таким образом, не смотря на то что кажется более очевидным научить самих персонажей действовать "разумно", этим ограничиваться необязательно, и можно сделать чтобы сам мир был "разумным" и его элементы "общались" между собой. Пример: игрок атакует ничего не подозревающего моба и тому надо каким-то образом спасаться. И окружающая среда подсказывает ему что делать - большой камень говорит "спрячься за меня", стоящая рядом машина говорит "сядь в меня и уезжай", аптечка из инвентаря говорит "используй меня" причем у разных сообщений разный приоритет. Таким образом можно проще добавлять новые элементы мира и не дописывать при этом каждый раз ИИ мобов. Немного сумбурно написал возможно, но как-то так в общем.
Ryhor1
> непонятно. А чем вы вообще говорите? какой ещё Аквариум?
То есть, вы не изучали проблемы виртуальных миров? Какие-нибудь книги статьи?
Аквариум - это свободно плавающие рыбки в общей локации. "Аквариум" - потому, наблюдать интересно постоянно.
Зоопарк - это отдельные места обитания (прописаны инструкции). "Зоопарк" - посмотреть сходить раз в год.
Вот и получается, в вашем случае, что столкновения постоянно проверяются: по поводу и без повода (инструкции)
Первые попытки реализовать виртуальную жизнь, наделить особь некой волей, всегда держат вектор на коллизии.
Затем и думают об аквариуме, если подросли профессионально.
==
Человек когда просыпается, то его эго не начинает борьбу за определение потребностей.
Если он вышел на работу, он и отправляется на работу - скрипт жесткий. Помешать ему в этом деле могут только те самые элементы среды (см.выше - суть "умных" объектов). К чему это я?
Персонаж наделенный волей на разного рода контакты (и коллизии), реализуются только для одной "комнаты", сравнимо с вечеринкой у кого-то в гостях. Тусовка! Поведенческий механизм только и годен для разного рода СИМсов, когда они возвращаются домой. Внедрения в игры для воссоздания жизни в рамках хотя бы одного населенного пункта требуют другой подход. Нужно четкое разделение слоев: одни будут рабочими муравьями, другие стражи, а третьи... трутни!
Не нужно наделять всех персонажей на эмоции по выборке, из-за которых этот непись может вдруг убить своих друзей или не выйти на работу. Все равно получим рандом и дерганье, в этом случае. Болванчики сталкиваются с каждой сущностью (бац), происходит проверка по каждому вздоху (бям-бям-бям), выкидывается выбор (хрясь), эффект ожидания (хрумсь).
А потом зинь-зинь и все утонули...
Виртуальная жизнь не заключается в поиске АИ навороченном или дать имитацию сознание (зачем вводить эго из соционики?), достаточно прописать слои и придать самобытность настроя и вектора каждой "банды".
Не нужно играть в психологов или психотерапевтов! Не давайте душу мобам, у вас все рыбки в аквариуме сдохнут.
А та последняя которая останется - задушит себя...
Oxeren
> И окружающая среда подсказывает ему что делать - большой камень говорит
> "спрячься за меня", стоящая рядом машина говорит "сядь в меня и уезжай",
> аптечка из инвентаря говорит "используй меня" причем у разных сообщений разный приоритет.
Вообще-то, об этом и речь (тебя прекрасно поняли). Это и есть принцип аквариума.
Там рыбки дуры и говорить не умеют, но идет обратная связь через мир, исходящий через оъекты:) Как и мозг человека!
Когда рыбки умнеют развиваются (в желаемой идеальной концепции), тогда уже идет борьба за власть.
Можно и поэкспериментировать, подбрасывая корм или катаклизмы...
...наблюдаем
Oxeren
Таким образом можно проще добавлять новые элементы мира и не дописывать при этом каждый раз ИИ мобов.
я вас понял, но мне кажется, что предлагаемый вами подход может быть и проще будет, но он не сможет отвечать целям поставленным перед ии.
Если вы почитаете начальные посты или просто название темы, то вы заметите, что моя цель - создать эмоционально наполненного моба. Какая разница, насколько он умный? Меня, например, даже веселит, когда мобы тупят ))) Но вот сейчас эмоции передаются только через заранее написанные квесты и сюжетные линии. А хотелось бы попробовать реализовать автоматическую генерацию игровых ситуаций наполненных множеством различных эмоций. В общем, моя цель - заставить игрока сопереживать моим мобам ))
Почему предлагаемый вами подход не подходит к реализации этой цели? Всё просто: мобы должны быть разные по характеру, мировоззрению и настроению, и получается, что не очень-то и удобно хранить в каждом объекте показатели состояния моба (характер, мировоззрения и т.д.). Как-то так.
D-Prince
То есть, вы не изучали проблемы виртуальных миров? Какие-нибудь книги статьи?
Я никак не научусь правильно составлять запрос в поисковике ((
Если вам не сложно, то за любую ссылку по теме я буду очень сильно вам благодарен.
Болванчики сталкиваются с каждой сущностью (бац), происходит проверка по каждому вздоху (бям-бям-бям), выкидывается выбор (хрясь), эффект ожидания (хрумсь).
А потом зинь-зинь и все утонули...
Вы меня ещё сильнее запутали.
Ryhor1
> моя цель - создать эмоционально наполненного моба.
> моя цель - заставить игрока сопереживать моим мобам.
Это совершенно разные цели.)
В первом Портале был Куб-Компаньон, которому позднее игроки посветили огромное количество фан-атра, не смотря на то, что куб умел только падать на пол.)
(имхо, вообще Портал- отличный пример того, как делать харизматичных мобов вообще без ИИ).
Эмоциональность вызывается не через поведение ИИ, а через выработку эмоциональной связи игрока и НПЦ по средствам "общения".
ЗЫ
Идея выдачи НПЦ патернов поведения через элементы мира- для рандомного окружения- самое то.
Обычный, периодичный выбор действия, завязанный на время суток в игре и/или окончание текущего действия в соответствии с объектами окружения- 95% всего, что нужно для имитации натурального поведения.
имхо.
KaZuaL
Ryhor1
> моя цель - создать эмоционально наполненного моба.
> моя цель - заставить игрока сопереживать моим мобам.
Это совершенно разные цели.)
Тут под сопереживанием я понимаю следующее:
"В сопереживании человек вливается в переживание другого человека, теряя контроль и управление, плывя в общем потоке чувств другого человека. Он соглашается с другими человеком, хочет то же, что и другой человек." http://www.psychologos.ru/articles/view/soperezhivanie_i_vchuvstvovanie
Например, когда вы смотрите фильм, то сопереживаете главным персонажам. В игре такое достигается обычно только тогда, когда сама игра начинает походить на фильм. Я же хочу попытаться создать такой же эффект с помощью более развитого в плане передачи чувств ИИ. Например, отобрали вы у девочки игрушку и она начала плакать. И вам уже как-то не по себе. Что-то вроде этого.
Ryhor1
Эмоции возникают в голове у наблюдающего за проявлением эмоций других.
Поэтому для эмоциональной связи нужно просто демонстрировать игроку эмоции, вызывать их драматургическими приемами (скрипты или ИИ- по фигу).
К слову, в упомянутых КР для этого служили переговоры НПЦ по рации.
ИИ сам по себе ничего не выражает игроку- выражением занимаются звук и визуальный ряд.
KaZuaL
что именно вы хотите оспорить?
Ryhor1
> что именно вы хотите оспорить?
Мне кажется ошибочной постановка вопроса в целом- получить "душевных мобов" по средствам наворотов ИИ.)
KaZuaL
Мне кажется ошибочной постановка вопроса в целом- получить "душевных мобов" по средствам наворотов ИИ.)
Почему? и как тогда получить "душевных мобов"?
Ryhor1
> Почему? и как тогда получить "душевных мобов"?
>> для эмоциональной связи нужно просто демонстрировать игроку эмоции, вызывать их драматургическими приемами
Это включает проработанных персонажей, чей характер выражается по средствам диалогов, мимики и т.п., а также имитацию бытовухи/игровых действий, разговоры между НПЦ.
ИИ в этом плане может быть идейно прост- игрок все-равно никогда не узнает, чем руководствуется НПЦ в плане поведения, поэтому между сложной системой выбора действий и банальным рандомом визуально может быть не заметно разницы и вовсе, имхо.
KaZuaL
> ИИ в этом плане может быть идейно прост- игрок все-равно никогда не узнает, чем руководствуется НПЦ в плане поведения, поэтому между сложной системой выбора действий и банальным рандомом визуально может быть не заметно разницы и вовсе, имхо.
Вот мы и хотим отойти от ручной работы в сторону автоматизации всех этих многообразий поведения.
Мне кажется, рассуждать об эмоциональной наполненности абстрактно от хотя бы общей идеи о геймплее нет смысла. В каких-то играх достаточно скриптов и различных художественных приемов (в широком смысле) - тот же Портал - отличный пример, в других играх, например где подразумевается открытый мир и большая свобода действий, ИИ действительно будет играть большую роль.
Вернусь к обсуждению реализации.
Вначале я думал, что достаточно будет написать набор действий на все случаи жизни и боты будут выбирать из них те, которые больше всего соответствуют важности для бота, настроению, мировоззрению и т.д.
Но сейчас мне кажется, что лучше было бы разделить потребности от набора действий. Всё таки, у потребностей только одна характеристика - степень хотения)), то у действий - это насколько оно удовлетворяет потребность, степень сложности действия(допустим время выполнения), ну и уже названные соответствие настроению и мировоззрению и т.д. Второй вариант просто удобнее. И Oxeren в чем-то оказывается прав...
Далее, сейчас думаю, как бот будет находить "путь" удовлетворения своей потребности. Я думаю для каждой потребности или действия определить какие другие действия их удовлетворяют. А затем определяя, среди тех действий, которые удовлетворяют потребности, находятся выполнимые, если таких нет, то идет поиск среди тех действий, которые приводят к выполнимости хоть одного действия, рассматриваемого на предыдущем этапе.
Т.е. бот должен будет думать так: "я хочу есть. Я бы мог наесться яблоками, рыбой или картошкой, но ничего у меня нету, т.е. ни одно из этих действий невыполнимо. Чтобы выловить рыбу, мне нужна удочка, но её нету. Картошки я вообще нигде не видел. А вот недавно я проходил около яблоневого сада, зайду-ка я туда." И получаем цепочку действий, удовлетворяющих потребность: пойти в яблоневый сад, нарвать яблок, съесть яблоки.
Тема в архиве.