Читаем Создание игр для мобильных телефонов полностью

Как вы видите, создание и применение определенного типа поведения – это область, в которой вы можете проявить свою фантазию. Один из лучших способов почерпнуть идеи поведения тех или иных игровых объектов – это найти аналогии в животном мире (и, к сожалению, в мире человека тоже!). Факт, что обычная система ИИ «летай или стреляй» может творить чудеса, если грамотно применить ее к различным типам игровых объектов. Фантазируйте, создавайте разнообразные модели поведения!

Стратегический ИИ

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

...

В копилку Игрока

Каждые несколько лет лучшие игроки в шахматы соревнуются с компьютерными шахматными программами, чтобы увидеть, насколько далеко продвинулись работы над созданием искусственного интеллекта. В 2003 году чемпион мира по шахматам Гарри Каспаров сразился в поединке «Человек против Шахматного компьютера» (Man vs. Machine Chess Championship), проходившем в Нью-Йорке, с компьютерным чемпионом мира Дип Джуниор (Deep Junior). Несмотря на то что в 1997 году Каспаров уступил шахматной программе Deep Blue, выпущенной компанией IBM, он вернул нас на прежний уровень, сыграв вничью с Deep Junior в 2003 году.

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

Тем не менее есть множество способов подсчета взвешенных баллов в стратегических играх. Используя метод прогнозирования и взвешивания, стратегический ИИ может проверять все возможные ходы каждого игрока, в том числе прогнозируя игру на несколько шагов вперед, после чего определяя, какой ход является наилучшим. Этот метод известен как «метод наименее худшего хода». Он называется именно так, а не «метод наилучшего хода», потому что при таком подходе выбирается ход, менее всего выгодный другому игроку. Несмотря на то что исход приблизительно одинаков, в этом случае интересно понаблюдать за развитием игры. Хотя метод прогнозирования при создании ИИ очень полезен, он может потребовать достаточно большого объема вычислительных мощностей, если необходимо выполнить достаточно «глубокий» прогноз (иначе говоря, если компьютер должен быть очень сообразительным).

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

Перейти на страницу:

Похожие книги

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT