При разработке Nau engine использовали элементы движка Dagor, плохо ли это?

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Nau Engine, Dagor Engine, есть ли что их объединяющее? Как оказалось есть. Во время презентации, в конце октября, разработчики сообщили что взяли для своего движка наработки студии Gaijin. И мне непонятно почему после появления новости об этом появился некий скепсис. Посмотрим на эту ситуацию с другой стороны.


Скажу честно, про Dagor Engine я в впервые услышал из данной новости, но это не плохо, всегда полезно узнавать что-то новое. Так что давайте переходить к тому что там у кого взял, и главное зачем? В игровой индустрии постоянно происходит заимствование различных частей игры или программ: из одной игры разработчики берут вдохновение, из другой реализацию окружения, и так далее. При этом сами технологии, которые используются при разработке, уже кем-то и когда-то были созданы и стандартизированы. Зачем тогда изобретать велосипед?

Такая же ситуация и с технологиями. Большинство технологических и программных решений были созданы и стандартизированы уже давно, или относительно давно, как например это было с шейдерами. Изначально они делились на пиксельные, вершинные и геометрические, но с выходом DX10 видеокарты стали поддерживать унифицированную шейдерную модель. И только спустя более чем 10 лет был представлен новый тип шейдеров: Mesh Shaders, который позволяют увеличить производительность при уменьшении затрат ресурсов (это если очень грубо). И в условиях когда основные компоненты уже изобретены, зачем заново проделывать путь по их реализации?

Для примера возьмём гения игровой индустрии, — Джона Кармака. Его движок, в паре с дизайном Ромеро, перевернул индустрию, и многие компании начали использовать и лицензировать движок студии id Sodtware. Ниже приведены схемы с Wiki касательно того где используется наработки Кармака:

Источник Рис. 1 — ссылка; Рис. 2 — ссылка

Сказать честно некоторые элементы данных схем мне не очень нравятся. В частности, согласно документации движка Source, ответвление студии Respawn выросло из ветки движка Portal2, да и CoD 1 основывалась не на официальном id3, а на модифицированном движке который создавался во время разработки Medal of Honor: Allied Assault, которую они делили во времена студии 2015. Но не обращая внимания на это, можно заметить что тут присутствует множество игр от различных студий, и не всегда понятно где же тут игровые движки, и для чуть большей наглядности я собрал вот такую схему, ориентируясь не только на схемы выше, но и на другие источники:


Крупные движки выросшие из idTech

Тут не перечисляются игры, а также не упоминаются промежуточные итерации, которые не стали основополагающими для других движков. И это только задокументированные ответвления переросшие в крупные игровые движки сторонних студий, некоторые студии могли брать различные части движка или идеи для последующей реализации в своих проприетарных движках. Так же не стоит забывать первое время движок id Software был open source, до idTech5 был доступен для лицензирования, а вот после он стал доступен только студиям входящим в родительский холдинг Bethesda — Zenimax. Но даже так, из движка Кармака выросли движки Valve, Activision и Respawn, и множество более мелких ответвлений.

Зная данные вводные вернёмся к Dagor и Nau Engine. По словам Андрея Корсакова, который был одним из спикеров на презентации, они взяли из движка Dagor рендер ядро и компоненты системного уровня. Если очень сильно упрощать, то в системный уровень входят программные прослойки, такие как драйверы, а к ренедр ядру относится собственный движок рендера Dagor Render. Не знаю что сказать про этот движок рендера, но он есть, работает и ладно. Про его преимущество и недостатки лучше спросить у профессионалов работавших с данным движком, однако некоторые отзывы говорят о местами недостаточном функционале. Но что будет в Nau это вопрос открытый, а если данный функционал не будут развивать и дорабатываться из-за ограничений взятого за основу Dagor, то придётся переписывать систему чуть ли не с нуля, что будет не очень хорошим распределением ресурсов для развивающейся системы.

Автор: Nau Engine Источник: www.youtube.com

Но у движка Dagor есть и преимущество: набор поддерживаемых API. В списке поддерживаемых API, помимо DirectX 11, который широко распространён в играх для Windows, имеется Vulkan. А вот это уже означает поддержку кроссплатформенности, про которую говорили разработчики. Vulkan может работать на компьютерах с установленными Linux, а также на родственных к ней системах: Android и iOS. Но поддержка Linux в Vulkan не означает что игры будут на нём запускаться, необходимо адаптировать инструментарий с учётом поддерживаемых библиотек и особенностей данной системы. Так что вопрос к разработчикам VK, смогут ли они адаптировать создаваемый инструментарий и компилятор для linux подобных систем.

Что в итоге. Заимствование технологий и использование open source проектов не является чем-то уникальным, что сделали только разработчики Nau. В данном случае это явно ускорило процесс разработки, ведь уже началось закрытое альфа тестирование. В следующем году обещают открытую бету и публикацию некоторой части документации по готовому функционалу, и уже в этот момент можно будет делать вывод: есть ли шанс зацепиться на широком рынке, или он будет применяться только в студии-разработчике и её партнёрах.