多国玩家的联手协作,复活了12年前鲜有人知的《皇牌空战》网游

完成一场属于玩家的“特别行动”。

过去两周,《皇牌空战》系列的粉丝迎来了两件值得庆祝的事。

一件理所当然:系列最新作《皇牌空战8:希孚之翼》终于定档10月2日发售;另一件则有些意外:一款八年前就停服的《皇牌空战》PS3网游,被人给复活了。

2014年上线的《皇牌空战 无限》是系列中的网游独苗。作为一款免费网游,它保留了《皇牌空战》系列一贯的街机空战玩法。但游戏的运营一直被当年的玩家所诟病:游戏采取了“体力氪金”的商业化途径,每天只免费提供可供出击三次的“燃油”。为了进一步刺激消费,在每次出击后,玩家还有机会解锁收益更高的“紧急任务”,倘若玩家此时已将出击数用尽,就只能氪金买油或是看着机会白白浪费。

这套做法无疑不得人心,游戏的媒体和玩家评分都没到60的及格线这套做法无疑不得人心,游戏的媒体和玩家评分都没到60的及格线

最终游戏在2018年停服,玩家和运营方不再有直接的利益交集,可以更冷静地审视游戏的玩法设计,《皇牌空战 无限》那些让人惦记的点也就逐渐浮现了上来。

《皇牌空战》系列的核心卖点从来都是单人模式的剧情体验,长年以来,多人玩法方面不是开发的重心,这就让身为网游的《皇牌空战 无限》十分特别。尤其是该作中成熟的多人合作玩法循环,更是系列一向缺失的内容。

玩家可以和朋友组队,以最多8人的队伍挑战各种关卡,在通关后还可以用获取的资金和道具来购入、强化飞机和武器。

在4年的运营中,该作不断扩充收录的飞机,在数量和广度上都达到了系列之最。除去历代经典Boss机,像是战略轰炸机、二战螺旋桨飞机等常规正作中少见的机种都可以在该作中驾驶。

未来科幻机和二战电风扇组队,或许比“安东星分房”还夸张未来科幻机和二战电风扇组队,或许比“安东星分房”还夸张

该作解锁新飞机使用的科技树系统,也被系列后续正作吸收,成为了《皇牌空战》系列正作的标杆设计该作解锁新飞机使用的科技树系统,也被系列后续正作吸收,成为了《皇牌空战》系列正作的标杆设计

1

所以很容易理解游戏真停服后,有玩家对其念念不忘,也有人曾尝试将它复活。

这事儿通常不算太难,相关环境和工具越来越成熟。比如PS3模拟器RPCS3的制作团队就搭建了专为自家模拟器设计的PSN私服——RPCN,这让很多依赖PSN服务的网游有了复活可能。同时,一只名为PSORG的非盈利技术团队,则在近几年致力于解析PS3上老游戏通讯和加密协议,并配合RPCN将这些游戏的线上模式复活。

像是《PS Home》《GT赛车4》《捉鬼敢死队》等游戏的多人玩法都重见天日像是《PS Home》《GT赛车4》《捉鬼敢死队》等游戏的多人玩法都重见天日

但《皇牌空战 无限》的情况有些特殊,游戏并未使用PS3网游常见的Medius协议,而是用了万代自家的Wind API。这个协议在技术上有诸多不同,PSORG小组也不是很熟悉,一时间无从下手。

此外,游戏大量使用了索尼的“TSS”(Title Small Storage)技术。服务器通过下发TSS文件提供网络配置、动态变量等信息,可以用来配置诸如“油料翻倍”这样的限时活动。在很多关键节点,游戏都会向服务器请求下发TSS文件。而关服后开发者更新了TSS文件,只给客户端返回一个停运提示。

大多数尝试者都被这个界面挡住了大多数尝试者都被这个界面挡住了

由于无法访问服务器,游戏就会自动返回标题界面,即使进行网络抓包,也只能拿到一段加密数据。这无疑让游戏复活的难度大幅提升,PSORG小组选择先不死磕《皇牌空战 无限》,转向其他项目。

最终的转机,来自于一名普通玩家。


2

Optimus1200既不是RPCS3的成员,也与PSORG团队无关,只是一位曾经玩过《皇牌空战 无限》的玩家。

他对这款游戏的态度有些复杂。作为自己玩过的第一部《皇牌空战》,游戏里那种要靠氪体力才能持续出击的设定,让他当年难以充分体验游戏。可即便如此,与朋友联手迎战巨型空中航母的经历,即使隔了十多年,依旧是难以忘怀的美好片段。

后来,PS4发售后,Optimus1200对《皇牌空战 无限》的热情逐渐冷却,转而投入了《辐射4》《蝙蝠侠 阿卡姆骑士》等其他作品的世界里。

直到近几个月,Optimus1200开始进行《皇牌空战》社区中十分流行的“全系列回顾”挑战。而当他玩到《皇牌空战5》时,那首曾在《皇牌空战 无限》中无数次播放的标题音乐再次在耳边响起。突如其来的感伤和怀念让他萌生了“把PS3翻出来做点什么”的念头。

如今的Optimus1200已经和《皇牌空战 无限》的商业化和解,在他来看,这款网游的“回血”客观上支撑了Project Ace做出了AC7和AC8如今的Optimus1200已经和《皇牌空战 无限》的商业化和解,在他来看,这款网游的“回血”客观上支撑了Project Ace做出了AC7和AC8

虽然是首次尝试逆向开发和汇编,Optimus1200对自己的能力和此次的技术难度却表现得十分谦虚。他将《皇牌空战 无限》的复活定义为“简单,但不轻松”。并直言自己的成功是建立在大量前人的铺垫上的:比如名叫Vega的网友制作了详尽的汇编语言教程,而众多社区开发者则早已备好他此行所需的各类工具。

Vega的汇编教程最初用于模拟Wii上的游戏,因此被托管在《马力欧赛车Wii》的一个社区网站上Vega的汇编教程最初用于模拟Wii上的游戏,因此被托管在《马力欧赛车Wii》的一个社区网站上

最开始,Optimus1200尝试用模拟器直接链接官方服务器,和其他先行者一样,他很快也被挡在了标题界面。

将游戏的二进制文件反汇编成相对可读的汇编代码后,Optimus1200开始逐行审查,很快认出了“HTTPS”这个字段,这无疑是个惊喜。只要将该字段改成“HTTP”,游戏发出的网络请求就会全部变成明文,这意味着大家第一次有机会看懂客户端与服务器之间“说了什么”。

接下来,Optimus1200开始分析抓取的日志。他选择将日志中出现的网络域名作为锚点:这些字段足够特殊,在汇编代码中也方便定位。只要对比日志中各个域名的出现时间,他就可以厘清相关代码的先后执行顺序,从而还原出游戏网络交互背后的大致逻辑。

利用收集到的信息和对程序的分析,Optimus1200尝试搭建了一个简单的服务器伪装成官服返回指令,但依旧被一个错误指令挡住了。然而这次失败给了他新的灵感,通过反查错误代码,他找到了这段挡住大伙的“元凶”。

绿色部分是进入游戏的主要代码,途中会转入红色部分进行网络校验,这部分也是大家一直卡住的关键绿色部分是进入游戏的主要代码,途中会转入红色部分进行网络校验,这部分也是大家一直卡住的关键

最终,靠着现场手搓一个自制补丁跳过校验流程,Optimus1200让游戏绕开了那堵无形的墙,再度进入了久别8年的主菜单。


3

Optimus1200将自己的成果发到网上后,包括PSORG小组在内的众多爱好者都被鼓舞了起来。大家聚在一起,利用Optimus1200创造出来的突破口寻找下一步的可能性。

很快,这个项目有了一个响亮的名字“永恒解放行动”,简称“OEL”(Operation Eternal Liberation),取自《皇牌空战 无限》中出现的同名作战。

后来架设了《皇牌空战 无限》“国服”的中国网友“Windofxy-风”,也是这时候参与到了OEL中。Windofxy在2017年通过手机上的PSP模拟器接触到《皇牌空战 X》和《X2》,并被剧情和玩法吸引,之后陆续补完了系列多部作品。

和国内大多数《皇牌空战》玩家相似,他首次了解到《皇牌空战 无限》时,游戏早已停服。对于这一点,Windofxy最初只是感到可惜,并未想过游戏能有复活的一天。

因此,在外网上看到OEL项目时,他第一时间加入了团队的Discord频道,看看能帮大家做点什么。

再次感慨一句我社社友卧虎藏龙再次感慨一句我社社友卧虎藏龙

进入“复活赛”第一阶段的《皇牌空战 无限》还只能当个“技术demo”:在Optimus1200进一步完善伪装服务器后,大伙可以进入游戏体验单人剧情。但这只是个离线版网游,无法保存任何玩家进度。由于缺少关键的TSS文件,大伙也不能正常游玩多人模式:一旦游戏发出TSS文件请求,伪装服务器就露馅了,游戏也会报错退出。

Windofxy之前曾有过给街机做魔改和汉化的经验,如今虽已退圈,但技术依然没落下。他很快成为OEL团队中“CE组”的一员,通过修改内存代码,让团队成员得以调取并游玩游戏内众多在线关卡,获得更多数据。

通过卡bug或者修改代码进入多人关卡,这种技巧在不少老游戏上都能见到通过卡bug或者修改代码进入多人关卡,这种技巧在不少老游戏上都能见到

不过他也提到,虽然团队内部有“CE组”“逆向组”这样的说法,但实际上并没有形成一套规范化的管理结构。每个人具体都干了什么,他也只知道一小部分:

如Killer0byte负责后续服务器和OEL启动器的开发;PRORG成员Jumpsuit搞定了游戏存档;曾做过《皇牌空战6》模拟移植的Volcano Water参与了服务器开发。

这种景象,不禁让人想起《皇牌空战7》中的最终战:不同阵营、互不相识的飞行员自发集结、迎战军械巨鸟。而现实中OEL团队的故事,正是这一幕的翻版,《皇牌空战》系列的受众,或许从骨子里就带着点浪漫的中二劲。

剧情中的“军械巨鸟”最初靠无敌的护盾挡下了攻击,但还是没能敌过主角一行的努力奋战剧情中的“军械巨鸟”最初靠无敌的护盾挡下了攻击,但还是没能敌过主角一行的努力奋战

靠着众人拾柴,团队的进展飞速。大伙很快发现,服务器与游戏之间的通信协议有时简单得出乎意料。在很多场合,游戏发出的请求,服务器只需回复一个简单的“OK”就能跑通。

当针对《皇牌空战 无限》制作好了定制版的RPCS3模拟器和RPCN服务器后,就差关键的TSS文件了。这一步却意外地顺利:有一位成员直接获取到了共计15个TSS文件,补上了最后一块拼图。

由于团队结构松散,无论是Optimus1200还是Windofxy,都不清楚这个过程的具体来龙去脉。他们只知道有人从索尼的某个CDN服务器上找到了这些文件,并发给了项目组。除去 TSS 文件,那个服务器上还保存着游戏美版本体及其后续全部更新包。

不过,就算没有这样的意外之喜,团队也留了后手。Windofxy提到,他自己的群里就有一位老玩家,至今还保管着当年的 PS3 主机,如有必要,他们可以直接从这些实体收藏中提取所需文件。

在集齐了所有条件后,爱好者们搭建的伪装服务器就变成了完整的私服。它通过模拟PSN的各项服务,实现了玩家数据的保存和联机匹配;而15个TSS文件不仅保障了游戏的基本运行,也让随现实时间变化的周期活动得以重现。团队还破解了原作饱受诟病的燃油机制,将复活版改为无限燃油,让玩家从此不再受制于曾经的商业模式,可以真正自由地翱翔在这片蓝天之下。

PSORG团队甚至参考《皇牌空战》官方的风格,用游戏画面给这个免费的私服剪了一段宣传视频PSORG团队甚至参考《皇牌空战》官方的风格,用游戏画面给这个免费的私服剪了一段宣传视频

从RPCN的网站上可以看到,《皇牌空战 无限》社区服的玩家最多时达到了124人在线。这个数字看上去不多,却是RPCN历史上第二高,仅比第一名《铁拳Tag Tournament 2》的记录低了一人。网上也时不时能看到新玩家上传视频,分享自己在这个复活项目中收获的喜悦。

对于Windofxy等人而言,这还远不是终点。他们开始为《皇牌空战 无限》的汉化工作筹集人手,打算将这份努力,再往前推进一步。


结语

从4月中旬启动,到5月底“永恒解放行动”圆满成功,这一个半月的历程,恰好对应了Optimus1200那句“简单,却并不轻松”。

巧合的是,不久后的索尼发布会上,沉寂已久的《皇牌空战 8》也高调登场,放出了更多宣传内容。

这次新作更是附带了一个名为《皇牌空战 Online》的在线玩法,从详尽的捏人界面、首次出现的社交大厅和旁白对于合作玩法的暗示等来看,官方这次在多人模式上的投入堪称历代之最。这让那些《皇牌空战 无限》的老玩家,以及那些为了游戏复活不断奋战的人,品出了几分“隔空呼应”。

发表回复

您的电子邮箱地址不会被公开。