(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Интеллект компьютера в стратегиях реального времени

Уровень 1. Инстинкт самосохранения.

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

Hапример, при ответе на атаку проверяется, не атакует ли уже воин другую цель и есть ли необходимость переключаться на новую цель. Юниты, не умеющие вести ближний бой (танки, катапульты, ...) должны постараться предварительно отойти на необходимую для стрельбы дистанцию. В большинстве игр воин может постараться позвать на помощь ближайших соседей, если они сами ещё не догадались этого сделать.

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

Уровень 2. Сканирование местности.

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

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

Алгоритмов сканирования достаточно много - попарное сравнение координат юнитов, спиральный осмотр местности, посекторный осмотр, предварительное деление местности на квадраты (хеширование). Подробный обзор их был представлен в ZX Format#8 в статье "Эпопея".

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

Уровень 3. Тактический.

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

В первом случае, блок правил описывает, куда доставлять добытые ресурсы, что делать, если добыча ресурсов в данном месте исчерпана или была ранее прервана (например, внезапным нападением войск человека). Здесь же могут быть описаны специальные правила, касающиеся ремонта повреждённых зданий и строительства новых зданий (хотя зачастую этими задачами занимается стратегический уровень, речь о котором ещё впереди).

Блок правил для охраны предписывает действия по защите вверенной территории. Обычно он сводится к следующему - "стой на месте и ничего не делай". Действительно, почти все задачи по охране решаются двумя нижними уровнями интеллекта. Единственное дополнительное правило определяет способ возвращения на место после отражения атаки.

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

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

Уровень 4. Стратегический.

Этот уровень фактически управляет всеми юнитами компьютера. В идеале, компьютер должен это делать не хуже игрока- человека. От реализации правил этого уровня зависит, насколько умной и интересной будет ваша игра. К сожалению, готовых рецептов тут нет (иначе все игры были бы умными и интересными :). Рассмотрим, по крайней мере, что здесь необходимо реализовать.

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

Во-вторых, компьютер должен заниматься апгрейдами и исследованиями.

В-третьих, он должен заниматься организацией атак. Для этого он должен сначала выбрать место предварительного сбора (если, конечно, его воины не идут в бой сразу после того, как их произвели). Затем, по истечении некоего времени или, когда наберётся необходимый по численности (по силе) отряд, компьютер должен отправить его в бой. Предварительно необходимо выбрать объект или место цели. Здесь же необходимо управлять транспортами (ежели таковые имеются).

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

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

Удобно, что компьютер на этом уровне должен принимать действительно только общие, стратегические решения. Конкретные варианты реализации таких решений юниты компьютера выбирают самостоятельно, руководствуясь тремя нижними уровнями интеллекта. Фактически, компьютер здесь просто указывает номер задания для каждого юнита (плюс сопутствующие параметры, например, координаты места действия или объекта нападения) и не заботится о его дальнейшем исполнении.

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

Почему я принял именно такое деление на уровни для AI компьютера? Очень просто - практика создания игр "Чёрный Ворон I и II" показывает, что именно в таком порядке легче всего разрабатывать и отлаживать программы интеллекта. Последовательно реализуя перечисленные уровни, вы получаете примерно следующее:

Уровень 0 (без интеллекта). Юниты компьютера стоят на месте и не двигаются.
Уровень 1. То же, что и уровень 0. Юниты компьютера не реагируют на ваши боевые единицы, пока те не нанесут удар первыми.
Уровень 2. То же, что и уровень 1. Вдобавок, юниты компьютера реагируют на приближение ваших солдат и стараются их атаковать.
Уровень 3. То же, что и уровень 2. Однако идёт активная добыча ресурсов, волшебники пытаются колдовать и гадить вам, охранники компьютера возвращаются назад после отражения вашей атаки. Hо никаких активных действий против вас компьютер не предпринимает.
Уровень 4. ПОЛHОЦЕHHАЯ ИГРА!

Вот, собственно и всё, что мы хотели вам сказать...

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Дискуссии и обсуждения общего плана »
Написать редактору 
 Рекомендовать » Дата публикации: 29.09.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Nero Platinum 2018 VL 5 - 9 License corporate
Traffic Inspector GOLD 5 Учетных записей
TeeChart Pro VCL/FMX with source code single license
C. Ghisler & Co (Total Commander). Total Commander/Тотал Командер: Для юридических лиц: 1 копия
Quest Software. TOAD for Oracle Edition
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
eManual - электронные книги и техническая документация
Мастерская программиста
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Уроки CorelDraw: Растительный орнамент., Рисуем модные узоры (4)
Здравствуй, автор, у меня возникла проблема на этапе "Придадим форму основе орнамента, применив...
 
Графические редакторы (2)
Где можно скачать бесплатно Информацию о графическом редакторе Corel Photo - Phaint
 
Как извлечь рисунки из файла Word (41)
Вообще-то есть еще способ - сделать в Word-е Copy рисунка, открыть Microsoft Photo Editor и там:...
 
Corel. Сохранение файла в старом формате. (27)
у меня есть горящий вопрос по Корелу и никто мне не может дать на него ответ. Я работаю в...
 
Рисунок/разработка персонажа (1)
Приветик всем. Увидел здесь...
 
 
 



    
rambler's top100 Rambler's Top100