越來(lái)越多的開(kāi)發(fā)者選擇Rust而不是C++作為游戲開(kāi)發(fā)的首選語(yǔ)言,讓我們來(lái)看一下五個(gè)流行的Rust游戲引擎。

在Rust發(fā)布之前,C++是游戲開(kāi)發(fā)的首選語(yǔ)言。像C++和C這樣的語(yǔ)言在過(guò)去幾年里提供了可靠的性能和速度。

許多開(kāi)發(fā)者仍在使用這些語(yǔ)言進(jìn)行游戲開(kāi)發(fā)。然而,Rust社區(qū)是強(qiáng)大的,活躍的,并且正在成長(zhǎng),特別是在游戲開(kāi)發(fā)領(lǐng)域。

由于其并發(fā)性,Rust也具有很大的游戲開(kāi)發(fā)能力。Rust中的并發(fā)性可以防止數(shù)據(jù)競(jìng)爭(zhēng),并提供強(qiáng)大的內(nèi)存管理,使應(yīng)用程序幾乎不可能崩潰。

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

一,Bevy

Bevy是一個(gè)簡(jiǎn)單的,數(shù)據(jù)驅(qū)動(dòng)的游戲引擎。雖然它仍處于發(fā)展的早期階段,可能會(huì)發(fā)生重大變化,但這并不妨礙它成為最流行的Rust游戲引擎之一。

Bevy使用實(shí)體組件系統(tǒng)(ECS)設(shè)計(jì)模式,允許模塊化架構(gòu),以便組件可以重用甚至替換。對(duì)于剛開(kāi)始使用Rust進(jìn)行游戲開(kāi)發(fā)的初學(xué)者來(lái)說(shuō),它很容易使用。

你可以使用Bevy進(jìn)行2D和3D渲染,或者使用圖形數(shù)據(jù)結(jié)構(gòu)組成自定義渲染流。另一個(gè)偉大的特性是Bevy UI,它可以幫助你在代碼或使用場(chǎng)景中動(dòng)態(tài)地組合UI。

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

如果你認(rèn)為Bevy適合你的項(xiàng)目,請(qǐng)查看文檔以獲得更好的理解。目前,Bevy仍處于開(kāi)發(fā)階段,可能每隔幾個(gè)月就會(huì)引入突破性的更改。

地址:

二,

是一個(gè)成熟的,可用于生產(chǎn)的Rust游戲引擎,具有廣泛的文檔和資源,專(zhuān)注于2D和3D渲染。

除了易于使用之外,的一個(gè)受歡迎的功能是它的場(chǎng)景編輯器,它提供了一個(gè)場(chǎng)景預(yù)覽,如圖所示:

流行的游戲_流行游戲有哪些_小學(xué)生流行游戲

引擎最初被稱(chēng)為rg3d,但項(xiàng)目創(chuàng)始人根據(jù)社區(qū)投票改變了這個(gè)定名稱(chēng)。當(dāng)前版本支持、、和。

與其他一些游戲引擎不同,具有可靠的快速迭代編譯功能。簡(jiǎn)單來(lái)說(shuō),你可以在中快速制作和測(cè)試更改,而無(wú)需等待太長(zhǎng)時(shí)間的編譯過(guò)程。

地址:

三,

項(xiàng)目由一組活躍的貢獻(xiàn)者維護(hù),由于這種維護(hù)和資源的共享,它成為一個(gè)模塊化的開(kāi)源游戲引擎。

的擴(kuò)展庫(kù)集合了包括2D,3D,圖像處理,事件編程,GUI,聲音和動(dòng)畫(huà)等功能。這些庫(kù)可以根據(jù)你正在處理的項(xiàng)目獨(dú)立使用。

除了它的模塊化庫(kù),的公共API允許訪(fǎng)問(wèn)外設(shè)輸入,如游戲手柄,鼠標(biāo)或鍵盤(pán)。另一個(gè)偉大的功能是事件循環(huán)。既可以將游戲邏輯傳遞到事件循環(huán)中,也可以為它創(chuàng)建一個(gè)單獨(dú)的線(xiàn)程。

還使用了一種名為Dyon的動(dòng)態(tài)腳本語(yǔ)言,這是專(zhuān)門(mén)為游戲引擎創(chuàng)建的,旨在與Rust一起工作,沒(méi)有編程經(jīng)驗(yàn)的人會(huì)發(fā)現(xiàn)它很容易上手和使用。

地址:

四,

是一個(gè)簡(jiǎn)單的跨平臺(tái)Rust庫(kù),用于游戲開(kāi)發(fā)。它專(zhuān)注于簡(jiǎn)單性——沒(méi)有語(yǔ)言干擾——使得用Rust構(gòu)建游戲變得容易。深受游戲引擎啟發(fā),即使對(duì)于Rust初學(xué)者,它完全抽象了Rust特定的語(yǔ)法,如生命周期和借用,使你能夠?qū)W⒂谟螒蜷_(kāi)發(fā)的關(guān)鍵邏輯。

是一個(gè)跨平臺(tái)的游戲引擎,支持以下平臺(tái):

它使用原生的圖形非常有趣,讓我們來(lái)看一個(gè)簡(jiǎn)單的例子,首先在.toml文件中加入依賴(lài)項(xiàng):

[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
????}
}

上面的例子將顯示一個(gè)移動(dòng)的矩形,如圖:

小學(xué)生流行游戲_流行游戲有哪些_流行的游戲

地址:

五,

是一個(gè)仍處于早期階段的開(kāi)源游戲框架,但它仍然是一種流行的游戲引擎,目前被廣泛使用。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),它也更容易上手,在撰寫(xiě)本文時(shí), 的下載量已超過(guò)97,944次。

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

這個(gè)項(xiàng)目也是學(xué)習(xí)Rust語(yǔ)言的一個(gè)很好的工具包。它的目標(biāo)是只使用Rust庫(kù),并要求您使用 進(jìn)行編譯。

但是,請(qǐng)記住Rust與其他語(yǔ)言具有互操作性,特別是與C和C++。如果你正在尋找的功能沒(méi)有可用的Rust庫(kù),你可以使用像這樣的工具來(lái)訪(fǎng)問(wèn)另一個(gè)庫(kù)。

地址:

其他游戲引擎

ggez

ggez是一個(gè)Rust游戲開(kāi)發(fā)庫(kù),它提供了一個(gè)框架來(lái)構(gòu)建快速且最小的2D游戲。它的目標(biāo)是實(shí)現(xiàn)類(lèi)似于Lua 游戲庫(kù)的api。ggez提供api,讓你可以在2D游戲中添加2D繪圖、聲音、資源和事件處理。

是一個(gè)簡(jiǎn)單但強(qiáng)大且固執(zhí)己見(jiàn)的Rust游戲引擎。它的靈感來(lái)自、和等游戲引擎。使用Rust wgpu和圖形庫(kù),這意味著它是跨平臺(tái)的。它目前支持從一個(gè)代碼庫(kù)為Wasm、、和構(gòu)建游戲。

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

總結(jié)

在Rust生態(tài)系統(tǒng)中,游戲開(kāi)發(fā)仍然是一個(gè)不斷增長(zhǎng)的領(lǐng)域,許多現(xiàn)有的游戲引擎和庫(kù)仍在積極開(kāi)發(fā)中。根據(jù)你的需求,來(lái)選擇適合你項(xiàng)目的游戲引擎。