Читаем Игра. Странник. Фэнтези (СИ) полностью

   Так. Здесь вроде все понятно. Но. Чтобы перс в отсутствии хозяина, или бот, могли выполнять хотя бы элементарные действия, нужна подпрограмма, которая бы отвечала за это. Пару строк кода, диктующие боту те или иные действия. Встретил бот разбойника - бежать. Хмм. Или сражаться? Да и разбойник ли это. Пожалуй, в пару строк кода не уложишься. Необходим полноценный модуль, который в зависимости от поступающих данных и имеющихся навыков, предпочтений и чего-там-еще, плюс какой-то процент рандома, принимал бы решение о действиях и производил их. Но все боты разные - воины, торговцы, крестьяне. Одинаково реагировать не могут. Следовательно, поведенческая матрица для разных сословий должна быть разная. А для большего интереса и правдоподобия, у каждого бота должна быть своя. Некое подобие искусственного интеллекта. То есть где-то в оперативной памяти сервера работает маленькая такая подпрограммка - типа "мозга" бота. Вернее их много - для каждого бота своя. И для персонажей тоже. Только у персов ИИ послабее, ведь его поведение определяет игрок. Можно сказать, что игрок это основной подключаемый модуль модуля ИИ перса.

   И что мы получим, если один бот, пусть будет селянином, встретит другого - разбойника? Данные (забудем на время, что все это только картинка) о внешнем виде, вооружении, поведении разбойника поступают в подпрограмму ИИ. Из базы данных вытягиваются характеристики, умения бота, его вооружение на данный момент. Можно добавить рандом в качестве чувств. Испугался - скорее побежит, чем будет сражаться. Злой - наоборот. Еще бы характер сюда примешать. Но это уже будет сильно круто, замечтался. Все это обрабатывается по какому-то алгоритму и принимается решение о нужном действии. На мониторе мы видим дающего стрекача бота. Но стрела быстрее летает, чем он бегает (закон физики, хоть и смоделированный). Координаты наконечника стрелы совместились, скажем, с бедром бегуна. ИИ пришли данные о повреждении. В принципе, ИИ не в состоянии оценить степень повреждения. Ведь у него отсутствуют данные о степени остроты наконечника, силе удара и некоторые другие. Либо он должен иметь доступ к этим данным, либо информация о критичности повреждения приходит со стороны. Ну, тут работает модуль взаимодействия. Просто интересно рассмотреть работу ИИ. Получив информацию, ИИ дает команду упасть или еще чуть проковылять в зависимости от степени повреждения. У перса бы было видно на экране падение некоторых характеристик. Упавшего бота прирезал разбойник. Тут "смерть" реализовать можно по-разному. Либо сам ИИ запускает программу стирания данных из БД и удаления себя самого из области памяти, либо за него это делает другой модуль. У перса же ничего не удаляется. Происходит лишь временная блокировка ИИ. Он отрезается от БД и прочей инфы до воссоздания "тела" с другими координатами нахождения. Смысл стирать, если тут же надо опять создавать? Впрочем, при избыточных ресурсах памяти, можно и ИИ ботов не стирать. Ведь возобновляется же как-то их количество. Зачем опять затрачивать время процессора на стирание-создание? Эту бесхозную область можно и другому боту подсунуть. Новенькому. Но это уже зависит от реализации и полета мысли разработчиков.

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

   Отвлекшись от мыслей, Виктор заметил, что успел добраться до дома, чего-то пожевать и, лежа на диване, тупо пялится в телевизор, совершенно не вникая в то, что там идет.

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

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

   В уже засыпающий мозг протиснулась вялая мысль: "У Кастанеды тоже что-то было про человеческий шаблон. Не помню какие у того шаблона функции. Шаблон это что? Это образец. Матрица. А там? Не помню".

Перейти на страницу:

Похожие книги