Rilis pisanan saka mesin game multiplayer open source Ambient

Sawise setahun pembangunan, release pisanan saka mesin game open source anyar Ambient diwenehi. Mesin menehi runtime kanggo nggawe game bebarengan lan aplikasi 3D sing ngumpulake kanggo perwakilan WebAssembly lan nggunakake API WebGPU kanggo Rendering. Kode kasebut ditulis ing Rust lan disebarake miturut lisensi MIT.

Tujuan utama ing pangembangan Ambient yaiku nyedhiyakake alat sing nyederhanakake pangembangan game multiplier lan nggawe ora luwih angel tinimbang proyek siji-pamuter. Mesin kasebut wiwitane ditujokake kanggo nggawe runtime universal sing ndhukung pangembangan game lan aplikasi ing basa pemrograman apa wae sing bisa dikompilasi menyang kode perantara WebAssembly. Nanging, rilis pisanan mung ndhukung pangembangan Rust saiki.

Fitur utama mesin anyar:

  • Dhukungan jaringan transparan. Mesin nggabungake fungsi klien lan server, nyedhiyakake kabeh komponen sing dibutuhake kanggo nggawe logika klien lan server, lan kanthi otomatis nyinkronake negara server ing klien. Model data umum digunakake ing sisih klien lan server, sing nyederhanakake transfer kode antarane backend lan frontend.
  • Mlaku saben modul ing lingkungan terisolasi dhewe, ngijini sampeyan kanggo matesi pengaruh kode dipercaya. Nabrak modul ora nabrak kabeh aplikasi.
  • Arsitektur berorientasi data. Nyedhiyakake model data adhedhasar sistem komponen sing bisa dimanipulasi dening saben modul WASM. Nggunakake pola desain ECS (Entity Component System). Nyimpen data kabeh komponen ing database terpusat ing server, negara kang otomatis replicated kanggo klien, kang ing sisih bisa nggedhekake data njupuk menyang akun negara lokal.
  • Kemampuan kanggo nggawe modul Ambient ing basa program apa wae sing dikompilasi menyang WebAssembly (mung Rust sing didhukung saiki).
  • Ngasilake file eksekusi universal minangka output sing bisa mlaku ing Windows, macOS lan Linux, lan bisa digunakake minangka klien lan server.
  • Kemampuan kanggo nemtokake komponen dhewe lan "konsep" (koleksi komponen). Proyek sing nggunakake komponen lan konsep sing padha mbisakake portabilitas lan enggo bareng data, sanajan data kasebut ora dirancang khusus kanggo digunakake ing proyek tartamtu.
  • Dhukungan kanggo ngumpulake sumber daya ing macem-macem format, kalebu .glb lan .fbx. Kamungkinan streaming ngundhuh sumber daya liwat jaringan - klien bisa nampa kabeh sumber daya sing dibutuhake nalika nyambung menyang server (sampeyan bisa miwiti muter tanpa ngenteni kabeh sumber daya kanggo mbukak). Ndhukung format model FBX lan glTF, macem-macem format audio lan gambar.
  • Sistem rendering majeng sing nggunakake GPU kanggo nyepetake rendering lan ndhukung clipping sisih GPU lan owah-owahan tingkat rinci. Nggunakake rendering adhedhasar fisik (PBR) minangka standar, ndhukung animasi lan peta bayangan cascading.
  • Dhukungan kanggo simulasi proses fisik adhedhasar mesin PhysX.
  • Sistem kanggo mbangun antarmuka pangguna sing padha karo React.
  • Sistem input terpadu sing ora gumantung saka platform saiki.
  • Sistem swara spasial kanthi saringan plug-in.

Pangembangan isih ing tahap versi alpha. Antarane fungsi sing durung dileksanakake, kita bisa nyathet kemampuan kanggo mbukak ing Web, API klien, API kanggo ngatur multithreading, perpustakaan kanggo nggawe antarmuka panganggo, API kanggo nggunakake shaders dhewe, dhukungan swara, loading lan nyimpen. Komponen ECS (Entity Component System), ngisi ulang sumber daya kanthi cepet, skala server otomatis, editor kanggo nggawe kolaborasi peta game lan adegan game.



Source: opennet.ru

Add a comment