Ambient,一個開源的多人遊戲引擎

常溫

Ambient 是一個用於創建高性能多人遊戲和 3D 應用程序的運行時,由 WebAssembly、Rust 和 WebGPU 提供支持。

經過一年的發展,e 發布了第一個版本 新的開源遊戲引擎 周圍。 馬達 提供用於創建多人遊戲和 3D 應用程序的運行時 它們被編譯成 WebAssembly 表示並使用 WebGPU API 進行渲染。

開發 Ambient 的一個關鍵目標是提供工具來簡化多人遊戲的開發,並使它們的創建不比單人遊戲項目更難。

該引擎最初的目標是創建一個通用運行時,支持使用任何可以編譯為中間 WebAssembly 代碼的編程語言開發遊戲和應用程序。 然而,第一個版本目前只支持 Rust 開發。

關於環境

在從 Ambient 中脫穎而出的特徵中,有人提到 對網絡有透明的支持. 該引擎結合了客戶端和服務器的功能,提供了創建客戶端和服務器邏輯所需的所有組件,並自動同步客戶端的服務器狀態。

還提到 客戶端和服務器端使用通用數據模型,這使得在後端和前端之間傳輸代碼變得容易。 它在自己獨立的環境中運行每個模塊,以限制不受信任代碼的影響,並且使一個模塊崩潰不會使整個應用程序崩潰。

環境,c它具有面向數據的架構, 從而提供一個基於每個 WASM 都可以操作的組件系統的數據模型。 使用ECS(實體組件系統)設計模式。

除此之外,還有 將所有組件的數據存儲在服務器上的中央數據庫中r,其狀態會自動複製到客戶端,而客戶端又可以根據本地狀態擴展數據。

能夠在編譯為 WebAssembly 的任何編程語言中創建 Ambient 模塊(目前僅支持 Rust),同時生成通用可執行輸出文件,可以在 Windows、macOS 和 Linux 上運行,並作為客戶端和服務器工作。

另一方面也強調有能力定義自己的組件和“概念” (組件的集合)。 使用相同組件和概念的項目確保數據是可移植和共享的,即使數據不是專門為特定項目使用而設計的。

在 Ambient 中脫穎而出的其他功能:

  • 支持編譯不同格式的資源,包括“.glb”和“.fbx”。 能夠通過網絡流式傳輸資源:客戶端在連接到服務器時可以獲得所有需要的資源(無需等待所有資源加載完畢即可開始播放)。
  • FBX 和 glTF 模型格式,支持各種聲音和圖像格式。
  • 先進的渲染系統,使用GPU加速渲染,支持GPU端LOD和裁剪。
  • 默認使用基於物理的渲染 (PBR),支持動畫和級聯陰影貼圖。
  • 支持基於PhysX引擎模擬物理過程。
  • 類似 React 的 UI 構建系統。
  • 獨立於當前平台的統一入口系統。
  • 帶有插入式過濾器的空間音響系統。
  • 開發仍處於 alpha 階段。 在尚未實現的功能中,我們可以注意到在 Web 上運行的能力、客戶端 API、用於管理多線程的 API、用於創建用戶界面的庫、用於使用您自己的著色器的 API、聲音支持、負載並保存
  • ECS(實體組件系統)組件、動態重新加載資源、自動服務器縮放、共同創建遊戲地圖和遊戲場景的編輯器。

最後,對於那些有興趣進一步了解它的人,他們應該知道代碼是用 Rust 編寫的並且是 在麻省理工學院許可下分發。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。