自從有人在我的世界里用紅石電路造CPU,就有了梗:
有一天,這些紅發(fā)人可以在我的世界里玩我的世界。
這一天真的來了!
讓我們來看看這款在我的世界里建造的沒有MOD純原版的電腦。
1Hz頻率的CPU,8KB內(nèi)存,6KB視頻卡,加速模塊,96x96像素顯示屏和PS4手柄作為輸入設(shè)備。
它是這樣工作的:
有了電腦,缺的就是能在上面運行的游戲代碼。
大佬們先用一種叫做URCL的中間語言來敲,然后轉(zhuǎn)換成自制CPU可以運行的匯編代碼。
就這樣,三個人過了10個多月,終于實現(xiàn)了史詩人偶。
這個移植版的《我的世界》不僅有開放世界,方塊放置,挖礦,甚至產(chǎn)品合成等基本玩法。
一條高度贊揚的評論將其譽為整個電子游戲史上最偉大的壯舉,只有足夠復(fù)雜的游戲和足夠精通的玩家才能實現(xiàn)。
還有人說:我很失望,我不能完全理解和欣賞這個工作,它有多難,需要做多少工作。
要理解這一切,還得從17個月前sammyuri打造的CPU說起。
CPU顯卡都是自制的
瘋狂了7個月后,sammyuri在我的世界里造了一個CPU,原本是為了探索紅石電路的極限。
最終結(jié)果是一個具有RISC架構(gòu)的8位處理器,具有三個寄存器操作數(shù),可以以1Hz的頻率運行,并具有256字節(jié)的RAM。
CHUNGUS 2,意為用于計算的超大型非常規(guī)數(shù)字和圖形處理器。
同時,他還開發(fā)了一個特殊的匯編器,可以把程序代碼轉(zhuǎn)換成一鍵粘貼到我的世界的磚塊結(jié)構(gòu)。
Sammyuri認為CHUNGUS 2的性能基本達到了雅達利經(jīng)典游戲機Atari 2600的水平,運行一條蛇和俄羅斯方塊更是不在話下。
用手摩擦CPU的視頻一發(fā)布到網(wǎng)上就爆炸了,播放量突破百萬。
但他并不滿足于此,甚至想出了無限娃娃的點子——在我的世界里玩我的世界。
可是,這聽起來真的不可能...
畢竟現(xiàn)實中我的世界游戲最低配置要求也是3Ghz CPU+4GB內(nèi)存他只有1Hz的CPU+256字節(jié)的內(nèi)存,怎么能承載這樣的配置
這時候就需要借助群體的智慧。
Sammyuri找到了Uwerta和StackDoubleFlow,三個人一起基于這個CPU給電腦升級其中兩人負責(zé)在游戲中搭建硬件,一人負責(zé)編寫代碼
這次升級持續(xù)了10個月。最后我居然在我的世界里用了一塊96×64像素的屏幕玩了一個3D版的我的世界,再現(xiàn)了16種方塊+32個道具,還原了幾十種游戲機制!
對,還是3D的《我的世界》,所以電腦也配了顯卡,專門用來處理圖像的。
這個GPU叫做AMOGUS。
阿莫斯
接下來,將屏幕上的3D坐標映射到2D坐標,將四邊形劃分為三個梯形,進一步劃分為像素行,然后劃分為單個像素,進行線性插值,計算每個像素對應(yīng)的紋理位置及其與攝像機的距離。
AMOGUS簡化了紋理映射原理。
紋理映射是實現(xiàn)GPU處理三維圖像的關(guān)鍵用GPU處理3D圖像時,需要將屏幕上的一個像素映射到3D物體表面紋理上的某個位置,即紋理映射
因為目標和攝像機之間的距離總是在變化的,所以紋理映射所占用的像素范圍是不一樣的。
最后,從紋理緩存中獲取像素顏色,并將深度與屏幕的當(dāng)前像素深度進行比較再近一點,就被遮住了
除了用GPU處理圖像,這臺可以運行我的世界的電腦是如何存儲游戲數(shù)據(jù)和與玩家互動的。
以充當(dāng)工作臺的ROM為例它存儲了各種鍛造和燃燒配方當(dāng)輸入一系列要合成的物品時,它會輸出一個結(jié)果,否則輸出0
用于存儲世界地圖的RAM由512×4位地址組成,共256字節(jié),基于坐標尋址如果檢測到玩家出界,則返回0或255
世界地圖就在這里。
輸入控制器由我的世界中的一系列壓力板組成踩上去之后,當(dāng)前狀態(tài)會發(fā)送到隊列中,CPU可以讀取并處理
根據(jù)PS4手柄風(fēng)格設(shè)計
當(dāng)然,在我的世界里運行這臺電腦必須加速。
于是在MCHPRS服務(wù)器的幫助下,他們提高了一波紅石的速度,達到了每秒0.1幀的極限水平。
即便如此,我們看到的2分鐘視頻還是花了9個小時左右錄制,感覺天上一天,地下一年。
據(jù)Sammyuri透露,目前,他們正在進一步優(yōu)化GUI下一步有可能做出只運行紅石系統(tǒng)的獨立版本,甚至實現(xiàn)《我的世界》運行DOOM的夢想
細節(jié)有多難。
其實在此之前,很多紅石的家伙都想過用不同的方法來實現(xiàn)在我的世界里玩我的世界。
但是走了一些捷徑,這是我的世界的原生工具所沒有實現(xiàn)的。
例如,通過虛擬機模塊,一臺計算機與我的世界中的各種組件組裝在一起,并作為虛擬機運行,如這臺VM計算機mod:
還有網(wǎng)頁展示,就是在我的世界里設(shè)置一個瀏覽器,然后運行網(wǎng)頁版的我的世界:
雖然sammyuri三人組的方案還存在不足,但與之相比,在沒有外部工具幫助的情況下,又多了一層硬核buff。
《無限娃娃》祝成功!
當(dāng)然,除了工具都準備好了,這個0.2版的《我的世界》還有更多值得一看的細節(jié)。
比如1和0碼的CPU內(nèi)存——chungus 2,工藝技術(shù)達到了先進的1m,頻率達到了1Hz。
它有一個4級指令流水線,64字節(jié)8路關(guān)聯(lián)數(shù)據(jù)緩存,甚至分支預(yù)測,符合RISC標準。
創(chuàng)建的GPU可以成功運行,在擠壓的電腦中3D渲染所有我的世界方塊。
再者,紅石線具備數(shù)字電路的基本要求,但堆疊操作非常有限。
《我的世界》移植版正在播放,再次印證了《我的世界》的圖靈完備性。
有了圖靈完備性,就意味著你可以在我的世界里玩我的世界,不用考慮實時操作,可以一直玩娃娃。
如果你狂肝10個月以上,可以生一次寶寶如果你狂肝20個月以上,不就可以在我的世界里玩電腦上的我的世界,然后在后者玩另一個我的世界了嗎
娃娃欣喜若狂!
但考慮到我的世界的邊界距離理論上是有限的,每個模擬的我的世界都會小一些。
因此,恐怕不可能使用這種方法。
但是,如果我的世界里有紅石電路,也不妨礙新一輪的人偶再出發(fā)~
事實上,sammyuri在視頻的最后留下了一個彩蛋,關(guān)注并贊我,我可能就開始做我的世界里的我的世界,我的世界里的我的世界。
他不會是認真的吧真的嗎
GitHub地址:
《我的世界玩偶3D版》壓縮包:
涉及
鄭重聲明:此文內(nèi)容為本網(wǎng)站轉(zhuǎn)載企業(yè)宣傳資訊,目的在于傳播更多信息,與本站立場無關(guān)。僅供讀者參考,并請自行核實相關(guān)內(nèi)容。