- 0
- 0
- 0
分享
- 高分游戏《TUNIC》幕后制作揭秘
-
2022-06-25
“ 感知技术 · 感触CG · 感受艺术 · 感悟心灵 ”
本文转自公号:Unity
由 Andrew Shouldice 开发的《TUNIC》于今年3月正式多平台发售,登陆了 PC、Xbox One 以及 XSX 平台。游戏一经发布就大获好评,IGN 不仅大方地给了9分,还称它为一款披着“塞尔达”风格外衣的类魂游戏;Metacritic 给它打了85分的高分;还有游戏评论家称《TUNIC》“是一部冒险和探索的大师之作”。
游戏官网:https://tunicgame.com
《TUNIC》是一款关于探索与冒险的故事,主角小狐狸将在一个辽阔的奇幻世界里与各式各样的怪物战斗、揭开古老的秘密、找寻隐藏的宝藏。尽管《TUNIC》从《塞尔达传说》和《黑暗之魂》等游戏大作那里借鉴了很多内容,但它仍旧凭借着自己的特色走出了一条独特的成功之路。
Unity官方采访了Andrew Shouldice,让他为大家揭开这个自15年开启的项目幕后。
向老游戏致敬
Shouldice表示:“我非常珍视老游戏带给玩家的那种体验,能够勾起玩家的好奇感和探索的冲动。这些游戏充满了秘密,但是它们并不会这么告诉玩家,而是‘藏在’了游戏手册里。同时,游戏手册又是独立于卡带的另一件艺术品。”
Shouldice希望用轻色调突出《TUNIC》的神秘气氛、引导玩家。游戏的叙事围绕着环境展开(并非具体的对话来传达事件),并俏皮地致敬了游戏手册等怀旧元素。
《TUNIC》把当今几乎消失的游戏说明书搬到了游戏中,作为收集品待玩家发现。玩家可以在这些说明书上学到许多的提示和技巧,了解各个地图、敌人以及其他隐藏宝藏的线索——只要他们能够破译神秘文字并把一切拼凑起来。
“你找到的隐藏秘密可能是一次升级或一些货币,但真正的宝藏是好奇感。”Shouldice解释说,“这扇门后面有什么?那条河的另一边有什么?这就是我想唤起的感觉。”
《TUNIC》的主角虽然一言不发,但也不是完全沉默的。游戏中的大部分文字和对话都用一种难以理解的象形文字来呈现的,目的在于将玩家代入一个完全不同的异世界里。于是,玩家必须依靠自己的直觉和其他线索来搞清楚这里究竟发生了什么。这种令人耳目一新的叙事方式使得《TUNIC》的故事线和世界观脱颖而出。
图像与视角
《TUNIC》的世界采用了明亮的简单多边形渲染而来,视角采用了等距视角。游戏的早期版本是完全扁平的纹理,Shouldice表示这些风格就是他当时的建模水平。随着他的技术提升,游戏里的图像也在不断发展,变得更加详细,如今的画面不仅能完全展现出他所设想的废土世界,同时又能忠实于最初的“低多边”美学。
从游戏设计的角度来看,等距视角是《TUNIC》隐藏许多秘密的关键。“在使用真正的正视角摄像机时,每一种元素都未经过透视收缩(foreshortening)处理,没有几何图形上的视觉把戏——我们并没有特意去追求这种效果。因为我们使用的是等距正交投影,垂直线可以一直保持完美的对齐,方便我们隐藏东西。”
Shouldice对此进行了解释:“在游戏前期,有一条瀑布的后边藏着一条隐藏的小道,你可以悄悄溜过去。如果我们采用了任何形式的FoV透视摄像机,那这条路就会变得很明显。你会看到物体在周围移动,视角的变化则会泄露这个秘密。”
使用正视摄影机带来了视角上的挑战,Shouldice必须克服这些挑战才能营造出一种规模感。“对于那些需要表现得宏大、向玩家展示远处不可触摸之物的情形,比如悬崖边上的一片巨大森林,我们需要用上一些技巧,”他揭露说,“我会用到多层摄像机。你可以在正交视角的棱形视野(平行视锥)末端粘上一块包含远处景物的视锥。”
光照与着色器
为了保证性能,Shouldice采用了动态光照和全局光照(GI),并为《TUNIC》仔细计算了光照数量:“因为延迟渲染不支持正交摄像机,所以我需要特别注意以下光照数量。我用了预先计算好的 GI 而非点光源(Point Light)来做大部分的光照,并依靠批处理来减少绘制调用次数。”
他曾经手写过着色器,但最后决定使用Shader Forge的节点式着色器。“我当然可以写点代码,但我更偏爱视觉图形,更喜欢实时预览、在一个空间里组织想法。”Shouldice继续说道,“节点编辑器和我的大脑可谓是非常契合。它非常灵活,非常有趣!”
Shouldice还大量使用了滚动纹理来照亮游戏中的元素,这不仅能大大降低开发的复杂性,还能实现华丽(且性能还高)的效果。
在游戏早期,《TUNIC》的主角可以与一尊雕像互动来打开一扇金色的门,这个雕像在被触摸时会发出一阵脉冲光。Shouldice 使用了几种 Unity 编辑器和Shader Forge的组件来实现这种效果。
最初的一片光点——我称之为“星爆”——是从三块带动画的网格变化而来,每张网格的旋转都不同步。一个甜甜圈状的“光环”会围绕在网格周围,向这个扁平圆柱体投射一张滚动的UV纹理,Shouldice把这些纹理向外滚动,形成一种环绕光。这里,UV坐标会被滚动并乘上一个因数,然后再被反转,从而创造出黑底白光的效果。
Shouldice将滚动纹理应用在了几种网格上,借此来改变光的行动。在另一个例子中,他将纹理导到一个狭窄的圆锥形网格上,创造出魔法能量向天空凝聚的效果。
“我之所以非常喜欢将基本效果应用在专门的网格上,其中的一个原因是,你可以通过调整 UV 坐标等把同样的材质以不同的方式表现出来。”Shouldice肯定说,“这里的能量射向天空的效果可以通过聚拢或分散网格上的UV来实现。”
另一个效果是在空中按照一定模式运动的光斑,光斑最后会聚焦到一点上再冲向一座雕像。这本来可以使用粒子效果或贝塞尔曲线来实现,但Shouldice回归了一个可靠的老方法,他问自己,“如果我们滚动这里的纹理会怎么样?”
在例子中,光的轨迹实际上是一条在Blender中编写和展UV的长管,经过扭曲、旋转、变形和复制。由于每条管子都有着UV,柔和的渐变彩色纹理可以在上边滚动,并借助后处理和“炫目的泛光”来掩盖可能存在的缺陷。
Shouldice在颜色选择上非常地挑剔,他想保证能量球能恰当地呈现想象中的白热化场景。他指出:“我常会选择一些色度非常高、非常饱和的颜色,我会略微降低一点饱和度,以免掩盖了其他的通道......不要只单纯地选择蓝色、红色或绿色,选择一个稍弱的颜色,降低它的色度,同时再用上一些色轮对面的颜色,这样一来你在应用HDR时,它就能‘轰’地变成白色。”
角色控制、战斗和动画
Shouldice使用了Unity的NavMesh系统来影响敌人和玩家的行为。默认时,敌人身上的NavMesh代理将其引导到一个特定的目标地点。NavMesh会告诉敌人要前往哪里,还会与物理系统沟通,让怪物的刚体可以正确地碰撞,并且还驱动着底部以运动为基础的行为。
Shouldice同样使用了NavMesh代理来划定游戏的边界。他会查询NavMesh代理可以前往的地方,然后用参数将信息输入动画控制器,防止玩家离开NavMesh。
敌人的定向是《TUNIC》的一个重要部分,它和《黑暗之魂》一样都采用了以动画为基础的战斗。《TUNIC》的许多动画都是用Blender创建,再用Unity的动画曲线继续打磨。Shouldice希望能精细地控制某些部分,比如敌人在攻击时哪一部分会面朝着玩家,将命中盒(Hitbox)与角色模型的特定部分相连:“即便你把剑向敌人挥去,如果剑没有碰到敌人的命中盒,那它就不算接触到敌人!”
这种方法能做出更加细致的战斗机制,比如诱骗敌人互相攻击,或针对 Boss 的攻击间隔来练习躲闪与攻击。
Shouldice甚至创建了一个委托系统来随机化敌人与Boss对玩家不同位置的反应。躲到BOSS后面可能会触发几种特殊的攻击,比如生成小怪、喷火,或用左爪/右爪攻击。
Boss 的行为代码片段:
if (far) { // FOX OUT OF MELEE RANGE Mathx.Choose( delegate { cachedAnimator.SetTrigger("ACT_freem"); }, delegate { cachedAnimator.SetTrigger("ACT_deployAdds"); }, delegate { StartCoroutine(gunSequence()); }, delegate{ cachedAnimator.SetTrigger("ACT_advancingSwipe"); }, delegate{ cachedAnimator.SetTrigger("ACT_missiles"); }.); }
Mathx.Choose的应用:
internal static void Choose(params System.Action[] paramList) { paramList[Random.Range(0, paramList.Length)] (); }
用游戏测试和QA持续打磨
优秀的游戏开发不可能凭空产生——即便你只有一个人的工作量。Shouldice寻求了几种测试游戏、收集反馈的途径。曾作为 Halifax 游戏开发社区活跃成员的他咨询了社区里的同行,并且参加了Stugan加速项目,与其他几名开发者在瑞典的一个小屋中共同度过了两个月。
Shouldice的发行商Finji也在孵化项目为成熟游戏上发挥了重要作用,他们提供了翔实的意见板以及QA测试支持。“如果说他们只管发布游戏,那就太轻描淡写了,”他解释说。“我们做了传统的游戏测试:站在玩家身后直接观察或记录游戏过程,但 Finji 最有价值的地方之一是他们有一支出类拔萃的QA团队。”
通过观看别人游戏并与Finji的QA团队合作,Shouldice完善了游戏的探索要素,让玩家能纵身跃入并迷失在《TUNIC》的怀旧世界中,又不会因为不知道下一步该去哪而感到沮丧或困惑。游戏的反响非常积极:“每当有人给我们发邮件说,'你们让我感觉像是回到了童年!'我就觉得......真棒!这段经历对我来说非常神奇:在纸上潦草记下我希望别人感受到的东西,然后用七年把概念转变成碎片,再编译成二进制文件,接着大家就都能在屏幕的另一端感受到了它们。这感觉有点神奇。”
对有抱负的独立开发者的建议
“在《TUNIC》之后,我故意不去构思下一个项目,因为我想保持专注。”Shouldice 承认道。“我可能要休息一下。就算我真的再做一个游戏,也最多是做一些小游戏,可能不是商业性游戏。”
在谈话的最后,Shouldice向有志于自己制作游戏的独立开发者们提供了一些建议:“别想太多直接开做,多与别人分享你的作品,并且不要怕做出烂游戏,尽快做出成品!假设你脑子里有着一排想要做的游戏,那么前100个都会非常糟糕。只管把它们做出来,然后搜集反馈、吸取教训,再继续前进。”
《TUNIC》已经正式发售,欢迎大家访问游戏官网体验。
https://tunicgame.com
如果你也想要打造一个属于自己的世界,但是又没有任何经验,就来 Unity 集训营看看吧,点击“阅读原文”即可直达。
-
阅读原文
* 文章为作者独立观点,不代表数艺网立场转载须知
- 本文内容由数艺网收录采集自微信公众号CG世界 ,并经数艺网进行了排版优化。转载此文章请在文章开头和结尾标注“作者”、“来源:数艺网” 并附上本页链接: 如您不希望被数艺网所收录,感觉到侵犯到了您的权益,请及时告知数艺网,我们表示诚挚的歉意,并及时处理或删除。