《星之卡比 探索发现》是一款拥有浓缩了游戏性与漂亮外观的地图,且能兼顾两者优点的游戏作品。这两项要素原本好比鱼与熊掌不可兼得,但为了实现这点而开发的,便是新的自动生成系统。在针对游戏开发者的讲座「CEDEC 2022」举办的演讲「《星之卡比 探索发现》地形生成程序的组合」,就由 HAL 研究所的开发本部 / 开发环境室的工程师加藤步先生进行演说,介绍了该程式其中的秘密。
HAL 研究所的开发本部 / 开发环境室的工程师加藤步
能够兼顾玩心与外观的自动生成系统
在 2022 年 3 月发售的《星之卡比 探索发现》是主系列首次的 3D 动作游戏。在 CEDEC 2022 舞台展示的地图不论是游戏性或外观的品质都非常高。详细会在后面提到,在制作地图的时候,由于游戏性的部分是给关卡设计师、外观由美术各司其职的关系,很难同时兼顾两者,但是能够支援本次开发的便是地形生成这项系统了。另外,请注意本次演讲中提到的 2D、3D 是指地图的构造,并不是指像素图等的 2D 绘图与使用多边形的 3D 绘图。
本次的 3D 地图制作中,首先由关卡设计师在地图编辑器做出方块状的地形,接着按下模组输出按钮后,程式就会自动生出正式使用的地形模组。藉由这套「地形生成系统」,就是能够让关卡设计师在极限边缘做出游戏的部分,又可以同时兼顾地图美观的主因了。
但是,在当初还没有这套系统存在的时候,也策定了一套没有自动生成系统辅助的制作过程。那就是在关卡设计师做好地形的设计图后,接着由美术制作地形模组这样一般的形式,但是这样的过程却也浮现出了关卡设计师不只难以调整细节或变更,加上美术的作业成本太大的问题点。加藤先生说,「这对关卡设计师还有美术来说,都是非常绑手绑脚的状态」。就这样,在一面继承 2D 动作的《星之卡比》文化同时,也开始着手开发品质足以直接使用在成品上的地形模组自动生成系统。
以往的《星之卡比》系列的地图制作过程。先由关卡设计师用方块状的地形做出地图,
然后再把美术制作的部件自动配置。本次制作的自动生成系统拥有相似的体制。
《星之卡比 探索发现》策定制作相关的工作流技术。以关卡设计师做好的设计图为基础,再由美术制作 3D 模组。
但是这样的流程对关卡设计师来说不仅很难针对细节做调整或变更,连美术的作业成本也很大。
首先要共同分享想要制作出来的地形印象,于是做出了一套在关卡设计师做好的地形,加入美术想要实现的要素的绘图。能先让关卡设计师进行作业,据说也因此能展现出本作的特性。接着,由美术提出的「毛茸茸的地形边缘」「地形的一部分可以使用别种外观的部件」「仿佛自然形成的墙壁」等部分,就是自动生成系统制作的主题。能够生成代表系列的草原表面,以及在本作地图中让人印象深刻的毛茸茸地形边缘,在 HAL 研究所通称的「毛边(モコ)」要素得以实现。
关卡设计师在 Unity 使用做好的地图编辑器,先配置方块状的部件做出地形后,美术就可以把准备好的边缘零件利用 Maya 的 Curve Warp 功能配置就完成组合了。只要变换素材跟毛边,就可以做出沙漠或购物商场的效果,让人一目了然效率的成效如何。
根据美术的构想,做出毛茸茸的地形边缘「毛边」
地形由关卡设计师以方块状的部件做出
只是更换素材跟毛边而已,连沙漠的地面跟购物商场的地面都可以做出来
在跨部门的总体战,做出崭新的系统
于是乎,在关卡设计师与美术之间,透过程式打造而出的地形生成系统连系的体制 —— 加藤先生说,「跨部门的总体战」就此开始了。但是自动生成刚做好的时候,还没有完全达到美术要求的成品品质,因此之后又追加了「制作道路」「为了让地形呈现自然,山丘部件、扭曲功能、地形的崩坏挖洞效果」「破坏地型专用的崩坏部件」等各种功能。
举例来说,在制作道路这个功能,不是准备 mesh 或投影,而是使用了顶点色彩。首先在地图编辑器让想要变成道路的地方利用顶点色彩改变,自动生成的时候系统就会参照这个,并且将被顶点色彩改变的区域做成道路。
在地图编辑器针对地图做调整变得轻松,将材质盖上别的材质的时候,使用同样的 UV(※ 此处 U 指材质的 X 座标,V 指的是 Y 座标),有着使用边角也不会被拉长的好处。借此机制,就可以把累积在地面上的细砂或墙壁上的青苔等,使用在改变地形质感的部分。地形生成系统也可以自动设定碰撞的属性,所以能毫不费力表现出「走在细砂上面就会让尘埃飘起来」的感觉。
但是,因为地图编辑器只是用地形方块组合出地图而已,边角跟边缘那种直线的部分很容易做出给人不自然的印象。为了解决这点,于是导入了山丘部件跟地形的扭曲,还有地形的崩坏挖洞效果。山丘部件不做成方块型,而是准备了较自然的型状,而且可以直接放在地图上。扭曲功能则是对准直线地形边缘的顶点座标后,故意加入混杂错开的效果呈现出地形自然歪斜的感觉。
其中最有趣的就是崩坏挖洞部件了。只要在地形配置就可以让那块地呈现出坑洞的样子,加藤先生说「跟山丘部件是完全相反的功能」。只要放置山丘部件就可以让地形呈现隆起的样子,但崩坏挖洞部件则是相反做出坑洞的样子。换言之就是负向地形部件,或也可以说是把地形风化破坏的部件吧?正因为本作的舞台是文明荒废的世界,所以很适合这个功能部件,也很常使用在各种地方。崩坏挖洞部件也会用在门的部分。由于只要用部件就可以把地形挖出洞,所以关卡设计师在想要改变位置的时候也不用直接碰到地形方块,只要移动这个挖洞部件就可以了。
挖洞部件也很常被使用在 maya 的布林,并做出物件之间的 AND、OR、NOT 运算。只要崩坏挖洞部件利用这个,就可以使用在想要破坏的墙壁等部分。先用论理差挖开洞,接着用论理积做出可以埋进洞里的地形(变成破坏之前的状态)。把这个地形复制、切割之后,就会变成卡比进行破坏的时候产生的碎片。除此之外还有加入地形边角的倒角,自动对边角跟毛边的附近加上顶点色彩的功能等,提升自动生成的品质。
在早期自动生成的地形中,还残留有不自然的地方
加入形状较自然的山丘部件后,稍微缓和了不自然的印象
崩坏挖洞部件,也可以应用在门的部分
破坏专用的崩坏挖洞部件。可以在破坏这个地形的时候,让地形的碎片飞出来
追加包括倒角功能(左图)跟歪斜功能(右图),可以让地图外观看起来更自然
透过自动生成做出各式各样的关卡,两位美术也需要模拟出草原跟大楼、水泥地跟沙漠等,最后做出了大约 40 种资料。然后由 5~10 位关卡设计师制作、共 250 张的地图中,有 230 张地图是透过自动生成系统做出来的。关卡的形状可以保持原本的,也可以自由改变外观这点就是这个系统最大的好处,像是早期做成洞窟的关卡,只要改变外观,再用装饰部件重新配置就可以快速变换成游乐园关卡,这样的效率实在惊人。
准备了 40 种左右的基本图样资料
只要更换外观、重新配置装饰部件,就可以变成不同的地图使用在别的关卡
系统提升品质的变迁。多亏这套自动生成系统,可以同时实现游戏性跟外观美感两者要素
自动生成的流程
虽然也有 UV 中途断掉的时候,但是本作的视角镜头是反固定的关系,中断的部分也可以拿到镜头看不到的地方去
为了要配置毛边,所以安装了可以针对调整 mesh 细部变形的功能
因为是新开发的系统,在实际运用时不断的尝试错误。不只是输出地形的时候很花时间,也有失败的时候。
加上不停地更新基本图样资料的话,也可能会有让以前做好的地图变得过时等不同的麻烦与难处
这套自动生成系统的成效,也许在本作发售后获得的高评价就足以证明了吧。在游戏开发阶段,同时兼顾游戏性与美观是一项重要的课题。本传系列首次采用 3D 地图的本作,能够透过开发的新系统,同时实现带有浓厚玩心与美丽好看的外观。这样的技术力自然让人印象深刻,团队的挑战心也足以让这场讲座给人留下深刻的印象。