Ambient, un motor de joc multiplayer open source

Înconjurător

Ambient este un timp de rulare pentru crearea de jocuri multiplayer de înaltă performanță și aplicații 3D, alimentate de WebAssembly, Rust și WebGPU.

După un an de dezvoltare, sam dezvăluit prima lansare a noului motor de joc open source Înconjurător. Motor oferă un timp de rulare pentru crearea de jocuri multiplayer și aplicații 3D care sunt compilate într-o reprezentare WebAssembly și utilizează API-ul WebGPU pentru randare.

Un obiectiv cheie în dezvoltarea Ambient este acela de a oferi instrumente care simplifică dezvoltarea jocurilor multiplayer și nu fac crearea acestora mai dificilă decât proiectele cu un singur jucător.

Motorul urmărește inițial să creeze un timp de rulare universal care să susțină dezvoltarea de jocuri și aplicații în orice limbaj de programare pentru care este posibilă compilarea la codul intermediar WebAssembly. Cu toate acestea, prima versiune acceptă doar dezvoltarea Rust până acum.

Despre Ambient

Dintre caracteristicile care ies în evidență din Ambient, se menționează că are suport transparent pentru crearea de rețele. Motorul combină funcțiile unui client și ale unui server, oferă toate componentele necesare pentru a crea logica client și server și sincronizează automat starea serverului pe clienți.

De asemenea, se menționează că un model de date comun este utilizat pe partea client și server, ceea ce facilitează transferul codului între backend și frontend. Rulează fiecare modul în propriul său mediu izolat pentru a limita impactul codului neîncrezat, iar blocarea unui modul nu blochează întreaga aplicație.

Ambient, cAre o arhitectură orientată pe date, oferind astfel un model de date bazat pe un sistem de componente pe care fiecare WASM le poate manipula. Folosind modelul de proiectare ECS (Entity Component System).

Pe lângă asta, de asemenea stochează datele tuturor componentelor într-o bază de date centralizată pe serverr, a cărui stare este replicată automat către client, care la rândul său poate extinde datele ținând cont de starea locală.

Capacitatea de a crea module Ambient în orice limbaj de programare care se compilează în WebAssembly (până acum este acceptat doar Rust), în timp ce generează fișiere de ieșire executabile universale, poate rula pe Windows, macOS și Linux și poate funcționa ca client și ca server.

Pe de altă parte, se subliniază și faptul căare capacitatea de a-și defini propriile componente și „concepte” (colecții de componente). Proiectele care folosesc aceleași componente și concepte asigură că datele sunt portabile și partajate, chiar dacă datele nu sunt concepute special pentru a fi utilizate în anumite proiecte.

Dintre celelalte caracteristici care ies în evidență din Ambient:

  • Suport pentru compilarea resurselor în diferite formate, inclusiv „.glb” și „.fbx”. Abilitatea de a transmite resurse prin rețea: clientul poate obține toate resursele necesare atunci când se conectează la server (puteți începe să jucați fără a aștepta încărcarea tuturor resurselor).
  • Sunt acceptate formatele de model FBX și glTF, diverse formate de sunet și imagine.
  • Un sistem de randare avansat care utilizează GPU pentru a accelera randarea și acceptă LOD și decuparea pe partea GPU.
  • Utilizarea implicită a randării bazate pe fizic (PBR), suport pentru animație și hărți umbre în cascadă.
  • Suport pentru simularea proceselor fizice bazate pe motorul PhysX.
  • Sistem de construcție a interfeței de utilizare asemănător React.
  • Sistem unificat de intrare independent de platforma actuală.
  • Sistem de sunet spațial cu filtre plug-in.
  • Dezvoltarea este încă în stadiul alfa. Dintre funcționalitatea încă neimplementată, putem remarca capacitatea de a rula pe Web, un API client, un API pentru gestionarea multi-threading-ului, o bibliotecă pentru crearea unei interfețe cu utilizatorul, un API pentru utilizarea propriilor shadere, suport audio, încărcare și salvați
  • Componente ECS (Entity Component System), resurse de reîncărcare din mers, scalare automată a serverului, un editor pentru a crea împreună hărți de joc și scene de joc.

În cele din urmă, pentru cei interesați să afle mai multe despre el, ar trebui să știe că codul este scris în Rust și este distribuit sub licența MIT.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.