Ambient, nyílt forráskódú többjátékos játékmotor

Környező

Az Ambient egy futtatókörnyezet nagy teljesítményű többjátékos játékok és 3D-s alkalmazások létrehozásához, WebAssembly, Rust és WebGPU segítségével.

Egy év fejlesztés után se bemutatta az első kiadást az új nyílt forráskódú játékmotor Környező. A motor futási időt biztosít többjátékos játékok és 3D alkalmazások létrehozásához amelyek WebAssembly-reprezentációba vannak fordítva, és a WebGPU API-t használják a megjelenítéshez.

Az Ambient fejlesztésének kulcsfontosságú célja olyan eszközök biztosítása, amelyek leegyszerűsítik a többjátékos játékok fejlesztését, és nem teszik nehezebbé a létrehozásukat, mint az egyjátékos projektek.

A motor kezdetben egy univerzális futtatókörnyezet létrehozására törekszik, amely támogatja a játék- és alkalmazásfejlesztést bármilyen programozási nyelven, amelynél lehetséges a közbenső WebAssembly kódra való fordítás. Az első verzió azonban egyelőre csak a Rust fejlesztést támogatja.

Az Ambientről

Az Ambient jellemzői közül megemlítik, hogy átlátható támogatást nyújt a hálózatépítéshez. A motor egyesíti a kliens és a szerver funkcióit, biztosítja az összes szükséges összetevőt a kliens és szerver logika létrehozásához, és automatikusan szinkronizálja a szerver állapotát az ügyfeleken.

Azt is megemlítik, hogy közös adatmodellt használnak a kliens és a szerver oldalon, ami megkönnyíti a kód átvitelét a háttér és a frontend között. Minden modult a saját elkülönített környezetben futtat, hogy korlátozza a nem megbízható kódok hatását, és egy modul összeomlása nem az egész alkalmazás összeomlását okozza.

Ambient, cAdatorientált architektúrájú, ezáltal olyan adatmodellt biztosítva, amely olyan összetevők rendszerén alapul, amelyeket minden WASM képes kezelni. Az ECS (Entity Component System) tervezési minta használata.

Ezen kívül még az összes komponens adatait egy központi adatbázisban tárolja a szerverenr, amelynek állapota automatikusan replikálódik a kliensnek, ami viszont kiterjesztheti az adatokat a helyi állapot figyelembevételével.

Az Ambient modulok létrehozásának lehetősége bármilyen programozási nyelven, amely WebAssembly-re fordít (eddig csak a Rust támogatott), miközben univerzális végrehajtható kimeneti fájlokat generál, futhat Windows, macOS és Linux rendszeren, valamint kliensként és szerverként is működik.

Másrészt azt is kiemelikképes meghatározni saját összetevőit és „fogalmait” (összetevők gyűjteményei). Az azonos összetevőket és koncepciókat használó projektek biztosítják az adatok hordozhatóságát és megosztását, még akkor is, ha az adatokat nem kifejezetten konkrét projektekben való használatra tervezték.

A többi funkció közül, amelyek kiemelkednek az Ambient közül:

  • Támogatás az erőforrások különböző formátumokban történő fordításához, beleértve a ".glb" és ".fbx" formátumot. Lehetőség az erőforrások hálózaton keresztüli streamelésére: a kliens minden szükséges erőforráshoz hozzájuthat a szerverhez való csatlakozáskor (elkezdhet játszani anélkül, hogy megvárná az összes erőforrás betöltését).
  • FBX és glTF modellformátumok, különféle hang- és képformátumok támogatottak.
  • Fejlett renderelő rendszer, amely a GPU-t használja a renderelés felgyorsítására, és támogatja a GPU-oldali LOD-t és a kivágást.
  • Alapértelmezés szerint a fizikai alapú renderelés (PBR) használata, az animáció és a lépcsőzetes árnyéktérképek támogatása.
  • Fizikai folyamatok szimulációjának támogatása a PhysX motoron.
  • React-szerű UI-építő rendszer.
  • A jelenlegi platformtól független egységes beléptető rendszer.
  • Térbeli hangrendszer dugaszolható szűrőkkel.
  • A fejlesztés még az alfa szakaszban van. A még nem implementált funkcionalitások közül kiemelhetjük a weben való futtathatóságot, egy kliens API-t, egy API-t a többszálas kezeléshez, egy könyvtárat a felhasználói felület létrehozásához, egy API-t a saját shaderek használatához, hangtámogatást, terhelést és mentse el
  • ECS (Entity Component System) komponensek, erőforrások menet közbeni újratöltése, automatikus szerverméretezés, szerkesztő játéktérképek és játékjelenetek közös létrehozásához.

Végül pedig azoknak, akik többet szeretnének megtudni róla, tudniuk kell, hogy a kód Rust nyelven íródott, és az is MIT licence alapján terjesztik.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.