Przejdź do treści
Oparte na Bevy
Bevy

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