Twoja gra z przeglądarki, skompilowana do natywnej aplikacji
Gdy projekt jest gotowy, by opuścić kartę przeglądarki, Engine eksportuje go i generuje projekt Bevy w Rust — a następnie kompiluje go do wersji na Windows, macOS, Linux lub Android.
Platforma docelowa
Bevy 0.19
Licencja
MIT / Apache 2.0
Język
Rust (rustc ≥ 1.95)
Renderer
wgpu
Czym jest Bevy
Bevy to silnik gier napisany w Rust, darmowy i otwartoźródłowy na podwójnej licencji MIT / Apache 2.0. Zbudowany jest wokół architektury entity-component-system i renderuje przez wgpu — tę samą abstrakcję graficzną, na której opiera się WebGPU. Kompiluje się do prawdziwego natywnego pliku binarnego — bez przeglądarki, bez środowiska uruchomieniowego do dołączenia.
Po co w ogóle drugi silnik
To Babylon.js sprawia, że aukimi jest w ogóle możliwe: aplikacja 3D, którą otwierasz pod adresem URL. Ale gotowa gra często musi być plikiem — czymś, co można umieścić na stronie sklepu, przekazać graczowi albo uruchomić bez karty przeglądarki. Zamiast kazać ci odbudowywać projekt gdzie indziej, Engine go tłumaczy: scena, którą stworzyłeś w przeglądarce, staje się projektem Bevy, który kompiluje się do aplikacji desktopowej lub mobilnej.
Co dokładnie trafia do eksportu
Kompilacja nie robi zrzutu ekranu twojej sceny. Ona ją ekstrahuje: geometria i materiały wychodzą jako standardowy plik GLB, wszystko, co silnik wie, a czego glTF nie potrafi przenieść (teren, roślinność, niebo, postprocessing, dane bytów, ustawienia sceny), wychodzi obok niego jako uporządkowany JSON, a z tych dwóch plików generowany jest pełny projekt Rust. To zwykły projekt Cargo — możesz go przeczytać.
- scene.glb — geometria, materiały, animacja
- scene.json — teren, roślinność, światła, ustawienia
- Wygenerowany projekt Cargo celujący w Bevy 0.19
Twoje skrypty jadą razem z projektem
Skrypty rozgrywki napisane w Engine nie są ręcznie przepisywane na Rust ani porzucane. Wygenerowany projekt osadza środowisko uruchomieniowe JavaScript (QuickJS) i wiąże ten sam interfejs API skryptowania, więc skrypt napisany w przeglądarce działa w natywnej kompilacji dokładnie tak, jak został napisany. Utrzymanie zgodności obu tych API to stała zasada tej bazy kodu, a nie coś dorzuconego na końcu.
Cztery platformy docelowe i jedna, która szczerze przyznaje, że jej brakuje
Pliki wykonywalne Windows, pakiety aplikacji macOS, AppImage dla Linuksa i pliki APK na Androida — to platformy, które panel kompilacji oferuje dziś. iOS jest wymieniony, ale wyłączony — wymaganie dotyczące toolchaina to coś, czego nie da się ukryć za animacją ładowania. Jeśli serwer kompilacji nie może obsłużyć twojej platformy, dostajesz wygenerowany projekt Rust do samodzielnej kompilacji zamiast komunikatu o błędzie.
- Plik wykonywalny Windows 10/11
- Pakiet aplikacji macOS
- AppImage dla Linuksa
- Plik APK na Androida (Android 8+)
To, co nie przechodzi, mówi o tym wprost
Dwa renderery to dwa renderery. Niektóre rzeczy, które robi podgląd w przeglądarce, nie mają jeszcze odpowiednika po stronie Bevy — między innymi zapieczone lightmapy i zlokalizowane sondy światła. Eksporter zapisuje raport konwersji, wymieniając dokładnie to, czego nie udało się przenieść, zamiast po cichu to pominąć i pozwolić ci odkryć różnicę dopiero w gotowej kompilacji. Lukę, którą możesz przeczytać, możesz też zaplanować.
Skompiluj swój projekt do prawdziwego pliku binarnego
Zrób grę w przeglądarce. Wydaj ją jako aplikację.
Wesprzyj projekt