中文字幕亚洲欧美日韩在线不卡,亚洲欧美日产综合在线网性色,思思久久精品6一本打道,综合视频中文字幕

    <sub id="dxmnt"><ol id="dxmnt"></ol></sub>

      1. 終于,我們可以在原版《DOOM》里運行《DOOM》了

        更新時間:2022-07-16 15:10:47作者:佚名

        終于,我們可以在原版《DOOM》里運行《DOOM》了


        距離在《DOOM》運行的《DOOM》里玩《DOOM》也不遠了。

        “你說的這個東西,他能不能運行《DOOM》?”(Will it run Doom?)

        自1993年《DOOM》初代發(fā)售至今,人類一直在挑戰(zhàn)這個問題的極限,探索能夠運行這部游戲的任何潛在媒介:數(shù)碼相機,打印機,智能冰箱,ATM取款機,麥當勞點餐機,電子驗孕棒,樂高積木,乃至沒有物理實體的《我的世界》和GIF動圖……

        現(xiàn)在,與其問什么東西能運行《DOOM》,不如問什么東西不能運行《DOOM》。


        這種探索精神固然值得贊許,但也會讓我們好高騖遠,進而忽略一個最基礎(chǔ)的、本源性的問題:《DOOM》游戲本身,能不能運行《DOOM》?

        這個套娃問題已經(jīng)在改版的《DOOM》——GZDoom中得到了解答。早在2015年,就有玩家推出了在GZDoom里游玩初代《DOOM》的模組。


        圖源Youtube@TheZombieKiller

        GZDoom是一個經(jīng)過玩家爆改的特殊版本,基于初代游戲添加了大量擴展功能,以及一部支持如命名腳本與函數(shù)等高級編程操作的改進版編輯器。玩家們已經(jīng)試過在GZDoom里創(chuàng)建和還原各種各樣的游戲,重現(xiàn)出一部二十多年前的《DOOM》也不在話下。


        “毀滅戰(zhàn)士街機廳”

        圖源Youtube@RJbanshee21

        不過,GZDoom終歸是受過大量修改的版本,顯然不夠原教旨主義,不該是“用《DOOM》運行《DOOM》”這一問題的終極答案。

        直到2022年7月11日,一位網(wǎng)名叫做Kgsws的技術(shù)宅,交上了一部更令人滿意的答卷。他在原汁原味的DOS版本《DOOM2》里,成功運行了《DOOM2》。

        根據(jù)Kgsws在Youtube上傳的視頻,他在研究《DOOM2》源代碼的過程中,留意到了處處可見的“SpawnMapThing”命令。這一命令會根據(jù)預(yù)設(shè)的物件ID,在游戲的關(guān)卡/地圖中生成對應(yīng)的物件,如武器、敵人、升級道具、背景裝飾等。

        預(yù)設(shè)ID中的1至4號,對應(yīng)著多人模式下的四名玩家。由于生成玩家的代碼觸發(fā)條件是“ID小于等于4”,這意味著物件ID可以是負數(shù)。


        生成負數(shù)ID所對應(yīng)的“不存在”物件,就會觸發(fā)Bug,覆蓋掉游戲運行時內(nèi)存中的“狀態(tài)”一欄(State)。

        “狀態(tài)”會顯示一項物件正在播放的動畫文件ID。舉個例子,一個敵人可能會故意閃爍吸引玩家注意,射擊手上的武器,或者被玩家擊殺開始播放死亡動畫。至于應(yīng)該加載哪種動畫,均由這個“狀態(tài)”ID對應(yīng)的文件所決定。


        主角奔跑的動畫對應(yīng)ID150-153

        物件沒有實體模型,因此不必和動畫文件匹配,只要修改內(nèi)存里的“狀態(tài)”,一個物件就有可能播放另一個物件的動畫。


        夜視儀變成了主角

        動畫的內(nèi)容也沒有作文件格式的強制要求,不一定非得是動畫文件,完全能夠替換為一段可執(zhí)行的代碼或程序——比如另一部《DOOM》。

        Kgsws選擇了“巧克力版DOOM”(Chocolate Doom),這套開源版本的游戲,在保留DOS版原有代碼的基礎(chǔ)上,兼容現(xiàn)在的電腦操作系統(tǒng)。

        Kgsws又花了兩天時間,添加了大量視頻沒有提及的代碼細節(jié),利用原生編輯器制作了僅有一個房間的關(guān)卡,最終在房間的一面墻上成功映出了巧克力版,除了沒有聲音之外,游戲完美運行,甚至支持輸入作弊碼。


        Kgsws還添加了一個無縫切換兩部游戲按鍵控制的功能。因為這個“關(guān)卡”同時且獨立運行了兩部DOOM,運行設(shè)備也需要雙倍的內(nèi)存,“至少16MB”。

        因為自己設(shè)計出的房間有點像電影放映室,Kgsws便結(jié)合平日里制作關(guān)卡和模組的技術(shù)借題發(fā)揮,造出了一個和內(nèi)置DOOM配套的“電影院”完整關(guān)卡。影院內(nèi)設(shè)計了多個可交互物件,包括可以切換影院燈光亮度的開關(guān)、能夠關(guān)掉用戶界面的按鈕,以及通往“私人包廂”的傳送門。



        Kgsws將完整關(guān)卡及源代碼上傳到了Github。在鼓勵玩家們嘗試用《DOOM2》運行其他游戲的同時,Kgsws也指出,這個漏洞僅適用于DOS原版,不適用于修改過的版本,比如上文提到的GZDoom。

        好在Steam平臺上的《DOOM2》就是DOS版,任何人都能使用DOSbox之類的模擬器運行游戲,體驗Kgsws的杰作。


        Kgsws的發(fā)現(xiàn)看似為玩家們近三十年來的朝圣之旅劃上了一個句號,卻也打開了新的潘多拉魔盒。在《DOOM》里運行《DOOM》,只是一種“開始的結(jié)束”,我們不必再問什么東西還沒運行過《DOOM》,而是要問《DOOM》還沒運行過什么東西。

        本文標簽: doom  動畫  毀滅戰(zhàn)士  游戲  關(guān)卡