激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

開發(fā)獨立游戲用什么引擎(Ambient:Rust 編寫的高性能多人游戲引擎)

發(fā)布時間:2023-11-27 21:07:46 瀏覽量:114次

?Ambient:Rust 編寫的高性能多人游戲引擎

開發(fā)獨立游戲用什么引擎(Ambient:Rust 編寫的高性能多人游戲引擎)

出品|開源中國

經(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)建單人游戲一樣簡單。

開發(fā)獨立游戲用什么引擎(Ambient:Rust 編寫的高性能多人游戲引擎)

特性

  • 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é)作編輯器。

開發(fā)獨立游戲用什么引擎(Ambient:Rust 編寫的高性能多人游戲引擎)

熱門課程推薦

熱門資訊

請綁定手機號

x

同學(xué)您好!

您已成功報名0元試學(xué)活動,老師會在第一時間與您取得聯(lián)系,請保持電話暢通!
確定