自從《我的世界》有人用紅石電路造CPU,就有了梗:
有一天,這些紅發人可以在我的世界里玩我的世界。
這一天真的來了!
讓我們來看看這臺‘在我的世界里建造的沒有原始MOD的電腦’(簡稱‘我的電腦’)。
具有1Hz CPU、8KB內存、6KB顯卡、加速模塊、96x96像素顯示屏和作為輸入設備的PS4手柄。
它是這樣工作的:
有了電腦,還缺的是能在上面運行的游戲代碼。
大佬們先用一種叫做URCL的中間語言來敲,然后轉換成自制CPU可以運行的匯編代碼。
就這樣,三個人過了10個多月,終于實現了史詩娃娃。
這款移植版《我的世界》不僅擁有開放世界、方塊放置、采礦,甚至物品合成等基礎玩法。
sammyuri,作者之一,將最后的結果濃縮成了一個3分鐘的視頻,已經收獲了近百萬的播放量和超過10萬的贊。
一條好評如潮的評論將其譽為‘整個電子游戲史上最偉大的壯舉’,只有足夠復雜的游戲和足夠精通的玩家才能實現。
也有人說,‘我很失望,我不能完全理解和欣賞這個作品,它有多難,需要做多少工作?!?
要理解這一切,還得從17個月前sammyuri打造的CPU說起。
CPU顯卡都是自制的
瘋狂了7個月,sammyuri在《我的世界》造了一個CPU,初衷是探索紅石電路的極限。
最終結果是一個具有RISC架構的8位處理器,具有三個寄存器操作數,可以以1Hz的頻率運行,并具有256字節的RAM。
命名為CHUNGUS 2,意為“用于計算的超大型非常規數字和圖形處理器”。
同時,他還開發了專用匯編程序,可以將程序代碼轉換成一鍵粘貼成《我的世界》的磚塊結構。
sammyuri認為CHUNGUS 2的性能基本達到了雅達利經典游戲機Atari 2600的水平,運行一條蛇和俄羅斯方塊更是不在話下。
用手摩擦CPU的視頻一發布到網上就爆炸了,播放量過百萬。
但他并不滿足于此,甚至(在讀者的鼓勵下)想出了無限娃娃的點子。3354在《我的世界》打了《我的世界》。
然而,這聽起來像是一個幻想.
畢竟現實中《我的世界》游戲最低配置要求是3Ghz CPU 4GB內存。只有1Hz CPU 256字節內存的他怎么可能搭載這種配置?
這時候就需要依靠群體的智慧了(手動狗頭)。
Sammyuri找到了Uwerta和StackDoubleFlow,三個人一起基于這個CPU給電腦升級。其中兩人負責在游戲中搭建硬件,一人負責編寫代碼。
本次升級10個月。最后,在《我的世界》中,我居然用一塊96 x 64像素的屏幕玩了一把0755-770的3D版,再現了16種方塊,32個物品,還原了幾十種游戲機制(挖、做、擊發、造、盒、亂刻等。)
沒錯,還是3D 《我的世界》,所以電腦還配了專門用于圖像處理的顯卡(GPU)。
這個GPU的名字是“amo gus”(Uwerta和Sammyuri的荒謬的大規模圖形算子,一個非常大的圖形算子,由Uwerta和薩米very制造)。
阿莫斯
首先,將物體在三維空間中的坐標和紋理位置輸入到GPU。然后根據攝像頭位置裁剪出要顯示的畫面(比如攝像頭在一片草地中間,就只顯示攝像頭前面的草地,把攝像頭后面看不見的草地剪掉);
接下來,將屏幕上的3D坐標映射到2D坐標,將四邊形劃分為三個梯形,進一步劃分為像素行,再劃分為單個像素,進行線性插值,計算每個像素對應的紋理位置(即紋理映射)及其與相機的距離。
(來源Surfaced Studio)紋理貼圖原理,在AMOGUS中簡化
紋理映射是實現GPU處理三維圖像的關鍵。用GPU處理3D圖像時,需要將屏幕上的一個像素映射到3D物體表面紋理上的某個位置,即紋理映射。
因為目標和攝像機之間的距離總是在變化的,所以紋理映射所占用的像素范圍是不一樣的。
最后,從紋理緩存中獲取像素顏色,并將深度與屏幕的當前像素深度(存儲在6kb像素深度緩沖區中)進行比較。如果更近,就會被覆蓋。
除了用GPU處理圖像,這款能運行《我的世界》的電腦是如何存儲游戲數據和與玩家互動的?
以充當工作臺的ROM為例。它存儲了各種鍛造和燃燒配方。當輸入一系列要合成的物品(如一系列木頭)時,它會輸出一個結果(木塊),否則輸出0。
用于存儲世界地圖的RAM由512 4位地址組成,共256字節,基于坐標(x,y,z)尋址。如果檢測到玩家出界,則返回0或255。
世界地圖就在這里。
輸入控制器由《我的世界》中的一系列壓力板組成。踩上去之后,當前狀態會發送到隊列中,CPU可以讀取并處理。
根據PS4手柄樣式設計
當然,要在《我的世界》運行這臺電腦,必須要加速(否則可能幾個小時都算不出一幀)。
于是在MCHPRS服務器的幫助下,他們提高了一波紅石的速度,達到了每秒0.1幀(doge)的極限水平。
即便如此,我們看到的2分鐘視頻還是花了9個小時左右錄制,感覺是‘天上一天,地下一年’。
據Sammyuri透露,目前,他們正在進一步優化GUI(圖形用戶界面)。下一步有可能做出只運行紅石系統的獨立版本,甚至實現《我的世界》運行《我的世界》的夢想。
細節有多難?
其實在此之前,很多紅石的家伙都想過用不同的方法來實現‘在我的世界里玩我的世界’。
但是有點捷徑,不是《DOOM》的原生工具能實現的。
例如,通過虛擬機模塊,一臺計算機由《我的世界》中的各種組件組裝而成,并作為虛擬機運行,如本VM Computers mod:
和通過web顯示,即在《我的世界》中設置瀏覽器,然后運行Web版本《我的世界》:
雖然sammyuri trio的方案還存在不足,但與之相比,又多了一層不借助外部工具的硬核buff。
無限娃娃祝成功!
當然,除了‘工具都準備好了’,還有更多這個0.2版《我的世界》的細節值得一看。
比如CPU內存—— 1和0碼的CHUNGUS 2,工藝技術達到了高級1米(doge),頻率達到了1Hz。
它有一個4級指令流水線,64字節8路關聯數據緩存,甚至分支預測,符合RISC標準。
,并且GPU可以成功運行,3D渲染電腦中所有《我的世界》的方塊。
再者,紅石線具備數字電路的基本要求,但堆疊操作非常有限。
移植版《我的世界》正在播放,再次證明《我的世界》的圖靈是完整的。
有了圖靈完備性,就意味著在不考慮實時操作的情況下,可以在《我的世界》玩《我的世界》,可以一直玩娃娃。
狂肝10個月以上可以抱一次。如果狂肝持續20個月以上,豈不是可以‘電腦上《我的世界》打《我的世界》,后面再打《我的世界》’?
娃娃欣喜若狂!
不過考慮到《我的世界》的邊界距離理論上是有限的,所以模擬的《我的世界》每次都會小一些。
所以,這種方法恐怕是行不通的。
不過,如果已經建成的《我的世界》有紅石電路,也不妨礙新一輪的娃娃再出發~
事實上,sammyuri在視頻的最后留下了一個彩蛋,‘關注并贊美我,我可能會開始成為我的世界中的我的世界,我的世界中的我的世界’
字體他不會是認真的吧?真的嗎?
狂肝 10 個月手搓 GPU 他們在《我的世界》里玩起《我的世界》氣勢雄察言《水滸》觀色偉43. 原本空蕩蕩的紅塵,被諸多的緣分填滿?;淞四軌蛑亻_,錯過了卻無法重來。也許就是不經意的擦肩,注定了彼此一生無緣。我們學校的乒乓球隊正在招收新隊員。65.信言不美,美言不信。 江城子 盧祖皋金陵津渡小山樓,一宿行人自可愁。我的世界,gpu,計算機,圖靈21.Facts speak plainer than words. 事實勝于雄辯。 |