当前位置: 华文问答 > 数码

同样是独占游戏,为什么荒野之息很快就有模拟器了,而最后生还者这么久了还是没有?

2019-12-25数码

荒野之息有wiiu版,最后生还者有ps3版。目前,wiiu模拟器cemu和ps3模拟器rpcs3都比较成熟了,对pc配置要求比较高,题主可以试试。顺便rpcs3我真心推荐运行p5。

但题主的观点是错误的, 模拟器的成熟度和主机厂商的技术力没有任何关系,反倒是和主机厂商的保密工作有关系。 这点需要铺开点讲,欢迎讨论。

模拟器基本都是该主机的粉丝极客做的。爱好者一般不是游戏开发者也不是主机厂商工作人员。所以他们手上没有多少主机厂商内部的开发资料可以看。开发机也不是那么好搞到手的,搞懂原理并用代码去模仿运行过程可不容易。

ps2和ps3是出了名的奇葩架构,ps2的gs+ee,ps3的cell连游戏制作公司都怨声载道,更何况是模拟器开发者?相比之下,ngc/wii和wiiu的主机配置更常见一点,做起来更得心应手。

到了ps1以上机能的模拟器均采用HLE(High Level Emulation)式模拟,HLE模拟的定义和原理见以下引用(原文翻译不顺嘴,有适当改写,请谅解)

高级模拟(HLE)和低级模拟(LLE)是指在模拟主机的一个组件或整个主机时使用的方法。通过模拟器各部分插件处理主机对应组件的方式来区分是HLE还是LLE。运用HLE的模拟器将主机组件抽象化,目的是提高模拟器的运行性能,并牺牲模拟的精确性来实现。大多数经典主机由于架构相对简单性,可以实现低级模拟。但是较新主机的图形处理能力呈指数级增长,因此有必要进行抽象。因为高级模拟通常可以看作是一种仿真,所以通常不需要从主机dumpBIOS文件和其他不那么合法的备份机器特定代码。 例如,主机具有CPU调用的3D图形芯片来渲染游戏。一个精确的低级模拟器将使用软件渲染来确保该插件的输出与原始主机是1:1的。但是,这样的软件渲染是在pc的CPU上运行,而pc的CPU不是为3D应用程序设计的。如果CPU的性能不足以实时处理精确的3D渲染,模拟器会出现严重拖慢。幸运的是,现代3D API可以通过将3D计算重定向到pc的GPU的方式来缓解此问题,因此高级模拟器会调用pc的gpu来更快地渲染。而且,HLE不仅可以加快3D渲染的速度,而且还可以作为不要求精确模拟即运行原软件的部件。

那么可以得知,模拟器开发者手上主机开发资料越少,模拟器会发生的错误也就越多。正是因为索尼保密工作做得好( 毕竟输过模拟器官司), 所以pcsx2/rpcs3的模拟程度就是不如dolphin/cemu。

甚至在10年前,相当多的ps2热门大作每一款都需要对应svn版本的pcsx2模拟器,可真是一大奇观。

再加上欧美极客一向亲任,这问题就更加严重了。12年前pcsx2和dolphin先后开源svn化,结果dolphin开发者活跃人数远远高于pcsx2,dolphin的模拟度也超过pcsx2好多。

更何况,3ds的那个pica200也是奇葩组件,citra3ds的模拟度还不是一样很高?

这里多说个笑话,gba的开发资料在gba还没开发就泄露出来了。于是gba游戏在vba模拟器上运行的比gba真机还好…