Prvé vydanie otvoreného viacerých hráčov herného enginu Ambient

Po roku vývoja bol predstavený prvý vydanie nového otvoreného herného enginu Ambient. Engine poskytuje runtime na vytváranie multiplayerových hier a 3D aplikácií, ktoré sú kompilované do formátu WebAssembly a používajú API WebGPU na vykresľovanie. Kód je napísaný v jazyku Rust a šíri sa pod licenciou MIT.

Kľúčovou úlohou pri vývoji Ambient je poskytnúť nástroje, ktoré zjednodušujú vývoj multiplayerových hier a robia ich vytváranie rovnako jednoduché ako pre jednopoužívateľské projekty. Engine je pôvodne zameraný na vytváranie univerzálneho runtime, ktorý podporuje vývoj hier a aplikácií v akýchkoľvek programovacích jazykoch, ktoré je možné kompilovať do medziformátu WebAssembly. Napriek tomu v prvom vydaní zatiaľ existuje iba podpora pre vývoj v jazyku Rust.

Kľúčové vlastnosti nového enginu:

  • Priehľadná podpora sieťovej interakcie. Engine kombinuje funkcie klienta a servera, poskytuje všetky potrebné komponenty na vytváranie klientskej a serverovej logiky, a tiež automaticky synchronizuje stav servera na klientoch. Na strane klienta a servera sa používa spoločný model údajov, čo uľahčuje prenos kódu medzi backendom a frontendom.
  • Spustenie každého modulu vo vlastnom izolovanom prostredí, ktoré umožňuje obmedziť vplyv nedôveryhodného kódu. Havária modulu nespôsobuje haváriu celej aplikácie.
  • Architektúra zameraná na spracovanie údajov. Poskytovanie modelu údajov na báze systému komponentov, ktorými môže manipulovať každý modul WASM. Použitie návrhového vzoru ECS (Entity Component System). Uloženie údajov všetkých komponentov v centralizovanej databáze na serveri, ktorej stav sa automaticky replikácie klientovi, ktorý môže na svojej strane rozširovať údaje s ohľadom na lokálny stav.
  • Možnosť vytvárania modulov Ambient v akýchkoľvek programovacích jazykoch kompilovaných do WebAssembly (v súčasnosti je podporovaný iba Rust).
  • Tvorba univerzálnych spustiteľných súborov, ktoré môžu bežať na Windows, macOS a Linux a fungovať ako klient aj server.
  • Možnosť definovania vlastných komponentov a „konceptov“ (kolekcií komponentov). V projektoch, ktoré používajú rovnaké komponenty a koncepty, sa zabezpečuje prenosnosť a zdieľanie dát, aj keď tieto dáta nie sú špeciálne navrhnuté na použitie v konkrétnych projektoch.
  • Podpora kompilácie zdrojov v rôznych formátoch, vrátane .glb a .fbx. Možnosť streamovacího načítania zdrojov cez sieť — klient môže získať všetky potrebné zdroje pri pripojení k serveru (môžete začať hrať, aj keď sa ešte všetky zdroje nenačítali). Podporujú sa formáty modelov FBX a glTF, rôzne formáty zvuku a obrázkov.
  • Pokročilý systém vykresľovania, ktorý využíva GPU na urýchlenie výstupu a podporuje vykonávanie orezania podľa oblasti viditeľnosti a zmenu úrovní detailov na strane GPU. Používanie fyzikálneho správneho renderovania (PBR) je predvolené, podpora animácie a kaskádových tieňových máp.
  • Podpora simulácie fyzikálnych procesov na báze enginu PhysX.
  • Systém na budovanie používateľských rozhraní, ktorý je podobný Reactu.
  • Zjednotený systém vstupu, ktorý nie je závislý od aktuálnej platformy.
  • Systém priestorového zvuku s pripojiteľnými filtrami.

Vývoj je zatiaľ v alpha verzii. Z ešte neimplementovanej funkcionality možno spomenúť možnosť spustenia v Webe, klientské API, API na správu viacerých vlákien, knižnicu na vytváranie používateľského rozhrania, API na používanie vlastných shaderov, podpora zvuku, načítanie a uloženie komponentov ECS (Entity Component System), živé prekladanie zdrojov, automatické škálovanie. serverov, editor na spoločné vytváranie herných máp a herných scén.

Prehrajte video


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster