Компьютерные игры. Как это делается

       

Умножение и деление на двойку


В самом начале своей карьеры я научился у Сила Мейера еще одному замечательному приему. Подобно другим нашим уловкам, он одинаково хорошо применим и к разработке игр, и к созданию искусственного интеллекта. Метод состоит в следующем: если у вас есть какое-нибудь значение или эффект, и вы хотите его скорректировать, удвойте его или поделите пополам. Например, если танки кажутся вам слишком дешевыми, удвойте их стоимость. Не пытайтесь увеличивать значение с 10 до 11, гадая о том, возымеет ли это нужный эффект. Сразу «поднимите ставки» до 20, даже если это и кажется не совсем уместным. А теперь все внимание на игру: изменения от удорожания танков видны невооруженным взглядом - стало быть, вы получили четкое представление о роли этого параметра. Цена слишком велика? Отрегулируйте ее, уменьшив значение до 15. И так далее. Если вам кажется, что компьютер создает слишком много пехотинцев, сократите вероятность их производства сразу вдвое. Я помню сотни случаев, когда я увеличивал или уменьшал вдвое тот или иной параметр, ожидая увидеть слишком сильные изменения, а на поверку выходило, что для достижения желаемого эффекта нужно было еще раз умножать или делить на двойку. И снова повторюсь: итеративный метод здесь незаменим.

Брайан закончил интервью следующим советом: «Придерживайтесь простого алгоритма: попробовал - исправил - повторил. И не ошибетесь».

Марио Гримани (Mario Grimani), Ensemble Studios

Перед тем как перейти в Ensemble Studios, Марио Гримани работал в студии 7th Level над стратегией Dominion: Storm Over Gift 3 и другими играми. Сейчас он является штатным сотрудником компании Ensemble Studios по искусственному интеллекту (на момент написания книги Марио трудился над «железными мозгами» для игры Age of Empires II: The Age of Kings).

На что нужно прежде всего обращать внимание, работая над системой ИИ? Вот ответ Марио Гримани:

• Помните, что количество времени и усилий, затраченных на разработку ИИ, не всегда прямо пропорционально тому, как результат будет воспринят пользователем.


• Разрабатывайте искусственный интеллект итеративным путем. Создайте приблизительный вариант системы, проверьте его работу и начните вносить улучшения с той части, которая функционирует хуже всего.

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

Искусственный интеллект игры Age of Empires II: The Age of Kings позволяет контролировать поведение управляемого компьютером игрока с помощью легкого в использовании языка внешних команд. Компьютерные игроки могут играть как против людей, так и друг против друга. Это позволяет нам легко менять поведение ИИ в процессе разработки игры, а также дополнять систему на более поздних стадиях проекта.

Марио Гримани советует составлять игровой ИИ из отдельных программных модулей, так как вам, вероятно, еще придется возвращаться к ним и вносить изменения в течение цикла разработки. (Приводится с разрешения компании Microsoft.)


Далее Марио описал различные виды ИИ и некоторые проблемы, возникающие при его программировании.

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

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

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


К сожалению, именно такие проблемы часто оказываются слабым местом ИИ, позволяющим человеку без особого труда обыгрывать компьютер.

В качестве примера Марио Гримани указывает на одно общее затруднение, которое возникает при создании стратегий в реальном времени.

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

Итак, не думает ли Марио, что с ростом популярности сетевых игр и игр по Интернету уменьшится потребность в разработке систем ИИ?

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

Тоби Симпсон (Toby Simpson), CyberLife Technology

Тоби Симпсон - художественный директор всех проектов серии Creatures, созданных студией CyberLife Technology, расположенной в Кембридже (Великобритания). В качестве продюсера игр Creatures 1-3 Тоби приходилось работать над созданием принципиально нового типа ИИ, до сих пор не встречавшегося в других игровых жанрах. Дело в том, что вся изюминка сериала Creatures заключена в обучении виртуальных питомцев и уходе за ними.

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

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


Содержание раздела