用C++重寫minecraft到底有多難?

一個人,用C++重寫minecraft,得要付出多少努力?

我問過別人,他只說這不是一個人能完成的事情。

我想知道得有多難。我現在在學c,遊戲開發或編程這東西還不太懂。notch能一個人用java寫出minecraft,那另一個精通c++的人用c++寫minecraft難嗎?


以一個Minecraft Modder的角度作答。

1、從一個遊戲的角度來說

這確實不是一個人能完成的事情,因為minecraft已經遠遠不是notch當初所開發的那個prototype。

現在的MC有大量的第三方黑科技(forge、bukkit 以及未來的sponge等等),以及在這些API上構建的成千上萬的mod和插件。MC之所以生生不息,絕對不是因為它的核心內容有多麼耐玩,而是有一個熱情泉涌的社區在支持著它的發展。

如果真的用C++重寫Minecraft的話,這個社區的內容會瞬間崩潰。且不論用C++開發難度的上升程度,不是所有人都願意把代碼換個語言重寫一遍,尤其是對於那些幾十萬代碼的大型項目。所以用C++重寫最大的阻礙不是技術問題,而是沒人玩

現在Minecraft有來自社區大量的可玩內容。Shadersmod帶來了光影包和美輪美奐的視覺體驗,Forge帶來了自定義遊戲內容的自由和成千上萬的mod……然而,這些東西全部都搭建在一個不穩定甚至糟糕的代碼基礎之上,在其中存在著大量的dirty hack以及對效率的犧牲。這樣下去真的對一個遊戲不是什麼好事,令人氣憤的是mojang的代碼還越寫越爛。

只能希望有下一個遊戲能對Minecraft的地位造成一定的撼動(鑒於MC在沙盒領域的霸主地位,非常難),或者mojang/微軟迷途知返改邪歸正(可能性無限接近於0),否則我們還是只能接受現在這個不完美的Minecraft。

一個人無法撼動一個帝國,只有另一個帝國才能。

2、從技術的角度來說

完全可行。Minecraft其實並沒有多麼高大上的技術和演算法,大部分採用的都是現有的技術,甚至有的地方寫的非常低劣(比如說渲染和模型和動畫和GUI和聲音系統等等等等)。比較unique的地方大概是高效率的載入和維護一個無限大的體素世界,但這也不是什麼驚為天人的事。用C++重寫MC,難點在於用好語言本身,而不在於內容。

實際上題主所說的事已經有人做過了:

GitHub - minetest/minetest: Minetest, an open source infinite-world block sandbox game with survival and crafting. [also https://github.com/minetest/minetest_game]

其他還有用C#等重寫的版本,就不一一列舉了。


文不對題的回答:mojang現在已經發布了基於C++ 的 minecraft 了,http://minecraft.gamepedia.com/Windows_10_Edition


所有的移動版都是吧

不知道是不是c++ 不過估計都是c語言系列的。。

感覺現在mc最大的缺點就是平台太分散了。

如果以後一個UI,一個地圖,一個伺服器可以在多設備使用多好。

其實第三方mod重做自我感覺應該不是問題啊。

因為每次mc版本升級。。


你用java寫過一遍 就能用C++寫出來前提你會java 還看得懂源碼


推薦閱讀:

如何用C++實現一個視頻聊天伺服器,要用到那些協議和庫?
在c++中,可以使用一個分配了內存空間但是沒有構造的struct里的值類型變數嗎?
c++里,函數返回一個局部數組名可以嗎?
C++中String問題?

TAG:遊戲 | 遊戲開發 | 我的世界Minecraft | CC | 遊戲編程 |