答案是不會!
沒有理由。這款遊戲是用Java和LWJGLv3編寫的,從2009年早期的技術演示開始就一直如此。用不同的遊戲引擎用c++重寫所有這些程式碼永遠都不值得花費那麼多時間和精力。
編輯器:顯然Bedrock Edition是Java版本的c++分支。需要說明的是,這個答案與開發人員用c++程式碼替換現有Java程式碼的場景有關。正如你所看到的,看看基岩,我所說的大部分都實現了。modding社群在Bedrock Edition中並沒有那麼流行,遊戲被鎖定在一套特定的系統上——希望你能在Linux上執行Bedrock Edition。
此外,它會傷害mod場景,這不是你想要做的事情,當遊戲已經承諾適當的mod支援自測試版。除了大量的遊戲可能只知道Java(因為他們進入透過Minecraft改裝),要考慮的一件事是,有一些人Minecraft社群中專用年理解遊戲的基礎設施,並移植到不同的語言可能會扔掉所有的架構。畢竟,c++有很多Java沒有的特性。諸如虛擬函式、智慧指標、適當的匿名函式、運算子過載和更高階的模板超程式設計子系統。這些東西最終可能會被用於簡化《我的世界》的許多系統,從而改變程式碼結構並將modding場景設定回幾年前,這將激怒大量玩家。如果他們不使用這些特性,那麼切換到c++又有什麼意義呢?更好的效能嗎?《我的世界》的大部分效能取決於圖形硬體,所以這不是問題。
還有發射和更新的問題。《我的世界》有許多發射器,所有的(包括官方的)都認為《我的世界》的版本將被打包到一個.jar存檔中。更新到另一種語言將意味著更新到另一種歸檔格式(您仍然可以使用DEFLATE將它們打包到zip中,但是啟動器無法知道java執行時不能執行新的歸檔),這將意味著建立另一個啟動器。對於喜歡使用其他啟動程式(比如MagicLauncher和數百萬)的人來說,這將是一個非常惱人的更新。
還有一個事實是,Java .jar archive只需要執行一個Java虛擬機器,這意味著開發人員可以編譯一次,然後分發到任何具有工作Java執行時的平臺上。另一方面,由c++編譯器生成的任何輸出格式都不會有同樣的奢侈。每個平臺都必須單獨編譯。一方面,這並不難做到,只要確保正確的發行版進入正確的系統,但另一方面,更新將花費更長的時間,遊戲也更容易出現bug。測試將會拖得更長,因為特性必須在每個受支援的系統上進行測試,在最壞的情況下,這可能導致完全取消對整個類系統的支援,例如Linux和/或OS x。
激怒自由/開源軟體和modding社群可能意味著任何遊戲的死亡。
這裡的要點是,僅僅因為c++是一門高階語言並不意味著您可以將它用於任何事情。優秀的開發人員知道這一點,並將使用最適合這項工作的工具。在這種情況下,維護minecraft(一種基於Java的遊戲)的最佳工具是Java。
答案是不會!
沒有理由。這款遊戲是用Java和LWJGLv3編寫的,從2009年早期的技術演示開始就一直如此。用不同的遊戲引擎用c++重寫所有這些程式碼永遠都不值得花費那麼多時間和精力。
編輯器:顯然Bedrock Edition是Java版本的c++分支。需要說明的是,這個答案與開發人員用c++程式碼替換現有Java程式碼的場景有關。正如你所看到的,看看基岩,我所說的大部分都實現了。modding社群在Bedrock Edition中並沒有那麼流行,遊戲被鎖定在一套特定的系統上——希望你能在Linux上執行Bedrock Edition。
此外,它會傷害mod場景,這不是你想要做的事情,當遊戲已經承諾適當的mod支援自測試版。除了大量的遊戲可能只知道Java(因為他們進入透過Minecraft改裝),要考慮的一件事是,有一些人Minecraft社群中專用年理解遊戲的基礎設施,並移植到不同的語言可能會扔掉所有的架構。畢竟,c++有很多Java沒有的特性。諸如虛擬函式、智慧指標、適當的匿名函式、運算子過載和更高階的模板超程式設計子系統。這些東西最終可能會被用於簡化《我的世界》的許多系統,從而改變程式碼結構並將modding場景設定回幾年前,這將激怒大量玩家。如果他們不使用這些特性,那麼切換到c++又有什麼意義呢?更好的效能嗎?《我的世界》的大部分效能取決於圖形硬體,所以這不是問題。
還有發射和更新的問題。《我的世界》有許多發射器,所有的(包括官方的)都認為《我的世界》的版本將被打包到一個.jar存檔中。更新到另一種語言將意味著更新到另一種歸檔格式(您仍然可以使用DEFLATE將它們打包到zip中,但是啟動器無法知道java執行時不能執行新的歸檔),這將意味著建立另一個啟動器。對於喜歡使用其他啟動程式(比如MagicLauncher和數百萬)的人來說,這將是一個非常惱人的更新。
還有一個事實是,Java .jar archive只需要執行一個Java虛擬機器,這意味著開發人員可以編譯一次,然後分發到任何具有工作Java執行時的平臺上。另一方面,由c++編譯器生成的任何輸出格式都不會有同樣的奢侈。每個平臺都必須單獨編譯。一方面,這並不難做到,只要確保正確的發行版進入正確的系統,但另一方面,更新將花費更長的時間,遊戲也更容易出現bug。測試將會拖得更長,因為特性必須在每個受支援的系統上進行測試,在最壞的情況下,這可能導致完全取消對整個類系統的支援,例如Linux和/或OS x。
激怒自由/開源軟體和modding社群可能意味著任何遊戲的死亡。
這裡的要點是,僅僅因為c++是一門高階語言並不意味著您可以將它用於任何事情。優秀的開發人員知道這一點,並將使用最適合這項工作的工具。在這種情況下,維護minecraft(一種基於Java的遊戲)的最佳工具是Java。