Lineage 2 работала на Unreal Engine 2 (2002). Проекты вокруг L2 традиционно берут UE2/UE3-форк — это логично, потому что геодата и ассеты уже под этот пайплайн. Мы пошли другим путём: FractureFront — собственный движок поверх Babylon.js с нативным чтением UNR и G16.
Причины:
- Современный рендер из коробки. PBR, IBL, тени в реальном времени, post-processing, SSAO, декали. На UE2/UE3 это всё либо отсутствует, либо требует ручной доработки.
- Открытая лицензия Apache 2.0. Исходники Babylon.js открыты, активная разработка Microsoft, понятная дорожная карта. Никаких сюрпризов «движок закрыли».
- Десктоп через Node-API. Babylon.js запускается в нативном Node.js-процессе через node-addon-api — это .exe, а не вкладка браузера. Никаких трансляций в WebGL, никаких ограничений песочницы.
- Babylon Inspector. Визуальный отладчик сцены бесплатно — на UE2/UE3 такого инструментария просто нет.
- Маленький размер бинарника и низкий порог входа. Лёгче собирать, проще автоматизировать CI/CD, быстрее итерации.
Чего это не даёт:
- Нет готового редактора уровней уровня Unreal Editor — приходится описывать сцены в коде и/или в JSON-описаниях. Для нашего pipeline (геодата → мир) это плюс, но для полностью процедурного контента было бы ограничением.
- Нет Nanite-уровня геометрического LOD-а — для больших открытых миров это потенциальная проблема, решаем собственным стримингом.
В сумме: для проекта, чья ключевая ставка — нативное чтение уже существующей геодаты L2 и прозрачный технический стек, Babylon.js даёт лучшее соотношение контроля, производительности и открытости.