Ваша браузерная игра, скомпилированная в нативное приложение
Когда проект готов покинуть вкладку, Engine экспортирует его и создаёт проект на Bevy на Rust — а затем компилирует его в сборку для Windows, macOS, Linux или Android.
Платформа
Bevy 0.19
Лицензия
MIT / Apache 2.0
Язык
Rust (rustc ≥ 1.95)
Рендерер
wgpu
Что такое Bevy
Bevy — это игровой движок, написанный на Rust, бесплатный и с открытым исходным кодом по двойной лицензии MIT / Apache 2.0. Он построен на архитектуре entity-component-system и рендерит через wgpu — ту же графическую абстракцию, что лежит в основе WebGPU. Он компилируется в настоящий нативный бинарник — без браузера и без рантайма, который нужно поставлять вместе с ним.
Зачем вообще второй движок
Именно Babylon.js делает aukimi возможным: 3D-приложение, которое открывается по ссылке. Но готовая игра зачастую должна быть файлом — тем, что можно выложить на страницу магазина, передать игроку или запустить без вкладки браузера. Вместо того чтобы просить вас пересобрать проект где-то ещё, Engine переводит его: сцена, созданная вами в браузере, становится проектом на Bevy, который компилируется в приложение для настольных систем или мобильных устройств.
Что на самом деле экспортируется
Сборка не делает снимок вашей сцены — она её извлекает: геометрия и материалы уходят в виде стандартного GLB, всё, что знает движок, но не может передать glTF (рельеф, растительность, небо, постобработка, данные сущностей, настройки сцены), уходит рядом в виде структурированного JSON, и из этих двух файлов генерируется полноценный проект на Rust. Это обычный проект Cargo — вы можете его прочитать.
- scene.glb — геометрия, материалы, анимация
- scene.json — рельеф, растительность, освещение, настройки
- Сгенерированный проект Cargo для Bevy 0.19
Ваши скрипты переносятся вместе с проектом
Игровые скрипты, написанные в Engine, не переписываются вручную на Rust и не отбрасываются. Сгенерированный проект встраивает рантайм JavaScript (QuickJS) и подключает тот же скриптовый API, так что скрипт, написанный в браузере, выполняется в нативной сборке без изменений. Поддержание согласованности этих двух API — постоянное правило кодовой базы, а не что-то второстепенное.
Четыре платформы — и одна честно отсутствующая
Исполняемые файлы Windows, app-бандлы macOS, AppImage для Linux и APK для Android — вот платформы, которые сегодня предлагает панель сборки. iOS указан в списке, но отключён — требование к цепочке инструментов не спрячешь за индикатором загрузки. Если сервер сборки не может обработать вашу платформу, вы получаете сгенерированный проект на Rust для самостоятельной компиляции, а не сообщение об ошибке.
- Исполняемый файл для Windows 10/11
- App-бандл для macOS
- AppImage для Linux
- APK для Android (Android 8+)
То, что не переносится, честно об этом говорит
Два рендерера — это два рендерера. У некоторых вещей, которые умеет браузерный предпросмотр, пока нет аналога на стороне Bevy — среди них запечённые карты освещения и локализованные пробники света. Экспортёр составляет отчёт о конвертации, точно перечисляя, что не удалось перенести, вместо того чтобы молча это отбросить и дать вам обнаружить разницу уже в готовой сборке. Пробел, о котором можно прочитать, — это пробел, который можно спланировать.
Из первоисточника
Соберите свой проект в настоящий бинарник
Сделайте игру в браузере. Выпустите её как приложение.
Поддержать проект