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




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


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

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

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

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

Брайан Рейнольдс рекомендует играть в создаваемую игру и наблюдать за поведением искусственного интеллекта. Когда система выкинет очередную глупость, определите, что вы от нее хотите, а затем вернитесь назад и исправьте свой алгоритм. Повторяйте этот процесс столько раз, сколько потребуется. (Приводится с разрешения компании Firaxis Games, Inc.)




Содержание  Назад  Вперед