针对游戏开发者举办的会议讲座“CEDEC 2020”在最后一天 2020 年 9 月 4 日,举办了以
“《健身环大冒险(リングフィット アドベンチャー)》的软硬件一体式开发~跨越开发周期的差异~”为主题的讲座。
采用称为 Ring-Con 前所未见的控制器,以至今为止从未出现过的游戏之姿创造出了庞大热潮的《
健身环大冒险》。此次讲座是由任天堂的
田邨嘉隆、
和田真树、
成濑文觉三人来讲述本作在开发时的情况。揭露了开发周期各有不同的“硬件班”、“系统班”、“游戏班”相互踏入对方的领域来革新想法的创举,在此将为玩家们送上这次讲座的情况。
关于《
健身环大冒险》,笔者认为已经不需要再多加详细说明了。该作品是兼顾了运用可侦测推压力道的圆环型控制器“Ring-Con”来进行运动,以及于幻想世界里进行冒险的 RPG 等两种要素的游戏软件。Ring-Con 采用了纤维强化塑胶所制成的弹簧,能够确实让人享受到带有负担的运动。
要使用前所未见的控制器来制作游戏,不可或缺的是田邨率领的“硬件班”、成濑的“系统班”、和田的“游戏班”之间的相互协助。硬件班是负责以研讨材料跟组合方式,在物理层面上来开发 Ring-Con 的工作。系统班则是负责制作 SDK 及 Ring-Con 的韧体等让 Ring-Con 运作的设计工作。而游戏班则是使用 Ring-Con 来开发使用者的体验(游玩感)。
话虽如此,三个班所负责的工作分别存在着不同的周期。若是按照周期来进行开发的话,便会产生许多的等待时间,进而导致时间上的浪费。这样一来便难以实现“在有限的时间里,尽可能高速地开发众多健身项目(迷你游戏)”的目标”。讲述在这样的过程中由三个班所进行的想法革新,便是本讲座的主旨。
成为障碍的是不同的开发周期
硬件班先设计 Ring-Con 的机构及回路,并以此来进行产品设计。以掌握所需功能及实现手段等方针的“原理试作”,确认能否按照设计加以实现并进行改良的“开发试作”,接着是进行量产产品的准备,确认规格是否适用的“量产试作”等三个周期来进行工作。当开发周期越往后推进,与其相关的人士也会变多,而责任也会随之增大。由于牵涉到使用者的安全,因此在一个周期上相对来说较长。
而系统班则是要开发能让 Ring-Con 于游戏内使用的 Nintendo SDK。在 Nintendo SDK 里包含了如“Ring-Con 的韧体”、 Joy-Con 的韧体及 Nintendo Switch 的 Switch OS 的“主机系统”、“Ring-Con 用数据库”等项目。
首先透过韧体取得加诸于 Ring-Con 上的力道,并以原始资料的形式传给将装设在上面的 Joy-Con 控制器。由于原始资料是很复杂的数值罗列,得透过 Switch OS 变换为能于游戏内使用的游戏用资料(这里是指速度及显示 Ring-Con 位置的座标)。在此必须得建立起自数据库中取出这种游戏用资料并传递给游戏……的流程。
话虽如此,Nintendo SDK 不仅只用于开发 Ring-Con 上。它是汇整了一定数量的各种游戏与服务所需的修正与改良内容及追加新功能后所发布的套件。可说是在三个班之中以中等程度的周期来运作的一个班。
游戏班则是,大概在一个月里以讨论规格→实装→监控游玩→检讨改良点的方式来循环一个周期,并持续进行着游戏的开发。单一周期是在三班里最短的,其任务便是以高速来开发众多健身项目。
换句话说,三个班的工作周期其长度与结束时机各有不同,要是以一般的方式进行工作,就会出现让游戏班被迫进入等待时间的问题。
透过硬件班与游戏班的协助,让 Ring-Con 的耐久度可供辨识
田邨谈及了关于由硬件班与游戏班携手合作,让耐久度评估转为效率化的过程。Ring-Con 身为一种前所未见的控制器,为了安全需追求较高的耐久度。为了让游戏班所提倡的健身项目,也能借由通过耐久度评估而获得实装,因此才透过针对 Ring-Con 特别强化的全新评估周期来提高效率。
在此由硬件班与游戏班所设计出的是,一种将 Ring-Con 的耐久度转为在 RPG 等作品中使用的“HP”数值的方法。制作了会自动推压 Ring-Con 的测试机,算出了在全力推压下 Ring-Con 所能承受的次数,也就是抓出 Ring-Con 的 HP。 透过将 HP 数值化,也就更为容易得知改良了 Ring-Con 时的效果。
应用这种思考方式的,就是 20 秒内比赛推压健身环次数的迷你游戏“大胸肌挑战”,也就是伤害的数值化。这里所指的伤害,是使用者在推压 Ring-Con 时,所给予 Ring-Con 的伤害。伤害会让 Ring-Con 的 HP 减少,当归零时便会使 Ring-Con 损坏。
首先是由游戏班提出实装新迷你游戏的要求,接受要求的硬件班则测量在过程中对 Ring-Con 造成的伤害。若对 HP 的影响较低,就能够顺利进行实装。
要测量迷你游戏对 Ring-Con 所造成的伤害,并非是在一开始就用上试验机,而是需要使用者的游玩历程。推压的力量会根据使用者的臂力而有所不同,即使是同一个使用者也会因疲累而使力量减弱。
接着由硬件班进行历程的分析。以 10~100% 的十种阶段来评估推压 Ring-Con 的力道(推压至双手交错的状态下被视为“推压量”100%)。计算在每种推压量下推压数次的总值。
随后使用前面提到的试验机,以 “若是推压量为 100% 能够承受多少次的推压呢” 为基准,若为 90% 时会是几次、若为 80% 时会是几次……这样子的方式来进行测量,针对每次推压量所给予 Ring-Con 的 HP 伤害的数值来进行量化。
再将其与记录于历程内的各阶段推压次数组合,就能算出游玩一次时造成的伤害。由于伤害较小被判定为不会对 Ring-Con 造成太大影响,因此顺利实装了“大胸肌挑战”。
另外当游戏班在提出“希望提升负荷采用更激烈的设定”的要求时也会用上这种想法。收集全体开发者的历程,硬件班透过分析此笔资料计算出直到游戏全破为止的总伤害。由此得知了 Ring-Con 可充分地承受伤害,为此可实装游戏班所希望进行的调整。
田邨以把另一班所抱持的问题视为自己班上的问题,并透过相互踏入对方的领域来解决问题的说法,来作为这种做法的总结。
为了高速进行开发,舍弃至今为止的政策
为了要以高速开发健身项目的另一个问题,就是没办法立即发布 SDK。正如前面所提到的,SDK 存在着汇整了多项修正、改良与新功能后才进行发布的惯例。要是得在 SDK 发布之后才能使用好不容易作好的新功能,在此便会产生时差。
成濑对此表示游戏班为了要能集中在游戏开发上,虽然十分重视“能简单运用功能,要设计的浅显易懂(容易)”、“不需在各种游戏内加入同样的处理,而是将能共通化的处理集中于系统端(功能集中)”、“进行总和测试,在各种使用方式下能毫无问题的运作(坚固性)”等政策,但要是死守在这种周期上,就没办法跨越开发周期之间不同的鸿沟了。
在此他不将开发所需的 Ring-Con 韧体、主机系统、Ring-Con 用数据库汇整至 SDK 内,而是以直接提供的方式提供给游戏班,但此种做法仍存在着数种问题。
首先便是 Ring-Con 韧体的更新。虽然曾考虑过透过主机系统下的资料更新来进行,却因为那是依附于 SDK 的发布周期之下而行不通。接着是虽准备了于 Switch 上运行的工具,但不仅在版本管理上变的很麻烦外,还会演变为从游戏班那提出有关更新上的问题的情况,因此这个方法也行不通。
关于像这种反复尝试的时期,成濑对此表示“虽然有贴心想过,要尽量不麻烦游戏班进行开发,但那对整体开发工作而言并不是最佳解答”。成为解决之契机的是,他与游戏班讨论这件令他烦恼的事。从游戏班那边提出了“如果在测试选单下设有更新工具的话会很方便的”这样的意见,并由他们整顿出能够立即提供的环境。
而剩下的是主机系统与 Ring-Con 用数据库。正如前面所提到的,主机系统是将从 Ring-Con 韧体所取得的输入资料进行“适当的处理”令其变为易于使用的值。但这种“适当的处理”却会因在开发过程中持续产生变化,因此无法立刻提供给游戏班。在此成濑改变了想法,把主机系统加以“线路化”。将输入资料的处理交给 Ring-Con 用数据库,而主机系统则变为不接触任何资料。这样一来主机系统就只要负责与 Joy-Con 的连接及处理通讯,而完全不会对游戏带来影响。
可说是把牵动游戏班意见的部分自主机系统上切离,并集中至 Ring-Con 用数据库上。这样一来就变得能够即时提供主机系统了。
而且还把 Ring-Con 用数据库以原始码的形式提供给游戏班,如此一来除了系统班之外也能进行修正了。换言之,三个班在一边踏入了对方领域的同时,也变得能够共同进行开发了。此举不仅让游戏班能集中于开发上,还让成员们的想法变成以《
健身环大冒险》团队一份子的身分,由三个班来共同完成游戏为目标。
尽管是在这种情况下进行开发,但开发团队仍在时程上接近最后关头的时候实装了仅用 Ring-Con 来进行训练的“背景执行模式”。在三个班共同进行开发的过程中,得决定要从 Ring-Con 的韧体或 Joy-Con 的韧体之中,选出一方来追加功能。前者剩余的空间很小只有几 KB 的空间,但由于身为仅使用在《
健身环大冒险》的硬件,所以只会对参与开发的三个班造成影响,为此具有较高的自由度。另一方面,后者的剩余空间虽然很大,但由于 Joy-Con 控制器本身也使用于其他的游戏上,在追加功能时所产生的影响也较大。
结果为了让三个班在相互协助之下以高速的状态来进行开发周期的循环,为此有必要整顿出仅止步于《
健身环大冒险》上的体制,而决定替 Ring-Con 追加功能。在进行削减 1 Byte 的作业之后,终于顺利实装了“背景执行模式”。
一般来说,若是要替游戏追加某种功能或变动,只需要调整软件就能搞定。但是就《
健身环大冒险》而言,由于存在着前所未有的 Ring-Con,因此也得要开发耐久度评估与韧体及数据库等项目。特别是耐久度评估,因为每次在追加新功能时都得要执行此项目,可说是得付出正常游戏难以想像的心力。讲述为了创造出全新的硬件及游戏体验,不仅得耗费心力,也必须在想法上有所改革,让人深深感觉这是一场十分有趣的讲座。