Pelepasan munggaran mesin kaulinan multiplayer open source Ambient

Saatos sataun pangwangunan, sékrési mimiti mesin kaulinan open source anyar Ambient dibere. Mesin nyadiakeun runtime pikeun nyieun kaulinan multiplayer jeung aplikasi 3D nu compile ka ngagambarkeun WebAssembly sarta ngagunakeun API WebGPU pikeun rendering. Kodeu ditulis dina Rust sareng disebarkeun dina lisénsi MIT.

Tujuan utama dina pamekaran Ambient nyaéta nyayogikeun alat anu nyederhanakeun pamekaran kaulinan multipemain sareng ngajantenkeun ciptaanna henteu langkung sesah tibatan proyék pamuter tunggal. Mesin mimitina ditujukeun pikeun nyiptakeun runtime universal anu ngadukung pamekaran kaulinan sareng aplikasi dina basa program mana waé anu tiasa kompilasi kana kode perantara WebAssembly. Nanging, sékrési munggaran ngan ukur ngadukung pangembangan Rust pikeun ayeuna.

Fitur utama mesin anyar:

  • Rojongan jaringan transparan. Mesin ngagabungkeun fungsi klien sareng server, nyayogikeun sadaya komponén anu dipikabutuh pikeun nyiptakeun logika klien sareng server, sareng otomatis nyingkronkeun kaayaan server dina klien. Hiji model data umum dipaké dina klien tur sisi server, nu simplifies mindahkeun kode antara backend na frontend.
  • Ngajalankeun unggal modul dina lingkungan terasing sorangan, ngamungkinkeun anjeun ngawates pangaruh kode anu teu dipercaya. Nabrak modul teu ngadat sakabéh aplikasi.
  • Arsitéktur berorientasi data. Nyadiakeun model data dumasar kana sistem komponén anu bisa dimanipulasi ku unggal modul WASM. Ngagunakeun pola desain ECS (Entity Component System). Nyimpen data sadaya komponén dina database terpusat dina server, kaayaan anu otomatis replicated ka klien, nu di sisi na bisa dilegakeun data nyokot kana akun kaayaan lokal.
  • Kamampuhan pikeun nyiptakeun modul Ambient dina basa pamrograman naon waé anu dikompilasi ka WebAssembly (ngan Rust anu dirojong ayeuna).
  • Ngahasilkeun file laksana universal salaku kaluaran anu tiasa dijalankeun dina Windows, macOS sareng Linux, sareng fungsina salaku klien sareng server.
  • Kamampuhan pikeun nangtukeun komponén anjeun sorangan sareng "konsép" (kumpulan komponén). Proyék anu ngagunakeun komponén sareng konsép anu sami ngamungkinkeun portabilitas sareng ngabagi data, sanaos data henteu dirarancang khusus pikeun dianggo dina proyék khusus.
  • Rojongan pikeun ngumpulkeun sumber dina sagala rupa format, kaasup .glb jeung .fbx. Kamungkinan ngalirkeun download sumberdaya ngaliwatan jaringan - klien nu bisa nampa sagala sumberdaya diperlukeun nalika nyambungkeun ka server (anjeun bisa ngamimitian maén tanpa ngantosan sakabeh sumberdaya pikeun muka). Ngarojong format modél FBX sareng glTF, rupa-rupa format audio sareng gambar.
  • Sistem rendering canggih anu ngagunakeun GPU pikeun ngagancangkeun rendering sareng ngadukung clipping sisi GPU sareng parobahan tingkat detil. Ngagunakeun rendering dumasar fisik (PBR) sacara standar, ngarojong animasi na cascading peta kalangkang.
  • Rojongan pikeun simulasi prosés fisik dumasar kana mesin PhysX.
  • Sistem pikeun ngawangun antarmuka pangguna anu sami sareng React.
  • Hiji sistem input hasil ngahijikeun Tatar anu bebas tina platform ayeuna.
  • Sistem sora spasial sareng saringan plug-in.

Pangwangunan masih dina tahap versi alfa. Diantara fungsionalitas anu henteu acan dilaksanakeun, urang tiasa nyatet kamampuan pikeun ngajalankeun Wéb, API klien, API pikeun ngatur multithreading, perpustakaan pikeun nyiptakeun antarbeungeut pangguna, API pikeun ngagunakeun shaders anjeun nyalira, dukungan sora, muatkeun sareng nyimpen. Komponén ECS ​​(Entity Component System), ngamuat deui sumber daya dina laleur, skala server otomatis, editor pikeun nyiptakeun kolaborasi peta kaulinan sareng adegan kaulinan.



sumber: opennet.ru

Tambahkeun komentar