Перейти до вмісту
На основі Bevy
Bevy

Ваша браузерна гра, скомпільована в нативний застосунок

Коли проєкт готовий покинути вкладку, 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-застосунок, який відкривається за URL-адресою. Але готова гра часто мусить бути файлом — тим, що можна викласти на сторінку магазину, передати гравцю або запустити без вкладки. Замість того щоб просити вас перебудовувати проєкт деінде, Engine перекладає його: сцена, яку ви створили в браузері, стає проєктом Bevy, що компілюється в застосунок для десктопа чи мобільного пристрою.

Що насправді експортується

Збірка не робить знімок вашої сцени. Вона витягує її: геометрія та матеріали виходять як стандартний GLB, усе, що рушій знає, а glTF передати не може (рельєф, рослинність, небо, постобробка, дані сутностей, налаштування сцени), виходить поруч у вигляді структурованого JSON, а з цих двох файлів генерується повноцінний проєкт на Rust. Цей проєкт — звичайний проєкт Cargo, і ви можете його прочитати.

  • scene.glb — геометрія, матеріали, анімація
  • scene.json — рельєф, рослинність, освітлення, налаштування
  • Згенерований проєкт Cargo під Bevy 0.19

Ваші скрипти переносяться разом

Ігрові скрипти, написані в Engine, не переписуються вручну на Rust і не відкидаються. Згенерований проєкт вбудовує JavaScript-рантайм (QuickJS) і прив'язує той самий скриптовий API, тож скрипт, написаний у браузері, виконується в нативній збірці таким, яким його написали. Узгодженість цих двох API — постійне правило кодової бази, а не запізніла думка.

Чотири платформи — і одна, що чесно визнає свою відсутність

Виконувані файли для Windows, пакунки застосунків macOS, AppImage для Linux та APK для Android — ось платформи, які панель збірки пропонує сьогодні. iOS вказано в списку, але вимкнено: вимогу до інструментарію неможливо приховати за індикатором завантаження. Якщо сервер збірки не може обробити вашу платформу, ви отримуєте згенерований проєкт на Rust для самостійної компіляції, а не повідомлення про помилку.

  • Виконуваний файл для Windows 10/11
  • Пакунок застосунку macOS
  • AppImage для Linux
  • APK для Android (Android 8+)

Що не переноситься — про це прямо сказано

Два рендерери — це два рендерери. Дещо з того, що показує браузерний перегляд, поки що не має еквівалента на боці Bevy — серед іншого запечені лайтмапи та локалізовані світлові проби. Експортер формує звіт про перенесення, у якому чітко перелічено все, що не вдалося перенести, замість того щоб мовчки це відкинути й дати вам виявити різницю вже в готовій збірці. Прогалину, яку можна прочитати, можна й спланувати.

Зберіть свій проєкт у справжній бінарник

Створіть гру в браузері. Випустіть її як застосунок.

Підтримати проект