Az Ambient nyílt, többszereplős játék motorjának első kiadása

A hosszú fejlesztési év után bemutatták az Ambient új, nyílt játékmotorjának első kiadását. A motor runtime-ot biztosít többjátékos játékok és 3D-alkalmazások létrehozásához, amelyeket WebAssembly-re fordítanak, és WebGPU API-t használnak a rendereléshez. A kód Rust nyelven íródott, és MIT licenc alatt terjesztik.

Az Ambient fejlesztésének kulcsfontosságú célja olyan eszközök biztosítása, amelyek megkönnyítik a többjátékos játékok fejlesztését, és a létrehozásukat nem nehezebbnek tartják az egyjátékos projekteknél. A motor eredetileg egy univerzális runtime létrehozására összpontosít, amely támogatja a játékok és alkalmazások fejlesztését bármilyen programozási nyelven, amennyiben azok WebAssembly köztes kódba fordíthatók. Jelenleg azonban az első kiadásban csak a Rust nyelv támogatása valósult meg.

Az új motor kulcsfontosságú jellemzői:

  • Átlátható hálózati interakciós támogatás. A motor egyesíti a kliens és a szerver funkcióit, rendelkezik minden szükséges komponenssel a kliens- és szerverlogika létrehozásához, és automatikusan szinkronizálja a szerver állapotát a klienseken. Az ügyfél és a szerver oldalán közös adatmodell kerül felhasználásra, ami egyszerűsíti a kód átültetését a háttérből a frontendbe.
  • Minden modul saját elkülönített környezetében való futtatása, ami lehetővé teszi a megbízhatatlan kód hatásának korlátozását. A modul váratlan leállása nem idézi elő az egész alkalmazás váratlan leállását.
  • Adatcentrikus architektúra. Olyan adatmodellt kínál, amely komponensrendszeren alapul, és amelyet minden WASM modul kezelhet. ECS (Entity Component System) tervezési minta alkalmazása. Az összes komponens adatának központosított adatbázisban való tárolása, szerveren, amelynek állapota automatikusan replikálódik a klienshez, amely a saját oldalán kiterjesztheti az adatokat a helyi állapot figyelembevételével.
  • Az Ambient modulok bármilyen programozási nyelven való létrehozását lehetővé tevő lehetőség, amelyek WebAssembly-re fordíthatók (jelenleg csak a Rust támogatott).
  • Univerzális futtatható fájlok előállítása, amelyek Windows, macOS és Linux rendszereken futtathatók, és egyaránt működhetnek mint kliens és szerver.
  • Lehetőség saját összetevők és "koncepciók" (összetevőgyűjtemények) meghatározására. Azokban a projektekben, amelyek azonos összetevőket és koncepciókat használnak, biztosított a hordozhatóság és az adatok közös használata, még akkor is, ha ezek az adatok nem kifejezetten egy adott projekt használatára lettek kiszámítva.
  • Támogatja a különböző formátumú erőforrások fordítását, beleértve a .glb és .fbx fájlokat. Lehetővé teszi az erőforrások hálózaton keresztüli streamelését — az ügyfél megkaphatja az összes szükséges erőforrást, amikor csatlakozik a szerverhez (a játék indítható anélkül, hogy meg kellene várni az összes erőforrás betöltését). Támogatott modellek: FBX és glTF formátumok, valamint különböző hang- és képformátumok.
  • Fejlett renderelő rendszer, amely GPU-t használ a kimenet felgyorsítására, és támogatja a láthatósági zóna szerinti vágást és a részletességi szintek váltását a GPU oldalán. Alapértelmezettként fizikai helyességű renderelést (PBR) használ, támogatja az animációt és a cascaded shadow maps-ot.
  • Fizikai folyamatok szimulációjának támogatása a PhysX motor alapján.
  • Felhasználói felület építési rendszer, amely hasonlít a React-re.
  • Egységesített bemeneti rendszer, függetlenül a jelenlegi platformtól.
  • Térbeli hangrendszer, csatlakoztatható szűrőkkel.

A fejlesztés még alpha verzióban van. A még nem megvalósított funkciók közül említésre méltó a böngésző alatti futás lehetősége, ügyfél API, a párhuzamos folyamatok kezeléséhez szükséges API, felhasználói felület készítő könyvtár, saját árnyalatok használatához API, hang támogatása, ECS (Entity Component System) összetevők betöltése és mentése, erőforrások élő újra betöltése, automatikus skálázás. szerverek, közös játék térképek és játékjelenetek létrehozásához készült szerkesztő.

Videó lejátszása


Forrás: opennet.ru
Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster