去年年底,公开展示RTA(Real Time Attack),即如何最快通关一款游戏的盛会“RTA in Japan 2019”如期举行。
在这场活动中,玩家们献上了精彩纷呈的游戏最快通关挑战;其中最大放异彩的,莫过于用4分钟的时间通关PlayStation游戏《勇者斗恶龙VII 伊甸的战士们》(以下简称DQ7)。
《DQ7》向来以通关时长而著称。在《DQ》系列内,本作同样独树一帜;正常游戏中,连遇见系列标志性的初始怪物史莱姆都要花上1个小时。
因此,这款游戏的RTA也耗时甚久。目前正常情况下达成《DQ7》常规结局的RTA世界纪录,是由玩家“KETTA”所创造的12小时49分48秒。最快的玩家都需要花费半天时间的流程长度,令人很难想象仅用4分钟就能实机通关。
那么这项伟业是如何达成的呢?它的背后,可以说凝聚了众多玩家的智慧。
契机是《女身侧身像》2018年7月,在以“Tool Assisted Speedrun”(即TAS)为主的游戏最快通关视频网站“TASVideos”中,出现了一段PlayStation游戏《女神侧身像》的视频。尽管它当时并未展现出任何与《DQ7》的关联性,但却是后来一切开始的契机。
这段视频的上传者“N?K”所达成的通关记录仅为17分42秒。然而这款《女神侧身像》本身无法跳过的剧情居多,并且就开场动画而言都有30分钟之长,所以当时本作的最快通关时间几乎没有多少可以缩短的余地。
既然如此,17分钟通关又是如何实现的呢?N?K在他的视频中所采取的方法,一言以蔽之,就是在游戏保存数据的途中重启主机,人为制造出损坏的存档,从中读取出游戏的DEBUG地图,并使用DEBUG指令,直接跳跃至游戏的结局。
从“记忆卡”的原理入手这一方法的实现,首先要从PlayStation游戏保存存档数据的原理说起。
简单来说,当下的主流机种PlayStation4、Nintendo Switch和XBOX ONE,游戏存档基本都是保存在主机自带的内存当中。但是,PlayStation却是将其保存在“记忆卡(Memory Card)”这一外部媒介之上的。
记忆卡可以保存的数据容量上限为15 BLOCK(代码块),不同游戏存档所需占用的BLOCK数量不一,比如《女神侧身像》是2,《勇者斗恶龙VII》则是1。
PlayStation保存存档时,首先会将“本数据为接下来即将进行存档的游戏的数据”这一信息写入记忆卡的管理区块当中。以《女神侧身像》的数据为例,在其存档时会先在管理区块用2 BLOCK的容量记录下“存在着《女神侧身像》这款游戏的存档”的信息,然后再进行实际游戏存档的写入。
回到前述N?K的TAS动画当中,其具体方法就是,在有《女神侧身像》游戏存档存在这一信息写入之后、游戏存档数据本身写入之前的间隙,重启主机,强制中断存档进程。
这样一来就形成了如下状况:管理区块保存了《女神侧身像》这款游戏的信息,却并未保存实际的游戏存档。由于游戏软件的原理与计算机程序大同小异,都是由0和1组成,因此在这种状况下,游戏存档中的数据也就都变成了0。
照常理来说,既然存档中不存在数据,也就不可能读取到其中的信息。但实际上,《女神侧身像》中编号为0号的地图,恰好用作DEBUG,于是,只有0的游戏存档就摇身一变,成为了“位于0号地图中,X、Y坐标都为0的位置”的存档。
并且因为这一存档是通常情况下无法生成的坏损存档,尽管其中的数据只有0,却并不会被游戏的自检程序和防作弊系统检测出来,从而得以正常读取。
需求全新记忆卡的RTA虽然用重启的办法可以制造出所需的坏损存档,但重启本身并不是最合适的办法。目前最主流也是最简单的方法,是在存档过程中直接拔出记忆卡。
需要注意的是,通过玩家实际验证,即使在游戏机界面中选择删去记忆卡中的存档,实际删去的也只有位于管理区块中的游戏信息,存档数据则依然完好。
所以为了顺利开启《女神侧身像》的DEBUG地图,必须使用未写入任何数据的空白记忆卡。可是根据PlayStation的设计原理,一旦进行过存档,其中的存档信息就会永久保留,无法通过正规的手段予以删除。因此,在很长一段时间内,RTA爱好者们,不得不专门购买空白的记忆卡,进行游戏的最速通关挑战。
与《RPG MAKER 3》的命运般相遇由玩家“TODOTODO”提出的使用《RPG MAKER 3》的全新方法彻底变革了原本必须使用空白记忆卡的前提。他的方法可以说超越了常识,通过对记忆卡数据的自由改写,成功实现了在十几分钟内通关《DQ7》。
《RPG MAKER 3》是一款上手比较容易的制作原创RPG的游戏。本作附带了像素图绘制软件《ANIME MAKER》,令玩家得以自主制作游戏的标题画面等等。
《ANIME MAKER》中,玩家可以混合光的三原色——红绿蓝,并将全新的颜色记录在调色板中。如果绘制的是游戏标题画面,调色板最多可以记录下256种自定义颜色。
此时,调色板左上角的颜色所对应的数据是二进制的“00000000”,而画布上1个像素点则对应着记忆卡中的1 BIT。这就意味着,如果将画布全部用左上角的颜色填满,就能生成一个只写入了0的“空白”存档。
在此基础上,256这个独特的数字又启发了全新的思路。由如下图表可见,调色板左上角颜色的数据是“00000000(十六进制的00)”,右边一格是“00000001(十六进制的01)”,再右边一格是“00000010(十六进制的02)”,以此类推,右下角也就是第256种颜色的数据便是“11111111(十六进制的FF)”。
8位数的0和1的组合,正好是256种,容量与数据单位1 Bit相当。这就意味着,通过《ANIME MAKER》,完全可以制作出任意一款游戏的存档数据。
使用《ANIME MAKER》制作游戏标题画面时,存档会占据记忆卡的8 BLOCK。除去记录有其他信息的2 BLOCK,实际可供自由使用的BLOCK数达6个之多。
迈向《DQ7》的结局画面在《DQ7》中,游戏的结局画面实际上是作为游戏地图之一记录在数据当中的。因此,借由《ANIME MAKER》,可以手动制作出直达结局画面的游戏存档。
具体来说,先通过《ANIME MAKER》制作出包含了特定数据的存档,然后调整其在管理区块内的数据位置。因为8 BLOCK的游戏存档会同时占去8 BLOCK的管理区块,为了让之后的《DQ7》能够读取《ANIME MAKER》的存档,必须对管理区块内的数据位置进行调整。
实际操作时,要利用到《ANIME MAKER》的“压缩存档”功能,将管理区块的数据删除至只剩1 BLOCK,如此,在接下来启动《DQ7》并由系统进行自动存档时,根据前面所说的原理,其数据就会先写入在管理区块的第二个BLOCK上——这时拔出记忆卡,《DQ7》的存档还未来得及写入,而存档数据的前8个BLOCK,都仍然是《ANIME MAKER》的数据,因此下一次读取记忆卡时,《DQ7》就能够成功地读取到后者的存档。
只要使用《ANIME MAKER》,就能任意地制作出任何游戏存档,这无疑推进了《DQ7》RTA的进一步发展。在“RTA in Japan 2019”上,首次将《DQ7》最快通关纪录刷新至13小时内的玩家“PING值”展示了使用以上全新方法的RTA挑战,创造了4分钟的纪录。而根据该玩家的研究,理想状况下,这一纪录甚至能达到2分19秒。
海外视频网站上的一则投稿,竟会经由玩家之间的联系,最终促成了《DQ7》RTA挑战的成功。这在当时恐怕任谁都想象不到吧。
文章出处:
https://news.denfaminicogamer.jp/gamenewsplus/200422c
译注:
本文相比原文有所删改。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved