开发者自曝:WiiU上做游戏所遇到的挑战

Wii U能在当前的次世代主机大战中杀出一条血路吗?Wii U的硬件性能基于上代主机和这代主机之间。跑分比上代主机要快,但其它部分则拖了后腿。如果你硬要将Wii U的硬件和PS4/Xbox One相比较,Wii U会死得很难看。说实话,Wii U的硬件完全没法对抗其它两家的新主机。糟糕的硬件功能,弱智的开发工具,些许的财政扶持,Wii U的优势还剩下什么?

我曾经是首批任天堂Wii U第三方开发商中的一员,我曾为Wii U的推广出力,并致力于开发优秀第三方游戏。现在,Wii U的前景不荣乐观,面对Wii U在今年圣诞购物季上惨不忍睹的销量,我们想说说一些关于任天堂和Wii U这台主机的故事,也许能帮助你对这台主机,和主机上面第三方游戏的情况做一些了解。

让我们从头说起。一个新的游戏平台的诞生一般有一个标准的模式可循:起初是主机厂商经过一段时间的调研和研发,勾勒出平台的硬件目标,然后是经历一个与硬件代工厂商细化的过程。这个过程必须考虑代工厂商的技术,以及成本。

一旦基本的硬件设计敲定,内部软件(SDK)团队将参与撰写初始代码/驱动程序,以及所需要硬件的测试。若团队对硬件、成本和开发周期满意,主机厂商将带着新硬件去与游戏开发商谈判。

首先主机厂商将把新硬件提供给第一方开发商,并收集他们对新硬件的反馈意见。这些意见可能会,也可能不会对硬件的设计产生影响。在这个阶段里,硬件设计还可以进行更改,但更改的机会将越来越小,因为部分硬件厂商需要为此进行技术的升级,这都需要时间。

在收到最初的反馈后,新硬件就会提供到游戏工作室那里了,通常主机厂商会选择像育碧、Take-Two和EA这样的顶级第三方软件厂商。游戏平台需要有游戏支持,没有游戏和游戏所提供的收入,主机就会赔钱,并成为主机厂商的包袱。

在这个阶段,基本上主机的设计就不会再改了。除非一些可以通过软件升级而实现的改变(如时钟频率、操作系统时间片等),或者可以“轻易”就能实现的硬件升级,如更换一组

更高容量的存储量模块。

这时候就轮到我出马了。

Wii U的研发代号是“Project Cafe”,定位为一台客厅中的高性能游戏主机。

披露

当我被任天堂叫到他们的办公室去开会时,我已经猜到他们要宣布什么。关于新硬件的传闻已经流传了好几周了,但是具体的情况还不了解。在签署了几份不同的保密协议后,我们被叫到了一个房间里听情况说明会。

和一般说明会一样,先回顾Wii的成功,然后宣布要推出新硬件。任天堂想要新平台的尺寸和Wii U一样,以确保使用起来不会发出那么大的动静,“不会让妈妈介意放在客厅”。

他们的这个想法让我的脑子“轰”的一下,但我没有理会,继续观看他们的说明演示。

然后是一些诸如“Wii U的成功,我们需要你的帮助”的车轱辘话,但现在来看,这些话对我有着一些更深层的含义。

接着任天堂给我们展示了新的手柄原型,并通过一段视频演示了手柄在游戏中模拟各种设备,看起来还不错。我们都在考虑怎样在自己的游戏中利用这个手柄。

但后来任天堂开始宣布主机内部细节时,我发现我脑子“轰”的一下的原因了:如果任天堂想要硬件足够安静,他们需要风扇噪音足够的小,这就意味着风冷效果有限。有限的风冷效果反过来要求CPU产生的热量不能过大,这就要求CPU在低的时钟速度下运行。具体的技术细节我不太了解,有兴趣的读者可自行参看互联网上集体智慧的结晶——维基百科。

所以通过比较/计算后不难得出这样的结论:至少从理论上说,Wii U的CPU速度要比Xbox 360还低。这一点在会议上被提出了,但任天堂方面的代表对此予以否认。他们说:“低功耗是我们总体设计目标中重要的一环”,“CPU的其它性能将提升整体的性能”。

Wii U处理器效果图,展示了有着散热顶盖(左)的处理器和散热顶盖下方的“MCM”模块,右边的图片显示,CPU(右下)和GPU(左上)的差别很大。

几乎在硬件披露的同时,一封电子邮件开始在我们当中传播。在被问及对新主机的设计和硬件规格的看法时,一个普遍的回答是:“我喜欢新的手柄,但是CPU看起来不够给力。”

在接下来的几周里,我们开始来模拟搭建新的硬件平台以猜测和测试任天堂新主机性能,一些人甚至在PC平台下调整CPU时钟频率来跑他们代码。再一次,大家普遍认为,新平台的硬件不足以运行下一代引擎,甚至比不上现在市面上的PS3和Xbox 360。尽管有这些测试作为参考,但基于一些商业上的原因,我们还是决定尝试制作一款Wii U平台的游戏。

开发

开发Wii U游戏的决定做出后,开发机被送到了我们的手中。和一般开发机一样,早期的硬件都比最终发售的机器要大上一圈,是一个充斥着各种连接和开发接口的混合体。我们把开发机接好,刷上最新版的系统代码,并试图在上面运行诸如“hello world”这么简单的游戏,事实证明在Wii U上开发游戏比想象的要困难。

我们也曾在其它硬件平台上开发过游戏,他们都提供了成熟的开发工具链,并能很好的与我们的开发环境集成。Wii U却不是:任天堂有将他们的开发工具集成到微软Visual Stduio(事实的开发环境标准)中,但一点也不好用,甚至连关闭功能都没有。所以时间都花在了去修正Bug,并将问题反馈到平台拥有方上。最后我们获得了任天堂从另一家第三方公司那获得的一个解决方案。

终于我们能让代码在Visual Studio中可见,并编译和连接。但编译和连接时间非常的长,长到你起床,泡杯茶,聊聊天,然后回到电脑旁边,发现还没有完成。在其它平台1分钟能完成的工作,在Wii U上要花4分钟甚至更长的时间。

代码调试起来非常浪费时间,如果你上午在一个文件里改了10个地方,你可能要花上50分钟以上去等待连接完成。

Wii U开发机,开发机比主机更厚,运行速度更快,但其实与Wii U硬件配置差不多。

调试

当你有了代码,你就可以把它部署到主机并启动调试器了。这部分的工具链由Green Hill Software提供。作为一个使用过很多调试器的有经验的开发者,这次我被惊到了:它的界面很“重”,速度也很慢。如果你不小心点了下代码,整个调试都会停顿,点一下,可能使得调试器停顿1分钟甚至更长时间。

所有这些破事都占用到实际的游戏开发时间。作为一个团队,我们额外花了几天时间去编译/连接/调试,浪费我们大量的时间和金钱。

另一个事实是,我们在过去六个月收到多个不同的开发工具包,没人告诉我们新包与上一个包有什么不同。我们只知道新包修正了一些硬件错误,但版本说明里很少提到有什么改变。我们不得不浪费大量宝贵开发时间,将代码放到新的开发工具中运行。

终于,游戏能在新主机上跑了,我们可以在平台上使用新手柄来开发一些功能了。但很快我们又遇到问题了,关于文档的问题,我们咨询了本地的任天堂支持团队,他们也不知道答案。他们说将咨询日本的开发团队,让我们等答复,我们只好等了又等。

大约过了一星期,我们终于从日本的支持团队那得到了回复,是通过电子邮件的方式发给我们的。答复是几句很破的英文,但没有解决我们的问题。所以我们又发了一封要求解释的邮件,又过了一个星期才回复回来。

这次我们发邮件问日本支持团队,为何过了这么久才给答复,难道你们很忙吗?他们回答说没有,只是任何的问题他们都需要先翻译成日文,然后给到开发商。等开发商用日文回复以后他们再翻译成英文发送给我们。因为中间市区的差异和翻译中的延迟,通常需要一周的时间。

游戏的目标帧速率在开发中是最无趣的一部分,其遵循一个标准的模式:如果游戏能在这个帧数下运行,就优化代码(CPU和GPU);如果游戏不能在这个帧数下运行,就让画质缩水,直到能运行为止。

说到CPU的优化,因为CPU不够强大,我们已经缩减了一些特效,毕竟这是最容易实现的事情,但因此也会使游戏的画面质量降低。还有,针对Xbox 360和PlayStation 3上PowerPC处理器的代码优化并不一定都适用于Wii U,所以我们无法充分发挥这块CPU的能力。

Wii U的GPU与CPU比起来,情况恰恰相反,这台主机的GPU非常强悍,我们最后针对其GPU能力为游戏画面增加了额外的“抛光”特效。甚至有开发者讨论,将原本需要CPU完成的工作交给GPU去做。我希望这能在下一代主机上实现。

这次因为时间有限,也没有成功的案例和来自任天堂指导的关系,我们没有尝试。如果没有有一个更大的开发团队或者更长的开发时间,我们可能会去试试。Wii U的GPU优于Xbox 360和PS3,但比Xbox One和PS4差远了。

我们也注意到Wii U上所使用的DDR3内存存在一些令人担忧的问题,与PS3和Xbox 360相比,Wii U带宽更小。但这对我们不是问题。Wii U的GPU可以用最小的堆栈快速获取数据(通过eDRAM),我们能有效预取,让GPU全速运行。

联网

硬件的问题正在得到解决,游戏即将完成,我们把精力转向了联网部分。之前我们就发现,在任天堂的开发文档中,有关联网的部分是空白,所以我们向任天堂咨询,在经历了翻译的延迟后,我们得到消息说不用担心,这块功能很快就可以实现了。

这个答复再次让我的脑子“轰”的一下,我暂且将这个警觉搁到一边。任天堂基于他们的新主机搭建了一个新的网络Nintendo Network,在其被发布之前,他们应该进行完全的测试,以确保其完整可用,万无一失,所以我能原谅他们有一些延迟。

因为我们已经有了一些基础,我们能将多部开发机联机到一起做一些测试,但是大量的Mii和好友内容都失踪了,使得无法在“零售环境”中测试现有的代码。开发机也没有零售的“刷机包”,我们不得不摸黑继续测试,祈祷其能正常运行。

通过这个过程,我们有机会接触到任天堂一些更高层面的人。通过电话会议,他们收集我们对其开发工具链的反馈和开发经验。这个电话会议能洞察到任天堂是一个怎样的公司,以及其是如何运作的。

讨论开始于我们是否有足够的硬件和工具链经验,然后我们把话题转换到讨论在线功能将在何时生效上来。我们仅被告知,新的特性需要升级操作系统来支持,将在硬件发布之前实现并提供给我们(太晚了)。但是问题是,相对于竞争对手索尼和微软,他们没有建立一个大型网络基础设施方面的经验。

听到这个消息真是令人惊讶,我们还以为他们在一个月前宣布Nintendo Network之时已经做了大量充分的准备工作。所以当我们问得更深一点时,例如Mii好友应该参考Xbox Live和PSN是怎样实现类似功能的,对方告诉我们,他们团队里没人用过Xbox Live和PSN(!),我们还能说什么呢?我只想告诉他们,现实比他们想象的要复杂得多,他们试图追赶其竞

争对手的系统,但却没有经验来支撑。

最后任天堂兑现了承诺,终于在全球推出之前给了我们最终版的网络功能。为了测试,我们必须先升级开发机的操作系统。所以我们将代码打上补丁,准备开始测试我们的游戏。

第一步我们将开发工具刷成零售模式以便测试Mii和网络功能,这是一个非常复杂的手动过程。在零售模式下我们可以测试我们的功能,以确保能正常运行,这也是通过任天堂认证的其中一个要求。但是在这种模式下调试功能有限,所以我们看到错误却不能完全调试去找出bug。

作为开发商,我们希望在游戏上市前发现和解决所有问题。操作系统不支持一些简单的需求。例如向另外一个好友发送加好友请求,这时你必须通过调试菜单,手动打开主机上一个单独的应用程序来实现。但是,如果这部分功能有错误,没有任何办法来查到其出错的原因。

我们向任天堂询问新主机何时发售,答曰只剩下几个星期的时间了。他们怎么能在操作系统还没有完善的情况下就让新主机上流水线呢?是我们发现问题太晚了,还是他们投产上马太匆忙了?

随着发售日的日益临近,情况已经很明了了:任天堂的联网系统严重延期。用户买到主机第一件事情就是要下载和安装一个大的系统补丁,以加上所有这些缺失了的组件。没有这个补丁,新主机就是个半拉子工程。

结局

最终我们发布了游戏,并获得普遍好评,这足以对得起我们为止付出的所有努力了,不过游戏的销量平平。幸运的是,我们最终收回了所有投资。所以尽管我们公司管理层宣称将继续支持Wii U平台,但让我们在上面再制作一款游戏?想都别想。

其它开发工作室的情况怎么样?接下来发生的事情你在相关游戏媒体上看到了。我想强调一下最近自己一直在思考的一些有趣的观点。首先,第三方厂商支持。你还记得在Wii U发售的预热时,要出现在Wii U平台上的那些第三方游戏的宣传影片吗?那么多游戏都发生了什么事情。

很多工作室都放弃了要将游戏移植到Wii U上的承诺。纯凭个人的推测,我认为:

1. 凭借以往使用工具链和硬件的开发经验并不足以让开发团队在Wii U上制作一款游戏;

2. 任天堂缺乏对对第三方工作室的技术支持。我有这样一种感觉:如果你不是一个第一方工作室,你在很大程度上是被任天堂所忽视的,你只是帮他们挣钱和做游戏的工具而已;

3. Wii U主机的销量并不好,普罗大众对Wii U缺乏了解,他们不清楚这是一台新主机,只是以为是Wii的升级版。这种对Wii U主机感知的模糊可能会让工作室决定延期他们的游戏;

4. 任天堂自身正处于危机当中,在Wii U推出几个月后,索尼宣布推出PlayStation 4,微软也宣布推出Xbox One,新的主机大战开打,很多大型的工作室可能将重心放到其它次世代平台上去。

现在,这些大型工作室有了新的选择:你会选择为一个硬件能力有限,市场前景未卜的主机开发游戏,还是把你的团队投入到有卖点的“真正”次世代主机中去?相信不难选择。

从第一方的角度来看,似乎不存在选择的问题。但我猜有些第一方开发团队在与任天堂自己的团队合作中也出现了问题。主要原因是要让游戏向高清规格转移但却受到硬件的限制。把游戏画质从标清转向高清并不是你想象的那么简单。PS3和Xbox 360平台在早期也碰到过这种问题,开发商投入了大量的时间和金钱去做这件事情,其中有一些也遭受了重大失败。

任天堂的内部团队在新主机上面临挑战,因为开发时间有限,他们承受了巨大的压力。对一台新主机来说,这些压力在所难免。但令人惊讶的是,在已经过去的一年里,第一方阵营几乎没有发出什么声音。

前景

Wii U能在当前的次世代主机大战中杀出一条血路吗?Wii U的硬件性能基于上代主机和这代主机之间。跑分比上代主机要快,但其它部分则拖了后腿。如果你硬要将Wii U的硬件和PS4/Xbox One相比较,Wii U会死得很难看。说实话,Wii U的硬件完全没法对抗其它两家的新主机。

以硬件基准来看,索尼的PlayStation 4功耗都超出Wii U 100W,索尼使用的是最新拥有节能技术的x86核心AMD处理器,其GPU制程也领先Wii U一大截:据可靠消息,PlayStation 4的GPU采用了更先进的28纳米工艺,而Wii U的GPU还在用日本瑞萨的55纳米工艺。这样PlayStation 4的GPU能在更小的芯片面积中包含更多的晶体管。

Wii U是一个搭配低功耗CPU和比CPU性能高很多的图形芯片的结合体,这点来说与另外两家的主机很像。但你别以为从Xbox One和PlayStation 4这种高性能平台往Wii U上移植游戏就很容易:首先是电源的鸿沟,其次是在GPGPU方面,Xbox One和PlayStation与Wii U上的Shader Model 4硬件完全不兼容。

任天堂的第一方开发商理所当然会为Wii U开发游戏,但那些第三方厂商的情况就不一样了:糟糕的硬件功能,弱智的开发工具,些许的财政扶持,Wii U的优势还剩下什么?

我不知道Wii U今后会怎样,但如果按照现在的趋势下去,Wii U很可能将继续成为一台小众主机,直到第一方工作室发布一款“必买的”大作。只有这种情况下才能提升Wii U的销量。

但即便如此,想要赶上PlayStation 4和Xbox One的风头那也是不可能实现的。其它还有些变量,如中国市场最近对游戏机解禁可能会影响任天堂未来的方向。这个巨大的未开发市场可以极大的提升任天堂主机的销量,但中国市场大部分人的收入水平还不高,所以他们可能会倾向购买上一代的Wii主机,而不是更为昂贵的Wii U。

永远也不要低估任天堂,但依据我的经验和当前Wii U平台的销量水平,任天堂公司正在面临巨大挑战。

from:qq

如若转载,请注明出处:http://www.gamelook.com.cn/2014/01/143160

关注微信