Dalja e parë e motorit të hapur shumëpërdorues për lojëra Ambient

Pas një vit zhvillimi, është prezantuar një version i parë i motorit të ri të lojrave ambientale. Motori ofron një runtime për krijimin e lojërave shumëlojëshe dhe aplikacioneve 3D, të cilat kompilohet në formatin WebAssembly dhe përdorin API WebGPU për renderim. Kodi është shkruar në gjuhën Rust dhe shpërndahet nën licencën MIT.

Detyra kryesore gjatë zhvillimit të Ambient është ofrimi i mjeteve që thjeshtojnë zhvillimin e lojërave shumëlojëshe dhe bëjnë që krijimi i tyre të mos jetë më i vështirë se ai i projekteve njëlojëshe. Motori fillimisht është orientuar për të krijuar një runtime universale, duke mbështetur zhvillimin e lojërave dhe aplikacioneve në çdo gjuhë programimi, për të cilat është e mundur kompilimi në kodin ndërmjetës WebAssembly. Megjithatë, në versionin e parë për momentin është implementuar vetëm mbështetje për zhvillimin në gjuhën Rust.

Veçoritë kryesore të motorit të ri:

  • Mbështetje transparente e ndërveprimit në rrjet. Motori kombinon funksionet e klientit dhe serverit, ofron të gjithë komponentët e nevojshëm për krijimin e logjikës së klientit dhe serverit, dhe gjithashtu sinkronizon automatikisht statusin e serverit te klientët. Në anën e klientit dhe serverit përdoret një model i përbashkët të dhënash, çka thjeshton transferimin e kodit midis backend-it dhe frontend-it.
  • Kryerja e çdo moduli në një mjedis të izoluar, duke kufizuar ndikimin e kodit që nuk është i besueshëm. Mbyllja e papritur e modulit nuk çon në mbylljen e papritur të gjithë aplikacionit.
  • Arkitektura e orientuar nga të dhënat (Data-oriented). Ofrimi i një modeli të dhënash të bazuar në sistemin e komponentëve, me të cilët mund të manipulojë çdo modul WASM. Përdorimi i modelit të projektimit ECS (Entity Component System). Ruajtja e të dhënave të të gjitha komponentëve në një DB të centralizuar në server, gjendja e së cilës replicohet automatikisht te klienti, i cili në anën e tij mund të zgjasë të dhënat duke marrë parasysh gjendjen lokale.
  • Mundësia e krijimit të moduleve Ambient në çdo gjuhë programimi, që kompilohet në WebAssembly (për momentin mbështetet vetëm Rust).
  • Formimi në dalje të skedarëve ekzekutivë universale, të cilët mund të ekzekutohen në Windows, macOS dhe Linux, dhe të funksionojnë si klient dhe server.
  • Mundësia për të përcaktuar komponentët dhe "konceptet" e veta (koleksione komponentesh). Në projektet që përdorin komponentë dhe koncepte të njëjta, sigurohet portabiliteti dhe ndarja e të dhënave, edhe nëse këto të dhëna nuk janë specifikisht të dizajnuara për t'u përdorur në projekte të caktuara.
  • Mbështetje për kompilimin e burimeve në formate të ndryshme, duke përfshirë .glb dhe .fbx. Mundësia e ngarkimit të burimeve në rrjet — klienti mund të marrë të gjitha burimet e nevojshme gjatë lidhjes me serverin (mund të fillojë të luajë pa pritur deri sa të ngarkohen të gjitha burimet). Formate të modeleve FBX dhe glTF, formate të ndryshme të zërit dhe imazheve mbështeten.
  • Një sistem i avancuar i renderimit, duke përdorur GPU për të përshpejtuar daljen dhe duke mbështetur ekzekutimin e prerjes në zonën e dukshmërisë dhe kalimin në nivele detajesh nga ana e GPU. Përdorimi për default i renderimit fizikisht korrekt (PBR), mbështetje për animacionin dhe harta e hijes në kaskadë.
  • Mbështetje për simulimin e proceseve fizike mbi bazën e motorit PhysX.
  • Një sistem ndërtimi të ndërfaqeve të përdoruesit, i ngjashëm me React.
  • Një sistem i unifikuar i inputit, i pavarur nga platforma aktuale.
  • Një sistem zëri hapësinor me filtra të mundshëm për t'u lidhur.

Zhvillimi është ende në fazën alfa. Nga funksionalitetet që nuk janë realizuar ende, mund të përmendim mundësinë e lansimit në Web, API klienti, API për menaxhimin e shumëproceseve, biblioteka për ndërtimin e ndërfaqeve të përdoruesit, API për përdorimin e shader-ve të veta, mbështetje për zërin, ngarkimin dhe ruajtjen e komponentëve ECS (Sistemi i Komponentëve Entitet), rifreskimin e burimeve gjatë funksionimit, dhe shkallëzimin automatik. serverësh, një redaktor për krijimin e përbashkët të hartave të lojërave dhe skenave të lojërave.

Luaj videon


Burimi: opennet.ru
Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster