Скотт Орр о искуственном интелекте
(Scott Orr), EA Sports
Исполнительный продюсер компании EA Sports Скотт Орр не только способствовал выходу в свет серии футбольных игр Madden, но и курировал разработку других популярных лицензионных игр компании, например NHL Hockey, Andretti Racing, NASCAR Racing, NCAA College Football, March Madness и Knockout Kings. «Гуру» в области создания искусственного интеллекта, Скотт Орр не раз и не два упоминался в процессе работы над этой главой.
Реализм
«Прежде всего, - отмечает Скотт, - искусственный интеллект должен быть реалистичным».
Я подразумеваю под этим следующее: компьютерные игроки должны действовать и реагировать на происходящее так же, как действовали бы, оказавшись на их месте, живые люди. Вот почему во всех играх компании EA Sports у игроков есть рейтинги, определяющие их понимание обстановки на поле, быстроту действий, умение бросать или ловить. Кроме того, мы часто пользуемся советами профессиональных спортсменов и тренеров, которые помогают нам добиться реалистичности. Затрудняюсь сказать, сколько раз Джон Мадден (John Madden) смотрел заложенную нами в программу схему игры, всякий раз подбегая к доске, чтобы показать, как она должна выглядеть в действительности.
Скотт Орр убежден: игры EA Sports потому и вне конкуренции, что всегда архивнимательны к деталям. Ну что ж, хорошо. А если у разработчика нет денег или связей, чтобы привлечь в консультанты самого Джона Маддена или других профессиональных спортсменов? Выполнение следующих двух советов Скотта не потребует огромных затрат.
Реализм или увлекательность?
«Не забывайте соблюдать равновесие между реалистичностью игры и удовольствием от нее», - советует Скотт Орр.
Искусственный интеллект развился до такой степени, что при желании можно было бы сделать из компьютера суперчемпиона. Но вы уверены, что это именно то, чего ждут игроки и издатели (которые неминуемо начнут терять покупателей)? Многие разработчики прибегают к маленьким хитростям, чтобы позволить компьютеру на равных соревноваться с играющим. Это может заключаться и в предугадывании вашей стратегии, и в более быстром движении персонажей, за которых играет компьютер. Однако в играх компании ЕА Sports такого рода «жульничество» вам никогда не встретится.
Чем проще, тем лучше
Искусственный интеллект должен быть простым с точки зрения программирования. Скотт Орр считает: «Чем больше вычислений вы используете, тем сильнее загружен процессор». Как это влияет на игру?
Это может снизить частоту кадров, что, конечно, скажется на игре. Используйте подстановочные таблицы для хранения упорядоченных данных и ускорения вычислений. Чем выше скорость вычислений, тем сообразительнее будет искусственный интеллект.
Насколько, по сравнению с другими жанрами, трудно программировать ИИ для спортивной игры? «И труднее, и проще...» И вот почему:
С одной стороны, поскольку наши программы строятся на основе известных правил, нам проще решить, что же, собственно, нужно делать. С другой стороны, покупатели тоже знакомы с тем, как этот вид спорта выглядит в реальности, и поэтому уровень их ожиданий повышен. Нельзя махнуть рукой на поведение компьютерного игрока только потому, что вам не удается добиться точности в его действиях. Если что-то происходит в реальной игре, это должно присутствовать и в компьютерной, иначе пользователь быстро решит, что его в чем-то обделили. Мощность современных ПК вполне позволяет создавать достаточно сложный интеллект. Просто диву даешься, сравнивая то, что вытворяют компьютерные игроки теперь (речь об игровой тактике и согласованности действий), с тем, что они могли пять лет назад. И все это непрерывно совершенствуется, ведь мы разрабатываем игры для все более мощных машин и закладываем в них опыт, полученный нами в то время, когда мы создавали предыдущие игры.
Мы напомнили Скотту, что наша книга планируется как «библия» для начинающего разработчика, мечтающего, быть может, программировать ИИ для условно-бесплатных и бесплатных игр, а может, и для полноценных коммерческих продуктов. Когда Скотта Орра попросили дать какой-нибудь совет по программированию ИИ на языке Си++, он ответил так:
Мастерство приходит с опытом. Используйте разные подходы и смотрите на результаты. В конце концов, у вас получится что-нибудь, что будет работать лучше того, с чего вы начинали. Создайте библиотеку стандартных подпрограмм, которые вы часто используете. После этого (будем надеяться, что собранные в вашей библиотеке программы окажутся эффективными и экономичными) вы сможете гораздо успешнее пользоваться предыдущими наработками. Кроме того, не забывайте о выгоде использования подстановочных таблиц. Это уменьшает необходимый объем вычислений, ускоряет обновление экрана и сам процесс игры.