本文转载自 大数据文摘,作者 王烨
玩过《我的世界》吗?
这个全球拥有上亿月活用户的游戏,在世界各平台拥有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!