První vydání otevřeného multiplayerového herního enginu Ambient

Po roce vývoje byl představen první vydání nového open-source herního enginu Ambient. Engine poskytuje runtime pro vytvoření multiplayerových her a 3D aplikací, které se kompilují do formátu WebAssembly a využívají API WebGPU pro vykreslování. Kód je napsán v jazyce Rust a je distribuován pod licencí MIT.

Klíčovým úkolem při vývoji Ambient je poskytování nástrojů, které usnadňují vývoj multiplayerových her a činí jejich tvorbu snadnější než u jednohráčských projektů. Engine je od začátku zaměřen na vytvoření univerzálního runtime, který podporuje vývoj her a aplikací v jakýchkoli programovacích jazycích, jež lze kompilovat do mezikódu WebAssembly. Nicméně v prvním vydání je zatím realizována pouze podpora vývoje v jazyce Rust.

Klíčové vlastnosti nového enginu:

  • Průhledná podpora síťové interakce. Engine kombinuje funkce klienta a serveru, poskytuje všechny potřebné komponenty pro vytvoření klientské a serverové logiky a také automaticky synchronizuje stav serveru u klients. Na straně klienta a serveru se používá společný datový model, což usnadňuje přenos kódu mezi backendem a frontendem.
  • Spuštění každého modulu v jeho izolovaném prostředí, které omezuje vliv nedůvěryhodného kódu. Havárie modulu nevede k havárii celé aplikace.
  • Architektura orientovaná na zpracování dat (Data-oriented). Poskytování datového modelu založeného na systému komponentů, s nimiž může manipulovat každý modul WASM. Použití návrhového vzoru ECS (Entity Component System). Uložení dat všech komponent v centralizované databázi na serveru, jejíž stav se automaticky replikovaná klientovi, který na své straně může rozšiřovat data s ohledem na místní stav.
  • Možnost vytváření modulů Ambient v jakýchkoli programovacích jazycích, které lze kompilovat do WebAssembly (zatím je podporován pouze Rust).
  • Vytváření univerzálních spustitelných souborů, které mohou běžet na Windows, macOS a Linux, a fungovat jak v roli klienta, tak serveru.
  • Možnost definovat vlastní komponenty a 'koncepty' (sbírky komponentů). V projektech využívajících stejné komponenty a koncepty je zajištěna přenositelnost a sdílení dat, i když tato data nejsou speciálně navržena pro použití v konkrétních projektech.
  • Podpora kompilace zdrojů v různých formátech, včetně .glb a .fbx. Možnost streamování zdrojů přes síť — klient může získat všechny potřebné zdroje při připojení k serveru (lze začít hrát, aniž byste čekali na stažení všech zdrojů). Podporovány jsou formáty modelů FBX a glTF, různé formáty zvuku a obrázků.
  • Pokročilý vykreslovací systém využívající GPU pro urychlení výstupu, podporující provádění oříznutí podle viditelnosti a změnu úrovní detailů na straně GPU. Použití standardního fyzicky korektního renderování (PBR), podpora animace a kaskádových stínových map.
  • Podpora simulace fyzikálních procesů na základě enginu PhysX.
  • Systém pro vytváření uživatelských rozhraní podobný Reactu.
  • Unified input system, nezávislý na aktuální platformě.
  • Systém prostorového zvuku s připojitelnými filtry.

Vývoj je zatím v alfa verzi. Mezi ještě neimplementované funkce patří možnost spuštění ve webovém prohlížeči, klientské API, API pro správu více vláken, knihovna pro vytváření uživatelského rozhraní, API pro používání vlastních shaderů, podpora zvuku, načítání a ukládání komponent ECS (Entity Component System), dynamické znovu načítání zdrojů, automatické škálování. servery, editor pro společné vytváření herních map a herních scén.

Přehrát video


Zdroj: opennet.ru
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster