Armory Engine. Введение
Итак, я расскажу вам о таком замечательном игровом движке как Armory3D. Написал его и развивает Lubos Lenco, словацкий программист. Он же и написал Armory Paint, программу для рисования PBR текстур на 3D моделях. Расскажу чем он примечателен:
- Открытый (лицензия zlib)
- Кроссплатформенный (Windows, Android, IOS, Linux, macOS)
- Совершенно бесплатный (вы можете пожертвовать автору на развитие).
Движок написан на Haxe, С/С++ и WebAssembly, поставляется в виде аддона для Blender, но спокойно интегрируется и другие пакеты 3D моделирования и анимации. Движок оптимизирован на производительность, переносимость и легковесность кода в отличии от таких монстров как Unity, Unreal, CryEngine etc.
Компоненты движка
Движок состоит из нескольких компонентов о которых расскажу ниже:
- Рендер. У движка своя собственная система рендеринга Iron. Она основана основана шейдерах EEVEE/Cycles Blender, но только частично. Вот список тех которые можно использовать.
- Скриптовая система. Скрипты в Armory используют traits (особенность, черта), часть логики прикрепленная к объекту (о ней будет подробнее чуть ниже)
- Мультиплатформенность. Движок поддерживает «из коробки» все доступные популярные платформы -ПК (Windows, Linux, macOS), консоли (Xbox One — Series X, PS4, Nintendo Switch, и мобильные OS(Android, IOS).
Теперь о скриптах, в движке их 4 типа:
- LogicNodeTraits: это аналог blueprints Unreal Engine 4.
- Haxe Traits: traits написанные на Haxe.
- Canvas Traits: UI, меню и прочее.
- WASM Traits: traits написанные на WebAssembly, Rust, C/C++.
Технологии движка
Движок использует Iron, KHA и Haxe:
- Iron. Внутренний рендер движка написан на Iron, KHA и Haxe. Легко масштабируется, поскольку является модульным. Сам iron обрабатывает контейнеры визуализации, поэтому на его основе можно писать свой собственный движок
- Haxe. Открытый кроссплатформенный инструмент основанный основанный на современном, высокоуровневом, строго типизированном, многопарадигмальном языке программирования и кросс-компиляторе. Который может компилировать код для целевого исходного кода платформы или двоичного кода. В своей сущности конвертер кода. Написав код для python вы сможете перенести его на lua, c++ и так далее. Очень удобно для переноса
- KHA. SDK и мультимедийный фреймворк в одном лице. Компактный, производительный для создания кроссплатформенных приложений. KHA предоставляет API для сети, аудио. ввода, графики (Metal, Vulkan, DirectX, WebGL и OpenGL). Генерирует высокоскоростной компактный код для всех платформ.
У движка нет огромного комьюнити как Unreal или Unity, но тем не менее он заслуживает внимания. Ведь он использует все современные технологии, легкий и модульный. Автор постепенно развивает и улучшает свое детище, а исходники доступны каждому.
В следующем посте я расскажу как установить движок и сделать первый тестовый уровень.
Инсайдер назвал Marvel’s Wolverine второй по стоимости игрой Insomniac Games
Blizzard дала фанатам новый повод ждать выхода World of Warcraft на консолях
Даниэль Вавра встал на защиту DLSS из-за того, что в Kingdom Come: Deliverance II технология позволила реализовать его видение
Низкая оценка Marvel’s Wolverine может лишить Sony главной номинации на The Game Awards
Экшен X-Men Origins: Wolverine удалось разработать без переработок благодаря переносу фильма
Разработчик Total War Warhammer 40000 рассказал о влиянии настольной игры на стратегию
Для модификации Dawn of the Tiberium Age вышла новая фанатская кампания
Blizzard внедрила онлайн-DRM в Warcraft III: Reforged после релиза кампании Forsaken Kingdom