[闲聊] 萨尔达传说 王国之泪 如何无缝衔接制作过程

楼主: dogluckyno1   2024-09-11 01:21:10
原文标题:
【CEDEC 24】《萨尔达传说 王国之泪》如何连“制作过程”也实现无缝衔接?
原文网址:https://gnn.gamer.com.tw/detail.php?sn=273565
在 2024 年针对游戏开发者所举办的论坛“CEDEC 2024”里,举行了讲座“把《萨尔达传
说 王国之泪》”的世界串连起来的技术 ~将天空、地面、地底以及制作都带入无缝的领
域~”。
https://p2.bahamut.com.tw/B/2KU/90/6f0057904ae7de1de511d9c63c1rdea5.JPG
在该讲座里,介绍了《萨尔达传说 王国之泪》关于制作场景、无缝演出的制作过程及手
法等内容。演讲者为以下三位:
任天堂 企划制作部 技术总监 堂田卓宏
任天堂 企划制作部 程式总监 奥田贵洋
任天堂 企划制作部 地形程式设计负责人 斋藤智久
https://p2.bahamut.com.tw/B/2KU/91/60d4231fe9ad96555dadcf2cfb1rdeb5.JPG
https://p2.bahamut.com.tw/B/2KU/92/72d7868b6fdda3b66308de178e1rdec5.JPG
https://p2.bahamut.com.tw/B/2KU/93/e7a08891b78100aff3f6748e4d1rded5.JPG
《萨尔达传说 旷野之息》是采用二次元的设计
在讲座一开始时,作为介绍开发《萨尔达传说 王国之泪》(以下简称《王国之泪》)所
采用技术的前提,制作团队首先解说了有关于前作《萨尔达传说 旷野之息》(以下简称
《旷野之息》)的开发过程。
在《旷野之息》里,为了要以无缝技术来呈现出广大的世界与实现高自由度的游玩方式,
首先选择了必要的技术。举例来说“为了呈现出广大的世界”使用了在多边形绘制上具有
优势的延迟渲染技术,而“为了实现具备高自由度的动作”则选用了无论在任何状况下,
执行物理运算皆难以出现失误的物理引擎。
https://p2.bahamut.com.tw/B/2KU/94/0180bdeeeca562f1f3a1bd47f51rdee5.JPG
因此制作团队从想要实现的游戏元素中开始反向思考,在选择技术的过程中,开发团队最
重要的课题,便是“广大的世界”与“无缝式的移动”。关于前者的部分,在《旷野之息
》开发初期所举行的脑力激荡会议中,很明显的整个团队着眼的是“以平面的手法来呈现
的广大世界”,为此从以区域设计的观点而言,世界是平面的,也就是被视为二次元的设
计。
https://p2.bahamut.com.tw/B/2KU/95/9422806b024d33028ef902a1991rdef5.JPG
此外这种想法也连带使得无缝式移动的设计变得单纯起来,就结果来说,《旷野之息》的
区域是透过“处理远处的物件时较为省略细节,而面对近处的物件时则绘制的较为精细”
、“使重要的物件即使在远处也能出现,精细的物件则只有在玩家靠近时才会出现”的细
节层次(Level of Detail)技术,搭配上加载玩家的二次元(平面)移动资料的手法所
呈现出来的。
https://p2.bahamut.com.tw/B/2KU/96/db8dbf98df08d0f713d3063aac1rdeg5.JPG
为了实现想要实现的目标而选出了技术,同时也带来了“无法实现”的问题。透过在区域
里采用二次元的资料加载技术,会产生什么无法实现的问题呢?那就是“三次元的立体构
造”。
换句话说,《旷野之息》是一款有着可以爬墙,或是以滑翔翼进行滑翔等玩法的 3D 动作
游戏,但若是玩家仔细观察游戏设计跟实装内容,就会发现这是一款在二次元的限制下所
开发出的游戏。
https://p2.bahamut.com.tw/B/2KU/97/eef70f93a44f79ead888720e401rdeh5.JPG
相对而言《王国之泪》则是从开发初期的脑力激荡会议阶段起,便开始思索扩展地面、天
空、地底等垂直空间的想法。重要的是,开发团队有了想要挑战在《旷野之息》里所无法
实现的问题的想法。
此外《旷野之息》必须得根据 Wii U 的硬件规格来进行开发工作,但《王国之泪》则因
为是 Switch 专属的游戏,在硬件上的限制也比较少。回想起当时情况的堂田表示“要如
何将在《旷野之息》里实现的二次元处理方式,扩展至三次元的领域呢?这便是《王国之
泪》所面临的具体性技术课题了”。
https://p2.bahamut.com.tw/B/2KU/98/47d5db40ab1072c5e4495d56031rdei5.JPG
体现出三次元无缝式表现的“洞窟系统”
要将《王国之泪》化为三次元的设计,除了地面外还会存在空岛、洞窟、地底等区域,其
结果便是有必要在三次元的思维下重新思考有关资料的加载及细节层次等技术。
为此团队首先所着眼的部分是,不仅有着地面甚至还有着墙壁跟天花板的洞窟。为了运用
无缝技术绘制出身为三次元空间的洞窟,并实现使用资料加载及细节层次等技术,开发团
队开发出了一个全新的地形系统“洞窟系统”。
https://p2.bahamut.com.tw/B/2KU/99/797c8174d59effa4bfcb5d92f71rdej5.JPG
洞窟系统的特色
https://p2.bahamut.com.tw/B/2KU/00/f2bd9da99759a316a9e34d099d1rdek5.JPG
https://p2.bahamut.com.tw/B/2KU/01/44d5811913b2b692a63f274a221rdel5.JPG
也介绍了洞窟系统内的资料加载及细节层次等技术
制作团队意识到只要使用洞穴系统,便可以无缝地建构出一个大型的立体空间,因此便制
作出一个大型洞穴。透过将其设置在地下,便能建构出一个与地面无缝连接的巨大区域。
当开发团队在摸索在这个广大的空间下能够实现何种玩法时,催生出在黑暗中的探索跟只
有存在于地底的强敌展开战斗、载具之间的战斗等点子。
https://p2.bahamut.com.tw/B/2KU/02/c4eb177b0458d45d36c1609e821rdem5.JPG
https://p2.bahamut.com.tw/B/2KU/03/37aee68d368a9770f6d31899141rden5.JPG
经过反复测试,开发团队得出的结论是,如果地下有一块巨大的区域,会更容易打造出上
述的玩法。若地下跟地面之间有着联系关系,探索发现与游玩的循环便得以进一步扩大,
并催生出透过在实际上交叉探索地面与地底的过程中,获得有关两地间提示的体验。
https://p2.bahamut.com.tw/B/2KU/04/b79fc634897e3a953e05c94be01rdeo5.JPG
https://p2.bahamut.com.tw/B/2KU/05/bd97541af7b514f90607be25161rdep5.JPG
https://p2.bahamut.com.tw/B/2KU/06/54ec31ed84fe5586f33ff4e69d1rdeq5.JPG
地底的制作原则。地底是根据地面的资料为基础制作出来的,更依此订定了规则,
像在地面上凸起的地方会在地底呈现凹陷的状态,而地面上有着祠堂的地方,在地底也会
存在着储存点
https://p2.bahamut.com.tw/B/2KU/07/b6f66f91500a27c52dcb58a9821rder5.JPG
就连空岛的制作,也使用了洞窟系统
为了以无缝方式来连接区域而重新打造的加载系统
《王国之泪》的世界除了扩展至三次元的制作方向外,还同时针对系统面重新打造出比起
《旷野之息》能更为灵活加载物件的加载系统。其中一项便是能根据游戏的 Flag 来灵活
地替换物件的设计机制,被使用在村庄地形因游戏进度而产生大幅度变化的情况下。
另外,在《旷野之息》里会在进入大型迷宫时穿插加载画面,但在《王国之泪》里则准备
了事先加载独立区域资料的泛用处理机制,因此才得以实现以无缝方式进入独立区域的设
计。
https://p2.bahamut.com.tw/B/2KU/08/4ae582ebf1d7d76d04325dad781rdes5.JPG
https://p2.bahamut.com.tw/B/2KU/09/400fc031d003a731621b05e9101rdet5.JPG
https://p2.bahamut.com.tw/B/2KU/10/9b4de9f6fe35cb659fae6333bc1rdeu5.JPG
另一方面,由于加载系统的算法本身就是直接拿《旷野之息》里的算法来使用,因此
要如何加载地底或天空的资料也成为了一种全新的挑战。例如在身处于地底的情况下,由
于位于离地面相当远的深处,因此就不会有机会出现同时看到两种场景的情况。
为此,开发团队认为在地面时就只加载地面,在地底时就只加载地底的资料,这种方式较
能呈现出带有高密集度且广大的世界,首先当玩家抵达一定深度时,便会释放地面的资料
,并存取地底的资料。
然而在第一次实装作业时,因为释放跟加载无法及时完成的缘故,导致玩家在坠落至地底
的过程中画面会暂时停止。虽然这已经足以证明地底与地面相互连接,并能够直接从地面
前往地底,但就以作为一个游戏商品而言仍有不足,所以产生了必须得让释放与加载足以
及时运行,好实现以无缝方式呈现的坠落演出。
https://p2.bahamut.com.tw/B/2KU/11/8bce9aae90d36bb8081c595dc91rdev5.JPG
而开发团队则使用了四种方法来加以改善。第一种是“透过分析器进行可视化与处理作业
的重新排序”,它会将成为处理瓶颈的耗时处理作业,分割为立即需要处理的部分和不需
立即处理的部分,并将前者重新排序至不执行加载时的空闲时段,而后者则会被重新排序
至之后再处理等。
https://p2.bahamut.com.tw/B/2KU/12/fae47a8fd08d98a2d6730c24621rdew5.JPG
透过像这样的重新排序来解除处理上的瓶颈时,制作团队注意到档案本身经常无法及时载
入的缘故,于是制作团队开始思考“减少需加载的档案数量”这样的方法。
在以二次元为基础的加载系统里,会根据每个物件所设定的显示距离来进行加载的动作,
包含悬崖底下等处实际上看不到的物件也会进行加载。因此开发团队在玩家有可能到达的
复数地点设置了拍摄点,只要使用被判定为无法从该处看到的物件的拍摄资料,就能够减
少需加载的档案数量。
https://p2.bahamut.com.tw/B/2KU/13/9975c3b4182b8b32baf181c5bc1rdex5.JPG
另外开发团队也着手进行“缩小需加载的档案大小”的方法。比如说判断模组中使用的材
质的分辨率是否合适,如果降低分辨率没有问题,则会自动降低模组分辨率。
https://p2.bahamut.com.tw/B/2KU/14/fdfb3201da549e0c2217fbbfea1rdey5.JPG
https://p2.bahamut.com.tw/B/2KU/15/2e91cf515f417c268d2307c8b31rdez5.JPG
不过由于仍旧存在着即使使用上列三种手法,还是无法及时加载的案例,因此开发团队这
次则选择在“提前进行加载”的方法上下了功夫。
具体来说,首先将所有进入地底时需要读取的档案列为清单。然后当玩家接近洞口时,尽
可能在内存容许的范围下加载那些清单档案。
正因有像这样经调整后的结果,在正式版本里才得以实现进入地底时的无缝式移动。
https://p2.bahamut.com.tw/B/2KU/16/17fc0af5e6ea8f65f3d740d1ca1rdf05.JPG
那么在天空世界时的加载情况又如何呢?由于在试作设置阶段时的空岛是属于游戏设计师
仍在进行反复尝试的阶段,因此采用的是“姑且置之不理”的政策。这是因为要是在空岛
的设计确定前就实装读取方式的话,那就不能把无法对应该读取方式的创意加入至空岛里
了。
https://p2.bahamut.com.tw/B/2KU/17/716cb83c78073a585398e6e5f61rdf15.JPG
因此,游戏设计师利用《旷野之息》的加载系统不受限制地测试空岛,并逐步缩减出筛选
出空岛真正所需物件的环境。其结果,就是在空岛上设置了众多的物件与机关,并整顿出
具备如与主线故事有关的大型设施、充当空中移动时航点的小型设施,以及需从中摸索该
如何抵达该处的地方等功能的设计内容。
https://p2.bahamut.com.tw/B/2KU/18/826c79aedbea5a7776dbafd7771rdf25.JPG
依照那些功能,配合玩家的行动,只加载一座大型空岛、若周遭有小型空岛,则会在加载
多个小型空岛的资料后,将其资料暂存至内存中,而未加载的空岛,则是透过配置情报
显示出于事前绘制好细节层次的样本资料等方针来加以进行实装。透过以这样的方式来定
义单位,并于事前赋予定位的方法,就能将移除空岛并替换为其他空岛的过程予以高速化

https://p2.bahamut.com.tw/B/2KU/19/e73da324a87afc2871e72bf7231rdf35.JPG
在讲座的最后,还提及了“为了以无缝方式串连起世界所需的方法”跟“为实现无缝制作
而改善的工作流程”等话题。
https://p2.bahamut.com.tw/B/2KU/20/ce9d79cc0f46a7408dce2482ce1rdf45.JPG
https://p2.bahamut.com.tw/B/2KU/21/430ef43d1cb23bc6152e3a88cd1rdf55.JPG
https://p2.bahamut.com.tw/B/2KU/22/e9bf6b91532ec236402c9b2b591rdf65.JPG
https://p2.bahamut.com.tw/B/2KU/23/7a5be5a9306019b424f835271a1rdf75.JPG
https://p2.bahamut.com.tw/B/2KU/24/81a8ccaf695b540833de65878c1rdf85.JPG
https://p2.bahamut.com.tw/B/2KU/25/02e5cf9cc493cc0ec659ebb31d1rdf95.JPG
堂田在最后表示,在游玩《王国之泪》的过程中若存在着俯瞰著世界的情景,当然也有着
只专注于眼前事物的场景,透过反复切换这些场景,便会令玩家的脑海中建构出一个游戏
世界。
而在游戏开发的过程中,讲者提到制作团队有时会以制作周期这样的长时间单位思考最佳
化,也有时候会以 1/1000 秒这样的极短时间单位来思考,或者是若以整个团队的反复
运行周期为考量的话,则也有可能着眼于多边形单位上,并在最后以“《王国之泪》的开
发工作需要在宏观和微观的视角之间来回切换,这对想以无缝方式实装广大的区域来说是
必要的”为本次的讲座作出了总结。
https://p2.bahamut.com.tw/B/2KU/26/4c425e1e3ee039a41261e3e7f71rdfa5.JPG
《萨尔达传说王国之泪》官方网站:https://gnn.gamer.com.tw/counter.php?sn=283775
作者: katuski (牙月)   2024-09-11 02:19:00
总之,先跪着看就对了。
作者: ay618530201 (空气)   2024-09-11 06:14:00
switch 跟 wii u 性能不是差不多吗?
作者: A5Watamate (出荷済)   2024-09-11 06:35:00
白话:花很多时间跟人力做场景物件读取顺序清单
作者: NekomataOkay (u)   2024-09-11 08:12:00
原神:好好好
作者: ocarina2022 (吹拂过海原的微风)   2024-09-11 10:35:00
GF的朱紫就是没用这些技术(或不会) 玩起来就很卡
作者: kyphosis (摔倒)   2024-09-11 10:51:00

Links booklink

Contact Us: admin [ a t ] ucptt.com