Minecraft是一款非常受歡迎的沙盒游戲,它最初是用Java語(yǔ)言開發(fā)的。然而,隨著游戲的發(fā)展和擴(kuò)展,Java版本的Minecraft開始面臨一些性能和兼容性的問題。為了解決這些問題,Minecraft的開發(fā)團(tuán)隊(duì)決定用C++語(yǔ)言重新開發(fā)游戲,這個(gè)版本被稱為Minecraft Bedrock Edition。本文將介紹一下Minecraft為什么要用C++重新開發(fā)的原因和優(yōu)勢(shì)。
首先,C++是一種編譯型語(yǔ)言,它可以直接編譯成機(jī)器碼,而不需要通過虛擬機(jī)運(yùn)行。這樣可以提高游戲的運(yùn)行速度和效率,減少內(nèi)存占用和垃圾回收的開銷。C++也可以更好地利用多核處理器和圖形處理器,提升游戲的渲染能力和幀率。
java確實(shí)可以用來開發(fā)桌面應(yīng)用,但確實(shí)不如C++,不論是swing還是javaFX。
其次,C++是一種跨平臺(tái)語(yǔ)言,它可以在不同的操作系統(tǒng)和設(shè)備上編譯和運(yùn)行。這樣可以讓Minecraft更容易地支持多種平臺(tái),包括Windows、Mac、Linux、Android、iOS、Xbox、PlayStation等。C++也可以更方便地與其他語(yǔ)言和庫(kù)進(jìn)行交互和集成,增加游戲的功能和擴(kuò)展性。
java號(hào)稱一處編譯,處處運(yùn)行,按照字面意思,java編譯后的程序應(yīng)該能在其他平臺(tái)(至少是手機(jī)端)上運(yùn)行,但反常識(shí)的是,雖然安卓有java虛擬機(jī),安卓應(yīng)用的主要開發(fā)語(yǔ)言也是java,但電腦版的Minecraft(java版)并不能在手機(jī)上運(yùn)行。
最后,C++是一種成熟和穩(wěn)定的語(yǔ)言,它有著豐富和完善的標(biāo)準(zhǔn)庫(kù)和第三方庫(kù),以及廣泛和活躍的社區(qū)支持。這樣可以讓Minecraft的開發(fā)者更容易地找到和使用各種工具和資源,提高游戲的質(zhì)量和安全性。
其實(shí)還有一種說法,原Minecraft開發(fā)廠商mojangAB的代碼風(fēng)格過于隨意,微軟收購(gòu)后難以對(duì)其源代碼進(jìn)行修改,所以最后打算重構(gòu),而微軟公司的員工更擅長(zhǎng)于C++,擁有豐富的C++開發(fā)經(jīng)驗(yàn),所以最后選擇了C++進(jìn)行重構(gòu)。這種說法的論據(jù)是Minecraft的指令系統(tǒng),C++版的和java版的命令只能說有相似之處,本質(zhì)完全不同,甚至沒有nbt標(biāo)簽!
總之,Minecraft為什么要用C++重新開發(fā),主要是為了提高游戲的性能、兼容性、功能和擴(kuò)展性。通過使用C++語(yǔ)言,Minecraft可以為玩家提供更流暢、更美觀、更多樣化的游戲體驗(yàn)。
想要了解C++?來看看C++課程列表 !