越來越多的開發者選擇Rust而不是C++作為游戲開發的首選語言,讓我們來看一下五個流行的Rust游戲引擎。

在Rust發布之前,C++是游戲開發的首選語言。像C++和C這樣的語言在過去幾年里提供了可靠的性能和速度。

許多開發者仍在使用這些語言進行游戲開發。然而,Rust社區是強大的,活躍的,并且正在成長,特別是在游戲開發領域。

由于其并發性,Rust也具有很大的游戲開發能力。Rust中的并發性可以防止數據競爭,并提供強大的內存管理,使應用程序幾乎不可能崩潰。

下面,讓我們看一下流行的Rust游戲引擎。

一,Bevy

Bevy是一個簡單的,數據驅動的游戲引擎。雖然它仍處于發展的早期階段,可能會發生重大變化,但這并不妨礙它成為最流行的Rust游戲引擎之一。

Bevy使用實體組件系統(ECS)設計模式,允許模塊化架構,以便組件可以重用甚至替換。對于剛開始使用Rust進行游戲開發的初學者來說,它很容易使用。

你可以使用Bevy進行2D和3D渲染,或者使用圖形數據結構組成自定義渲染流。另一個偉大的特性是Bevy UI,它可以幫助你在代碼或使用場景中動態地組合UI。

我最喜歡的Bevy特性是,它允許你查看資源的變化,并自動輸出更新后的結果,而無需手動重新編譯代碼。

如果你認為Bevy適合你的項目,請查看文檔以獲得更好的理解。目前,Bevy仍處于開發階段,可能每隔幾個月就會引入突破性的更改。

地址:

二,

是一個成熟的,可用于生產的Rust游戲引擎,具有廣泛的文檔和資源,專注于2D和3D渲染。

除了易于使用之外,的一個受歡迎的功能是它的場景編輯器,它提供了一個場景預覽,如圖所示:

流行的游戲_流行游戲有哪些_小學生流行游戲

引擎最初被稱為rg3d,但項目創始人根據社區投票改變了這個定名稱。當前版本支持、、和。

與其他一些游戲引擎不同,具有可靠的快速迭代編譯功能。簡單來說,你可以在中快速制作和測試更改,而無需等待太長時間的編譯過程。

地址:

三,

項目由一組活躍的貢獻者維護,由于這種維護和資源的共享,它成為一個模塊化的開源游戲引擎。

的擴展庫集合了包括2D,3D,圖像處理,事件編程,GUI,聲音和動畫等功能。這些庫可以根據你正在處理的項目獨立使用。

除了它的模塊化庫,的公共API允許訪問外設輸入,如游戲手柄,鼠標或鍵盤。另一個偉大的功能是事件循環。既可以將游戲邏輯傳遞到事件循環中,也可以為它創建一個單獨的線程。

還使用了一種名為Dyon的動態腳本語言,這是專門為游戲引擎創建的,旨在與Rust一起工作,沒有編程經驗的人會發現它很容易上手和使用。

地址:

四,

是一個簡單的跨平臺Rust庫,用于游戲開發。它專注于簡單性——沒有語言干擾——使得用Rust構建游戲變得容易。深受游戲引擎啟發,即使對于Rust初學者,它完全抽象了Rust特定的語法,如生命周期和借用,使你能夠專注于游戲開發的關鍵邏輯。

是一個跨平臺的游戲引擎,支持以下平臺:

它使用原生的圖形非常有趣,讓我們來看一個簡單的例子,首先在.toml文件中加入依賴項:

[dependencies]
macroquad?=?"0.4.4"

代碼如下:

use?macroquad::prelude::*;
#[macroquad::main("BasicShapes")]
async?fn?main()?{
????let?mut?x_position?=?0.0;
????loop?{
????????clear_background(ORANGE);
????????draw_rectangle(x_position,?100.0,?120.0,?60.0,?BLACK);
????????x_position?+=?2.0;
????????if?x_position?>?screen_width()?{
????????????x_position?=?0.0;
????????}
????????next_frame().await
????}
}

上面的例子將顯示一個移動的矩形,如圖:

小學生流行游戲_流行游戲有哪些_流行的游戲

地址:

五,

是一個仍處于早期階段的開源游戲框架,但它仍然是一種流行的游戲引擎,目前被廣泛使用。對于開發者來說,它也更容易上手,在撰寫本文時, 的下載量已超過97,944次。

包含一個完整的調色板,用于圖形,音頻,激光,照明等創意工具。在許多方面,它就像藝術家的工具包——它的許多工具允許有創造力的個人高效地工作。

這個項目也是學習Rust語言的一個很好的工具包。它的目標是只使用Rust庫,并要求您使用 進行編譯。

但是,請記住Rust與其他語言具有互操作性,特別是與C和C++。如果你正在尋找的功能沒有可用的Rust庫,你可以使用像這樣的工具來訪問另一個庫。

地址:

其他游戲引擎

ggez

ggez是一個Rust游戲開發庫,它提供了一個框架來構建快速且最小的2D游戲。它的目標是實現類似于Lua 游戲庫的api。ggez提供api,讓你可以在2D游戲中添加2D繪圖、聲音、資源和事件處理。

是一個簡單但強大且固執己見的Rust游戲引擎。它的靈感來自、和等游戲引擎。使用Rust wgpu和圖形庫,這意味著它是跨平臺的。它目前支持從一個代碼庫為Wasm、、和構建游戲。

是一個使用Rust和wgpu構建的3D渲染庫。它由許多庫組成,允許你使用Rust在屏幕上渲染3D圖形。雖然從技術上講它不是游戲引擎或庫,但Rust游戲引擎開發者可以利用在他們的游戲引擎中構建3D圖像。在官方網站上查看可以使用此庫渲染的3D圖形示例。

總結

在Rust生態系統中,游戲開發仍然是一個不斷增長的領域,許多現有的游戲引擎和庫仍在積極開發中。根據你的需求,來選擇適合你項目的游戲引擎。