如何评价国产游戏《帕斯卡契约》?

8月20日,《帕斯卡契约》的全新DLC剧情扩展包「遗忘之潮」正式上线。作为第一个登上苹果发布会,成为iPhone11 展示游戏的本土手游,《帕斯卡契约》注定一出场就受万众瞩目。这款游戏被苹果评价为“口袋里的3A级大作”,于2020年1月16日AppStore全球同步上架,市场表现也着实没有让人失望。TapTap数据显示,1月15日《帕斯卡契约》的预约人数是599,249,评分9.6;1月17日该作上线一天后,预约数破60万,评分仍是9.6。

新DLC将带来更宏大的地图和更丰富的场景细节。此外,新角色杰洛尔德也将加入战斗阵营,他拥有一套全新的招式系统,其战斗思路和风格与现有角色截然不同。资料片中还有众多新的敌人,新的BOSS,包括隐藏BOSS,都十分值得期待。

《帕斯卡契约》由TipsWorks工作室创作,该游戏强悍的画质表现是几乎被所有玩家点名表扬的,但是大部分玩家都不知道的是,《帕斯卡契约》完全基于Unity引擎开发。自今年Unity公布携手《帕斯卡契约》亮相ChinaJoy之后,我们也收到了部分留言,大家表示希望能够更深入地了解游戏制作的细节。今天,我们就专门采访了TipsWorks创始人、《帕斯卡契约》制作人杨洋,让他亲自给大家揭秘。

1. 可以简单的介绍下TipsWorks创作帕斯卡契约这款游戏的初衷和背景吗?

立项的初衷是因为市场上已经没有合适的空间给一个小团队去生存,所以我们想要创造一款手机上没有的游戏,从画面到玩法上更像一款真正的主机游戏。这可能是一件很困难的事,但是基于我们当时对Unity引擎通过几个项目的积累,感觉可以挑战一下试试,结果一试就做到了今天。

2. 帕斯卡契约出色的画质,让苹果在推荐中也毫不吝啬自己的赞美之词“主机级画质”、游戏中各种粒子特效、光影、材质细节、在手机游戏中都非常的拔尖,关于使用Unity制作渲染3A级别的手游有哪些经验可以跟大家分享下吗?

关于这一点,其实可能和大家理解的并不一样,Unity引擎本身就可以制作非常强大的影视级3A画面,我们做的更多的工作是如何把这些好的效果进行优化并尽量保留下来。基于Unity对手机平台的适配相当友好和高效,节省下来的性能空间还可以用来实现更大的地图和更高的AI。对于手游来说,如何压榨出手机硬件的机能极限是我们的关键。

一般的主流动作手游,通常采用一个个独立小舞台。而帕斯卡契约的场景,非常巨大,视野所及范围几乎都是可探索区域。一次需要读取一两个小时流程的地图和所有部署的敌兵及NPC。所以我们必须解决图形运算极限和内存容量问题。在整个地表层,我们对物件进行了严格的细分,通过主要物体和次要物体之间的视觉优先关系,结合视野进行人工的反复调整。另一方面,我们为了节省lightmap,场景里的一些小物件使用了light probe对物体进行着色。场景上尽可能的减少lightmap的数量从而达到合批的效果,减少drawcall。我们认为,想要达到效率最佳的深度优化,一定是耐心细致和技术工具的结合成果。

3. 男一号主角的泰伦斯相信会成为大家使用最多的角色,他能够使用两把武器,轻攻击是使用手杖或者说是刺剑进行快速的攻击。而重攻击则是使用双手的大剑进行攻击。可以简单跟开发者们介绍下如何使用Animator Controller管理主角泰伦斯各段动画以及动画之间的切换的呢?

Unity的Animator Controller为项目动画管理提供了很好的支持。就泰伦斯而言,大量的动作片段可以通过State Machine进行节点可视化的分类,排列在Animator Controller面板中,并通过Animation Parameters配合动画资源中自定义Curves的调用,比如攻击连招之间的切换,让程序从逻辑代码上控制并实现State Machine 之间的融合过渡和功能应用。另外 State Machine 分类中的Blend Tree是个很好用状态机类型,我们在角色最基础的位移、受击、闪避等类似多方向的动作实现方面,通过同时定义多个参数实现动作切换融合。另外我们通过设置Animation Layers的骨骼MASK制作角色局部动画类似行走中实现不同的上半身动画等等。

4. 流畅、连贯的动作是ARPG 的核心,据我所知游戏人物动作方面,没有采用动作捕捉技术,而是全靠动作师手工调制的,这是一个相当大的工程量了,你们是如何克服的呢,有哪些技巧与经验可以跟大家分享吗?

是的,没有采用任何动作捕捉。对于一个动作游戏本身,需要精密的以帧为单位控制每一个招式的动作准确性,动作捕捉反而会带来一定的困扰,最终我们选择了全部手动来制作。工程量确实巨大,所幸Unity引擎内新的动画模式为我们的人形角色骨骼匹配提供了很好的基础,帮我们大大提高了工作效率。

Unity的Humanoid的模式下,可以完美识别并适配相应的骨骼节点。此模式下,在优化骨骼内存占用的同时,也方便程序在游戏中调用节点。同时Humanoid的Animation属性面板里,提供了对动画片段不同轴向的旋转和位移坐标的修改,最大化了动画资源的重复利用率。

5. 帕斯卡契约中维奥拉的设定是一位有着高贵气质的落难少女,在游戏人物模型创作过程中是如何与游戏的故事情节进行融合的?

在帕斯卡契约的世界中,整体调性偏向于阴郁沉重,设计上需要一名相对活跃靓丽的女性角色来改变一下玩家的心情,所以维奥拉很早就登场了。起初我们的维奥拉设计比现在更加接近“贵族”气质,拥有一顶华丽的大帽子,最后发现游戏操作时帽子太大会遮挡玩家视野,忍痛改掉了这一设计。实际上这也是我们整个游戏中最早和主角一起确认的角色,脸部模型进行了好几版的修改,我们想让维奥拉形象能得到玩家喜爱,又不想去做一张手游上常见的网红脸,所以这上面花了很多功夫。在故事里,维奥拉也是事件的核心,她的故事线也给这个角色附上了独特的个性气质。我们最初以为人气最高的可能会是造型更加鲜明的特蕾莎,最后发现还是年轻的单身女孩受欢迎啊~

6. 除了对高贵漂亮的维奥拉本人喜爱外,关于游戏中逼真的武器道具广大开发者也很感兴趣,可以简单的分享下如何在Unity中实现PBR材质道具的流程吗?

除了武器之外,我们游戏里很多物件都使用到了PBR材质。

流程上,首先需要在Substance Painter 中对材质进行写实的绘制,绘制方法主要遵循PBR的基本流程。由于手机游戏的贴图使用有限,我们把重点放在在质感的调节上。我们深入研究了Unity的材质显示特征,做好Substance Painter与Unity的衔接。从性能角度出发,主要用到的贴图有三种:diffuse,specular 和normal 。金属度和粗糙度分别加在diffuse specular这两种贴图的通道中调整。从而在Unity中得到一个消耗极低的写实的材质效果。

7. 帕斯卡契约在手机上运用了大量的即时演算和实时渲染,且没有明显的卡顿和发热,研发团队的技术实力是比较突出的,关于Unity 游戏在iOS 平台的优化经验有哪些可以跟大家分享下呢?

我们开发过程中得到了苹果Metal团队很大的帮助,Metal是十分高效能彻底发挥iOS设备性能的API,Unity本身对Metal的支持也十分完善,这两者的结合会让游戏的运作更加高效。如果说有什么经验可以分享,我们在开发iOS版的过程中,大量用到苹果自己的“GPU Frame Capture”这个工具,它能够帮你分析和找出游戏中所有对性能有影响的细节,针对性的对工程提出优化。

例如:用XCode的Capture GPU Frame 功能可以非常方便的抓取一帧GPU的快照信息,可以完整的查看Metal底层的渲染过程。图中我们发现了在屏幕后期处理结束之后StoreAction处理上有些问题造成了带宽上的浪费,图中紫色感叹号的警告也可以很容易地定位问题所在。然后我们通过代码脚本在Camera初始化时用RenderTarget重新设置了StoreAction,再次用Capture GPU Frame查看后,发现问题得到顺利解决。带宽使用上得到了优化,一定程度上改善了手机运行时发热的问题。合理的利用此类侦测工具,可以更有效的帮助开发者锁定问题,找出优化思路。

8. 细心的玩家可以发现帕斯卡契约中的AI怪物不像一般手游里那样无脑往前冲,靠数值来牵制你。这无疑增加了游戏的可玩性与挑战性。可以跟大家分享下帕斯卡契约中敌人AI的设计吗?

我们在游戏里面给怪物做了一些AI的判断逻辑,让它们变得更“聪明”了。比如,它有自己的巡路逻辑,这并不是简单的平地上的直接巡逻,它可能会爬上屋顶,然后可能会从屋顶跳下来,也有可能从地下爬上来,有各种各样的空间交叠。因此我们在正常的A型算法的基础上,又增加了很多高空的预测路线,在主角靠近的时候怪物会自己选择一个比较安全的点跳下来。这样看上去,怪物好像是更“聪明”了,实际上只是我们把背后的算法设计的特别周密,看上去比较自然、而且排除了可能的bug点,我们有专门的AI程序员会去设置这种路线。

9. 从Unity 2017.1 开始,Timeline 系统经过了多次迭代,易用性与功能都有了很大的改善与提高,可以跟大家分享下新的Timeline系统对项目有哪些帮助和提升?

其实最初我们开发项目的时候没有用Timeline,早几年的Unity版本对Timeline 的支持做的没那么完善,就没有用。后来也因为这件事给我们的开发人员造成很大的困扰,因为编很多东西都需要在引擎里面去写。后来在Unity 升级迭代之后,整个Timeline 机制都优化了很多,那个时候也有纠结,因为如果要用新版本,程序就要把很多东西推翻重做。但后来我们考量这个Timeline之后,觉得还是要用,因为它会对我们故事的叙事流程有很大的帮助。然后我们的程序就忍痛把很多之前做的代码都删了,就为了一个动作可以用Timeline 表现做得更好

这也是一个组内的权衡,有的时候为了达到一个最好的效果,我们要怎么去考量,哪个是最重要的,哪个是可以花点时间去返工的,我们尽量去做到精益求精。在使用Timeline的同时,我们也加上了一些口型插件之类的辅助工具,我们想把这些工具尽量用尽,然后把它的潜能挖尽。

10. 为什么选择Unity引擎去创作这款游戏呢?后续还有哪些Unity的作品呢?

如前面所提到,我们一直重视的是引擎在手机平台有限机能上的高效性能表现资源优化的便利程度。能保障游戏高质量的画面在手机上跑得平稳流畅,才是一个商业产品的核心。立项之初我们评估下来Unity是这方面最佳的选择,事实上也是现在绝大多数3D手游的选择。Unity的创作空间很大,可以轻松入门制作各种独立的小游戏,也可以有足够技术发挥空间创作大型游戏。另外,在平台移植的兼容性上,也十分成熟,所以我们在近期移植安卓版的时候也并不需要花费很大的精力。

后续我们会研究Unity新的渲染管线URP、HDRP,争取把下一个产品带上一个新的台阶。

来源:知乎 www.zhihu.com

作者:Unity大中华区

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 210 个回答,查看全部。
延伸阅读:
如何评价 Smartisan OS v2.0 版本?

为什么苹果到了2019年还在标配 5V 1A 的充电头?