Ambient, një motor lojërash me shumë lojtarë me burim të hapur

i ambientit

Ambient është një kohë ekzekutimi për krijimin e lojërave me shumë lojtarë me performancë të lartë dhe aplikacioneve 3D, të mundësuara nga WebAssembly, Rust dhe WebGPU.

Pas një viti zhvillimi, se zbuloi versionin e parë i motorit të ri të lojërave me burim të hapur Ambienti. Motori ofron një kohë ekzekutimi për krijimin e lojërave me shumë lojtarë dhe aplikacioneve 3D të cilat përpilohen në një përfaqësim WebAssembly dhe përdorin API-në WebGPU për renderim.

Një qëllim kryesor në zhvillimin e Ambientit është të ofrojë mjete që thjeshtojnë zhvillimin e lojërave me shumë lojtarë dhe e bëjnë krijimin e tyre jo më të vështirë se projektet me një lojtar.

Motori fillimisht synon të krijojë një kohë funksionimi universal që mbështet zhvillimin e lojërave dhe aplikacioneve në çdo gjuhë programimi për të cilën është i mundur përpilimi në kodin e ndërmjetëm WebAssembly. Sidoqoftë, versioni i parë mbështet vetëm zhvillimin Rust deri më tani.

Rreth Ambientit

Nga karakteristikat që bien në sy nga Ambienti, përmendet se ka mbështetje transparente për rrjetëzim. Motori kombinon funksionet e një klienti dhe një serveri, siguron të gjithë komponentët e nevojshëm për të krijuar logjikën e klientit dhe serverit dhe sinkronizon automatikisht gjendjen e serverit tek klientët.

Përmendet gjithashtu se një model i zakonshëm i të dhënave përdoret në anën e klientit dhe serverit, gjë që e bën të lehtë transferimin e kodit midis pjesës së pasme dhe frontendit. Ai drejton çdo modul në mjedisin e tij të izoluar për të kufizuar ndikimin e kodit të pabesueshëm dhe përplasja e një moduli nuk e prish të gjithë aplikacionin.

Ambienti, cKa një arkitekturë të orientuar drejt të dhënave, duke siguruar kështu një model të dhënash të bazuar në një sistem komponentësh që çdo WASM mund të manipulojë. Përdorimi i modelit të projektimit ECS (Entity Component System).

Përveç kësaj, gjithashtu ruan të dhënat e të gjithë komponentëve në një bazë të dhënash të centralizuar në serverr, gjendja e të cilit përsëritet automatikisht te klienti, i cili nga ana tjetër mund të zgjerojë të dhënat duke marrë parasysh gjendjen lokale.

Aftësia për të krijuar module Ambient në çdo gjuhë programimi që përpilohet në WebAssembly (deri më tani vetëm Rust mbështetet), ndërsa gjeneron skedarë dalës të ekzekutueshëm universal, mund të funksionojë në Windows, macOS dhe Linux dhe të funksionojë si klient dhe si server.

Nga ana tjetër, theksohet edhe seka aftësinë për të përcaktuar komponentët dhe "konceptet" e veta (koleksionet e komponentëve). Projektet që përdorin të njëjtat komponentë dhe koncepte sigurojnë që të dhënat të jenë të lëvizshme dhe të përbashkëta, edhe nëse të dhënat nuk janë krijuar posaçërisht për përdorim në projekte specifike.

Nga veçoritë e tjera që dallohen nga Ambient:

  • Mbështetje për përpilimin e burimeve në formate të ndryshme, duke përfshirë ".glb" dhe ".fbx". Aftësia për të transmetuar burimet përmes rrjetit: klienti mund të marrë të gjitha burimet e nevojshme kur lidhet me serverin (mund të filloni të luani pa pritur që të gjitha burimet të ngarkohen).
  • Mbështeten formatet e modelit FBX dhe glTF, formate të ndryshme të zërit dhe imazhit.
  • Një sistem i avancuar i paraqitjes që përdor GPU-në për të përshpejtuar paraqitjen dhe mbështet LOD dhe prerjen nga ana e GPU-së.
  • Përdorimi i paraqitjes së bazuar fizikisht (PBR) si parazgjedhje, mbështetje për animacionet dhe hartat e hijeve kaskadë.
  • Mbështetje për simulimin e proceseve fizike bazuar në motorin PhysX.
  • Sistem ndërtimi i ndërfaqes së përdoruesit të ngjashëm me React.
  • Sistemi i unifikuar i hyrjes i pavarur nga platforma aktuale.
  • Sistemi i zërit hapësinor me filtra plug-in.
  • Zhvillimi është ende në fazën alfa. Nga funksionaliteti i pazbatuar ende, mund të vërejmë aftësinë për të ekzekutuar në ueb, një API klienti, një API për menaxhimin e multi-threading, një bibliotekë për krijimin e një ndërfaqeje përdoruesi, një API për përdorimin e shaderëve tuaj, mbështetjen e zërit, ngarkesën dhe kurseni
  • Komponentët ECS (Entity Component System), rimbushja e burimeve në fluturim, shkallëzimi automatik i serverit, një redaktues për të bashkë-krijuar hartat e lojërave dhe skenat e lojës.

Së fundi, për ata që janë të interesuar të mësojnë më shumë rreth tij, duhet të dinë se kodi është i shkruar në Rust dhe është shpërndarë sipas licencës MIT.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.