畅享游戏,快乐生活!

终于,我们可以在原版《DOOM》里运行《DOOM》了

来源:momodeshjie 更新:2022-07-16

间距在《DOOM》运行的《DOOM》里玩《DOOM》也不远了。

“你说的这个东西,他能否运行《DOOM》?”(Will it run Doom?)

自1993年《DOOM》初代开售迄今,人们一直在考验这种情况的极限值,探寻可以运行这一部游戏的一切潜在性媒体:数码照相机,复印机,电冰箱,ATM自动取款机,麦当劳点餐机,电子器件测孕棒,乐高拼装,甚至并没有物理学实体线的《我的世界》和GIF动态图……

如今,与其说问什么东西能运行《DOOM》,比不上问什么东西不能运行《DOOM》。

这类探索精神虽然非常值得赞誉,却也会使我们眼高手低,从而忽视一个最基础的、源头的问题:《DOOM》游戏自身,能否运行《DOOM》?

这一套娃难题早已在新版本的《DOOM》——GZDoom中得到了解释。早就在2015年,就会有玩家发布了在GZDoom里去玩初代《DOOM》的模块。

彩色图库Youtube@TheZombieKiller

GZDoom是一个通过玩家爆改的独特版本,根据初代游戏添加了很多扩展功能,及其一部适用如取名脚本制作与变量等高级编程实际操作的改良版在线编辑器。玩家们早已用过在GZDoom里建立和复原各种各样游戏,再现出一部二十多年前《DOOM》也轻轻松松。

“毁灭战士街机游戏厅”

彩色图库Youtube@RJbanshee21

但是,GZDoom终究是受到很多改动的版本,显而易见不足原教旨主义,不应该是“用《DOOM》运行《DOOM》”这一难题的最终参考答案。

直至2022年7月11日,一位情侣网名称为Kgsws的理工男,交了了一部更让人满意的答卷。他在原生态的DOS版本《DOOM2》里,取得成功运行了《DOOM2》。

依据Kgsws在Youtube提交的短视频,他在科学研究《DOOM2》源码的情况下,留意到了随处由此可见的“SpawnMapThing”指令。这一指令会按照预置的物件ID,在游戏的关卡/地图中形成相匹配的物件,如武器装备、对手、更新游戏道具、背景装饰等。

预置ID里的1至4号,相匹配着多人模式下的四名玩家。因为形成玩家的编码触发条件是“ID不大于4”,这代表着物件ID必须是负值。

形成负值ID所相应的“不会有”物件,便会开启Bug,遮盖掉游戏运行时运行内存里的“情况”一栏(State)。

“情况”会表明一项物件在线播放的动画文件ID。举例说明,一个对手可能有意闪动吸引住玩家留意,枪击手里的兵器,或是被玩家击倒开播死亡动画。对于应当载入哪一种动漫,均由这一“情况”ID相对应的文档所确定。

主人公飞奔的动漫相匹配ID150-153

物件并没有数字模型,因而无须和动画文件配对,只需修改内存中的“情况”,一个物件就会有很有可能播放视频另一个物件的动漫。

夜视镜变成了主人公

动漫的具体内容都没有作格式文件的强制要求,不一定非要是动画文件,彻底可以更换为一段可执行的编码或程序流程——例如另一部《DOOM》。

Kgsws选择了“朱古力版DOOM”(Chocolate Doom),这套开源系统版本的游戏,在保存DOS版原来编码的前提下,适配现在的电脑系统。

Kgsws又花了2天时长,添加了很多短视频并没有谈及的编码关键点,运用原生态在线编辑器制做了有且只有一个房间的关卡,最后在屋子的一面墙壁取得成功映出了朱古力版,除开没声音以外,游戏极致运行,乃至适用键入作弊码。

Kgsws还添加了一个无缝切换两个游戏功能键操纵的作用。因为这个“关卡”与此同时且单独运行了两个DOOM,运行机器设备也需要二倍的运行内存,“最少16MB”。

因为自己设计方案出的屋子有些像影片演播室,Kgsws便融合平日里制做关卡和模块的技术性故弄玄虚,造出来了一个和内嵌DOOM配套设施的“影院”详细关卡。电影院内设计了好几个可互动物件,包含能够转换电影院灯光亮度的电源开关、可以关闭操作界面的按键,及其通向“个人包间”的传送器。

Kgsws将详细关卡及源码上传入了Github。在激励玩家们试着用《DOOM2》运行别的游戏的与此同时,Kgsws也强调,这一系统漏洞仅适用DOS正版,不适感用以改动过的版本,例如前文提及的GZDoom。

贵在Steam服务平台里的《DOOM2》便是DOS版,所有人都可以应用DOSbox之类的手机模拟器运行游戏,感受Kgsws的作品。

Kgsws的发觉看起来为玩家们近三十年来的朝圣之旅划出了一个句号,却也开启了一个新的潘多拉魔盒。在《DOOM》里运行《DOOM》,仅仅一种“逐渐的完毕”,大家无须再问什么还没有运行过《DOOM》,反而是要问《DOOM》还没有运行过什么物品。

热门文章

推荐专题

更多>>

推荐