Выбирай : Покупай : Используй
обзоры
0

Боевые хитрости Выпуск 1

Премудрости создания искусственного интеллекта в играх
Страница: 1: Теория тупого бойца
Страница: 2: Каменный век и Раннее средневековье
Страница: 3: Позднее средневековье и Эпоха возрождения
Страница: 4: Современность и Будущее

Пожалуй, ничто так не оживляет игровую атмосферу, как грамотно продуманный, оптимально сбалансированный и, что самое важное, интересный искусственный интеллект окружающих главного героя персонажей. Проходит время, сменяются игровые эпохи, но неоспоримым остается тот факт, что какими бы навороченными или продвинутыми не казались физика и графика, а главной, можно сказать, доминирующей фишкой любой игры все же является динамичный игровой процесс, призванный всеми силами не позволять геймеру скучать. Но задумывались ли вы во время очередной перестрелки с компьютерным неприятелем, какие «мысли» бродят в его голове, и насколько тяжелые муки испытывает процессор, выбирая из кусков программного кода необходимые решения, дабы выдать достойную реакцию на ваши действия. Товарищи бойцы, предлагаю вашему вниманию рассказ о том, как создается то, что мы впоследствии нарекаем искусственным интеллектом (ну или тупыми ботами, кому как удобней).

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

Теория тупого бойца

Чтобы происходящее на экране монитора действие не навевало скуку и хандру, на виртуального противника возложена очень благородная и важная миссия: не давать геймеру расслабиться. Поэтому сам ИИ (искусственный интеллект) или, как его еще называют, AI (artificial intelligence), должен не просто присутствовать в игре, а еще и (далее цитирую дословное научное определение) «моделировать разумное поведение с помощью компьютера». На первый взгляд, конечно же, ничего из ряда вон выходящего — просто не давать геймерам заскучать, хотя бы на первых порах…

Однако что мы понимаем под разумным поведением? Логично будет считать таковым поведение, характерное нам самим же, то есть, обычным людям. Понятное дело, что научить компьютер выполнять какое-либо действие особых трудов не составляет (например, метко стрелять игроку в голову или запомнить самый короткий маршрут до какой-либо цели на уровне). Но вот будет ли интересно соперничать с таким, мягко говоря, непобедимым противником? Думаю, что не очень. Итак, приходим к выводу, что зачатками разума обладает не тот компьютерный соперник, который знает больше, чем вы, а тот, который в любой момент имеет возможность ошибиться, как и обычный человек. (Исключением, пожалуй, можно считать различные виртуальные азартные игры, тут любая ошибка компьютера может оказаться для него роковой).

Так вот, чтобы добиться от ИИ подобного «разумного поведения», необходимо изначально заложить в поступки какого-либо объекта (запомните этот термин, впоследствии под этим словом будем подразумевать любое существо в игре, обладающее интеллектом) определенные погрешности, некие лазейки, через которые игрок получит возможность справиться с постигшими его трудностями. Проблема заключается в том, что слишком явные «ошибки» в поведении противника тоже неприемлемы, так как это может банально закончиться слишком легким и, соответственно, неинтересным прохождением (думаю, примеры приводить не стоит, и так каждый с этим сталкивался). Поэтому игростроителю необходимо, балансируя на грани сложности и проходимости, искать ту самую золотую середину, способствующую интересности действа на экране, а это, согласитесь, уже искусство.

Итак, а теперь задумайтесь, справедливо ли обвинять в очередной раз не успевшего оказать достойное сопротивление виртуального бойца в тупости, если эту самую тупость ему заранее привили разработчики, дабы нам было интереснее играть? Однако дело не только в этом, как и всякое порядочное разумное существо, ИИ игрового персонажа должен не только иметь определенные бреши, но и логично вписываться в окружающий его виртуальный мир. И не просто распознавать все существующие рядом объекты и явления, но и наиболее реалистично и, что самое важное, правдоподобно с ними взаимодействовать. Но человек — слишком эгоистичная натура, посему ни разу не попытавшись (даже ради интереса) самолично спрограммировать хотя бы подобие виртуального разума, привередливые геймеры прилюдно понукают искусственных противников в неспособности утолить их игровой интерес. Но ничего, одной из целей данного материала как раз и является донесение до сознания нерадивых товарищей трудности разработки игр. Далее речь пойдет о методах реализации всех затронутых выше проблем.

Изобретая искусственного идиота

Прежде, чем перечислять существующие технологии, стоит пояснить, что в профессиональных кругах игровой ИИ по умолчанию подразделяют на локальный и глобальный. Первый отвечает за отдельный объект (частные случаи); второй следит за игровыми событиями в целом (глобальные ситуации).

Атакующий вас вражеский солдат, парящая над игровой зоной птица или прущий напролом грузовик — это все отдельно взятые объекты, непосредственные представители локальной системы. Объекты данной системы состоят из четырех основных элементов. Первый элемент — это сенсор или система ввода информации, благодаря которой объект воспринимает окружающую его действительность. Данная информация об окружающей действительности записывается в память — второй элемент. Далее следует модуль принятия решений (третий элемент), который на основании первых двух элементов размышляет о том, что делать дальше. Ну и, собственно, четвертый элемент — система вывода, то есть, реагирования объекта на принятое решение. Предположим, в зоне видимости патрулирующего местность солдата появился неприятель, после недолгих размышлений и сравнений принимается решение (допустим, стрельба), которое тут же реализовывается.

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

Страница: 1: Теория тупого бойца
Страница: 2: Каменный век и Раннее средневековье
Страница: 3: Позднее средневековье и Эпоха возрождения
Страница: 4: Современность и Будущее

Как закалялся компьютерный разум

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

Каменный век: прелести хореографии

Пожалуй, дабы вникнуть в логику самой первой технологии, придется мысленно перенестись назад, в те, уже кажется далекие и безвозвратные времена, когда некое подобие компьютеров существовало, но мощность их была настолько ничтожно мала, что ее едва хватало на реализацию достойной картинки на экране, куда там до реалистичной симуляции разумного поведения. Однако игры того времени явно трогали толпу не крутыми графическими фишками, а захватывающим дух геймплеем. Как же «первобытным» разработчикам это удавалось?

Ответ довольно прост, после пары бессонных ночей в раздумьях над тем, как же сэкономить драгоценные мегагерцы, CHOREOGRAPHED AI игростроители все же нашли выход. Было решено, что поведение объекта просто-напросто надо фиксировать, и какие бы действия не предпринимал игрок, «первобытный» неприятель неизменно двигался по определенному маршруту. Данная технология носила довольно звучное название CHOREOGRAPHED AI. Подобным «интеллектом» обладала как всем известная горилла Donkey Kong, кидающая в несчастного Mario бочки (а было это аж в 1980 году — считайте, самый первый хит от великой Nintendo), так и более современные игровые боссы, в изобилии встречавшиеся в ностальгические советскому сердцу времена Dendy и Sega Genesis. Различные виды аркад, противники в которых всегда двигались в одном и том же порядке, а подчиняющийся вам корабль не имел возможности лететь в обратном направлении, также использовали данную технологию.

Как видно, нехватка вычислительных ресурсов всецело компенсировалась хитрым обманом и оригинальной реализацией. Причем (только это строго между нами) различные хитрости в целях экономии применялись не только по отношению к ИИ, но и к другим игровым компонентам. К сожалению, в настоящее время ситуация коренным образом изменилась, но рассказ наш не об этом. Хотя современный мир все же довольно удачно и по сей день рубит капусту со старых идей. Например, ИИ практически всех аркадных игр на вашем мобильнике построен по той же технологии — CHOREOGRAPHED AI. Мало того, при достаточно позитивном и трудолюбивом настрое современные разработчики иногда умудряются, чаще всего даже незаметно для наших глаз, впихнуть в виртуальных противников (в особенности, боссов) строго фиксированные действия, хотя, опять же, в основном, это происходит все в тех же аркадах.

Раннее Средневековье: расцвет автоматов

Нижеследующая технология создания игрового ИИ оказалась настолько удачной, что ее частенько используют и по сей день. Название у нее FINITE STATE MASHINE или «конечные автоматы», если по-нашему. Суть технологии в том, что у объекта, подразумевающего собой носителя ИИ, есть множество состояний, на каждое из которых имеется свое правило, в случае соблюдения которого объект будет принимать нужное состояние. Объясню наглядно. У солдата есть состояния: патрулировать местность (идти), стрелять. Если рядом противник отсутствует, то солдат в состоянии «патрулирование», при появлении неприятеля активируется состояние «стрельбы». На деле, конечно, все намного сложнее, но принцип схожий.

Давайте-ка, наглядности ради, вспомним, к примеру, великую Doom и рассмотрим логику действий знаменитого и всеми любимого какодемона. Допустим, присутствуя в замкнутой квадратной комнате, тварь перемещается от одной стены к другой, тем самым, находясь в состоянии «патрулирования местности». Тут открывается дверь и появляется наш главный герой с двустволкой наперевес. Если какодемон находится к оружию спиной (не видит вас) и в него не стреляют (герой в оцепенении разглядывает монстра), состояние «патрулирование» не изменяется. Как только монстр повернется, заметив Cacodemonвас, или же оружие начнет стрелять ему в спину, то активируется состоянии «атаки», и враг начнет изрыгать огненные шары. Если наш герой начнет убегать, то активируется состояние «преследовать». Если игрок остановился и пытается отбиваться, то возобновляется состояние «стрелять». Если игрок все же убежал, то активируется состояние «патрулирование местности», и монстр продолжит перемещаться в ожидании игрока (либо же будет выбрано состояние «возвращение к месту патрулирования», т.е., в первоначальную комнату, по прибытии в которую какодемон погрузится в свое первоначальное занятие, ожидая расправы).

Как видно из примера, метод конечных автоматов довольно прост как в плане построении задачи, так и в технической реализации и оптимизации. Среди прочих преимуществ стоит отметить также малую ресурсоемкость технологии, что на момент возникновения сего метода было весьма важным критерием. Данная технология, в классическом своем стиле, применялась, помимо старичка Doom, во всеми нами почитаемых Quake, Wolfenstein, Heretic, Duke и т.д. Плюс, прибавим для кучи Serious Sam, Will Rock и PainKiller. Все играли, все знают — смысл понятен.

Скриншот из игры Doom 3
Уникальный случай, когда в одной из лучших игр современности использован абсолютно тупой AI: зомби может только атаковать по кратчайшему пути, либо ничего не делать. Убедительный пример необязательности продвинутого AI в отличных играх.

Однако, помимо положительных моментов, были тут и свои недостатки. Основной заключался, прежде всего, в том, что для организации достойной конкуренции человеческим мозгам необходимо было огромное множество состояний, несущих в себе решения для любых ситуаций, при этом составление и техническая реализация всего этого были невероятно трудоемкими задачами. Мало того, за действиями компьютерного противника не было даже видимости «самостоятельных» попыток разумного мышления, кроме тех шаблонных ответов на поставленные проблемы, которые были изначально в него «вшиты».

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

Страница: 1: Теория тупого бойца
Страница: 2: Каменный век и Раннее средневековье
Страница: 3: Позднее средневековье и Эпоха возрождения
Страница: 4: Современность и Будущее

Позднее Средневековье: система правил

Итак, хотя способ конечных автоматов и позволял довольно удачно моделировать интеллект какодемона или какого-нибудь зомби, для реализации более серьезных задумок его использование было уже несколько некомфортным. В то время основными жанрами, нуждающимися в новых разработках в области игрового ИИ, были стратегии, которые только-только становились на ноги, и RPG, которые тоже находились в стадии перехода из плоского вида в псевдотрехмерность. Но каждый уважающий себя разработчик знает, что если современная технология не удовлетворяет нужным требованиям, то надо изобрести свою, более совершенную. Таким образом, была выдумана новая, до идиотизма простая, очень удобная технология под названием RULE SYSTEM, что в дословном переводе на наш великий и могучий означает «система правил».

Правила состоят из определенного множества следующих друг за другом условий. Из курса информатики мы помним (по крайней мере, должны помнить), что любое поставленное условие имеет лишь два варианта ответа: «да»/«нет», ну или «истина»/«ложь». Таким образом, если первое условие ложно, то проверяется второе. И так до тех пор, пока условие не будет истинным, в этом случае дальнейшая проверка нижеследующих условий прекращается и выполняется нужное действие. Если значение «истина» так ни разу и не появится, то объект останется в первоначальном состоянии (по умолчанию). Сейчас поясню более наглядно.

RULE SYSTEM

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

Как видите, все довольно просто. Хотя есть все же одна важная особенность — последовательность правил должна располагается не в произвольном, а в строго продуманном порядке. Иначе неизбежны логические ошибки. Например, допустим такую ситуацию, при которой сначала проверяется второе условие («противник при смерти и убегает») и лишь после него первое («противник в радиусе менее 30 м»). В оригинале, если бы все было как на схеме, маг не просто догонял бы противника, но и каждый раз при приближении к нему более чем на 30 метров метал бы во врага огненный шар. Но так как мы поменяли условия местами, наш подопечный колдун будет просто тупо бегать за неприятелем, что, скорее всего, ни к чему хорошему не приведет. Однако не стоит также забывать, что логика последовательности правил, прежде всего, зависит еще и от особенностей самого объекта. Ведь, если бы у нас вместо мага был воин с мечом, то правила бы изменились кардинальным образом.

Эпоха возрождения: конечные автоматы

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

Для начала стоит напомнить, что суть технологии конечных автоматов заключается в том, что у объекта, подразумевающего собой носителя ИИ, есть множество состояний, на каждое из которых имеется свое правило, в случае соблюдения которого объект будет принимать нужное состояние. Так вот, большое количество этих правил создавало не только колоссальную путаницу при составлении, но и при реализации. Итак, было решено упростить логику, разбив моделирование интеллекта определенного объекта на несколько мелких конечных автоматов вместо одного большого. Скажем, один конечный автомат отвечает за поведение (идти/стоять/укрываться/подкрадываться). Второй — за действия (атаковать/убегать/перезарядить оружие).

Прикольной фишкой, призванной довольно сильно разнообразить игровой процесс, было введение в технологию конечных автоматов системы случайностей. Допустим, с дальнего расстояния противник имеет 30% шанс попасть в вас, в то время как с ближней дистанции этот шанс увеличивается до 90%. Причем, куда попадет выпущенный в игрока снаряд — тоже вопрос. Допустим, если противник все же с 30% вероятностью попадает по игроку, из-за того, что расстояние было дальним, пуля ударит: 10% — в голову, 40% — в ногу или руку и 50% — туловище. Чем не эмуляция человеческих ошибок? А если не понравится, когда враги промахиваются — меняем сложность! Причем, разумеется, прицельной стрельбой дело не кончается, логика поведения тоже при определенной фантазии довольно легко подстраивается под метод случайностей. Скажем, в 40% случаев при вашем появлении противник откроет огонь, а при 60% — спрячется за укрытие. Количество подобных вариантов ограничено только фантазией. Уже неплохая попытка продемонстрировать логичное поведение, но дальше еще круче!

Теперь возьмем ситуацию, в которой нам нужно сэмулировать слаженную работу целой команды. Само собой, для реализации разумного поведения от толпы требуется не просто дружная стрельба по игроку, но и некая синхронность действий. Представим, что вы прячетесь за ящиком на какой-нибудь открытой местности. Боты предпринимают попытку вас достать. Для этого двое постараются подобраться к вам с противоположных сторон. «Видя», что товарищи идут в атаку, трое других бойцов уже не лезут на рожон, а пытаются прикрыть издалека ту отважную парочку, дабы игрок не прикончил их до срока. Еще один, шестой воин, тем временем, может попытаться добросить до места вашего укрытия гранату.

Подобные слаженные действия виртуальных бойцов имели место быть, например, в знаменитой игре Freedom Fighters. Хотя есть в этом проекте еще одна довольно интересная ситуация: всеми действиями отряда солдат руководит командир, который и определяет для каждого юнита индивидуальную программу действий, исходя из окружающей ситуации. Чем не пример глобальной системы ИИ? Само собой, главнокомандующий обладает еще и своим локальным ИИ. Кстати, после смерти командира поведение бойцов уже нельзя назвать таким «слаженным», как раньше — каждый начинает действовать по индивидуальной программе. Добавим ко всем вышеперечисленным моментам элемент случайности (например, при выстреле в сторону крадущегося солдата, он побежит обратно в укрытие) и получим уже довольно неслабую смесь. Проблемы в реализации данного способа могут возникнуть только из-за лени разработчиков.

Кстати, у «лентяев» есть свои методы создания ИИ. Например, размещение на уровне «невидимых стен», существующих только для противников, а не для игрока. Это приведет к тому, что объект сможет двигаться только по заданному маршруту. В случае, если врагов будет несколько, и для каждого будет продуман индивидуальный маршрут, визуально получается довольно удачная иллюзия разумного поведения. Мало того, можно обучить объекты нестандартно реагировать на какие-либо действия геймера, скажем, сразу убегать за укрытие, если по ним стреляют, и дожидаться подкрепления, которое, кстати говоря, появится только тогда, когда трусливый противник спрячется за это самое укрытие. Многие ли заметят данный «обман» во время динамического действа? Думаю, единицы. В общем, вариантов очень много, все опять ограничивается только фантазией, как при создании ситуаций, так и при рисовании архитектуры уровня. Замечу также, что чрезмерное злоупотребление подобными трюками чревато слишком сильной, как модно сейчас говорить, «заскриптованностью» сцены, что в конечном итоге тоже довольно неблагоприятно скажется на игре. Так что все хорошо в меру. (В качестве примера из недавних игровых проектов, выделяющихся на фоне остальных уж слишком сильной заскриптованностью своих сцен, можно отметить Call of Duty 2 — все красиво и интересно, но только в первый раз)…

F.E.A.R. - игра с одним из самых продвинутых AI.

Ну что, товарищи бойцы, небось, сейчас вспомнили действия комбинов из любимой Half-Life 2? Или, может, история логики работы технологии конечных автоматов погрузила вас в грезы о незабываемых прятках по тропическим джунглям от злобных солдафонов из Far Cry? А то и промелькнули в сознании хитрые клоны из F.E.A.R.? Что ж, ваши догадки отчасти верны, подобная, может, чуть доработанная, но логически принципиально ничем не отличающаяся техника как раз и есть основа мозгов противников из всех наших любимых шутеров. Но это еще далеко не конец нашего повествования. Встречайте следующую эпоху развития игрового ИИ.

Страница: 1: Теория тупого бойца
Страница: 2: Каменный век и Раннее средневековье
Страница: 3: Позднее средневековье и Эпоха возрождения
Страница: 4: Современность и Будущее

Современность: хитрости генной инженерии

Цените момент, товарищи бойцы, ибо мы, проделав долгий путь по вехам истории, все же подобрались к уж совсем молодым (по сравнению с предыдущими) технологиям создания игрового ИИ. Итак, современная мода «впихивать» законы биологии в программирование просто не могла не коснуться и разработок в области ИИ. Речь сейчас пойдет о генетических алгоритмах и способах их использования.

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

Однако справедливости ради стоит заметить, что генетические алгоритмы привнесли в нашу жизнь очень много светлых и приятных моментов. Первоначальное их использование заключалось в генерации в виртуальном мире случайных существ, для создания некоего подобия разнообразия окружающей атмосферы. Благодаря этой чудесной технологии, улицы таких городов, как Liberti City, Lost Heaven и Paradis (GTA 3, Mafia, Postal 2) были наполнены массами разнообразных, постоянно спешащих по своим делам и таких забавных пешеходов. Однако прогресс не стоит на месте, поэтому было решено, используя данную технологию, привнести разнообразие не только в окружающих персонажа пешеходов, но и в их мозги.

Итак, как же все-таки работают эти загадочные генетические алгоритмы? Суть в том, что каждый живой организм содержит в себе индивидуальный генетический код, т.е., ДНК. Код этот состоит из мелких составляющих — генов, которые непосредственно отвечают за различные особенности их обладателя (цвет кожи и т.д.). Стоит учесть то, что основные гены передаются от наших родителей. И еще, особи одного вида имеют схожий ДНК-код. Так вот, на основе данной информации один всем известный дядька-биолог вывел свою знаменитую теорию эволюции, дабы впоследствии опубликовать свои труды в тогда еще не сильно известных книжках. Итог его работы налицо — смысл теории теперь все знают наизусть: выживает сильнейший. То есть, от способности индивидуума приспосабливаться к окружающим условиям жизни зависит его существование. Например, темнокожие жители нашей планеты терпимее переносят сильную жару, чем их бледнолицые братья.

До сих пор непонятно, причем же тут ИИ? Для наглядного примера видом в игре будем считать общество неких схожих по интересу личностей (например, бандитскую группировку из Чайна-Тауна). Генетический код членов этой группировки будет состоять из типа волос (короткие/длинные/лысый), вида одежды (черный костюм/кимоно/красные штаны), типа оружия, которое они с собой носят (бита/пистолет/автомат/нож), количества очков жизни (от 20 до 50) и силы наносимого урона (от 1 до 20). Далее в случайном порядке, выбирая из возможных значений генов, «лепим» членов банды, которые будут появляться на улицах нашего уездного городка. Вот вам и принцип генеряшейся толпы. Но этого мало, свежеиспеченного члена банды надо поместить в его предполагаемую среду обитания, дабы удостовериться, сможет ли он справиться с предстоящими трудностями.

И еще далеко не факт, что в Чайна-Тауне персона с битой не будет иметь никаких шансов против автомата! Все непосредственно зависит от наиболее мощной комбинации «генов». Соответственно, особи с наиболее приспособленными к окружающим условиям характеристиками переходят на следующие этапы естественного отбора, а слабые звенья просто-напросто упраздняются за ненадобностью.

Собственно, все это чаще всего творится непосредственно в самой игре, поэтому противник имеет доселе непосильную ни одной технологии самообучающуюся систему ИИ. Вернее, создается иллюзия этого самообучения, напоминающая подстраивание под действия определенного игрока, что тоже неплохо. Например, если виртуальный солдат будет постоянно умирать от выстрелов в голову, то он, «сэволюционировав», научится носить защитную каску. Ну и все в том же духе. Количество генов ограничено лишь фантазией разработчика. Творите себе эволюцию на здоровье!

Будущее: восстание машин

Вот я и подобрался к самой интригующей части своего рассказа. Разговор пойдет о логике поведения наших противников в недалеком будущем. Смысл технологии Нейронных Сетей заключается в виртуальном моделировании работы человеческого мозга. Да, именно, никакого обмана, никаких шаблонов, никаких скриптов. Система интеллекта должна ни много, ни мало: САМООБУЧАТЬСЯ!

Для начала опять немного хитрых фраз из биологии. Мозг человеческий состоит из множества мелких частиц — нейронов, которые, будучи соединены между собой, создают подобие сети. Стоит признать, что далеко не каждый смертный досконально знает, как работает человеческий мозг (про высшую математику и прочие великие науки я уже молчу). Поэтому наивно будет пытаться объяснить (тем более, в двух словах) все те математические сплетения формул и теорий, на которых основана данная технология. Однако сама факт того, что различные думающие модели, действующие по технологии нейронных сетей, уже вовсю применяются в современном мире, отрицать все же не стоит.

Логика работы данной технологии в игровом ИИ выглядит так: система получает определенные сигналы (некая входная информация), обрабатывает их, определяет для себя (используя все различные уравнения) какого типа данный сигнал, после чего не просто распознает и запоминает его, но и отмечает для себя, чем данный сигнал отличается от других. Таким вот образом происходит самообучение.

Так что от виртуального неприятеля мы вправе ожидать не просто выбора каких-либо действий из предложенных шаблонов, а вполне осмысленной реакции на наши поступки. Скажем, смело бросившийся из траншеи под пулеметные пули солдат послужит для своих товарищей примером, как делать нельзя. И в атаку аналогичным образом они уже не пойдут. Уже весело, верно? А что мешает подобной системе перенимать технику ведения боя у самого игрока? А ничто не мешает! Представляете, сколько шуму и восторженных восклицаний может это вызвать?

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

Заключение

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

Напоследок хочется, как и положено, поблагодарить всех за внимание. В ближайшее время вас ожидают новые выпуски «Боевых Хитростей» и, соответственно, новые интересные подробности из мира игростроительства. До скорых встреч.