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

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

- это немного вдохновения и огромное упорство». В следующих трех параграфах описаны некоторые из излюбленных методов Брайана Рейнольдса.

Итеративный процесс разработки

Прежде всего в ходе создания ИИ, как и при создании самой игры, необходимо использовать «итеративный процесс разработки». Начните с простого моделирования передвижения вражеских фигурок, пусть даже ваш алгоритм окажется не сложнее, чем «switch(rnd(4))». Затем попробуйте сыграть против вашего ИИ и понаблюдайте за тем, какие ходы он делает. Дождитесь, пока система совершит какую-нибудь глупость (в первый раз это случится очень быстро), а затем подумайте вот над чем: а) какие ошибки допустил компьютер (предположим, пустил танки через лес, что замедлило их передвижение, или из всех родов войск начал «строить» исключительно артиллерию); б) как бы вы сами поступили на его месте (двигали бы танки по дороге, в разумных пропорциях «строили» пехоту, артиллерию, танки и самолеты...); в) какие данные заставили вас (помогли вам) принять это решение (юниты быстрее передвигаются по дороге; у вас уже имелась пушка, но не было ни одного пехотинца). Измените алгоритм с учетом этих данных.

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

Чтобы проиллюстрировать свою идею, Брайан Рейнольдс рассказал нам о том, как он, будучи молодым программистом, работал над своей первой игрой (Colonization).

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


Новости
Lego займется созданием безопасной онлайн-среды для детей
Партнеры планируют совместно создать безопасную цифровую среду для детей и наполнить ее адаптированным контентом, говорится в сообщении Lego.
SEGA продолжит серию House of the Dead аркадой Scarlet Dawn
Хоррор-игра House of the Dead: Scarlet Dawn разрабатывается на Unreal Engine 4 и количество жутких врагов в ней обещает стать рекордным для серии.