Ambient, un motor de joc multijugador open source

Ambient

Ambient és un temps dexecució per crear jocs multijugador dalt rendiment i aplicacions 3D, amb tecnologia WebAssembly, Rust i WebGPU.

Després d'un any de desenvolupament, si va donar a conèixer el primer llançament del nou motor de jocs de codi obert Ambient. el motor proporciona un temps dexecució per crear jocs multijugador i aplicacions 3D que es compilen en una representació WebAssembly i utilitzen l'API WebGPU per a la representació.

Un objectiu clau en el desenvolupament d'ambient és proporcionar eines que simplifiquin el desenvolupament de jocs multijugador i facin que la seva creació no sigui més difícil que els projectes per a un sol jugador.

El motor inicialment té com a objectiu crear un temps dexecució universal que admeti el desenvolupament de jocs i aplicacions en qualsevol llenguatge de programació per al qual sigui possible la compilació en el codi intermedi WebAssembly. No obstant això, la primera versió només és compatible amb el desenvolupament de Rust fins ara.

Sobre Ambient

De les característiques que es destaquen d'ambient, s'esmenta que compta amb suport transparent per a la creació de xarxes. El motor combina les funcions d'un client i un servidor, proporciona tots els components necessaris per crear una lògica de client i servidor i sincronitza automàticament l'estat del servidor als clients.

També s'esmenta que s'utilitza un model de dades comú al costat del client i del servidor, el que facilita la transferència de codi entre el backend i el frontend. Aquest executa cada mòdul en el seu propi entorn aïllat per limitar limpacte del codi que no és de confiança, a més de bloquejar un mòdul no fa que es bloquegi tota laplicació.

Ambient, ccompte amb una arquitectura orientada a dades, de manera que proporcionar un model de dades basat en un sistema de components que cada WASM pot manipular. Utilitzant el patró de disseny ECS (Entity Component System).

A més, també, emmagatzema les dades de tots els components en una base de dades centralitzada al servitr, l'estat del qual es replica automàticament al client, que per la seva banda pot ampliar les dades tenint en compte l'estat local.

La capacitat de crear mòduls Ambient en qualsevol llenguatge de programació que es compile a WebAssembly (fins ara només s'admet Rust), mentre que la generació d'arxius executables universals de sortida, es poden executar a Windows, macOS i Linux, i funcionar com a client i com a servidor.

D'altra banda, també es destaca que ccompte amb la capacitat per definir els seus propis components i «conceptes» (col·leccions de components). Els projectes que usen els mateixos components i conceptes asseguren que les dades siguin portàtils i compartides, fins i tot si les dades no estan dissenyades específicament per al seu ús en projectes específics.

De les altres característiques que es destaquen d'ambient:

  • Suport per compilar recursos en diferents formats, inclosos “.glb” i “.fbx”. Capacitat per transmetre recursos a través de la xarxa: el client pot obtenir tots els recursos necessaris quan es connecta al servidor (pot començar a jugar sense esperar que es carreguin tots els recursos).
  • S'admeten formats de model FBX i glTF, diferents formats de so i imatge.
  • Un sistema de renderitzat avançat que utilitza la GPU per accelerar el renderitzat i admet LOD i retallada del costat de la GPU.
  • Ús de renderitzat basat en la física (PBR) per defecte, suport per a animació i mapes d'ombres en cascada.
  • Suport per a simulació de processos físics basats en el motor PhysX.
  • Sistema de construcció dinterfície dusuari similar a React.
  • Sistema dʻentrada unificat independent de la plataforma actual.
  • Sistema de so espacial amb filtres endollables.
  • El desenvolupament encara es troba a l'etapa alfa. De la funcionalitat encara no implementada, podem notar la capacitat d'executar a la web, una API de client, una API per administrar subprocessos múltiples, una biblioteca per crear una interfície d'usuari, una API per utilitzar els seus propis ombrejadors, suport de so, carregar i guardar
  • Components ECS (Entity Component System), recàrrega de recursos sobre la marxa, escalat automàtic de servidors, un editor per co-crear mapes de jocs i escenes de jocs.

Finalment, per als interessats en poder conèixer més sobre això, han de saber que el codi està escrit a Rust distribueix sota la llicència MIT.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.