První vydání open source herního enginu pro více hráčů Ambient

Po roce vývoje byla vydána první verze nového open-source herního enginu Ambient. Engine poskytuje běhové prostředí pro tvorbu her pro více hráčů a 3D aplikací, které se kompilují do WebAssembly a využívají WebGPU API pro renderování. Kód je napsán v Rustu a distribuován pod licencí MIT.

Hlavním cílem vývoje enginu Ambient je poskytnout nástroje, které zjednoduší vývoj her pro více hráčů a neudělají ho obtížnějším než projekty pro jednoho hráče. Engine je původně zaměřen na vytvoření univerzálního běhového prostředí, které podporuje vývoj her a aplikací v jakémkoli programovacím jazyce, který lze kompilovat do mezikódu WebAssembly. První verze však v současné době podporuje pouze vývoj v Rustu.

Klíčové vlastnosti nového motoru:

  • Transparentní podpora síťové interakce. Engine kombinuje funkcionalitu klienta a serveru, poskytuje všechny potřebné komponenty pro vytváření logiky klienta a serveru a automaticky synchronizuje stav serveru napříč klienty. Na straně klienta i serveru se používá společný datový model, což zjednodušuje migraci kódu mezi backendem a frontendem.
  • Každý modul běží ve svém vlastním izolovaném prostředí, což omezuje dopad nedůvěryhodného kódu. Pád modulu nezpůsobí pád celé aplikace.
  • Datově orientovaná architektura. Poskytování datového modelu založeného na systému komponent, které lze manipulovat každým modulem WASM. Použití návrhového vzoru ECS (Entity Component System). Ukládání dat ze všech komponent do centralizované databáze. server, jehož stav se automaticky replikuje na klienta, který si může data na své straně rozšířit s ohledem na lokální stav.
  • Možnost vytvářet moduly Ambient v jakémkoli programovacím jazyce, který se kompiluje do WebAssembly (v současné době je podporován pouze Rust).
  • Tvorba univerzálních spustitelných souborů na výstupu, které lze spustit v Windows, macOS и Linuxa fungují jak jako klient, tak jako server.
  • Možnost definovat vlastní komponenty a „koncepty“ (kolekce komponent). Projekty používající stejné komponenty a koncepty umožňují přenositelnost a sdílení dat, i když 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. Streamování stahování zdrojů přes síť – klient může získat všechny potřebné zdroje po připojení k serveru (můžete začít hrát, aniž byste čekali na stažení všech zdrojů). Podporovány jsou formáty modelů FBX a glTF, stejně jako různé zvukové a obrazové formáty.
  • Pokročilý renderovací systém, který využívá GPU pro akceleraci renderování a podporuje vyřazování zobrazovacích polí založené na GPU a přepínání úrovní detailů. Ve výchozím nastavení se používá fyzicky založené renderování (PBR) a jsou podporovány animace a kaskádové mapy stínů.
  • Podpora simulace fyzikálních procesů založená na enginu PhysX.
  • Systém pro tvorbu uživatelského rozhraní podobný Reactu.
  • Jednotný vstupní systém, který je nezávislý na aktuální platformě.
  • Prostorový zvukový systém s připojitelnými filtry.

Vývoj je momentálně v alfa verzi. Mezi dosud neimplementované funkce patří spouštění z webu, klientské API, multithreadingové API, knihovna pro vytváření uživatelských rozhraní, API pro používání vlastních shaderů, podpora zvuku, načítání a ukládání komponent ECS (Entity Component System), průběžné načítání zdrojů a automatické škálování. servery, editor pro společnou tvorbu herních map a herních scén.

Přehrát video


Zdroj: opennet.ru
Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster