2021年初发布的《2021游戏市场风向标报告》显示,越来越多的游戏开发商认为跨多平台发布游戏已经成为使其游戏成功的关键决策之一。无论是多人的FPS游戏、开放式RPG游戏还是冒险解谜游戏,如果能在全平台接触到广泛的受众,无疑将会给游戏成功增加一份沉重的砝码。
虽然跨平台移植游戏的成本不小,但是经历过其中过程的公司都表示物超所值。随着任天堂 Switch的持续火热(全球销量超过7千8百万),Switch成为了各大厂家移植游戏的首选平台。在本篇文章中恐怖主题的动作冒险解谜游戏《DARQ》的开发者Wlad Marhulets,为我们讲述自己的开发经历以及移植Switch平台的经验。
《DARQ》曾荣获2015年Steam绿光最受欢迎的十大游戏之一的奖项。游戏的故事以小男孩 Lloyd在一场逼真恶梦中的冒险为主轴,在画面和配乐上营造了阴森、诡异的氛围,当时在游戏正式发布之前就吸引了大批玩家的关注。
在历经五年的长跑后,游戏的创造者Wlad Marhulets成功地将《DARQ》搬上了 PC、Xbox One、Xbox Series X、PlayStation 4、PlayStation5,以及最近的火热的Nintendo Switch这几个主流的主机平台。整个开发和搬运的过程非常艰难,但Marhulets凭借自己的韧性、乐观精神、周围好友及Unity的支持,终于将《DARQ》分享到了全球各大平台的玩家手中。下面我们就来看看Wlad Marhulets为我们分享的有关《DARQ》制作以及移植的过程吧。
始于机缘巧合
“我最初接触游戏开发是在2015年。那时我刚毕业,从事着电影作曲的工作,有一次,在工作的空余时间难得地出现了一个月的空档期,于是我决定利用这段时间来发展一个新爱好——制作一款游戏。在此之前我从未接触过游戏制作,在下载了Unity之后,我立马入坑了,在一个月的学习与探索后我制作出了一个游戏原型。”Wlad Marhulets说道
“在一个朋友的鼓励下,我做了一支预告片并将其放到了Steam 绿光(Steam的初创鼓励计划Steam Greenlight)上。我对此起初并没有很高的期待,但《DARQ》出乎意料地成为了 Steam绿光投票排名前十的游戏,我当即决定把爱好当作事业来试一试。但当时我并没有在游戏主机上发售《DARQ》的计划,一部分原因是因为我都不知道自己能不能做出个成品来,因为对于我来说所有东西都需要从零学起。当然,这个过程是十分充实的,我个人非常享受。”Wlad Marhulets说道。
这款游戏最终耗时 3 年半左右时间完成,开发期间有多家发行商找到Wlad Marhulets,但他都觉得都不太合适,于是Wlad Marhulets决定在19年自行发售《DARQ》,并以 PC 玩家为主要目标玩家。
“直到2020年我才遇到了合适的发行商,这才最终将游戏搬上了主机。游戏现在不仅支持 PC,还支持 Nintendo Switch、PS5、PS4、Xbox Series X|S 和 Xbox One等主流主机,未来还将发售实体版。”Wlad Marhulets随后说道。
为什么选择Unity开发呢?
“我曾经在为独立游戏《A Cat’s Manor》作曲时,很惊讶地发现这款高质量的游戏竟然完全是由单人开发的,这点让我非常吃惊,也因此我也了解到了Unity。随着《DARQ》开发的推进,Unity官方详细的编程教程和随问随答以及友善的开发者社区为我提供了很大的帮助。现在我正与一支颇具规模的团队一起制作第二款游戏,大家也都在用Unity。Unity引擎改变了我的生活,我成为了它的忠实粉丝!”Wlad Marhulets兴奋地说到。
开发过程中最麻烦的一点是需要在全球疫情下进行跨时区协作。Wlad Marhulets的团队散布在波兰、芬兰以及加州,相互之间使用Slack聊天软件来沟通、跟进项目进度。
而另一个难题在于Unity游戏在各平台上的观感,因为各平台的渲染方法都有些许差异,最后团队还是手动调整了明亮度、对比度、色饱和度、色调以及光照。团队还遇到了由于浮点精度不同而造成的渲染瑕疵:比如将一块四边形放在另一块上方并稍微偏移位置,图形在PC端可以正确地渲染出来,但在主机上就会出现闪烁现象。于是他们不得不通过手动调整位置来解决此类问题。
将游戏搬上Switch
“Switch是粉丝们呼声最高的一个游戏平台,同时也是我自己在玩的主机。把《DARQ》搬上Switch是一个顺理成章的决定,这也使我梦想成真。”Wlad Marhulets说道。
《DARQ》使用了大量的实时体积光、满是FMOD音频事件的音效、反向动力学和大型预制件,所有这些都需要时间加载。所有的一切在高配置的PC上可能不会造成性能问题,但在 Switch上就显得有些力不从心了,团队必须找出新颖的优化方案才能让《DARQ》流畅的运行。
这里最主要的挑战是尽量在不牺牲画面效果的前提下实现稳定30帧运行游戏。优化的大部分时间都花在了开销“高昂”的体积光和阴影投射上。还有解决过多FMOD事件同时触发产生的音频瑕疵,游戏里的谜题不能在小屏上清楚显示,必须要调整摄像机角度才显示清晰等问题。另外UI也同样需要调整,许多图标和文本必须适当放大以便玩家进行查看。最后,为了迎合Switch的操作惯例,团队还修改了移植版的操作方式,把动作按钮分配到了“A”键上。
为了解决上面提到的种种问题。团队首先列出了几个非必要的阴影投射物和体积光,为求原汁原味,团队与将两者的数量删去了约 25%。另外他们还重新设计了FMOD的脚步音效系统,减少了运行该系统所需的事件与音频通道,原先包含多条音频轨道的事件被压缩到了一条轨道中。
在反向动力学方面,系统会在每一帧上运行,这在PC上并不会有什么影响,但在Switch上,团队就要为不牺牲太多画面效果而充分利用起Switch的硬件性能。在大型预制件方面(如整个关卡),他们采用了异步加载的方法,并用一条进度条来跟踪加载进度。所有这些,外加上降低精灵图集分辨率,实现了可观的性能提升。
对那些想要移植Switch平台的工作室,在此Wlad Marhulets也有一些经验可以分享给大家。
“首先,代码的结构必须要有条理,必须遵循一条命名规则。我移植时就因代码不连贯吃了苦头。这个问题在大型项目中更加常见,团队中的多名编程可能各为其主,无法实现风格统一。同时,为了保证编辑器内的每个场景都能顺利运行,我们要缩减注释,用描述性语言来命名类、方法和接口的做法可以省去大量注释,加快开发速度。为了避免出现有上千行代码的“巨无霸”,我们可以按逻辑拆分代码,尽量避免依赖长代码(形成所谓的面条式代码)。”Wlad Marhulets说,“其次,使用Profiler分析器分析纹理内存,用精灵图集使对象共享纹理。这种方法可以减少绘制调用,帮助实现稳定帧率。最后Switch这类手持设备体积较小,因此UI需要适当地进行调整,原先适用于PC的字体和UI需要重新调整大小。”
关于Unity
“我觉得自己非常幸运,一路上虽然犯了很多错,但我并不感到后悔,我从每一次错误中学到了很多。我做梦都没有想到《DARQ》能有一天与《末日余生2》、《死亡搁浅》、《无主之地3》、《使命召唤:现代战争》等其他 3A 大作一起获得提名。小岛秀夫(主导开发了世界上第一款战术谍报动作游戏《合金装备》,是全世界最知名的游戏制作人及日本游戏界的标志性人物之一)是我童年的英雄,能与他竞争我虽败犹荣!”Wlad Marhulets说道。
Unity会为游戏创作者们提供非常多的帮助与支持,在游戏开发过程中遇到任何困难,都可以在Unity找到相应的帮助。Unity支持为不同规模工作室提供各种服务,包括性能优化咨询、项目稳定性改进、游戏移植专业咨询等等,能让你更加专注于游戏创新而无需担心游戏的技术支持。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved