Toleo la kwanza la injini huria ya mchezo wa wachezaji wengi Ambient

Baada ya mwaka wa maendeleo, toleo la kwanza la injini mpya ya chanzo huria Ambient inawasilishwa. Injini hutoa muda wa kutumika kwa ajili ya kuunda michezo ya wachezaji wengi na programu za 3D ambazo hujumuisha uwakilishi wa WebAssembly na kutumia WebGPU API kwa utekelezaji. Nambari hiyo imeandikwa kwa kutu na inasambazwa chini ya leseni ya MIT.

Lengo kuu katika uundaji wa Ambient ni kutoa zana zinazorahisisha uundaji wa michezo ya wachezaji wengi na kufanya uundaji wake usiwe mgumu zaidi kuliko miradi ya mchezaji mmoja. Injini hapo awali ililenga kuunda wakati wa kukimbia wa ulimwengu wote ambao unasaidia ukuzaji wa michezo na programu katika lugha yoyote ya programu ambayo ujumuishaji wa nambari ya kati ya WebAssembly inawezekana. Walakini, toleo la kwanza linaunga mkono tu ukuzaji wa kutu kwa sasa.

Vipengele muhimu vya injini mpya:

  • Usaidizi wa uwazi wa mtandao. Injini inachanganya utendaji wa mteja na seva, hutoa vipengele vyote muhimu vya kuunda mantiki ya mteja na seva, na inasawazisha kiotomati hali ya seva kwa wateja wote. Mfano wa kawaida wa data hutumiwa kwenye pande za mteja na seva, ambayo hurahisisha uhamisho wa msimbo kati ya nyuma na ya mbele.
  • Kuendesha kila moduli katika mazingira yake ya pekee, huku kuruhusu kupunguza ushawishi wa msimbo usioaminika. Kugonga moduli hakuvunji programu nzima.
  • Usanifu unaozingatia data. Kutoa muundo wa data kulingana na mfumo wa vipengele vinavyoweza kubadilishwa na kila moduli ya WASM. Kwa kutumia muundo wa muundo wa ECS (Entity Component System). Kuhifadhi data ya vipengele vyote katika hifadhidata ya kati kwenye seva, hali ambayo inarudiwa kiotomatiki kwa mteja, ambayo kwa upande wake inaweza kupanua data kwa kuzingatia hali ya ndani.
  • Uwezo wa kuunda moduli za Mazingira katika lugha yoyote ya programu ambayo inajumuisha WebAssembly (Rust pekee ndiyo inayotumika kwa sasa).
  • Inazalisha faili zinazoweza kutekelezwa kwa wote kama pato linaloweza kufanya kazi kwenye Windows, macOS na Linux, na kufanya kazi kama mteja na seva.
  • Uwezo wa kufafanua vipengele vyako mwenyewe na "dhana" (mkusanyiko wa vipengele). Miradi inayotumia vipengele na dhana sawa huwezesha kubebeka na kushiriki data, hata kama data haijaundwa mahususi kwa matumizi ya miradi mahususi.
  • Usaidizi wa kukusanya rasilimali katika miundo mbalimbali, ikijumuisha .glb na .fbx. Uwezekano wa upakuaji wa utiririshaji wa rasilimali kwenye mtandao - mteja anaweza kupokea rasilimali zote muhimu wakati wa kuunganisha kwenye seva (unaweza kuanza kucheza bila kungoja rasilimali zote kupakia). Inaauni umbizo la FBX na glTF, miundo mbalimbali ya sauti na picha.
  • Mfumo wa hali ya juu wa uwasilishaji unaotumia GPU kuharakisha uwasilishaji na unaauni upunguzaji wa upande wa GPU na mabadiliko ya kiwango cha maelezo. Hutumia uwasilishaji unaozingatia hali halisi (PBR) kwa chaguo-msingi, huauni uhuishaji na ramani za vivuli.
  • Usaidizi wa kuiga michakato ya kimwili kulingana na injini ya PhysX.
  • Mfumo wa kujenga violesura vya mtumiaji sawa na React.
  • Mfumo uliounganishwa wa ingizo ambao hautegemei mfumo wa sasa.
  • Mfumo wa sauti wa anga na vichungi vya programu-jalizi.

Uendelezaji bado uko katika hatua ya toleo la alpha. Miongoni mwa utendaji ambao bado haujatekelezwa, tunaweza kutambua uwezo wa kufanya kazi kwenye Wavuti, API ya mteja, API ya kudhibiti usomaji mwingi, maktaba ya kuunda kiolesura cha mtumiaji, API ya kutumia vivuli vyako mwenyewe, usaidizi wa sauti, upakiaji na uhifadhi. Vipengele vya ECS (Entity Component System), upakiaji upya rasilimali kwa kuruka , kuongeza seva kiotomatiki, mhariri wa uundaji shirikishi wa ramani za mchezo na matukio ya mchezo.



Chanzo: opennet.ru

Kuongeza maoni