發(fā)布時間:2023-11-27 21:07:46 瀏覽量:114次
出品|開源中國
經(jīng)過一年多的開發(fā),Ambient 終于發(fā)布了 0.1 版本,這是一款采用 Rust 編寫的開源多人游戲引擎。
據(jù)介紹,Ambient 是一個用于構(gòu)建高性能多人游戲和 3D 應(yīng)用程序的 runtime,使用了 WebAssembly 和 WebGPU 技術(shù),與任何編譯為 WebAssembly 或在 WebAssembly 上運行的語言兼容,旨在使構(gòu)建和部署豐富的多人游戲世界和體驗變得容易。其開發(fā)團隊表示,通過 Ambient,他們希望構(gòu)建多人游戲與構(gòu)建單人游戲一樣簡單。
特性
Seamless networking:Ambient 既用作服務(wù)器,同時也是客戶端。開發(fā)者只需構(gòu)建服務(wù)器和客戶端邏輯,Ambient 可自動處理數(shù)據(jù)同步。
獨立沙盒:開發(fā)者為 Ambient 構(gòu)建的項目通過 WebAssembly 的隔離功能執(zhí)行。因此如果出現(xiàn)崩潰,它不會破壞整個程序,這也意味著可以安全地運行不受信任的代碼。
面向數(shù)據(jù)的設(shè)計:Ambient 的核心數(shù)據(jù)模型是每個 WASM 模塊都可以操作的實體組件系統(tǒng)。
多語言:開發(fā)者能夠使用任何可以編譯為 WebAssembly 的語言構(gòu)建 Ambient 模塊(目前,Rust 是唯一受支持的語言,團隊正在努力擴展到其他語言)
單一可執(zhí)行文件:Ambient 是一個單一的可執(zhí)行文件,可以在 Windows、Mac 和 Linux 上運行。它可以充當(dāng)服務(wù)器或客戶端。
互操作性:Ambient 允許定義自定義組件和 "concepts"(組件集合)。只要 Ambient 項目使用相同的組件和 "concepts",它們就能夠共享數(shù)據(jù)和互操作。
Asset 管道和流處理:Ambient 包含 Asset 管道,支持編譯多種 asset 格式,包括.glb 和.fbx。asset 通過網(wǎng)絡(luò)流式傳輸,因此客戶端在加入時能夠接收所需的一切數(shù)據(jù)。
強大的渲染器:Ambient 渲染器由 GPU 驅(qū)動,裁剪 (Culling) 和細(xì)節(jié)級別切換完全由 GPU 處理。默認(rèn)情況下,它使用 PBR,此外還支持級聯(lián)陰影貼圖和實例化所有可以實例化的東西。
示例
首先安裝 Ambient,然后創(chuàng)建一個新的 Ambient 項目:
ambient new
接著打開 _src/lib.rs_,將以下內(nèi)容添加到 main 函數(shù)中,讓 IDE 自動導(dǎo)入:
spawn_query(player()).bind(move |players| { for _ in players { Entity::new() .with_merge(make_transformable()) .with_default(cube()) .with(translation(), rand::random()) .with(color(), rand::random()) .spawn(); } });
這將為每個加入的玩家生成一個隨機立方體(完整示例點此查看)。開始啟動:
ambient run
運行上述命令后會看到如下畫面:
現(xiàn)在打開一個新的終端窗口,然后輸入:
ambient join
這時會看到兩個框,也就意味已經(jīng)成功使用 Ambient 構(gòu)建了第一個多人游戲體驗。
Ambient 開發(fā)團隊介紹了創(chuàng)建項目的初衷,他們發(fā)現(xiàn)許多游戲引擎都針對構(gòu)建單人游戲進行了優(yōu)化,但很少有旨在簡化多人游戲的游戲引擎。于是他們很好奇:如果要讓多人游戲能像單人游戲一樣容易使用,該如何構(gòu)建?當(dāng)開發(fā)者從網(wǎng)絡(luò)的細(xì)節(jié)中解放出來時,可以想象怎樣的非凡體驗 —— 新的和有趣的互動?
Ambient 便是他們回答這些問題的開始:一個旨在讓各種開發(fā)者能夠構(gòu)建和分享他們想要構(gòu)建的體驗的運行時。然而,這里的問題不僅僅在于做好客戶端 - 服務(wù)器通信。它還包括多人游戲開發(fā)中出現(xiàn)的所有其他挑戰(zhàn):服務(wù)器資源、分發(fā)游戲、可持續(xù)地以服務(wù)形式運行游戲、與用戶交互等等。運行時只是他們朝著這個方向邁出的第一步,接下來還要解決許多其他問題。
Ambient 采用了 MIT License,其團隊表示,這是因為他們的目標(biāo)是建立一個標(biāo)準(zhǔn)來讓大家構(gòu)建多人游戲。作為一家公司,他們的計劃是為將采取 “貨幣化” 的運行時提供增值服務(wù)(包括服務(wù)器和資產(chǎn)托管),但運行時本身永遠(yuǎn)免費和開源。作為運行時的用戶,他們可以選擇使用 Ambient 團隊提供的部分服務(wù),以及選擇自己實現(xiàn)其他服務(wù)。
未來,開發(fā)團隊表示 Ambient 將會支持部署到 Web,支持更多可編譯成 WebAssembly 的語言(目前只有 Rust),并提供協(xié)作編輯器。
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點擊咨詢報名。
2. 手機游戲如何開發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時代在進步游戲在更新,更趨于方便化移動化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費、一鍵制作炫酷特效,適合新手小白??靵碓囋嚕?/span>
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇。《天命奇御》具有多線劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟體系揭秘,不同玩家角色的經(jīng)濟活動
Bigtime加密游戲經(jīng)濟模型分析,探討游戲經(jīng)濟特點,幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動漫建模全過程,不是一般人能學(xué)的會的,會的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計圖片,我從雕刻進入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
7. 3D動畫軟件你知道幾個?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動畫軟件或動畫工具時,指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動畫的軟件程序。但是,在3D動畫軟件中還包含了其他類型的...
?三昧動漫對于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會推出《巫師4》。因為《巫師》系列在策劃的時候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
9. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅固
想讓你的3D打印模型更堅固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計技巧,讓你輕松掌握!
10. Unity3D入門:手把手帶你開發(fā)一款坦克大戰(zhàn)的游戲
Unity工程創(chuàng)建完成后如圖所示: 接下來應(yīng)該導(dǎo)入此項目所需的Unity Package文件,要用到的Unity package文件大家可以去Unity3D的官方網(wǎng)站下載(地址:ht...
最新文章
同學(xué)您好!