Всё должно быть изложено так просто, как только возможно, но не проще.
— Альберт Эйнштейн
Чтобы игра была развлекающей и интересной, не обязательно делать управляемых компьютером противников умнее. В конце концов, игрок должен побеждать. Однако позволять ему выигрывать только потому, что управляющий противниками ИИ разработан плохо, тоже неприемлемо. Интерес к игре можно увеличить, если совершаемые противником ошибки будут намеренными. Тщательно настроив ошибки противников, сделав их намеренными, но правдоподобными, программисты позволят противникам выглядеть умными и одновременно обеспечат победу игрока. Кроме того, отслеживая системы ИИ и соответствующим образом управляя ими, можно превратить ситуации, в которых противники выглядят глупо, в интересный игровой процесс.
Частая ошибка в разработке и реализации систем ИИ в компьютерных играх заключается в слишком сложном дизайне. Разработчику ИИ легко увлечься созданием умного игрового персонажа и потерять из виду конечную цель, а именно создание развлекающей игры. Если у игрока есть иллюзия того, что компьютерный противник делает что-то умное, то неважно, каким образом ИИ (если он есть) создаёт эту иллюзию. Признак хорошего программиста ИИ — способность противостоять искушению добавить интеллекта туда, где он не нужен, и распознавание ситуаций, в которых достаточно более «дешёвых» и простых решений. Программирование ИИ часто больше похоже на искусство, чем на науку. Способность различать моменты, в которых достаточно дешёвых трюков, и тех, где требуется более сложний ИИ, даётся непросто. Например, программист, обладая полным доступом ко всем структурам игровых данных, легко может читерить, сделав NPC всезнающими. NPC могут знать, где находятся враги, где лежит оружие или амуниция, не видя их. Однако, игроки часто распознают такие дешёвые трюки. Даже если они не могут определить саму природу читерства, у них может создаться ощущение, что поведение NPC не похоже на естественное.
Читать полностью »