MMOGame.ru  
Поиск по сайту:
ok
расширенный
Имя:регистрация
Пароль:забыли?
Плюсы
регистрации
Реклама
Подписка на сайте
MMOGame.ru - новости и обзоры мира онлайн игр
Календарь событий
< 2012 >
<< Май >>
пн вт ср чт пт сб вс
01 02 03 04 05 06
07 08 09 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Поиск по базе игр
Поиск по:
расширенный
Популярное на сайте
Статья: Искусственный интеллект в Jumpgate Evolution

Я отчетливо помню эту сцену из 2010, и это наиболее захватывающий момент в научно-фантастическом кино, который я могу припомнить. Он поразителен не только тем, что в нем показана машина, наделенная чувствительностью (уже были примеры таких в 2001), а еще и из-за ответа. Никто не знает почему. Когда мы думаем о том, как работает что-либо в игре, эта мантра возникает снова и снова. Большинство вещей, происходящих в играх, это результат того, чего никто не знает почему. Почему происходит это великолепное событие, когда все кусочки собираются вместе и все выглядят работающим. Это момент, ради которого мы все работаем. Это момент, на который все мы надеемся. Это суть всех игр.

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


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


Поставив для себя эти основные цели, наш AI-программист Даррен начал работать над базовой архитектурой. Мы заранее решили, что AI будет запускаться со своего собственного сервера. Это не ново в мире MMO, так как желательно иметь возможность оценивать требования к железу на основании активности игроков. Затем мы приступили к обсуждению того, что нам потребуется для определения элементов AI. Так как наша игра космическая, они должны появляться откуда-то (быть запущенными со станции, быть выброшенными из воронки (например, материализовываться в воздухе) и так далее). Так же они должны летать различными способами, поэтому мы сопоставили базы данных, чтобы определить характерные черты их кораблей и оборудования.


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


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


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


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


Tags: AI2, Jumpgate Evolution12 26.11.2007 Herman Peterscheck
« вернуться
Комментарии могут оставлять только зарегистрированные пользователи

Комментарии:

Figo88 23.05.2011 00:20:09
Отличная статья о том как укрепить кости


MMOGame © 2006-2012.
Копирование любых материалов данного сайта запрещено без согласия его владельцев.
о компании | рекламодателям | Rambler's Top100 Рейтинг серверов Lineage База знаний Aion База знаний tera Рейтинг серверов Lineage Lineage Eternal
обратная связь | RSS