

2024年3月18日~3月23日,GDC(Game Developers Conference,游戏开发者大会)在美国旧金山举办。 其中包括《塞尔达传说:王国之泪》的相关讲座:Tunes of the Kingdom: Evolving Physics and Sounds for ‘The Legend of Zelda: Tears of the Kingdom(『王国之律动:《塞尔达传说:王国之泪》物理与声音的演变』)
by 堅田ヒカル 編集部,2024.03.21 17:15
原报道:■(Fami 通)『ゼルダの伝説 ティアキン』自由な“掛け算の遊び”を生むために。「全部物理で作る」を決断するまで【GDC 2024】 原链接:■ https://www.famitsu.com/news/202403/21337727.html





登场的三位任天堂演讲者: 「堂田卓宏」技术总监 「高山貴裕」物理主程序员 「長田潤也」音效主程序员
在题为 Tunes of the Kingdom: Evolving Physics and Sounds for ‘The Legend of Zelda: Tears of the Kingdom(『王国之律动:《塞尔达传说:王国之泪》物理与声音的演变』)的演讲中,任天堂的开发者们从物理设计和声音设计的角度,讲述了这个作品的世界是如何被创造出来的。
本文将特别介绍演讲的前半部分,即物理系统设计的部分。

※关于后半部分的声音系统设计可查看以下链接。 网页链接网页链接 GDC 2024(音效)『王国之旋律:《塞尔达传说:王国之泪》物理与声音的演变』 https://www.bilibili.com/read/cv33383817/

※剧透警告!
※为了解释开发内容,本场演讲包含一些神庙的解谜等剧透,请注意。

《王国之泪》技术总监「堂田卓宏」

「堂田卓宏」参与过的游戏作品
■ 目录
•「全部用物理来制作」
•为了更多的游戏乐趣,进一步寻求了两种进化路线
•物理引擎驱动←→预制动画驱动的相性很差
•通过物理引擎驱动得到的更多发现
•「倒转乾坤」也用物理演算来驱动!
•小结:制作「完全基于物理引擎驱动的世界」的原因
•即便没有专用程序,但独特交互仍会发生的系统是什么?
•没有特定车辆程序,但仍可以进行驾驶
•部件介绍
•更重要的是
•齐心协力的团队
•总结
首先,任天堂开发者们讨论了《塞尔达传说:王国之泪》游戏世界的物理法则。
他们解释了如何设计出这个作品的物理设定,使得玩家可以组合盾牌和冻肉来制作滑下斜坡的滑板,或者用便携锅和车轮来制作汽车。
物理部分主程序员高山贵裕解释了如何设计出《王国之泪》的物理设定,在游戏中你可以通过结合盾牌和冻肉来创造出一块可以从山上滑下的滑板,或者使用便携锅和轮子创造一辆车。



将物体都粘合在一起
网页链接(47min48s)

『塞尔达传说』的『乘法游戏』:所有游戏物体都由同一套世界法则所相互连接(e.g., 物理法则,化学法则)
在《塞尔达传说:王国之泪》中,通过林克的能力「究极手」,可以将各种对象粘在一起,创造出各种各样的东西。
所有的对象都通过相同的法则(物理法则、化学法则等)相互关联。玩家可以自己思考并尝试前进的方式,通过这种组合,我们的目标是产生在前作《塞尔达传说:旷野之息》中所提倡的「乘法游戏」的乐趣。

『ゼルダの伝説』のニュースや制作秘話をお届けします。
https://www.nintendo.com/jp/character/zelda/blog/index-04.html
《王国之泪》在「扩展宏大且无缝的海拉鲁」的概念下进行制作,当幻灯片中介绍了「我想要挖洞」的制作人青沼英二的照片时,会场被笑声包围了。

「I want to dig holes.」――Producer Eiji Aunoma
此时,演讲者将话筒交给了高山贵裕,他将触及更具体的内容。

《王国之泪》物理部分主程序员「高山贵裕」

「高山贵裕」参与过的游戏作品
由于《王国之泪》是一款物理演算在各种方面相互交织的作品,高山贵裕在编程制作中面临了非常高的难度。对象之间相互影响,经常出现意想不到的行为。在开发过程中,他说:「世界自己就开始崩溃了(根本用不着加农多夫),开发过程变得混乱。」



《塞尔达传说:王国之泪》的物理演算概念图。该图展示了基于物理引擎中间件Havok,并利用公司内部的物理库,在此基础上进行本作的演算。
为了让「乘法游戏」变得更加有趣,开发团队努力做到了两件事。
他们将对这些进行解释,但首先,他们从「完全基于物理引擎驱动的世界」成为必要的原因开始讲述。
「物理引擎驱动←→运动学(预制动画)驱动的相性很差」

使更有趣的「乘法游戏」成为现实:「完全基于物理引擎驱动的世界」+「即便没有专用程序,但独特交互仍会发生的系统」

「物理引擎驱动」的解释:物理引擎通过设置物体的「质量」「惯性矩」「速度」和「加速度」来驱动物体。
物理引擎驱动
在开发过程中,「物理引擎驱动」是指:为由「动力学刚体」和「约束」(以约束的方式)构成的对象赋予「质量」和「惯性矩」,然后通过「速度」和「加速度」进行控制。
运动学驱动(预制动画驱动)
相反地,也有「非物理引擎驱动」的方式,其被称为「运动学刚体」驱动(预制动画驱动)。这是一种通过动画计算出的速度而强行移动对象的方法,由于实现简单,结果也容易理解,所以在开发初期经常被使用。

非物理对象的说明。大致上,可以说「设置物体的属性并通过物理引擎进行驱动 = 物理引擎驱动」,「为其设置动画并手动添加运动 = 非物理引擎驱动」(预制动画驱动)。
然而,由预制动画驱动的刚体具有无限的质量,这会导致物理演算出现故障。在以上幻灯片的照片中,可以看到一块大齿轮,它包裹着一个铁块。
当我们在开发物理引擎驱动和非物理引擎驱动的东西时,会不断收到一系列类似「它坏了!」、「它飞走了!」的报告。 对此,高山贵裕则回答说:「我知道了,我稍后会修复它!!首先,试试去玩你想玩的游戏。」并寻找解决方案。

「究极手」的高自由度,也直接关系到开发过程的高难度。
解决问题的线索是在前作《塞尔达传说:旷野之息》的开发经验中找到的。


「物理引擎驱动的齿轮」齿轮约束,自由铰链约束,发动机,地面等因素互相作用
「为其设置动画并手动添加运动 = 非物理引擎驱动」(预制动画驱动)
照片显示的是由于上述「非物理引擎驱动」而崩溃的故障对象。
我们将其从「非物理引擎驱动」改为「发动机驱动」(物理引擎驱动)的其中一部分,所有的计算都按照物理法则完成,从而消除了故障问题。有了这个经验,我们得出了「移除世界中非物理引擎驱动的物体,完全基于物理引擎来驱动一切,即可解决问题」的想法。
虽然现在说的显得如此轻描淡写,但这其实真的很困难……因为正如先前所说,「运动学刚体驱动(预制动画驱动)的优点是实现简单,结果也容易理解」,而此时则要完全放弃这一点……关于如何实现这一点,与文章后半部分的讨论内容有关。
物理引擎驱动的门
在《王国之泪》开发初期实现的门,是非物理引擎驱动的,当使用究极手时会引发故障。
在当时的实现中,当玩家在门下放置物体时,被预制动画非物理引擎驱动的门可能会导致任何物体被压入地面,从而导致故障。因此,为了防止故障,我们决定将门改为完全由物理引擎驱动。

非物理引擎驱动(预制动画驱动)的门。当在关闭的门下放置冰块时,具有无限质量的门会将冰块压入地面,被挤压的冰块会微小地高速震动,产生所谓「出现故障」等奇怪感觉的动作。

完全基于物理引擎驱动的门。下降的门被冰块阻挡时,两侧出现了缝隙。
「通过物理引擎驱动得到的更多发现」
根据物理法则进行计算,不仅消除了故障,而且「将非物理引擎驱动,转化为完全基于物理引擎驱动的实现,为开发团队带来了更多的发现」,高山贵裕说。
接下来的例子是在某个神庙中,通过缩小冰块来按下开关的机制。

地板和天花板的空间都很窄,冰块无法进入。

如果我用火把让冰融化一点,让它变小了会怎么样呢!?

通关啦~♪(经典音效响起)
当把冰块放在开关上时,门就会打开;但如果冰块太大,就会卡在外面。所以我们预想的解法是用火把融化冰块,使其变小后再进行移动。
然而,我们还提出了另一种解法,即让林克自己站在开关上,然后抬起门,再在这种状态下移动冰块,将其放在门下。就像刚才的幻灯片所示,现在可以通过冰块与门两边形成的缝隙穿过去了。
为了防止世界的崩溃,我们改变了门的驱动方式,使其完全由物理引擎驱动。结果,我们找到了一种不需要关闭门的解决方案。「这正是我们所追求的「乘法游戏」形式,我们已经确认了所有对象都基于物理引擎驱动是正确的路线。」(高山贵裕)。
「「倒转乾坤」也用物理演算来驱动!」
此外,林克获得的能力之一「倒转乾坤」,最初也是由非物理引擎驱动的,后来才被改为完全基于物理引擎驱动。


「倒转乾坤」最初由非物理引擎驱动,马车被石块撞得粉碎。
最终,就像游戏中的其它所有物体一样,「倒转乾坤」也被改为完全基于物理引擎驱动来实现。结果,无论玩家进行何种操作,世界都不会崩溃。

完全基于物理引擎驱动的「倒转乾坤」。无论是马车还是由「倒转乾坤」操作的对象,都按照相同的物理法则进行计算,因此可以无差错地进行表达。

《王国之泪》「倒转乾坤」相关专利:US20210370178, JP7436293B2
「小结:制作「完全基于物理引擎驱动的世界」的原因」
在这里,高山贵裕总结说:「在像本作这样具有极高自由度的世界中,整个世界都需要完全基于物理引擎驱动。所有物体都是由动力学刚体和约束构建的,无一例外。这样就可以让玩家尽情发挥创造力,而不会出现恶性故障。」

「完全基于物理引擎驱动的世界」。为了实现「乘法游戏」,整个世界的一切都必须由物理引擎驱动,无一例外。
接下来介绍的是,为了实现更丰富的「乘法游戏」而需要的另一个元素:「即便没有专用程序,但独特交互仍会发生的系统」。
虽然解释起来有点复杂,但在《王国之泪》中,玩家可以自己制作像车辆这样的交通工具,或者制作攻击魔物的装置。然而,诸如「车辆程序」或「攻击机器人程序」之类的专用程序并未单独构建。
以车辆为例,各个元素(轮胎、操纵杆、木板等)都有实现,玩家可以组合这些元素,自由地实现车辆(驾驶)这个事件。

车辆并非作为固定单体来实现,而是构造了「能够创建车辆的系统」。没有专用的「车辆程序」,只是车轮、操纵杆、木板等元件作为一个整体在起作用。
除了车辆,高山贵裕还举例说明了用轮胎、石板、链条组合而成的门。轮胎的滚动卷起链条,便能将门打开,而不需要专用的开门程序。

没有专用的「车辆程序」,利用轮胎卷起链条,石门就会随着打开。
在水上行驶的桨船也是同样的道理,无须专用的「行驶桨船」程序,通过轮胎,木板,水的浮力、阻力等元素之间的交互作用,便可以产生「行驶桨船」这个事件。

「部件介绍」
高山贵裕还解释了通过组合可以产生各种交互事件的部件。
轮胎

轮胎的构件:
•车轮
•发动机
•轮轴
轮胎由上述三种刚体组成,轮轴并不直接连接到车轮,而是支撑发动机。发动机的扭矩被传递到车轮,车轮实际上会使刚体旋转,并且通过与地面的摩擦,从而获得推进力。
链条

链条用于拉动物体或改变力的作用方向。据说这是根据长度将多个刚体元件进行约束和连接制作而成的。
木板和水的表现

本作根据速度方向和投影面积来进行物理计算,以表达水的阻力。
一种用来表达水的阻力的简单方法,是将木板无论以何种角度沉入水中,都会以相同的方式下沉或漂浮。但《王国之泪》并没有这么做。当竖立的板子沉入水中时,会受到更大的阻力,从而弹起来;当横放的板子沉入水中时,则会受到较小的阻力,从而慢慢浮出水面。
这是因为对于船筏来说,根据面积变化而产生的速度差异是非常重要的,这能使物体的运动更具有说服力。高山贵裕说,这种水的阻力的相关计算被平等地应用到了所有的对象上,从而实现了「行驶桨船」这个事件。

水体作为一种组件用来激发「特定的交互」

「即便没有专用程序,但独特交互仍会发生的系统」

《王国之泪》「载具物理演算」相关专利:JPA 2023103273
高山贵裕认为,「一个好的游戏机制,是不需要任何特殊实现,就可以实现各种事件的机制」,并且已经实现了许多可以产生事件的部件。 然后他满脸笑容地说道:「看到玩家们利用开发团队从未想象过的创造组合、经历了这么多的冒险。我真的特别开心。」
他们展示的「我们从未想到的创造组合」是……

「克洛格它们也很高兴」「コログたちも喜んでいますね」(高山贵裕) https://x.com/chocrab_1226/status/1770767623866773568?s=20 网页链接
由木材、操纵杆、风扇和克洛格等组合制作的、可以吊起并旋转克洛格的克洛格旋转木马装置。这个视频在现场引起了轰动,满座的观众爆发出了热烈的笑声。

到目前为止,任天堂已经介绍了「完全基于物理引擎驱动的世界」和「即便没有专用程序,但独特交互仍会发生的系统」。
然而,仅有这些还不足以实现理想中的游戏。高山贵裕说,真正需要的是「整个团队的齐心协力」。他说,他们采取了措施来帮助团队的每个成员都能了解想要实现的游戏,以及他们需要为此做些什么来实现这一目标。
齐心协力的团队

作为一个团队整体,共同协作也很重要。
任天堂简要地介绍了团队内部的工作。
对象参数的自动化设置
首先,为了创建一个「完全基于物理引擎驱动的世界」,任天堂的程序员、游戏设计师和艺术家们一起合作,正确地对物理参数进行设置。具体来说,通过指定其材料属性的对象(例如木材、铁器、石头等),可以确定这个对象的密度,并自动计算出质量和惯性矩。据说他们使用了一种工具,能够根据形状自动计算出所需的体积。

然而,在某些情况下,自动计算无法正常工作。这时,工程师们就会与艺术家和游戏设计师们齐心协力地合作,一起进行设置。

例如,实际游戏中的「板」由于可视性和操作性等原因,比现实中的板要厚。在这种情况下,如果按照形状的厚度进行自动计算,质量会变得过重,因此开发者们对质量和惯性矩进行了校正,使其符合易于观察、易于操控的期望。


正是因为开发者们的不断优化和调整,《王国之泪》中天马行空的创造才能如此易于操作。
神庙机关试验区

由于神庙的机关都是基于物理驱动的,所以都经过了非常精确严缜的设计,开发者们还创建了一个试验区,可以随时确认每个部件是否正常运动。
马车是工程师和艺术家的共同作品

在制作像马车这样复杂的物体时,工程师和艺术家之间进行了密切的沟通。高山贵裕说,像轮子的大小和位置是根据物理驱动设计的,艺术家们则创作了与之匹配的最佳外观。
工程师们和艺术家们共同努力,根据游戏内的物理法则,使用板子、轮子、链条等材料来设计游戏。
物理演算和游戏设计间的相互关系


轮胎除了被用于制作车辆以外,还能被用于机关设计,例如根据投影面积变化的水的阻力计算的机关。高山贵裕说,轮胎是引发事件的部件,也是艺术、物理和游戏设计共同协作的结果。


轮胎的设计过程。本作的轮胎内置了悬挂系统。轮轴通过悬挂系统支撑发动机,发动机给轮子提供驱动力,以此结构运行,发动机前端便可以上下左右进行移动,从而增加轮胎接触地面的时间。
便携锅
本场演讲已经介绍了各种各样的对象,最后是本作新引入的「便携锅」。

别把汤洒出来!
「便携锅」是一个可以在任何地方放置并烹饪食物的道具。由于锅可以自由放在任何地方,所以不一定要放在平坦的地面上。如果放在斜面上,那么食物可能就会溢出。为了解决这个问题,艺术家提出了「添加可伸缩的足部」的建议。

最终没有采用这种可伸缩的足部,而是采用了锅的顶部和底部专门设计的关节式结构。

便携锅的锅体与基座的锥形极限约束、弹簧阻尼器约束。
由于便携锅的这种关节式结构系统,它能以意想不到的方式被玩家使用。

便携锅作为触发特殊交互的元件
例如,它可以作为连接车辆前后部分的关节,使车辆能够在复杂的地形上行驶,有时还能够被用作具有优秀越野性能的车辆部件。
最后,高山贵裕说:「为了无故障地创建本作栩栩如生的宏大世界,需要工程师、游戏设计师和艺术家深入理解他们想要实现的世界,并进行协同合作。」然后,他将演讲交给了声音部分的主程序员长田润也。

在本次演讲中,高山贵裕讲述了《塞尔达传说:王国之泪》游戏中所蕴含的秘诀:
•游戏系统完全基于物理引擎驱动,因此游戏整体统一,不会导致崩溃。
•无需通过专用程序即可实现独特的交互事件。
•极大地丰富了玩家的想象力,「乘法游戏」得以大大扩展。
•这些创造都是因为团队齐心协力,进行了深入的沟通和研究。
这些部分都不是独立存在的,而是有机地相互紧密联系在一起。
演讲将继续由声音部分的主程序员长田润也进行,但本文将暂时结束。编辑们正在旧金山的加利福尼亚酒店努力制作演讲的后半部分,敬请期待公开。

■『ゼルダの伝説 ティアキン』自由な“掛け算の遊び”を生むために。「全部物理で作る」を決断するまで【GDC 2024】
①https://www.famitsu.com/news/202403/21337727.html
②https://www.famitsu.com/images/000/337/727/65fb919f00c76.html
■『ゼルダの伝説 ティアキン』サウンドが「勝手に鳴る」仕組みを作った。自由で広大なハイラルを彩る音の世界【GDC 2024】
①https://s.famitsu.com/news/202403/22337814.html
②https://www.famitsu.com/images/000/337/814/65fcb0462f6cc.html
■『スーパーマリオブラザーズ ワンダー』が不思議あふれる2Dマリオとして新生した方法。採用されなかったワンダーや開発資料も公開【GDC 2024】 ①https://www.famitsu.com/news/202403/21337720.html ②https://www.famitsu.com/images/000/337/720/65fb96818f1c1.html
■GDC2024 | 对话任天堂总监:做《王国之泪》,需要大道至简。 https://www.163.com/dy/article/ITRHI7FT0511CVBI.html
■[GDC 2024]「ゼルダの伝説 ティアーズ オブ ザ キングダム」の自由な遊びは,現実的な物理のルールで世界ができていたからだった https://www.4gamer.net/games/578/G057883/20240321087/
网页链接 网页链接 网页链接 网页链接 网页链接 ■《勇者斗恶龙》导演藤泽仁与《塞尔达传说》制作人青沼英二对谈录「DQ & TLoZ」