C++, C#, zero-coding, legacy-код и поддержка Linux — первые технические подробности российского движка Nau Engine
Разработчики отечественного игрового движка Nau Engine, которым занимается команда VK, опубликовали серию ответов на вопросы публики. В частности, были затронуты технические подробности технологии.На каком языке программирования будет работать движок? Какие архитектурные особенности будут заложены в Nau Engine?Язык программирования C++ является индустриальным стандартом для создания комплексного программного обеспечения в целом и написания ядра игровых движков в частности. И мы несомненно будем отталкиваться от современных стандартов разработки игр, которая не может сейчас существовать без, например, поддержки многопоточности и возможностей асинхронного исполнения кода.На каком языке придётся писать код разработчикам? Будет ли поддержка C++, C#, Python, Lua, <мой любимый ЯП>?Мы планируем использовать как C++, так и C# для написания бизнес-логики проектов — оба этих языка широко распространены на рынке. Кроме того, наличие именно этих языков позволит упростить переход разработчиков с уже существующих платных инструментов. Если говорить о других языках программирования, то в Nau Engine обязательно будет простой язык скриптования, чтобы облегчить вход в разработку начинающих специалистов.Будут ли в рамках движка инструменты визуального программирования или zero-coding?Да, в Nau Engine обязательно будут подобные решения. Снижение порога входа и упрощение жизни разработчиков — одна из главных задач игрового движка. Мы намерены создать доступные инструменты для разработчиков с разным уровнем подготовки.На каких ОС будет работать Nau Engine? Будет ли в движке поддержка Linux-дистрибутивов?Nau Engine создается таким образом, чтобы разработчики могли работать на любой из современных ОС, в том числе и Linux. Нам важно, чтобы движок был доступен в привычной пользователю программной среде и для его использования возникало минимум сложностей.Будет ли поддержка сборки проектов под Web? Будет ли поддержка мобильных платформ и консолей?Мы считаем, что в будущем у Web платформы огромный потенциал, поэтому в наши планы, конечно же, входит сборка проектов под Web — чем большему количеству игроков будут доступны, созданные на Nau Engine игры, тем лучше. Из тех же соображений мы планируем поддерживать и мобильные платформы. Вопрос поддержки консолей пока находится в проработке.Какие графические технологии будет поддерживать движок? На какие форматы файлов будет ориентирована работа с контентом?Мы планируем поддержку всех распространённых современных графических API (например, таких как DX12, Vulkan и Metal) и графических технологий вроде рейтрейсинга или DLSS. Кроме того, мы хотим сделать простой и привычный в индустрии контент-пайплайн, с использованием наиболее популярных форматов обмена контентом типа FBX, glTF или USD.Предполагается ли внедрение ИИ-инструментов в движок? Будут ли поддерживаться генеративные нейросети?Мы следим за трендами и, конечно, планируем сделать возможность подключения различных инструментов на основе ИИ, а некоторые вероятно и интегрируем внутрь. Это соотносится в том числе и с нашей целью позволить всем желающим поучаствовать в разработке движка.Почему в движке уже сейчас есть legacy-код?В современных реалиях open-source разработки создавать комплексные решения с нуля, очевидно, не имеет смысла. Мы будем отталкиваться от существующих технологий, поэтому наличие legacy-кода неизбежно. Также мы рассчитываем на вовлечение комьюнити в процесс разработки, а это означает, что большое количество кода будет написано сторонними командами и любой код будет содержать свои legacy-конструкции.Сейчас команда Nau Engine активно расширяет команду. Ранее говорилось, что VK потратит на игровой движок 1 млрд рублей, а первую бету запустит в 2024 году.