Предлагаемая спецификация

Для представления данных о противниках используются кортежи, содержащие символическое обозначение противника (в виде данных типа string или int) и информацию о его местонахождении (три числа с плавающей точкой, по одному для каждого из измерений X/Y/Z). Сведения о местонахождении противника представлены относительно текущего местонахождения и ориентации анимата, в духе того подхода к созданию игровой обстановки, в котором анимат рассматривается как воплощение человека-игрока в игровой среде. Так или иначе, при таком подходе программная реализация средств ИИ становится проще.
Для производства выстрела из оружия вызывается простой метод fire. Пуск поражающего элемента производится автоматически, а необходимость перезарядки отсутствует. Сам поражающий элемент в процессе его движения может восприниматься как объект, если такая возможность обеспечивается с учетом его типа и скорости (например, пули летят слишком быстро и не отслеживаются взглядом, тогда как за полетом более медленных ракет вполне можно проследить).
Прицеливание осуществляется с применением операций поворота тела, которые определены для управления движением. Практика показала, что такой подход вполне приемлем, поскольку направление движения не зависит от ориентации. Именно так действуют игроки-люди, к тому же, как оказалось, задача освоения подобного способа прицеливания является сравнительно несложной.
Очевидно, что создаваемые средства ИИ могут оказаться слишком успешно действующими во время стрельбы, из-за чего человек потеряет интерес к игре, поэтому, вероятно, придется ввести определенную долю шума в результаты, вырабатываемые с помощью некоторых функций. Это позволяет неявно задавать либо более, либо менее развитые навыки стрельбы, применяемые средствами ИИ.