Ambient, en åpen kildekode-spillmotor for flere spillere

Omgivende

Ambient er en kjøretid for å lage flerspillerspill og 3D-applikasjoner med høy ytelse, drevet av WebAssembly, Rust og WebGPU.

Etter et år med utvikling, se avduket den første utgivelsen av den nye åpen kildekode-spillmotoren Omgivende. Motoren gir en kjøretid for å lage flerspillerspill og 3D-applikasjoner som er kompilert til en WebAssembly-representasjon og bruker WebGPU API for gjengivelse.

Et hovedmål i utviklingen av Ambient er å tilby verktøy som forenkler utviklingen av flerspillerspill og gjør det ikke vanskeligere å lage dem enn enkeltspillerprosjekter.

Motoren har i utgangspunktet som mål å lage en universell kjøretid som støtter spill- og applikasjonsutvikling i et hvilket som helst programmeringsspråk som kompilering til mellomliggende WebAssembly-kode er mulig for. Den første versjonen støtter imidlertid bare Rust-utvikling så langt.

Om Ambient

Av egenskapene som skiller seg ut fra Ambient nevnes det at har transparent støtte for nettverksbygging. Motoren kombinerer funksjonene til en klient og en server, gir alle nødvendige komponenter for å lage klient- og serverlogikk, og synkroniserer automatisk serverstatus på klienter.

Det nevnes også at en felles datamodell brukes på klient- og serversiden, som gjør det enkelt å overføre kode mellom backend og frontend. Den kjører hver modul i sitt eget isolerte miljø for å begrense virkningen av uklarert kode, og å krasje en modul krasjer ikke hele applikasjonen.

Ambient, cDen har en dataorientert arkitektur, og gir derved en datamodell basert på et system av komponenter som hver WASM kan manipulere. Bruke ECS (Entity Component System) designmønster.

I tillegg til det også lagrer dataene til alle komponenter i en sentralisert database på serverenr, hvis tilstand blir automatisk replikert til klienten, som igjen kan utvide dataene med hensyn til lokal tilstand.

Muligheten til å lage Ambient-moduler i et hvilket som helst programmeringsspråk som kompileres til WebAssembly (så langt støttes kun Rust), mens du genererer universelle kjørbare utdatafiler, kan kjøres på Windows, macOS og Linux, og fungere som klient og server.

På den annen side fremheves det også athar evnen til å definere sine egne komponenter og "konsepter" (samlinger av komponenter). Prosjekter som bruker de samme komponentene og konseptene sikrer at data er portable og delte, selv om dataene ikke er spesifikt designet for bruk i spesifikke prosjekter.

Av de andre funksjonene som skiller seg ut fra Ambient:

  • Støtte for kompilering av ressurser i forskjellige formater, inkludert ".glb" og ".fbx". Evne til å strømme ressurser over nettverket: klienten kan få alle nødvendige ressurser når du kobler til serveren (du kan begynne å spille uten å vente på at alle ressursene skal lastes).
  • FBX- og glTF-modellformater, ulike lyd- og bildeformater støttes.
  • Et avansert gjengivelsessystem som bruker GPUen til å akselerere gjengivelsen og støtter LOD og klipping på GPU-siden.
  • Bruk av fysisk basert gjengivelse (PBR) som standard, støtte for animasjon og overlappende skyggekart.
  • Støtte for simulering av fysiske prosesser basert på PhysX-motoren.
  • Reagerlignende UI-byggesystem.
  • Samlet inngangssystem uavhengig av gjeldende plattform.
  • Romlig lydsystem med plug-in filtre.
  • Utviklingen er fortsatt på alfastadiet. Av funksjonaliteten som ennå ikke er implementert, kan vi merke oss muligheten til å kjøre på nettet, et klient-API, et API for å administrere multi-threading, et bibliotek for å lage et brukergrensesnitt, et API for å bruke dine egne shaders, lydstøtte, belastning og lagre
  • ECS (Entity Component System)-komponenter, omlasting av ressurser på farten, automatisk serverskalering, en editor for å lage spillkart og spillscener.

Til slutt, for de som er interessert i å lære mer om det, bør de vite at koden er skrevet i Rust og er distribuert under MIT-lisensen.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.