玩過《當個創世神》嗎?這是個全球擁有上億月活躍使用者的遊戲,在世界各平台擁有2億銷量,是有史以來最為暢銷的電子遊戲。
遊戲的框架很簡單,玩家在一個隨機程式生成的3D世界內,以帶材質貼圖的立方體為基礎進行遊戲,比如樹木,石頭,水源等等。在這個框架下,《當個創世神》為玩家提供了多種遊戲模式,包括生存模式、創造模式、冒險模式、旁觀者模式和極限模式,每種模式帶來的體驗也不一樣。
不過,獨樂樂不如眾樂樂,作為一款自由度非常高的遊戲,和世界各地的玩家一起邊玩邊交流,豈不是樂趣無窮?
但是要進行多人遊戲,就需要玩家搭建自己的伺服器,或者是用託管商的伺服器,才能進入到同一個世界中互動。
一般來說,玩家都會選擇使用託管商伺服器,畢竟自己搭建伺服器還是很麻煩的。
不過一個網名叫Turtius的玩家就選擇自己搭一個「《當個創世神》」伺服器,更有趣的是他居然用一台佳能EOS 200D單眼相機來搭建《當個創世神》的伺服器!
在單眼相機上玩《當個創世神》後,Turtius把自己的操作影片發到了Reddit上,引來一堆網友圍觀,如今點讚已經有37.4K,上百人參與了討論。
用單眼相機做伺服器?
這位在GitHub上名為Turtius的玩是一名程式設計師,有一天,他正好在對這台相機的網路模組進行逆向工程。
作為一個《當個創世神》資深玩家,做著做著他就突然腦洞大開——我能不能用佳能相機做一台《當個創世神》的伺服器?
於是他就動手嘗試起來,他手上的這台佳能相機是Canon SL2 (也就是EOS 200D) ,含有內建WiFi,同時支援NFC和藍牙連接,可以輕鬆完成與其他設備的無線連接。
有了這樣的網路模組作為基礎,Turtius成功在這台單眼上搭建了一個《當個創世神》伺服器。
Turtius表示,「在相機上完全可以運行。我對佳能使用的網路模組進行了逆向工程,恰好發現了類Unix Socket,我將Avrcraft(為8 bit設備提供的《當個創世神》伺服器)與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也是一個程式設計師,特別喜歡研究那些已被時代淘汰的軟體和硬體。極客大佬的世界,果然不一般!
資料來源:
- This Guy Got a Minecraft Server Running on His Canon DSLR
- Reddit user manages to run a Minecraft server on a camera
- 本文授權轉載自大數據文摘