DAWAI
DAWAI (Dynamic Adventure World AI) - проект, направленный на упрощение и ускорение создания игровых сцен и игровых систем в Unreal Engine. Идея проекта заключается в том, чтобы разработчик мог описывать необходимый результат обычным текстом, а DAWAI переводил этот запрос в понятный для движка набор действий и помогал собирать или изменять игровую сцену.
Сейчас создание даже относительно простой игровой локации требует большого количества ручной работы. Разработчику необходимо самостоятельно создавать помещение, расставлять объекты, настраивать освещение, проверять размеры и коллизии, создавать игровые триггеры, цели и другие элементы. При дальнейшей разработке приходится постоянно возвращаться к уже созданной сцене и вручную вносить изменения. DAWAI должен сократить количество такой рутинной работы, при этом не отнимая у разработчика контроль над проектом.
Работа системы строится вокруг последовательных команд. Например, разработчик может указать: «создай промышленное помещение размером 50 на 30 метров», после чего добавить мебель, источники света и игровую цель. Затем сцену можно проверить в Unreal Engine и продолжить её изменять: заменить освещение, добавить новые объекты, изменить расположение элементов или скорректировать игровую логику. Важный принцип проекта заключается в том, что DAWAI не должен каждый раз создавать всё заново. Система должна понимать существующую сцену и менять только те элементы, которых касается новая команда, сохраняя остальные ручные изменения разработчика.
Технически проект предполагает несколько связанных частей. DAWAI Planner отвечает за обработку команды пользователя и перевод естественного языка в структурированный план. DAWAI Schema используется как единый формат описания объектов, параметров и изменений сцены. DAWAI Builder выполняет этот план и собирает необходимые элементы, а связь с Unreal Engine осуществляется через отдельный слой интеграции. Для повторяющихся элементов предполагается библиотека готовых Blueprint-шаблонов. Если необходимого объекта нет, дальнейшая версия системы должна также уметь создавать необходимые 3D-модели и подготавливать их для использования в игре.
Отдельное направление DAWAI связано с поведением персонажей. Система должна не просто создавать окружение, но и помогать управлять NPC во время игры. Персонажи получают определённые роли, цели и набор допустимых действий, после чего могут реагировать на изменения состояния игрового мира. Например, если во время боя союзный персонаж получил ранение, система должна определить его состояние, передать соответствующую задачу медику и заставить его попытаться помочь раненому. Если ситуация изменилась, например персонаж погиб или проход оказался заблокирован, задача должна пересматриваться. Такой подход должен сделать игровой мир более динамичным и уменьшить необходимость вручную прописывать большое количество отдельных реакций NPC.
Основной упор в DAWAI делается на локальную работу. Планируется использовать локальные модели и инструменты, чтобы проект и запросы не зависели от обязательной передачи данных в облачные сервисы. Это также позволяет строить систему вокруг конкретного рабочего процесса разработчика и постепенно адаптировать её под используемый проект Unreal Engine.
DAWAI создаётся не как отдельный редактор, в котором разработчик будет заперт внутри собственной системы. Результатом работы должен оставаться обычный редактируемый проект Unreal Engine, который можно открыть, изменить вручную и продолжить разрабатывать стандартными средствами. Это особенно важно для итеративной работы: разработчик может использовать автоматизацию там, где она экономит время, а всё остальное делать привычным способом.
Таким образом, DAWAI объединяет две задачи: создание игрового мира и управление происходящими в нём событиями. В перспективе разработчик сможет не только быстрее собирать локации, но и задавать через обычные команды их структуру, игровые цели и поведение персонажей, получая при этом полноценный редактируемый проект Unreal Engine.
