Ambient, en spelmotor för flera spelare med öppen källkod

Omgivande

Ambient är en körtid för att skapa högpresterande spel för flera spelare och 3D-applikationer, som drivs av WebAssembly, Rust och WebGPU.

Efter ett år av utveckling, se presenterade den första releasen av den nya spelmotorn med öppen källkod Omgivande. Motorn ger en körtid för att skapa spel för flera spelare och 3D-applikationer som kompileras till en WebAssembly-representation och använder WebGPU API för rendering.

Ett nyckelmål i utvecklingen av Ambient är att tillhandahålla verktyg som förenklar utvecklingen av spel för flera spelare och gör det inte svårare att skapa dem än enspelarprojekt.

Motorn syftar initialt till att skapa en universell körtid som stöder spel- och applikationsutveckling i alla programmeringsspråk för vilka kompilering till mellanliggande WebAssembly-kod är möjlig. Den första versionen stöder dock bara Rust-utveckling än så länge.

Om Ambient

Av de egenskaper som sticker ut från Ambient nämns det att har transparent stöd för nätverkande. Motorn kombinerar funktionerna hos en klient och en server, tillhandahåller alla nödvändiga komponenter för att skapa klient- och serverlogik och synkroniserar automatiskt servertillstånd på klienter.

Det nämns också att en gemensam datamodell används på klient- och serversidan, vilket gör det enkelt att överföra kod mellan backend och frontend. Den kör varje modul i sin egen isolerade miljö för att begränsa effekten av otillförlitlig kod, och om en modul kraschar kraschar inte hela applikationen.

Ambient, cDen har en dataorienterad arkitektur, därigenom tillhandahåller en datamodell baserad på ett system av komponenter som varje WASM kan manipulera. Använder ECS (Entity Component System) designmönster.

Utöver det också lagrar alla komponenters data i en centraliserad databas på servernr, vars tillstånd automatiskt replikeras till klienten, vilket i sin tur kan utöka data med hänsyn till lokal stat.

Möjligheten att skapa Ambient-moduler i vilket programmeringsspråk som helst som kompileras till WebAssembly (hittills stöds endast Rust), samtidigt som man genererar universella körbara utdatafiler, kan köras på Windows, macOS och Linux, och fungera som en klient och som server.

Å andra sidan lyfts det också fram atthar förmågan att definiera sina egna komponenter och "koncept" (samlingar av komponenter). Projekt som använder samma komponenter och koncept säkerställer att data är portabel och delad, även om data inte är specifikt designade för användning i specifika projekt.

Av de andra funktionerna som sticker ut från Ambient:

  • Stöd för att kompilera resurser i olika format, inklusive ".glb" och ".fbx". Möjlighet att strömma resurser över nätverket: klienten kan få alla nödvändiga resurser när han ansluter till servern (du kan börja spela utan att vänta på att alla resurser ska laddas).
  • FBX och glTF modellformat, olika ljud- och bildformat stöds.
  • Ett avancerat renderingssystem som använder GPU:n för att accelerera renderingen och stöder LOD och klippning på GPU-sidan.
  • Användning av fysiskt baserad rendering (PBR) som standard, stöd för animering och överlappande skuggkartor.
  • Stöd för simulering av fysiska processer baserade på PhysX-motorn.
  • Reagerande UI-byggsystem.
  • Unified entry system oberoende av den aktuella plattformen.
  • Rumsligt ljudsystem med plug-in filter.
  • Utvecklingen är fortfarande i alfastadiet. Av den funktionalitet som ännu inte implementerats kan vi notera möjligheten att köra på webben, ett klient-API, ett API för att hantera multi-threading, ett bibliotek för att skapa ett användargränssnitt, ett API för att använda dina egna shaders, ljudstöd, laddning och spara
  • ECS-komponenter (Entity Component System), laddning av resurser i farten, automatisk serverskalning, en redigerare för att samskapa spelkartor och spelscener.

Slutligen, för de som är intresserade av att lära sig mer om det, de borde veta att koden är skriven i Rust och är distribueras under MIT-licensen.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.