大數據文摘出品
作者:王燁
玩過我的世界嗎?
這個全球擁有上億月活用戶的遊戲,在世界各平台擁有2億銷量,是有史以來最為暢銷的電子遊戲。
遊戲的框架很簡單,玩家在一個隨機程序生成的3D世界內,以帶材質貼圖的立方體為基礎進行遊戲,比如樹木,石頭,水源等等。
在這個框架下,我的世界為玩家提供了多種遊戲模式,包括生存模式、創造模式、冒險模式、旁觀者模式和極限模式,每種模式帶來的體驗也不一樣。
不過,獨樂樂不如眾樂樂,作為一款自由度非常高的遊戲,和世界各地的玩家一起邊玩邊交流,豈不是樂趣無窮?
但是要進行多人遊戲,就需要玩家搭建自己的伺服器,或者是用託管伺服器商的伺服器,才能進入到同一個世界中互動。
一般來說,玩家都會選擇使用託管伺服器商,畢竟自己搭建伺服器還是挺麻煩的。
不過一個網名叫Turtius的小伙就選擇自己搭一個「我的世界」伺服器試試,光是搭伺服器倒不是多稀奇,更有趣的是他居然用一台佳能單發搭了一個我的世界伺服器!
在單反上玩上我的世界後,Turtius把自己的演示視頻發到了Reddit上,引來一堆網友圍觀,如今點贊已經有37.4K,上百人參與了討論。
腦洞大開,用單眼相機做伺服器
這位在GitHub上名為Turtius的小伙是一名程式設計師,有一天,他正好在對這台相機的網絡模塊進行逆向工程。
作為一個我的世界資深玩家,做著做著他就突然腦洞大開——我能不能用佳能相機做一個我的世界伺服器?
於是他就動手嘗試起來,他手上的這台佳能相機是Canon SL2 (也就是EOS200D) ,含有內置WiFi,同時支持NFC和藍牙連接,可以輕鬆實現與其他設備的無線連接。
有了這樣的網絡模塊作為基礎,Turtius成功在這台單反上搭建了一個我的世界伺服器。
Turtius表示,「在攝像機上完全可以運行。我對佳能使用的網絡模塊進行了逆向工程,恰好發現了類Unix套接字,我將Avrcraft(為8比特設備提供的我的世界伺服器)與Magic Lantern(佳能的一個開源項目)集成在一起。它運行在佳能作業系統提供的自定義實現功能上,並使用自定義代碼與佳能在較低級別上提供的內容進行交互。」
你可以在GitHub上找到完整的原始碼,但是在你嘗試追隨他的腳步之前,請注意: 你可能會把你的相機變成板磚。
我不建議在不知道你在做什麼的情況下運行這個程序,因為這可能會毀掉你的相機,」Turtius 警告說。「如果你試圖這樣做而你的相機壞了,我不負責任,你自己承擔風險。」
Avrcraft項目地址:
https://github.com/cnlohr/avrcraft
Turtius創建的項目地址:
https://github.com/turtiustrek/magiclantern_simplified
為何麼大佬都喜歡在「我的世界」上搞事情?
「我的世界」之所以這麼受歡迎,最主要的原因就是其自由度相當之高。
在這個開放的世界中,玩家沒有具體要完成的目標,在遊戲開始時,玩家會被放置在一個由程序生成幾乎沒有大小限制的地圖上,剩下的就是發揮自己的想像,用泥土、石頭、各種礦物、水和樹幹等各種原料搭建屬於自己的世界。
其中還有幾種特別的材料,更是受到很多極客大佬的喜愛,它就是紅石元件,包括火把、紅石中繼器、紅石燈等等。
通過紅石元件,大佬們就能擺脫「石器時代」,做出各種自動化的複雜系統。
利用紅石和方塊,你就可以做出基本的邏輯門:或門和非門。或門和非門的組合可以造出與門、異或門等任意邏輯門。
有了邏輯門就可以幹嘛?造一台計算機呀!
2019年,來自來自復旦大學的季文瀚就利用紅石電路在我的世界中搭建了一台計算機雛形,名為Alpha21016。
這台計算機包含的邏輯門總數大概在5萬-10萬門之間,存儲器堆疊起來就有8層,季文瀚採用的是哈佛結構,程序儲存器和數據儲存器是分開的,程序儲存器1kb,數據儲存器0.5kb。
這台計算機可以實現一個基本的計算器功能,加減乘除、三角函數還有矩陣運算,提供算力的是一個16bit的CPU和一個32bit的浮點運算單元 (FPU) 。
最終,這項成果被季文瀚用來交了課程論文。
除了自己從元件開始造一台計算機,在我的世界中,也可以用模組(Modifications)搭建一台計算機,於是有極客大佬就想到了,既然可以造計算機,為什麼不造一台可以玩我的世界的計算機?
在我的世界中造一台計算機玩我的世界,這想想就令人興奮啊!
去年,MC大神Foone就在我的世界中製作了一個模組VM Computers,這個模組可以它能在《我的世界》製作一台可運行的Windows 95!
也就是說,你裝上這個模組,就能在《我的世界》製作的電腦上玩《我的世界》!
據了解,這位Foone也是一個程式設計師,特別喜歡研究那些已被時代淘汰的軟體和硬體。極客大佬的世界,果然不一般!
Respect!