Prima lansare a motorului de joc multiplayer open source Ambient

După un an de dezvoltare, este prezentată prima lansare a noului motor de jocuri open source Ambient. Motorul oferă un timp de rulare pentru crearea de jocuri multiplayer și aplicații 3D care se compilează într-o reprezentare WebAssembly și utilizează API-ul WebGPU pentru randare. Codul este scris în Rust și este distribuit sub licența MIT.

Un obiectiv cheie în dezvoltarea Ambientului este de a oferi instrumente care simplifică dezvoltarea jocurilor multiplayer și fac crearea acestora mai dificilă decât proiectele cu un singur jucător. Motorul are ca scop inițial crearea unui timp de rulare universal care să susțină dezvoltarea de jocuri și aplicații în orice limbaj de programare pentru care este posibilă compilarea în codul intermediar WebAssembly. Cu toate acestea, prima versiune acceptă doar dezvoltarea Rust pentru moment.

Caracteristicile cheie ale noului motor:

  • Suport transparent pentru rețea. Motorul combină funcțiile client și server, oferă toate componentele necesare pentru crearea logicii client și server și sincronizează automat starea serverului între clienți. Un model comun de date este utilizat pe partea client și server, ceea ce simplifică transferul de cod între backend și frontend.
  • Rularea fiecărui modul în propriul mediu izolat, permițându-vă să limitați influența codului nedemn de încredere. Blocarea unui modul nu blochează întreaga aplicație.
  • Arhitectură orientată pe date. Furnizarea unui model de date bazat pe un sistem de componente care pot fi manipulate de fiecare modul WASM. Utilizarea modelului de proiectare ECS (Entity Component System). Stocarea datelor din toate componentele într-o bază de date centralizată. Server, a cărui stare este replicată automat clientului, care poate extinde datele pe partea sa ținând cont de starea locală.
  • Abilitatea de a crea module Ambient în orice limbaj de programare care se compilează în WebAssembly (deocamdată este acceptat doar Rust).
  • Формирование на выходе универсальных исполняемых файлов, которые могут запускаться в Windows, macOS и Linux, и функционировать как в роли клиента, так и сервера.
  • Abilitatea de a-ți defini propriile componente și „concepte” (colecții de componente). Proiectele care folosesc aceleași componente și concepte permit portabilitatea și partajarea datelor, chiar dacă datele nu sunt concepute special pentru a fi utilizate în anumite proiecte.
  • Suport pentru compilarea resurselor în diferite formate, inclusiv .glb și .fbx. Posibilitatea de descărcare în flux a resurselor prin rețea - clientul poate primi toate resursele necesare la conectarea la server (puteți începe să jucați fără a aștepta încărcarea tuturor resurselor). Suportă formate de model FBX și glTF, diverse formate audio și imagine.
  • Un sistem avansat de randare care folosește GPU pentru a accelera randarea și acceptă tăierea pe partea GPU și modificările nivelului de detaliu. Utilizează în mod implicit randarea bazată pe fizic (PBR), acceptă animație și hărți umbre în cascadă.
  • Suport pentru simularea proceselor fizice bazate pe motorul PhysX.
  • Un sistem pentru construirea de interfețe cu utilizatorul similar cu React.
  • Un sistem de intrare unificat care este independent de platforma actuală.
  • Sistem de sunet spațial cu filtre plug-in.

Dezvoltarea este în prezent în stadiul alfa. Printre caracteristicile care nu sunt încă implementate se numără capacitatea de lansare web, o API client, o API multithreading, o bibliotecă pentru crearea de interfețe utilizator, o API pentru utilizarea shaderelor personalizate, suport audio, încărcarea și salvarea componentelor ECS (Entity Component System), reîncărcarea resurselor din mers și scalarea automată. servere, un editor pentru crearea colaborativă de hărți de joc și scene de joc.

Rulează video


Sursa: opennet.ru
Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster