Salt la conținut
Construit pe Bevy
Bevy

Jocul tău din browser, compilat într-o aplicație nativă

Când un proiect este gata să iasă din filă, Engine îl exportă și generează un proiect Bevy în Rust — apoi îl compilează într-o versiune pentru Windows, macOS, Linux sau Android.

Țintă

Bevy 0.19

Licență

MIT / Apache 2.0

Limbaj

Rust (rustc ≥ 1.95)

Randare

wgpu

Ce este Bevy

Bevy este un motor de jocuri scris în Rust, gratuit și open source sub o licență duală MIT / Apache 2.0. Este construit în jurul unei arhitecturi entitate-componentă-sistem și randează prin wgpu, aceeași abstractizare grafică care stă la baza WebGPU. Se compilează într-un binar nativ real — fără browser, fără runtime de livrat alături.

De ce, totuși, un al doilea motor

Babylon.js este ceea ce face aukimi posibil: o aplicație 3D pe care o deschizi cu un URL. Dar un joc terminat trebuie adesea să fie un fișier — ceva de pus pe o pagină de magazin, de dat unui jucător sau de rulat fără o filă de browser. În loc să-ți ceară să reconstruiești proiectul în altă parte, Engine îl traduce: scena pe care ai creat-o în browser devine un proiect Bevy care se compilează într-o aplicație desktop sau mobilă.

Ce se exportă, de fapt

Compilarea nu face o captură de ecran a scenei tale. O extrage: geometria și materialele ies ca un GLB standard, tot ce știe motorul și ce glTF nu poate transporta (teren, vegetație, cer, post-procesare, date de entități, setări de scenă) iese ca JSON structurat alături, iar un proiect Rust complet este generat din aceste două fișiere. Acel proiect este un proiect Cargo normal — poți să-l citești.

  • scene.glb — geometrie, materiale, animație
  • scene.json — teren, vegetație, lumini, setări
  • Un proiect Cargo generat, care vizează Bevy 0.19

Scripturile tale vin cu tine

Scripturile de gameplay scrise în Engine nu sunt rescrise manual în Rust și nici eliminate. Proiectul generat include un runtime JavaScript (QuickJS) și leagă același API de scripting, astfel încât un script creat în browser rulează în compilarea nativă exact așa cum a fost scris. Menținerea celor două API-uri aliniate este o regulă permanentă a codului sursă, nu o idee ulterioară.

Patru ținte, și una care recunoaște sincer că lipsește

Executabile Windows, pachete de aplicații macOS, AppImage-uri Linux și APK-uri Android sunt țintele pe care panoul de compilare le oferă astăzi. iOS este listat și dezactivat — cerința legată de toolchain nu este ceva ce putem ascunde în spatele unui indicator de încărcare. Dacă serverul de compilare nu poate prelua ținta ta, primești proiectul Rust generat pentru a-l compila singur, nu un mesaj de eroare.

  • Executabil Windows 10/11
  • Pachet de aplicație macOS
  • AppImage Linux
  • APK Android (Android 8+)

Ce nu trece, spune asta clar

Două randoare sunt două randoare. Unele lucruri pe care previzualizarea din browser le face nu au încă un echivalent pe partea Bevy — printre ele, hărțile de lumină precalculate (lightmap-uri) și sondele de lumină localizate. Exportatorul scrie un raport de conversie care listează exact ce nu a putut fi transportat, în loc să-l elimine în tăcere și să te lase să descoperi diferența în compilarea finală. Un gol pe care poți să-l citești este un gol pentru care poți să planifici.

Compilează-ți proiectul într-un binar real

Fă jocul în browser. Lansează-l ca aplicație.

Susține Proiectul