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