Ambient, atvirojo kodo kelių žaidėjų žaidimų variklis

Aplinkos

Ambient yra vykdymo laikas, skirtas kurti didelio našumo kelių žaidėjų žaidimus ir 3D programas, maitinamas WebAssembly, Rust ir WebGPU.

Po metų plėtros se pristatė pirmąjį leidimą naujojo atvirojo kodo žaidimų variklio Aplinka. Variklis suteikia vykdymo laiką kelių žaidėjų žaidimams ir 3D programoms kurti kurie yra sudaryti į WebAssembly atvaizdą ir naudoja WebGPU API atvaizdavimui.

Pagrindinis tikslas kuriant „Ambient“ yra pateikti įrankius, kurie supaprastina kelių žaidėjų žaidimų kūrimą ir jų kūrimą neapsunkina nei vieno žaidėjo projektų.

Iš pradžių variklio tikslas yra sukurti universalų vykdymo laiką, kuris palaikytų žaidimų ir programų kūrimą bet kuria programavimo kalba, kurią galima kompiliuoti į tarpinį WebAssembly kodą. Tačiau pirmoji versija kol kas palaiko tik Rust plėtrą.

Apie Ambient

Iš charakteristikų, išsiskiriančių iš Ambient, minima, kad turi skaidrią tinklų kūrimo palaikymą. Variklis sujungia kliento ir serverio funkcijas, suteikia visus reikalingus komponentus kliento ir serverio logikai sukurti ir automatiškai sinchronizuoja serverio būseną klientuose.

Taip pat minima, kad Kliento ir serverio pusėse naudojamas bendras duomenų modelis, kuri leidžia lengvai perkelti kodą tarp užpakalinės ir priekinės dalies. Jis paleidžia kiekvieną modulį savo izoliuotoje aplinkoje, kad apribotų nepatikimo kodo poveikį, o sudužus vienam moduliui, visa programa nesugenda.

Aplinka, cJi turi į duomenis orientuotą architektūrą, taip pateikiant duomenų modelį, pagrįstą komponentų sistema, kuria gali manipuliuoti kiekviena WASM. Naudojant ECS (Entity Component System) projektavimo modelį.

Be to, taip pat saugo visų komponentų duomenis centralizuotoje duomenų bazėje serveryjer, kurios būsena automatiškai pakartojama klientui, o tai savo ruožtu gali išplėsti duomenis, atsižvelgiant į vietinę būseną.

Galimybė kurti aplinkos modulius bet kuria programavimo kalba, kuri kompiliuojama į WebAssembly (iki šiol palaikoma tik Rust), generuojant universalius vykdomuosius išvesties failus, gali veikti Windows, macOS ir Linux sistemose bei veikti kaip klientas ir serveris.

Kita vertus, taip pat pabrėžiama, kadturi galimybę apibrėžti savo komponentus ir „sąvokas“ (komponentų kolekcijos). Projektai, kuriuose naudojami tie patys komponentai ir koncepcijos, užtikrina, kad duomenys būtų nešiojami ir bendrinami, net jei duomenys nėra specialiai sukurti naudoti konkrečiuose projektuose.

Iš kitų funkcijų, kurios išsiskiria iš aplinkos:

  • Išteklių kompiliavimo palaikymas įvairiais formatais, įskaitant „.glb“ ir „.fbx“. Galimybė srautiniu būdu perduoti išteklius per tinklą: klientas gali gauti visus reikiamus resursus prisijungdamas prie serverio (galima pradėti žaisti nelaukiant, kol bus įkelti visi ištekliai).
  • Palaikomi FBX ir glTF modelių formatai, įvairūs garso ir vaizdo formatai.
  • Pažangi atvaizdavimo sistema, kuri naudoja GPU, kad pagreitintų atvaizdavimą, ir palaiko GPU pusės LOD ir iškirpimą.
  • Pagal numatytuosius nustatymus naudojamas fiziškai pagrįstas atvaizdavimas (PBR), animacijos ir pakopinių šešėlinių žemėlapių palaikymas.
  • Fizinių procesų modeliavimo palaikymas, pagrįstas PhysX varikliu.
  • „React“ panaši vartotojo sąsajos kūrimo sistema.
  • Vieninga įėjimo sistema, nepriklausoma nuo dabartinės platformos.
  • Erdvinė garso sistema su prijungiamais filtrais.
  • Vystymas vis dar yra alfa stadijoje. Iš dar neįdiegtų funkcijų galime paminėti galimybę paleisti žiniatinklyje, kliento API, kelių gijų valdymo API, vartotojo sąsajos kūrimo biblioteką, API, skirtą naudoti savo šešėlius, garso palaikymą, įkėlimą. ir išsaugoti
  • ECS (Entity Component System) komponentai, išteklių perkrovimas skrydžio metu, automatinis serverio mastelio keitimas, rengyklė, skirta kartu kurti žaidimų žemėlapius ir žaidimų scenas.

Galiausiai, norintys sužinoti daugiau apie tai, jie turėtų žinoti, kad kodas parašytas Rust ir yra platinamas pagal MIT licenciją.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.