Разработка эскизного проэкта

На принятие решения о выборе конкретной модели, которую затем нужно отразить в эскизном проекте, влияет много различных факторов из описанных в техническом предложении. Прежде всего, выбранная модель должна соответствовать концепции воплощения, описанной в главе 2, "Проблемы проектирования интеллекта", что позволит системе ИИ в полной мере использовать преимущества этой концепции. Это, в свою очередь, означает, что сенсоры и моторика рассматриваются относительно положения тела анимата в игровом пространстве. В данном случае это не создает никаких особых трудностей, поскольку огибание препятствий, как это было описано в разделе "Формулировка проблемы" технических требований, может выполняться локально. Иными словами, для получения удовлетворительных поведенческих реакций мы можем применить прямое сопоставление входов и выходов.
При выборе правильного интерфейса между системой ИИ и окружающей средой основное внимание следует уделить следующим трем вопросам.
> Соответствие информации. Информация об окружающем пространстве, предоставляемая анимату, должна соответствовать тому, что действительно происходит в игровом мире. Если различие между поступающей информацией и происходящими событиями и явлениями слишком велико, это может привести либо к тому, что поведение анимата может выглядеть бессмысленным (например, бег в направлении стены), либо к тому, что накладные расходы на просчет алгоритмов ИИ окажутся неприемлемо большими. С другой стороны, умышленное внесение ошибок, эмулирующих погрешность восприятия биологическими существами (например, ошибки при определении расстояния до удаленных препятствий), может добавить определенный шарм отлаженной и надежно работающей системе.
> Гибкость. На этапе проектирования следует предусмотреть, чтобы эскизный проект системы был как можно более легко настраиваемым и мог впоследствии применяться для решения сходных проблем (например, перемещения вдоль стен). Это позволит использовать однажды созданный интерфейс для решения целого круга задач. Чем пожертвовать, свободой выбора или свободой применения, нужно решить еще на этапе проектирования.
> Эффекпшлость. Если речь идет о перемещениях, обеспечение оптимальной производительности — это очень важная проблема. Это означает, что обмен данными нужно свести к минимуму (например, предоставлять данные только о свободном пространстве). Кроме того, нужно минимизировать количество запросов, что, в свою очередь, означает, что они должны характеризоваться высокой степенью оптимизации.
Приступая к эскизному проектированию входов и выходов, нужно искать компромиссы, учитывая перечисленные выше факторы. Как правило, это вполне достижимая цель, которая позволяет обеспечить приемлемое качество моделирования.
Подготовив техническое предложение и сузив количество возможных решений до оптимального минимума с учетом KOHiq)eTHbix технических требований, можно приступить к проработке эскизного проекта подсистемы управления перемещениями.
Итак, для управления моторикой нужно предоставить две базовые функции: Move () и Turn (). Этого вполне достаточно для обеспечения гибкости с сохранением простоты. Действительно, более сложные функции (например, MoveTo () или TurnToward ()) можно без особого труда построить на основе этих двух функций. Кроме того, мы будем рассматривать эти функции и соответствующие им операции как непрерывные, поскольку это в наибольшей степени соответствует уровню сложности игровой среды, в которой будет оперировать разрабатываемый нами анимат.
Что касается сенсоров, мы будем обеспечивать несколько уровней получения информации. На самом низком уровне анимат будет воспринимать физические реакции при столкновениях. Чтобы сделать такие столкновения скорее исключением, чем правилом, мы обеспечим, чтобы анимат воспринимал визуальную информацию об окружающей обстановке. Для этого будем использовать отслеживание лучей, с помощью которого анимат сможет получить информацию о препятствии, которое расположено ближе всего к центру его сек. Этот подход является достаточно гибким, поскольку он позволяет, в случае необходимости, расширить алгоритм отслеживания лучей для более точной имитации перемещений (например, обнаружение лестниц и т.п.).
в качестве механизма передачи информации будем применять активные запросы, направляемые системой ИИ игровому миру. Этот метод называется получением информации по требованию (information pull). Достоинством такого метода является то, что система ИИ может по своему усмотрению решать, какая часть сведений о структуре площадки ее интересует. При рассмотрении моделей объектов оіфужаю-щей среды в части V, вы ознакомитесь с иным методом, суть которого заключается в пассивном получении минимальных объемов данных, рассылаемых игровым миром. Этот метод называется получением информации по рассылке (information push).