找回密码
 立即注册
搜索
查看: 3090|回复: 15

[XBOX] Xbox One 向下兼容是怎样练成的

[复制链接]
     
发表于 2017-10-25 13:50 | 显示全部楼层 |阅读模式
快:说出你最喜欢的一届 E3.

时间到!你最后选出来了吗?相信每一届 E3 对于玩家来说都有属于它们自己的乐趣,不过对于在微软工作了 28 年的老将 Kevin La Chapelle 来说,他的答案会脱口而出而且很可能永远不会变了:2015 年。

在那一年的微软 E3 媒体发布会上,你可以听到或许是有史以来最响亮的掌声。而且这些掌声不是献给《光环》 或《战争机器》系列新作的,甚至也不是为了「天蝎计划」。正相反,整个盖伦中心(注:当年 E3 微软发布会的会场)因为 Xbox 老大菲尔 · 斯宾塞宣布了 La Chapelle 的团队为之已努力数月的向下兼容功能,而淹没在爆发的掌声之中。



​「那绝对是我职业生涯中最骄傲的时刻,」La Chapelle 这么说到,在回想起当时的情景时,他的脸上难掩兴奋神色。「会场爆发了。我满眼泪水。这是对一切努力的最好认可。」

La Chapelle 的心腹,首席软件架构师 Jonathan Morrison 当时就坐在 La Chapelle 和为这个提案开绿灯放行的 Xbox 软件工程负责人 Kareem Choudhry 旁边。「对我来说(最难忘的时刻)是当台词出现在提词机上时,可以听到有些观众在菲尔说出来之前就发出了惊讶的声音。我手上的汗毛都竖起来了。」

这个最受粉丝喜爱的功能从一个由两支不同的研发团队进行的实验性研究进化成了一项本计划在 Xbox One 发售时就会启用的服务 —— 它还叫 Durango (Xbox One 第一代开发机的代号) 的时候就已经在硬件层面上整合了 —— 直到后来由于 Xbox One 的政策出现了广为人知的变更(也就是去掉了需要始终在线的限制)而使这个服务不得不被摆到次要的位置。



​当然,它现在已经回归,并且还将范围扩展到了对一些特定 Xbox 初代游戏的向下兼容上。甚至对于 Xbox One X 来说,还会有一批 Xbox 360 游戏享受到像是 10 位色深,各向异性过滤,以及最高可达 9 倍显示像素提升等天蝎提供的优化。

为了知道他们是谁,他们这么做的原因,以及他们以后的打算,我与 Xbox 向下兼容团队呆了一整天。我得到的两个最大的收获是:1) 背后的故事比你想象中的还要有趣,2) 那些让你能跨越一个甚至两个世代玩上 Xbox 平台游戏的工程师们,对他们的工作成果比你想象中的还要热情与深切。

一次平行实验

微软是家大公司,虽然大部分团队会在一起紧密合作,共享知识;但也有很多团队会在暗中悄悄地进行实验以及项目研究,直到他们准备好为将其变为一个更大、投入资源更多的项目而合作。这也让 Choudhry 和 Xbox 核心平台组的项目经理 Kevin Gammill 发现,有那么两个小组或许对 Xbox 360 后继者的兼容性有所帮助 —— Xbox 360 当初就通过被内部称为 Fission 的模拟器兼容了一些特定的 Xbox 初代游戏。

那是 2007 年,其中一个小组在为模拟 Power PC 处理器 —— 让 360 用的 32 位代码能在第三代 Xbox 机型使用的 64 位架构上运行 —— 而努力,而另一个远在北京的小组,则开始基于 Xbox 360 的 GPU 编写一个虚拟 GPU 模拟器。「他们就像是花生酱配上巧克力」,Choudhry 回忆道,「(所以我们想,)为什么不把他们结合起来呢?」



​Choudhry 这么做了,Xbox One 向下兼容也就这样迈出了第一步,远比为新主机定名之类的要早。

当 Durango 渐渐成型,让新主机向下兼容 Xbox 360 也被提上了议程。「软件是最主要的部分,但得以实现还是因为我们从硬件层面上进行了长远的考虑。」Gammill 解释说,「我们必须将向下兼容的支持整合进(Xbox One 的)芯片当中。」这项工作在 2011 年完成。初期的测试表明,将一些关键的 Xbox 中间件(例如 XMA 音频以及纹理格式)全部交给软件处理会极其吃力。Gammill 表示,即使只是前者,也要占用 Xbox One 六颗处理器核心中的两到三颗。

但要像 PS3 初期兼容 PS2 那样,直接塞一颗 Xbox 360 的芯片到 Xbox One 里的话,不仅成本会非常昂贵,也会限制他们向下兼容团队能做的工作。他说,「如果我们选择了 360 SoC, 那到最后两者就均等了。我们要的可不只是均等。」因此,他们最后将 XMA 和纹理格式的处理整合进了 Xbox One 芯片之中。

迎难而上



​在 2014 年初斯宾塞取代唐 · 马崔克掌管 Xbox 部门之后,他和 Choudhry 重启了这项计划。Choudhry 说,「对我来说,这是个数年都未竟的事业。」,可以追溯到他关注了数年之久的对「Trioxide」(注:一个号称能够在 PC 上模拟 Xbox 360, PS3 和 Wii 的模拟器)的研究项目。

但他们遇到了一些没有预料到的挑战。「我以为写模拟器是其中最难的部分,简直蠢爆了,」Choudhry 自问自答,「你要怎样去重塑一个新平台上没有的 IP 呢?」

(注:原文是 “How do you go and re-ship IP that you don’t own on a new platform?”, 这句话我翻译得极其没有把握,欢迎各位提出自己的意见)

他从将 La Chapelle, 一位字面意义上进取心十足(注: hard-driving,这里是个双关)的微软资深员工(他的奥迪 A8 拥有定制的 Xbox 绿制动钳,一张 Xbox 印在中央的牌照,办公室外墙还挂着一张他可以合法地将 A8 开到 200 英里/每小时的证明)招入麾下开始,La Chapelle 又转头招来了 Morrison, 然后他们又设法找到了 Barry Bond, 一位曾经参与过 Trioxide 项目又正好在微软工作的成员。然后,Morrison 开始寻找一款用于测试的小白鼠游戏。

「我们需要挑选一款能在合理的时间内完成的游戏,」他告诉我。「有内置 Xbox Live 网络服务的那一种。」



​他们最后选中了《城堡毁灭者》(Castle Crashers), 一款广受欢迎,由位于圣迭戈的工作室 The Behemoth 打造的四人 Xbox Live 合作清版游戏。但理所当然地,在新平台上模拟一款旧游戏可不是件简单的事情。「我们很快就明白我们遇到了个问题。」Morrison 说道。「当遇到问题的时候,满屏幕的数字就会出现。」

这些数字是某种符号 —— 直接可读的「记录」被大致指向问题源头的汇编代码所替代。当然,他们并没有这种符号的「解码器」。

所以,在他执行着一项高度机密化,除了他和他的团队之外没有其他人知道的兼容性项目的情况下,La Chapelle 试图去和 The Behemoth 进行联系。他通过领英(「在(被微软)收购之前,」他笑着补充道)接触到了工作室的 CEO, 在签署了保密协议之后,拿到了代码。La Chapelle 表示,「他们超棒的,对我们的帮助非常大」。他补充道,有了这些代码之后,团队的工作速度比原先快了十倍。

不可能的事

但这并没有解决另一个问题:在新的平台上要测试后续的关卡是不允许存档的。所以为了获取他们所需要的一切数据资料,他们必须亲自一点点地玩下去。Morrison 回忆道,「我们可不能存档,Kevin 成了我们的人肉存档机。」La Chapelle 笑着说,「你不会想为了钱在《城堡毁灭者》里耍我的。」

在他们通过造出一个能在开发者之间转移存档的系统以解决这个问题之后,团队致力于在 E3 上进行发布并在 2015 年秋季上线。有那么一些完成了,但是他们的承诺是要在年底之前提供 100 款游戏。除此之外,E3 临近,却还有一些游戏根本跑不起来,或是只能以非常糟糕的状态运行。La Chapelle 回忆称,「有那么一款游戏(一开始)跑起来每秒只有 1 帧,然而测试者还是撑过去了。」

La Chapelle, Morrison 和由 25 位员工组成的兼容团队一道,为了这些问题可谓绞尽脑汁,直到 Morrison 突然开了窍。他在思考,究竟 Xbox 360 和 Xbox One 的 Fission 模拟器之间有着什么根本上的区别呢?答案是,调度器 —— 简单来说就是 CPU 内部管控数据流向和速度的交警 —— 在 360 上是一个速度,但是在 Xbox One 的 Fission 模拟器上,又是另一个速度。当 Morrison 在 E3 期间分享了他的突破性成果之后,La Chapelle 和他说:「那,我大概知道你到家以后会做些啥了!」



​对调度器的调整起了作用 —— 而且比他们所希望的还要好。整个团队每天都围绕在 Morrison 身边以确保新的调度器能准备就绪,然后他们在头一年提供了 104 款向下兼容的游戏。

但《光环:致远星》最初在 Xbox One 上问题多多。「我们不会掩盖我们在《光环:致远星》上犯了错的事实,」Stillwell 解释道。「我们使用的方法不是我们想要的方法。」整个兼容性团队被严重打击了。「我们一直以来的目标是保证至少能和 (Xbox) 360 达到同一水平,」La Chapelle 表示。「《光环:致远星》是第一款没有达到这个目标的游戏。我们汲取的教训是,我们主观性的测试做的还不够完善。所以我们制作了一系列客观性测试工具。」

《致远星》通过补丁得到了修复,这一部分要感谢由 Brian Spanton 与他的团队创造的 Xbox 兼容性性能分析工具 (Xbox Compatibility Performance Analyzer, aka XCPA), 「有时候很难弄清楚究竟 Bug 出在哪。」他表示,有些问题是游戏本身就有的,而有些又是模拟器带来的。Spanton 向我展示了这套工具,它显示着两个窗口,其中一个运行着游戏 —— 当时运行的是《战争机器 3》—— 另一个显示着测量帧计时的线形图。线形图越低越好,他展示了一个帧计时过高的场景,这代表着游戏出了一个难以被发现的,团队过去几乎无法捕捉到的错误。

以退为进

在他们完成了数百款 Xbox 360 游戏的工作,并为 Xbox 开发者们撰写了一份白皮书以告诫他们如何写出兼容性好,经得住时间考验的代码;还借助 Xbox One X 让一部分 360 游戏获得从未有过的提升之后,这个团队准备迎接一个新的挑战:让初代 Xbox 游戏在 Xbox One 上运行。这个项目的代号是 Fusion, 软件工程师 Spencer Perreault 在 2016 年 11 月抓住了机会,让其成功实现。

La Chapelle 说:「有一天 (Perreault) 和我说,「我觉得我可以做出来」,所以我们就放手交给他了。是他自愿的工作让它能够提供给我们的社区。」

Perreault 在 2009 年毕业之后加入微软,最开始在初代 Kinect 团队工作,在 2014 年,当机遇出现时,他立即抓住机会,加入了兼容性团队。他说,「我个人对模拟器已经感兴趣很久了」。



​他最开始打算直接模拟 Xbox 360 的 Fission 模拟器,并假设这会失败。的确如此,而且还失败得「在计划之内」,Perreault 补充道。

初代 Xbox 以 4kB 的增量来管理内存,而 Xbox One 是 64kB. 这是一个需要解决的难题,而且初代 Xbox 使用的是 32 位的 CPU, 而 Xbox One 是 64 位。就 Perreault 所述,「每天一醒来」不是在做 Xbox 初代兼容的工作就是在思考该怎么做。

《海豚》(Dolphin) , 一个所有初代 Xbox 开发机都内建了的开发工具,是他第一个能跑起来的东西。他微笑着说,「虽然看上去(还)有点不对劲,不过这的确是《海豚》而且海豚还在游泳」。所以后来 La Chapelle 从他家里抱来了一大堆私人收藏的初代 Xbox 游戏。他估计,他的「成功率」—— 能跑起来的游戏的百分比 —— 一开始只有 10%. 有些可以正常运行,另一部分存在着一些图形方面的问题。

在一到两个月之后,成功率被提升到了 90%. 「尝试一大堆不同的游戏对成功率非常有帮助」,Perreault 说。的确是这样,13 款初代 Xbox 游戏将在明天(注:当你看到这篇文章时,已经可以玩了)提供服务,其中包括像是《忍者龙剑传:黑之章》和《星球大战:旧共和国武士》这样的顶级经典游戏。更棒的是,这些游戏不仅仅是兼容了,还会变得更好。所有的游戏都运行在 1080p 分辨率下,同时还提供更高的或是更稳定的帧数。我在玩《旧共和国武士》的时候与原版一起进行了对比(是的,直接运行在初代 Xbox 上),区别十分显著。《忍者龙剑传:黑之章》受益于原生的宽屏幕支持,看上去和现代游戏一样;你还可以将不同的 Xbox 混在一起在《王牌飞行员:复仇大道》中玩多人模式,我用初代 Xbox 和三个人对战,一个用 Xbox 360 玩, 一个用 Xbox One S, 一个用 Xbox One X.

「内容一直如此,但有当下的技术在背后支撑。」软件工程师 Eric Heutchy 如是说。

不幸的是,法律问题几乎一定会影响到 Xbox One 上能玩到的初代 Xbox 游戏的数量。有些游戏的发行商早已不复存在,有些游戏的合约丢失了,还有些游戏面临着音乐或是其他内容授权过期的问题。兼容性团队对于许下承诺持着非常谨慎的态度,但可以相信,他们肯定会提供超出预期的内容。

那么,粉丝们可以通过什么方式让游戏名单变长呢?「支持我们的计划」,Xbox 主机销售部的高级主管 Albert Penello 这样表示,发行商会关注具体的数据。Stillwell 同意这样的观点,「系列粉丝们的力量会帮助我们克服一些(法律上的)难关。粉丝们才是关键,我们只能量力而为。有些情况下,由于法律和商业上的原因会无法实现,但粉丝们提供(给发行商)的呼声越高,我们能做的就越多。不过,我们没什么可抱怨的,我们得到了非常好的支持。」


iiiiiiiiii

​原文链接:http://www.ign.com/articles/2017 ... wards-compatibility

原文作者:Ryan McCaffrey

翻译:Kenny MacCormick




https://media.weibo.cn/article?id=2309404166551539452425
回复

使用道具 举报

     
发表于 2017-10-25 14:50 | 显示全部楼层
然而现在向下兼容不仅不让用账户余额和支付宝,购买还要爬墙才行
用户体验差到极点
回复

使用道具 举报

     
发表于 2017-10-25 15:31 | 显示全部楼层
当初大表哥出兼容的时候,因为楼上说的那种原因我只能去美亚买兑换码激活,结果国内这网络根本激活不了,再之前买致远星的时候还是靠某宝卖家提供的加速器激活的
微软这么久还不把购买兼容游戏的渠道做进x1商店里,可以说是非常傻逼了
回复

使用道具 举报

     
发表于 2017-10-25 15:44 | 显示全部楼层
兼容游戏在x1购买完全没问题啊

只是保持了先前的锁区政策而已
回复

使用道具 举报

发表于 2017-10-25 15:50 | 显示全部楼层
向下兼容也不可能改360商店啊,分区的历史遗留问题还在,买美服游戏要改账户区域。X1商店可以直接买兼容的360游戏。
回复

使用道具 举报

     
发表于 2017-10-25 15:53 | 显示全部楼层
泽成明代 发表于 2017-10-25 15:50
向下兼容也不可能改360商店啊,分区的历史遗留问题还在,买美服游戏要改账户区域。X1商店可以直接买兼容的3 ...

买不了,我上上周末想买港服的凯瑟琳,在x1商店里付款的时候告诉我无法连接到服务器,只能在爬墙在网页版商店购买
回复

使用道具 举报

     
发表于 2017-10-25 15:54 | 显示全部楼层
X1X能玩忍龙黑这就很长草了,初代xbox好多好游戏还是很想玩的
回复

使用道具 举报

发表于 2017-10-25 16:07 | 显示全部楼层
本帖最后由 泽成明代 于 2017-10-25 00:09 编辑
haru橙子 发表于 2017-10-24 23:53
买不了,我上上周末想买港服的凯瑟琳,在x1商店里付款的时候告诉我无法连接到服务器,只能在爬墙在网页版 ...

360卖场锁区/网络问题,账户区域要和卖场一致,网页商店会检测ip,我一直用美区账号人也在美国主机上买兼容游戏没出过问题。
回复

使用道具 举报

头像被屏蔽
     
发表于 2017-10-25 16:10 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

     
发表于 2017-10-25 16:19 | 显示全部楼层
我想玩钢铁孤狼混沌
回复

使用道具 举报

     
发表于 2017-10-25 16:20 | 显示全部楼层
zikimi 发表于 2017-10-25 15:54
X1X能玩忍龙黑这就很长草了,初代xbox好多好游戏还是很想玩的

本来对XBX完全没兴趣的,但现在很想玩4K的忍龙黑了
回复

使用道具 举报

     
发表于 2017-10-25 16:26 来自手机 | 显示全部楼层
啥时候能跑忍龙2就入一个天蝎

—— 来自 Sony D6503, Android 6.0.1上的 S1Next-鹅版 v1.3.2.1-play
回复

使用道具 举报

     
发表于 2017-10-25 16:32 | 显示全部楼层
ps4向下兼容的话是不是都留在exvsfb了
回复

使用道具 举报

     
发表于 2017-10-25 16:42 | 显示全部楼层
一般情况下

除了大部分限制级游戏(分级m以上的),都是可以直接购买

也有极个别厂家傻X那就没办法了
回复

使用道具 举报

     
 楼主| 发表于 2017-10-26 09:58 | 显示全部楼层
zikimi 发表于 2017-10-25 15:54
X1X能玩忍龙黑这就很长草了,初代xbox好多好游戏还是很想玩的

可惜,授权的问题比兼容性更难搞定
回复

使用道具 举报

     
发表于 2017-10-26 10:10 | 显示全部楼层
在网页开那啥买,然后主机端直接就能下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-8-21 19:26 , Processed in 0.114270 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表