当前位置: 华闻网 - 要闻

狂肝10个月手搓GPU,他们在《我的世界》里玩起《我的世界》,网友:梦想

时间:2022-09-21 19:18    作者:杜玉梅   来源:IT之家    热搜:世界,网友阅读量:8198   

自从有人在我的世界里用红石电路造CPU,就有了梗:

有一天,这些红发人可以在我的世界里玩我的世界。

这一天真的来了!

让我们来看看这款在我的世界里建造的没有MOD纯原版的电脑。

1Hz频率的CPU,8KB内存,6KB视频卡,加速模块,96x96像素显示屏和PS4手柄作为输入设备。

它是这样工作的:

有了电脑,缺的就是能在上面运行的游戏代码。

大佬们先用一种叫做URCL的中间语言来敲,然后转换成自制CPU可以运行的汇编代码。

就这样,三个人过了10个多月,终于实现了史诗人偶。

这个移植版的《我的世界》不仅有开放世界,方块放置,挖矿,甚至产品合成等基本玩法。

一条高度赞扬的评论将其誉为整个电子游戏史上最伟大的壮举,只有足够复杂的游戏和足够精通的玩家才能实现。

还有人说:我很失望,我不能完全理解和欣赏这个工作,它有多难,需要做多少工作。

要理解这一切,还得从17个月前sammyuri打造的CPU说起。

CPU显卡都是自制的

疯狂了7个月后,sammyuri在我的世界里造了一个CPU,原本是为了探索红石电路的极限。

最终结果是一个具有RISC架构的8位处理器,具有三个寄存器操作数,可以以1Hz的频率运行,并具有256字节的RAM。

CHUNGUS 2,意为用于计算的超大型非常规数字和图形处理器。

同时,他还开发了一个特殊的汇编器,可以把程序代码转换成一键粘贴到我的世界的砖块结构。

Sammyuri认为CHUNGUS 2的性能基本达到了雅达利经典游戏机Atari 2600的水平,运行一条蛇和俄罗斯方块更是不在话下。

用手摩擦CPU的视频一发布到网上就爆炸了,播放量突破百万。

但他并不满足于此,甚至想出了无限娃娃的点子——在我的世界里玩我的世界。

可是,这听起来真的不可能...

毕竟现实中我的世界游戏最低配置要求也是3Ghz CPU+4GB内存他只有1Hz的CPU+256字节的内存,怎么能承载这样的配置

这时候就需要借助群体的智慧。

Sammyuri找到了Uwerta和StackDoubleFlow,三个人一起基于这个CPU给电脑升级其中两人负责在游戏中搭建硬件,一人负责编写代码

这次升级持续了10个月。最后我居然在我的世界里用了一块96×64像素的屏幕玩了一个3D版的我的世界,再现了16种方块+32个道具,还原了几十种游戏机制!

对,还是3D的《我的世界》,所以电脑也配了显卡,专门用来处理图像的。

这个GPU叫做AMOGUS。

阿莫斯

接下来,将屏幕上的3D坐标映射到2D坐标,将四边形划分为三个梯形,进一步划分为像素行,然后划分为单个像素,进行线性插值,计算每个像素对应的纹理位置及其与摄像机的距离。

AMOGUS简化了纹理映射原理。

纹理映射是实现GPU处理三维图像的关键用GPU处理3D图像时,需要将屏幕上的一个像素映射到3D物体表面纹理上的某个位置,即纹理映射

因为目标和摄像机之间的距离总是在变化的,所以纹理映射所占用的像素范围是不一样的。

最后,从纹理缓存中获取像素颜色,并将深度与屏幕的当前像素深度进行比较再近一点,就被遮住了

除了用GPU处理图像,这台可以运行我的世界的电脑是如何存储游戏数据和与玩家互动的。

以充当工作台的ROM为例它存储了各种锻造和燃烧配方当输入一系列要合成的物品时,它会输出一个结果,否则输出0

用于存储世界地图的RAM由512×4位地址组成,共256字节,基于坐标寻址如果检测到玩家出界,则返回0或255

世界地图就在这里。

输入控制器由我的世界中的一系列压力板组成踩上去之后,当前状态会发送到队列中,CPU可以读取并处理

根据PS4手柄风格设计

当然,在我的世界里运行这台电脑必须加速。

于是在MCHPRS服务器的帮助下,他们提高了一波红石的速度,达到了每秒0.1帧的极限水平。

即便如此,我们看到的2分钟视频还是花了9个小时左右录制,感觉天上一天,地下一年。

据Sammyuri透露,目前,他们正在进一步优化GUI下一步有可能做出只运行红石系统的独立版本,甚至实现《我的世界》运行DOOM的梦想

细节有多难。

其实在此之前,很多红石的家伙都想过用不同的方法来实现在我的世界里玩我的世界。

但是走了一些捷径,这是我的世界的原生工具所没有实现的。

例如,通过虚拟机模块,一台计算机与我的世界中的各种组件组装在一起,并作为虚拟机运行,如这台VM计算机mod:

还有网页展示,就是在我的世界里设置一个浏览器,然后运行网页版的我的世界:

虽然sammyuri三人组的方案还存在不足,但与之相比,在没有外部工具帮助的情况下,又多了一层硬核buff。

《无限娃娃》祝成功!

当然,除了工具都准备好了,这个0.2版的《我的世界》还有更多值得一看的细节。

比如1和0码的CPU内存——chungus 2,工艺技术达到了先进的1m,频率达到了1Hz。

它有一个4级指令流水线,64字节8路关联数据缓存,甚至分支预测,符合RISC标准。

创建的GPU可以成功运行,在挤压的电脑中3D渲染所有我的世界方块。

再者,红石线具备数字电路的基本要求,但堆叠操作非常有限。

《我的世界》移植版正在播放,再次印证了《我的世界》的图灵完备性。

有了图灵完备性,就意味着你可以在我的世界里玩我的世界,不用考虑实时操作,可以一直玩娃娃。

如果你狂肝10个月以上,可以生一次宝宝如果你狂肝20个月以上,不就可以在我的世界里玩电脑上的我的世界,然后在后者玩另一个我的世界了吗

娃娃欣喜若狂!

但考虑到我的世界的边界距离理论上是有限的,每个模拟的我的世界都会小一些。

因此,恐怕不可能使用这种方法。

但是,如果我的世界里有红石电路,也不妨碍新一轮的人偶再出发~

事实上,sammyuri在视频的最后留下了一个彩蛋,关注并赞我,我可能就开始做我的世界里的我的世界,我的世界里的我的世界。

他不会是认真的吧真的吗

GitHub地址:

《我的世界玩偶3D版》压缩包:

涉及

狂肝10个月手搓GPU,他们在《我的世界》里玩起《我的世界》,网友:梦想

相关内容