Искусственный Интеллект

Самый спорный вопрос в разработке игры – это искусственный интеллект.
Итак…в этом уроке мы займемся созданием простого, по своим возможностям, искусственного интеллекта.

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

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

Теория «Черных Ящиков».

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

В данный момент нас не интересует внутренняя структура машины. Поэтому мы рассмотрим нашу машину как своеобразный «Черный Ящик», поведение которого определено как – действия и реакции. ИИ охарактеризованный простотой поведения мы назовем «Основным». Поведение Основного ИИ мы можем рассмотреть, как определенное число поведенческих образцов(внутренних состояний), которые срабатывают при определенных условиях. Итак, Основной ИИ имеет определенное число внутренних состояний, ИИ всегда находится в одном из этих состояний. Из этих состояний складывается «внутренняя жизнь» нашего «черного ящика». Для каждого состояния существуют обстоятельства, которые заставляют машину сменить это состояние на другое.
Например: Состояние 1 – покой. Состояние 2 – атака игрока.
Внешнее обстоятельство – Встреча с игроком.
IF (Встреча с игроком==1)
{
Состояние 1=0;
Сочтояние2=1;
}
Иными словами, если произошла встреча с игроком, путем например команды SCAN, то начать атаковать игрока !!!
Действие в стрелялке от первого лица может иметь такие состояния: Waiting(Ожидание), Attacking(Атака), Escap(e)ing(Бегство), D(ie)ying(Смерть), и Dead(Уже сдох).

Добавить комментарий