《塞尔达传说 王国之泪》如何连「制作过程」也实现无缝衔接?

编辑:网友 来源:网络 时间:2024-09-10 11:12:45

在 2024 年针对游戏开发者所举办的论坛「CEDEC 2024」里,举行了讲座「把《萨尔达传说 王国之泪》」的世界串连起来的技术 ~将天空、地面、地底以及制作都带入无缝的领域~」。

在该讲座里,介绍了《萨尔达传说 王国之泪》关于制作场景、无缝演出的制作过程及手法等内容。演讲者为以下三位:

任天堂 企划制作部 技术总监 堂田卓宏

任天堂 企划制作部 程式总监 奥田贵洋

任天堂 企划制作部 地形程式设计负责人 斋藤智久

《萨尔达传说 旷野之息》

是採用二次元的设计

在讲座一开始时,作为介绍开发《萨尔达传说 王国之泪》(以下简称《王国之泪》)所採用技术的前提,制作团队首先解说了有关于前作《萨尔达传说 旷野之息》(以下简称《旷野之息》)的开发过程。

在《旷野之息》里,为了要以无缝技术来呈现出广大的世界与实现高自由度的游玩方式,首先选择了必要的技术。举例来说「为了呈现出广大的世界」使用了在多边形绘制上具有优势的延迟渲染技术,而「为了实现具备高自由度的动作」则选用了无论在任何状况下,执行物理运算皆难以出现失误的物理引擎。

因此制作团队从想要实现的游戏元素中开始反向思考,在选择技术的过程中,开发团队最重要的课题,便是「广大的世界」与「无缝式的移动」。关于前者的部分,在《旷野之息》开发初期所举行的脑力激盪会议中,很明显的整个团队着眼的是「以平面的手法来呈现的广大世界」,为此从以区域设计的观点而言,世界是平面的,也就是被视为二次元的设计。

此外这种想法也连带使得无缝式移动的设计变得单纯起来,就结果来说,《旷野之息》的区域是透过「处理远处的物件时较为省略细节,而面对近处的物件时则绘制的较为精细」、「使重要的物件即使在远处也能出现,精细的物件则只有在玩家靠近时才会出现」的细节层次(Level of Detail)技术,搭配上载入玩家的二次元(平面)移动资料的手法所呈现出来的。

为了实现想要实现的目标而选出了技术,同时也带来了「无法实现」的问题。透过在区域里採用二次元的资料载入技术,会产生什么无法实现的问题呢?那就是「三次元的立体构造」。

换句话说,《旷野之息》是一款有着可以爬墙,或是以滑翔翼进行滑翔等玩法的 3D 动作游戏,但若是玩家仔细观察游戏设计跟实装内容,就会发现这是一款在二次元的限制下所开发出的游戏。

相对而言《王国之泪》则是从开发初期的脑力激盪会议阶段起,便开始思索扩展地面、天空、地底等垂直空间的想法。重要的是,开发团队有了想要挑战在《旷野之息》里所无法实现的问题的想法。

此外《旷野之息》必须得根据 Wii U 的硬体规格来进行开发工作,但《王国之泪》则因为是 Switch 专属的游戏,在硬体上的限制也比较少。回想起当时情况的堂田表示「要如何将在《旷野之息》里实现的二次元处理方式,扩展至三次元的领域呢?这便是《王国之泪》所面临的具体性技术课题了」。

体现出三次元无缝式表现的「洞窟系统」

要将《王国之泪》化为三次元的设计,除了地面外还会存在空岛、洞窟、地底等区域,其结果便是有必要在三次元的思维下重新思考有关资料的载入及细节层次等技术。

为此团队首先所着眼的部分是,不仅有着地面甚至还有着墙壁跟天花板的洞窟。为了运用无缝技术绘制出身为三次元空间的洞窟,并实现使用资料载入及细节层次等技术,开发团队开发出了一个全新的地形系统「洞窟系统」。

洞窟系统的特色

也介绍了洞窟系统内的资料载入及细节层次等技术

制作团队意识到只要使用洞穴系统,便可以无缝地建构出一个大型的立体空间,因此便制作出一个大型洞穴。透过将其设置在地下,便能建构出一个与地面无缝连接的巨大区域。当开发团队在摸索在这个广大的空间下能够实现何种玩法时,催生出在黑暗中的探索跟只有存在于地底的犟敌展开战斗、载具之间的战斗等点子。

经过反覆测试,开发团队得出的结论是,如果地下有一块巨大的区域,会更容易打造出上述的玩法。若地下跟地面之间有着联繫关系,探索发现与游玩的循环便得以进一步扩大,并催生出透过在实际上交叉探索地面与地底的过程中,获得有关两地间提示的体验。

地底的制作原则。地底是根据地面的资料为基础制作出来的,更依此订定了规则,

像在地面上凸起的地方会在地底呈现凹陷的状态,而地面上有着祠堂的地方,在地底也会存在着储存点

就连空岛的制作,也使用了洞窟系统

为了以无缝方式来连接区域而重新打造的载入系统

《王国之泪》的世界除了扩展至三次元的制作方向外,还同时针对系统面重新打造出比起《旷野之息》能更为灵活载入物件的载入系统。其中一项便是能根据游戏的 Flag 来灵活地替换物件的设计机制,被使用在村庄地形因游戏进度而产生大幅度变化的情况下。

另外,在《旷野之息》里会在进入大型迷宫时穿插载入画面,但在《王国之泪》里则准备了事先载入独立区域资料的泛用处理机制,因此才得以实现以无缝方式进入独立区域的设计。

另一方面,由于载入系统的演算法本身就是直接拿《旷野之息》里的演算法来使用,因此要如何载入地底或天空的资料也成为了一种全新的挑战。例如在身处于地底的情况下,由于位于离地面相当远的深处,因此就不会有机会出现同时看到两种场景的情况。

为此,开发团队认为在地面时就只载入地面,在地底时就只载入地底的资料,这种方式较能呈现出带有高密集度且广大的世界,首先当玩家抵达一定深度时,便会释放地面的资料,并存取地底的资料。

然而在第一次实装作业时,因为释放跟载入无法及时完成的缘故,导致玩家在坠落至地底的过程中画面会暂时停止。虽然这已经足以证明地底与地面相互连接,并能够直接从地面前往地底,但就以作为一个游戏商品而言仍有不足,所以产生了必须得让释放与载入足以及时运行,好实现以无缝方式呈现的坠落演出。

而开发团队则使用了四种方法来加以改善。第一种是「透过分析器进行可视化与处理作业的重新排序」,它会将成为处理瓶颈的耗时处理作业,分割为立即需要处理的部分和不需立即处理的部分,并将前者重新排序至不执行载入时的空闲时段,而后者则会被重新排序至之后再处理等。

透过像这样的重新排序来解除处理上的瓶颈时,制作团队注意到档案本身经常无法及时载入的缘故,于是制作团队开始思考「减少需载入的档案数量」这样的方法。

在以二次元为基础的载入系统里,会根据每个物件所设定的显示距离来进行载入的动作,包含悬崖底下等处实际上看不到的物件也会进行载入。因此开发团队在玩家有可能到达的复数地点设置了拍摄点,只要使用被判定为无法从该处看到的物件的拍摄资料,就能够减少需载入的档案数量。

另外开发团队也着手进行「缩小需载入的档案大小」的方法。比如说判断模组中使用的材质的解析度是否合适,如果降低解析度没有问题,则会自动降低模组解析度。

不过由于仍旧存在着即使使用上列三种手法,还是无法及时载入的案例,因此开发团队这次则选择在「提前进行载入」的方法上下了功夫。

具体来说,首先将所有进入地底时需要读取的档案列为清单。然后当玩家接近洞口时,尽可能在记忆体容许的范围下载入那些清单档案。

正因有像这样经调整后的结果,在正式版本里才得以实现进入地底时的无缝式移动。

那么在天空世界时的载入情况又如何呢?由于在试作设置阶段时的空岛是属于游戏设计师仍在进行反覆尝试的阶段,因此採用的是「姑且置之不理」的政策。这是因为要是在空岛的设计确定前就实装读取方式的话,那就不能把无法对应该读取方式的创意加入至空岛里了。

因此,游戏设计师利用《旷野之息》的载入系统不受限制地测试空岛,并逐步缩减出筛选出空岛真正所需物件的环境。其结果,就是在空岛上设置了众多的物件与机关,并整顿出具备如与主缐故事有关的大型设施、充当空中移动时航点的小型设施,以及需从中摸索该如何抵达该处的地方等功能的设计内容。

依照那些功能,配合玩家的行动,只载入一座大型空岛、若周遭有小型空岛,则会在载入多个小型空岛的资料后,将其资料暂存至记忆体中,而未载入的空岛,则是透过配置情报显示出于事前绘制好细节层次的样本资料等方针来加以进行实装。透过以这样的方式来定义单位,并于事前赋予定位的方法,就能将移除空岛并替换为其他空岛的过程予以高速化。

在讲座的最后,还提及了「为了以无缝方式串连起世界所需的方法」跟「为实现无缝制作而改善的工作流程」等话题。

堂田在最后表示,在游玩《王国之泪》的过程中若存在着俯瞰着世界的情景,当然也有着只专注于眼前事物的场景,透过反覆切换这些场景,便会令玩家的脑海中建构出一个游戏世界。

而在游戏开发的过程中,讲者提到制作团队有时会以制作週期这样的长时间单位思考最佳化,也有时候会以 1/1000 秒这样的极短时间单位来思考,或者是若以整个团队的反覆运行週期为考量的话,则也有可能着眼于多边形单位上,并在最后以「《王国之泪》的开发工作需要在宏观和微观的视角之间来回切换,这对想以无缝方式实装广大的区域来说是必要的」为本次的讲座作出了总结。

资讯攻略

更多

热门软件 hot-app

更多

排行榜 hot-app

更多

热门资讯 aggretation

更多

软件合集 aggretation

更多