理論上來說,在Minecraft中,能否搭建出足夠運行Minecraft遊戲本身的計算機?
如題,如果可以的話,能否在該「計算機」中運行的「我的世界」中再搭建一個此水平的「計算機」?
————8月1日更新——————————
一覺醒來這麼多贊了,謝謝大家!這裡針對評論區大家提出的意見補充一點個人想法
1,評論區有知友提出使用MOD來實現的,我認為這已經超出題主的本意了,題主問的能不能搭出可以運行minecraft的計算機,應該指的是使用minecraft本身中有的方塊,如果使用MOD的話,其實這個計算機就不是minecraft中的世界的產物了,因為MOD歸根結底還是我們現實中寫好的代碼,嚴格上說是我們在現實中的電腦里創造的,而不是在minecraft的世界裡建造的(我語文表達不好T_T希望你們懂)2,關於瞬時中繼器的問題。因為我當時做這個個位十進位加法器主要是為了鞏固自己學的數字電路知識,所以也沒去了解那麼深。不過我看了其他答主說紅石的最快頻率是20HZ(也有說10HZ的?),不管怎麼樣也還是太慢了,就算做出來光等待遊戲運行起來估計也還是要等很長長長長長長長長一段時間。——————以下是原答案——————
紅石本身傳不遠,如果使用中繼器(基本難以避免)傳導延遲太大,這本身就限制了MC中搭建出的計算機的性能,不過基本的與或非門搭建是沒問題的,所以只要時間足夠,是可以搭建出相應的硬體系統,然後在之上開發軟體的。不過估計在上面運行minecraft光啟動就要等一年還多吧,哈哈哈哈哈。所以回答是,理論上可以,不過實際上基本沒戲。我曾經寫過一個個位十進位加法器,光運算就要好幾秒了,還不包括顯示,其實最花時間的是把二進位的運算結果轉換成十進位並用紅石燈組成的顯示模塊顯示
上圖,左上角灰色部分是二進位計算部分,只佔一點點,其他部分全是進位轉換與輸入輸出再上點運行時的圖
靠譜地說,不可能靠紅石完成,命令倒是有一丁點可能,因為有了function編程化執行是簡單了不少……做個電腦沒問題,不過要性能足夠還是不太可能(除非你用超級計算機和特製java)。用mod差不多可以(那不就是虛擬機了么,笑)。(覺得以前見過類似問題啊……
MC內部的紅石系統時鐘周期我沒記錯的話應該是20Hz(一秒20個ticks)。
而能運行低配原版MC的電腦就算單核主頻怎麼也得1.5Ghz吧?大概就是1500000000Hz所以,就算是能搭出來,硬碟不論顯卡不論,咱就以CPU頻率粗略估算一下,平時半分鐘的遊戲客戶端讀取載入時間,大概會變成3750萬分鐘。而一年有多久呢?大概是52.5萬分鐘。嗯,你現在啟動這台電腦里的MC,開始讀取載入遊戲,運氣好而且你活得夠久的話,大概70年後就可以玩啦!
你確定你有足夠的生命在這台電腦里再創建一個作品嗎?那你是不知道,Minecraft裡面有一個叫方塊更新的東西。Minecraft的世界是無限大的,因為世界是無限大的,所以運存也將會無限大,所以為了將運存降到有限,方塊更新也會限制在一定的區域內,單位叫「區塊」,這個限制被稱為「區塊刷新」。
在MC里,能夠設置的最大的區塊更新空間就是16個區塊,也就是說,以你為中心,周圍16個區塊以外的區域不會進行方塊更新。
方塊更新就是指與一個方塊相鄰的方塊有變化,那麼那個方塊也會依系統設置而變化,紅石能量傳播也是靠方塊更新而做到的。
而製作一個那樣規模的計算機,紅石覆蓋肯定要大於16個區塊,在16個區塊以外,沒有方塊更新,相當於是物理上的「絕對零度」,而且不可改變,紅石脈衝傳到那裡也會憑空消失。
所以就算不談CPU的功率,這個計算機也不能正常運行!
理論上啊...如果不考慮遠處區塊不載入什麼的,完全可以做,體積很龐大就是了。
事實上我記得有個人在mc里做出來一個8×8的二維mc,對,沒錯,可以玩。
另外,我不太理解你說的「搭建一個此水平的計算機」,指的是能否搭建一個可以運行mc的三階(就是套中套中的那個)計算機,還是指搭建一個性能與二階計算機一樣的三階計算機?前者可以,後者不可以。
好吧我理解錯誤,如果是圖片里那個,完全可以...1.12之前:理論上不能,因為Minecraft內部的紅石機制導致了一切都只能運行在20Hz下,而且沒法倍頻。雖然說高並發是個套路,可是,高並發也不可能無限度的拉低單核性能需求的。Sethbling的BASIC解釋器「編譯」一段代碼都要好長時間,執行的時候也就簡單的加減乘除的性能可以忍受,但是還是很慢。他的Z80模擬器就更神奇了,基於Z80的Atari 2600模擬器幾個小時才渲染一幀,這還是幾十年前的遊戲機的性能了。
1.12開始:也許?畢竟有了函數這個神奇的東西,運行MC其實是有戲的,畢竟,只要一tick內跑完,管你跑的是什麼,無所謂。但是。。。這麼玩,與其說是做出了能運行MC的機子,倒不如說把MC變成了一款shell,然後運行腳本。。。
為什麼這麼多人在拿中繼器延時和區塊載入範圍說事嘛?我真的很懷疑這些人的紅石水平,是不是看完了minecraft wiki就覺得自己會紅石了?Talk is cheap,show you the code.給你們看個視頻。
原版MC中無延時中繼器和無延時非門(雖然我個人覺得莊主的水平有點菜,不過這種小問題莊主還是能解說好的):
http://www.bilibili.com/video/av1648584原版MC中如何載入遠程的區塊(英語視頻,沒有字幕,就當練聽力吧,不過看這個絕對是值得的):http://www.bilibili.com/video/av11106504===================================雖然就結論上講,我也認為搭不成,但是我認為主要原因在於:1.MC是限高的,也就是東西的高度不能超過256方塊。計算機級別的複雜電路,256的限高很可能太少了。2.顯示器,一方面mc只有亮和不亮的輸出。也就是黑白屏,連灰度屏都不是。另一方面,如果要求無延時的話,一個像素點需要3x3像素,優化的好一些可能能達成2x2。這樣的話顯示器高度最多只有100出頭的解析度,畫面絕對糊一臉。3.你打算怎麼輸入呢?玩MC常用的鍵有鍵盤上的6個鍵和滑鼠左右鍵,而且我們還需要代替滑鼠的輸入設備控制方向。你讓史蒂夫控制搭建的計算機玩mc中來個這個操作試試:「拉開弓潛行狀態下向右前方跳躍」。=============================最後安利一波我自己的mc視頻:
MC紅石水平等級測試卷:http://www.bilibili.com/video/av6788098上面哪些答主們估計一半以上不及格吧。如何讓普通的壓力板區分玩家和生物:http://www.bilibili.com/video/av5136917最全面的MC方塊更新機制原理講解:http://www.bilibili.com/video/av11650245在夢裡,要把能玩遊戲的電腦做出來,除了CPU, 還要做顯卡什麼的。電腦做出來後不知道系統怎麼做……就算系統做出來還要做遊戲。不可能的,理論上可以,但是不可能搞出來
我個人的認為是,基本不太可能,玩mc這麼多年了,見過大神在mc里玩掃雷的,也見過造個手機給自己打電話的,也見過弄出來開根號開平方的計算器的,但無一例外,這些建築本身的紅石搭建是特別巨大的,說個簡單的,紅石搭建的計算器,只是簡單的1+1的計算,其背後紅石的工作量也是很大的。在這裡我想做一個類比,mc里的這個計算器,有點像人類世界的第一台電腦,只能用來計算,但背後卻有著無比龐大的體積,想像一下,在人類第一台電腦剛問世的那個年代,想要靠那時候的科技編一個mc,可能嗎。。。。當然,mc里的科技比那個年代要發達一點,但也絕對發達不到哪裡去,還沒有超脫20世紀的水準,因此個人覺得沒啥希望,除非mc外的世界,也就是我們這個世界能在電腦方面再來一個偉大的進步,從而是電腦更加強大,然後才能讓mc這個電腦內的世界更加強大,從而有希望在mc里玩mc。。。。
說到這裡突然有點細思恐極是怎麼回事。。。。
作為知乎新人,親們給個贊吧(≧▽≦)/
------200贊分割線(≧▽≦)/-----原生 mc 中紅石最大只能在 1080 長寬高的矩形區域內運行,超過的是不會運行的,如果算 mod 的話有人直接在 mc 中調用了外部的虛擬機豈不是更高效。
所以按照原生 mc 算,不能實現。需要的計算機性能太高了。1.我的世界因為考慮到電腦的實際性能,超出一定距離的東西就靜止了。2.考慮到要運行我的世界的電腦,理論上是絕對可以做出來的,但是體積很可能非常大,參考第一點,當前的頂配家機一定做不出來,但我覺得一些發燒級別的機器,比如多顯卡+伺服器級別的U可能能試一試。P.S.
嗶哩嗶哩上有一個視頻,一位我的世界玩家在我的世界裡面做了一個可以和自己電腦攝像頭連接的屏幕,可以顯示攝像頭拍到的事物。仔細觀察可見他身邊的電腦非常大,體積上遠超一般主機的水準,側面說明在我的世界裡面搭載這種天頂星科技很可能對機器的要求很高。
Impossible
我的mc知識儲備僅更新到1.8
如果是純紅石的話做夢
首先中繼器的延遲就太大了
那樣的話光一個三位數加減就能用上好久時間
改用瞬時中繼器體積會增大無數倍
如果用命令方塊……
抱歉,據我所知1.8那幾個破指令也就是用來玩的
弄個增加遊戲性用的
例如曾經籽岷做過的時間陷阱和探索者兩個地圖
原版mod的實際用處並不大
最多也就是展現下實力罷了
還有,造出來的話你準備拿什麼當屏幕?紅石燈嗎?
而且似乎也沒有帶的起的電腦吧
不過我覺得用上神威·太湖之光的全部算力應該沒問題理論上我覺得可行,實際操作上幾乎不可能實現
運算速度這個問題前面已經有人說過,Minecraft裡面的時間單位最小也就是0.05秒(20tick/s),一個紅石中繼器的延遲是0.1~0.4秒(4檔,每檔0.1秒),這和實際計算機的處理速度完全沒法相比
然後就是體積,要運行的電路越複雜,必然的也要佔用越大量的體積。而Minecraft本身的載入範圍是有限的,雖然說可以有方法讓大量區塊保持載入(區塊載入器之類的,不用有人在附近,只要遊戲或伺服器開啟就保持所在區塊載入),但這也會大量佔用電腦或者伺服器的內存,龐大的運算量下遊戲便會減慢單位時間來保證運算,比如說降到18tick/s,這還算好的(一些惡性情況下伺服器tps降到5以下,那次我們是只能全員搬家刪除原地圖了)。這個時間差是致命的,因為遊戲沒法保證它的運算順序完全保持和原速狀態相同,於是,可能中間一兩個運算比其他的慢了1tick,然後直接就可能導致整個電路系統運行出錯。
藉助命令方塊會比單純紅石好一些,但是幫助還沒大到能夠實現的程度,頂多是做一個嚴重閹割版的Minecraft,畢竟,顯示、操作、數據儲存都是問題
藉助mod來實現的話,其實已經是相當程度上的作弊了。一切的功能以mod的形式寫在代碼之中,就好像編寫遊戲一樣。然後再給個表現形式(給你個屏幕)以及操作手段(專門定義一套操作),以及儲存讀取功能(mod直接授權在自己的文件夾下建立存檔文件來保存內容)
如果用模電做憶阻器神經網路
還是有可能的數電龐大的體積是不用想了還有一種方式是用命令方塊畢竟有函數,實現是肯定的呃,這個需要請理科同志回答,我真的不懂……雖然我很想說如果只從理論上來說只要給技術們時間,一切都可以實現這種廢話……
我想應該給個版本時間吧,比如目前版本或者說近兩年可能更新的版本……畢竟現在的版本連RSC3230都做出來了
如果你是說要做出一個和minecraft本身一模一樣的遊戲,不行。mc里元件種類和功能都太少,很多東西無法實現,首先你沒法做出一個「顯示器」來顯示3D空間。如果用命令方塊+材質修改,涉及的工程也太大而且還未必能達到足夠的效果,不可實現。如果是要做一個2D版的minecraft,國外有人做過了,雖然那個很簡陋,但是加上命令方塊的話,應該可以擴充出一個比較完善的minecraft。不過肯定和真正的mc差遠了,更不要說在那個裡邊再建設mc。
記得我以前用multisim模擬32768hz晶振,就特別卡了。如果mc要模擬3.2ghz的東西,應該類似會卡。
可以看看一個叫survivalcraft的遊戲,裡面有電路板,可以把mc的紅石電路體積縮小上千倍
不可能
如果MC中可以搭建MC,則二次MC中必須可以搭建三次MC
必然會因Memory leak無法實現
靠紅石本身的話,我自己搭加法器什麼的們傳輸延遲感覺不能忍啊。天知道弄計算機需要什麼黑科技。
推薦閱讀:
※《太空旅客》電影有什麼細思極恐的細節和劇情?
※電影《海洋奇緣》中有哪些細思恐極的細節?
※電影《但丁密碼》中有哪些細思恐極的細節?
※世界上有哪些人、哪些事讓你覺得細思恐極?
TAG:遊戲 | 單機遊戲 | 計算機科學 | 我的世界Minecraft | X中有哪些細思恐極的細節 |