Знакомимся с Nau Engine и собираем открытый игровой движок из исходников

16 авг 2026
393
63
18
2 месяца

О проекте Nau Engine говорили много, но одно дело слушать анонсы на конференциях, и совсем другое — заглянуть в публичный репозиторий и пощупать код руками. Репозиторий открыт, исходники доступны на GitHub, и любой желающий может склонировать проект к себе на машину, чтобы оценить архитектуру или попробовать собрать тестовый билд.

Авторы сразу заявляют открытую модель распространения: движок бесплатен для любых задач, включая коммерческий релиз игр, без лицензионных отчислений или скрытых роялти. Исходный код лежит в открытом доступе, так что сообщество может писать свои форки, расширения и пуллреквесты.

Что внутри репозитория

Если открыть репозиторий NauEnginePublic, сразу бросается в глаза классический C++ стек для крупных проектов. Тут нет попыток изобрести свой пакетный менеджер с нуля: зависимости подтягиваются через vcpkg, а сборка управляется через современные пресеты CMake.

Сам движок написан на C++, активно опирается на сабмодули и требует свежего инструментария:

  • Компилятор MSVC v143 из состава Visual Studio 2022
  • Windows 10 SDK актуальной версии
  • Python 3.10 или новее для вспомогательных скриптов
  • Система сборки CMake с поддержкой CMakePresets

На текущем этапе в репозитории сделан явный упор на платформу Windows. В документации описаны пресеты для Visual Studio 2022 и связки Clang-CL с Ninja. Поддержка Linux или macOS в README пока не расписана подробно, поэтому основной рабочий сценарий сейчас завязан на стек Microsoft.

Реклама

Подготовка окружения и зависимостей

Сборка игрового движка с нуля всегда требует терпения. Первым делом после клонирования репозитория нужно подтянуть сабмодули, без них проект банально не сконфигурируется:

git clone https://github.com/NauEngine/NauEnginePublic.git
cd NauEnginePublic
git submodule update --init --recursive

Дальше начинается работа с пакетным менеджером vcpkg. Если он у вас еще не установлен, авторы рекомендуют склонировать его в отдельный каталог, например в c:\tools\vcpkg, и выполнить инициализацию:

cd c:\tools
git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat

После этого нужно прописать системную переменную окружения VCPKG_ROOT=c:\tools\vcpkg. Без этой переменной CMake не поймет, где искать библиотеки.

Кстати, в репозитории есть полезная подсказка: если в ветке меняется файл vcpkg.json, лучше делать чистую сборку с предварительной очисткой рабочего каталога через git clean -d -x -f. Главное перед этим сохранить все свои несохраненные правки, иначе git сотрет их без предупреждения.

Конфигурация и процесс сборки

Когда зависимости на месте, в дело вступает CMake. В проекте настроены готовые пресеты, поэтому вручную указывать десятки флагов компиляции не придется.

Для генерации проекта под Visual Studio 2022 запускаем команду:

cmake --preset win_vs2022_x64

Если вы предпочитаете связку Ninja и Clang, есть альтернативный пресет:

cmake --preset win_ninja_clangcl-debug

Также можно просто открыть папку проекта в VS Code или Visual Studio. Среда разработки сама подхватит файл CMakePresets.json и предложит выбрать нужную конфигурацию в интерфейсе.

Сам процесс компиляции запускается через CLI или прямо из IDE:

cmake --build build\win_vs2022_x64 --config=Debug

После завершения компиляции движок можно установить в локальную директорию output:

cmake --install build\win_vs2022_x64 --config=Debug

В этой папке вы получите готовый для дальнейшей интеграции билд.

Зачем изучать этот код разработчикам

Nau Engine интересен не только тем, кто планирует делать на нем игры, но и обычным C++ программистам.

Во-первых, это свежая кодовая база. Многие популярные движки тащат за собой багаж решений двадцатилетней давности. Здесь же можно посмотреть, как организована структура современного проекта на свежем стандарте C++, как разбиты модули и как устроен пайплайн работы с ассетами.

Во-вторых, проект полностью открыт для контрибьюторов. В репозитории висят открытые issue и пулреквесты, а сообщество постепенно начинает участвовать в доработке движка. Если вы давно искали сложный системный open source проект, в который можно прийти с оптимизациями или новыми фичами, Nau Engine дает такую возможность без бюрократии проприетарных лицензий.

В-третьих, это хорошая площадка для экспериментов со своими рендерами, физическими движками или скриптовыми обвязками. Наличие готовой модульной структуры экономит недели рутинной работы по настройке окружения.

В-четвертых, для игровых студий это реальный шанс получить технологический стек, не зависящий от капризов зарубежных вендоров и внезапных изменений в лицензионных соглашениях.

С чего начать знакомство

Если проект вас заинтересовал, начните с простого: склонируйте репозиторий, пройдите шаги из руководства по сборке и попробуйте собрать движок в Debug-режиме. Почитайте структуру каталогов, посмотрите реализацию базовых подсистем в исходниках и загляните во вкладку Issues на GitHub. Для тех, кто интересуется разработкой игровых движков изнутри, это отличный материал для изучения.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.