8月31日、パシフィコ横浜で開催されたCEDEC 2017にて「『ゼルダの伝説 ブレス オブ ザ ワイルド』のプロジェクト運営 ~試作から製品までシームレスに!~」と題された講演が行われた。タイトルの通り、今年3月に発売された「ゼルダの伝説 ブレスオブワイルド」(以下「BotW」)の開発を任天堂のスタッフが振り返り、エンジニアとアーティストの立場からプロジェクトマネジメントの秘訣を説明したセッションであった。任天堂がこのような公開での発表を行うことが非常に稀であり、特に今回の発表では任天堂が社内で利用している内製タスク管理ツールが紹介されたのが貴重だ。すべてのスタッフが作品のクオリティにコミットするという任天堂らしい開発スタイルを大規模プロジェクトでいかに実現したか、そのあらましを説明しよう。
8 月 31 日,在太平洋横滨举办的 CEDEC 2017 上,举办了题为"《塞尔达传说:荒野之息》的项目管理--从原型到产品的无缝衔接! ~'". 顾名思义,这次讲座是任天堂员工对今年 3 月发售的《塞尔达传说:荒野之息》(以下简称《荒野之息》)开发过程的回顾,并从工程师和美术师的角度讲解了项目管理的秘密。 任天堂进行这样的公开演讲非常罕见,这次演讲的特别价值在于介绍了任天堂内部使用的内部任务管理工具。 以下是任天堂典型的开发风格,即所有员工都致力于提高工作质量,在大型项目中是如何实现的概述。
まずは登壇者の紹介が行われた。プログラマーの岡村祐一郎氏は「BotW」でシステムアーキテクトを担当。ゲーム開発を円滑に行うための全体の設計やツールや環境を整えるのが仕事だ。今回はエンジニアの立場からプロジェクト運営の方法を紹介する。他方、アーティストの尾山佳之氏はゼルダの伝説シリーズの多くのキャラクターデザインに関わってきた。「BotW」でもキャラクターモデルのとりまとめを行ったそうだ。立場として岡村氏が描くシステムや作業フローのなかで尾山氏が現場のアーティストの仕事を仕切るといった感じであろう。
首先介绍发言人。 程序员冈村雄一郎是 BotW 的系统架构师。 他的工作是设计整体游戏,建立工具和环境,确保游戏开发顺利进行。 在这篇文章中,他从工程师的角度介绍了项目管理方法。 另一方面,艺术家 Yoshiyuki Oyama 参与了《塞尔达传说》系列中许多角色的设计。 他还负责了《生化奇兵》中的角色模型。 在冈村先生的职位上,他负责自己绘制的系统和工作流程,而大山先生则负责现场美工的工作。
具体的な内容に先立ち紹介されたのは「ゼルダエディタ」と呼ばれる「BotW」専用のツール(群)である。ゼルダエディタではゲームで扱うすべてのデータを管理することが可能で、レベルエディタ、様々なツールとそのランチャー、データを変換するコンバータなどを一括して操作できるそうだ。様々なツールの一括管理という役割であるため統合開発環境である「ゲームエンジン」とは謳われてはいないが、「BotW」のプロジェクトの中核を担うツールであることは間違いない。今回はこのゼルダエディタというツールを前提にプロジェクト運営の実際が説明された。
在推出具体功能之前,还推出了一个专门用于《堡垒之夜》的工具(组),名为 "塞尔达编辑器"。 塞尔达编辑器可以管理游戏中处理的所有数据,包括关卡编辑器、各种工具及其启动器,以及用于转换数据的转换器。 由于塞尔达编辑器可以同时管理所有各种工具,因此虽然不能说它是一个 "游戏引擎",一个集成开发环境,但它绝对是在 BotW 项目中发挥核心作用的工具。 在本讲座中,我们将以这个塞尔达编辑器工具为前提,讲解项目的实际管理。
まず実例を紹介する前に、その目的について理念的なレベルで説明された。岡村氏によれば、ゲーム制作のフローには大まかにわけて「積み上げ方式」と「骨組み方式」の2種類がある。岡村氏は五重塔の建築を例えに、その2つの方式を説明した。「積み上げ方式」とは最初の階層を作成して、その階層に合わせて一つずつ階層を増やし行くやり方だ。対して「骨組み方式」とは最初に全体の階層の骨組み部分を作り、その後にブラッシュアップしていくやり方だ。ここでの階層をゲームにおけるレベル(ステージ)と考えれば、この2つのイメージは伝わるだろう。
首先,在介绍实际案例之前,从哲学层面解释了项目的目的。 冈村先生认为,游戏制作流程大致分为两种:"堆积法 "和 "框架法"。 冈村先生以建造一座五层宝塔来比喻这两种方法。 堆砌法 "是先建造第一层,然后根据该层逐层增加。 相比之下,"框架法 "是先建立整个层次结构的框架,然后再逐层增加。 如果把这里的层次结构想象成游戏中的关卡(阶段),你就能对两者有一个大致的了解。
この2つの方式はどっちが良いというものではなく、作りたいゲームに合わせて一長一短があるという。では今回の「BotW」にはどちらが適しているのだろうか。過去のゼルダ作品を手がけてきた尾山氏によると、「風のタクト」などでは基本的には「積み上げ方式」を使用してきたそうだ。巧みなレベルデザインで定評がある任天堂では、ひとつの見本となるステージを作り込み、その後にそれをアレンジする形で残りのステージを作ることが多いという。しかしながら、オープンワールドであり、様々なモンスター、素材、ダンジョン、といった要素が世界の中で関連づけられている「BotW」では、限定された領域のようなステージやレベルといったものが存在しない。そのため、最初から世界のすべてを用意しなければいけず、必然的に「骨組み方式」が採用されることになった。
这两种方法各有优缺点,具体取决于您想制作的游戏。 那么哪种方法更适合《生化奇兵》呢? 曾参与过《塞尔达》游戏制作的大山说,"堆叠法 "基本上用于《风之旅人》等游戏。 他说,以巧妙的关卡设计著称的任天堂通常会制作一个样板舞台,然后以不同的方式安排其他舞台。 然而,《风之旅人》是一个开放的世界,世界里有各种怪物、材料、地牢和其他相关元素,不存在面积有限的舞台或关卡。 因此,世界中的一切都必须从一开始就准备好,"骨架法 "也就不可避免地采用了。
このように積み上げ方式と骨組み方式の大きな違いは試作段階にあたるプロトタイピングにある。積み上げ方式ではひとつのステージやレベルがそのゲームの面白さを検証するためのプロトタイプとなるが、骨組み方式は全体の骨組みがプロトタイプになるのだ。ここで問題となるのは、プロジェクトのロードマップをどう構成するかだ。積み上げ方式の場合は全体を5ステージといった風に決めてしまえば、それぞれのステージごとにマイルストーンが接地されることになる。
堆积法和框架法的主要区别在于原型阶段。 在堆积法中,每个阶段或关卡都是验证游戏趣味性的原型,而在框架法中,整个框架就是原型。 这里的问题是如何构建项目路线图。 在堆积法中,整个项目被定义为五个阶段,并为每个阶段设定了里程碑。
しかしながら、オープンワールドの開発のような骨組み方式でははじめからそのようなマイルストーンは存在しない。そこで「BotW」では骨格段階の試作からアセットの量産、さらにそれらの磨き上げといった形でマイルストーンを設置していったという。具体的には試作段階のオブジェクトは仮のもので、余計なディテールは描き込まれていない。その後、それらのオブジェクトやアセットは製品版に徐々に近づいていくということだ。重要な点は遊びを構成する要素は初期段階から入っており、それらのディテールが徐々に立ち上がってくるという点。これを今回の発表では「シームレスな制作フロー」と呼んでいる。
然而,在开放世界开发等框架方法中,从一开始就不存在这样的里程碑。 因此,在 BotW 中,里程碑是以骨架阶段的原型、资产的批量生产以及这些资产的进一步完善的形式设立的。 具体来说,原型阶段的对象是临时性的,没有额外的细节。 然后,这些对象和资产逐渐接近生产版本。 重要的一点是,从初始阶段开始就包含了构成该剧的元素,并逐渐增加了这些细节。 这就是演示文稿中所说的 "无缝制作流程"。
ここからは具体的なマイルストーンにそってプロジェクトの概要が説明された。最初から全体の要素が存在して、それを磨き上げるプロセスであるため、マイルストーンは陸上のトラック競技のように1周目、2周目、3周目という形で設けたという。ゲームの全部の要素を3回にかけてブラッシュアップしていくようなイメージだ。またそれぞれの周回で余計な作業が発生しないように、禁止事項を定めた。具体的には1周目では、ゲームの本質以外の実装は禁止、2周目はキャラクターや環境アセットを揃えるに留まり、それらを磨き込みを禁止といった具合だ。以下ではそれぞれの周回の作業を説明する。
从这里开始,项目按照具体的里程碑进行概述。 由于这一过程涉及从一开始就存在的整体要素,并对其进行完善,因此里程碑以第一圈、第二圈和第三圈的形式设立,就像田径比赛一样。 就好像所有的游戏元素都是通过三圈刷出来的。 此外,为了防止在每一圈中出现不必要的工作,还设置了一些禁令。 具体来说,在第一圈中,禁止实施游戏要点以外的任何内容;而在第二圈中,仅限于准备角色和环境资产,禁止对其进行打磨。 每一轮的工作内容如下。
1周目はゲームの本質、つまり世界にある要素のインタラクションで生まれる遊びに注目する。そのため、キャラクターなどはすべて過去作品のデータを流用したり、その場で作った仮データを当てはめることになった。NPCには過去作品の「風のタクト」のお嬢様キャラをゲルドの王女として利用、その他、モンスターなどもゴブリンの色変えで対応していった。ちなみにこの段階からスタッフクレジットさえ入っているが、すべてがエグゼクティプロデューサーという面白い状況になっている。いずれにせよ、クレジットも含めたゲームの全体を最初から準備することで、ゲーム全体のユーザー体験を確認できるというメリットがある。この段階で検証することで、早い段階での軌道修正が行えるというわけだ。
第一轮的重点是游戏的本质,即世界中各元素的互动所创造的游戏。 为此,我们挪用了过去作品中的所有角色和其他数据,或者应用了现场创建的临时数据:在 NPC 方面,使用了过去作品《风之物语》中的女角色作为杰鲁多的公主,而其他怪物则通过改变妖精的颜色来处理。 顺便提一下,从这个阶段开始,连工作人员的功劳也包括在内,但所有人都是执行制作人,这是个有趣的情况。 无论如何,从一开始就准备整个游戏,包括片头字幕,这样做的好处是可以验证整个游戏的用户体验。 在这一阶段进行验证,就有可能在早期阶段改变方向。
他方、アセットの流用や仮データを当てはめている間に、実際のモデルなどを作るアーティストは何をしていたのだろうか? 正直なところ直接ゲーム制作においては「何もしていなかった」そうだ。実際にはコンセプトになるアートや雰囲気をアーティスト全員で考えたり、取り入れる技術のための研修などを行っていたそうだ。また本作独特のトゥーンレンダリングや金属感を出す表現の研究やアセットを量産するためのワークフローの検討、さらに種族の考察といった世界設定の共有も行った。
另一方面,在转移资产和应用临时数据的同时,艺术家们在制作实际模型等方面做了些什么?老实说,他们在直接的游戏制作中 "无所事事"。 实际上,所有的美术师都在共同研究概念艺术和氛围,并对将要采用的技术进行培训。 他们还研究了本游戏独有的卡通渲染,以及赋予游戏金属感的表达方式,研究了大量生产资产的工作流程,还分享了世界设定,包括对种族的考虑。
2周目では1周目でいれた仮のデータを正式なデータに置き換えるのがメインとなる。実際に置き換えられたアセットによるゲーム画像は製品版にかなり近くなっているが、テクスチャやNPCのアニメーションに雑なところが残っている。これらをいかに磨き上げるかが重要となるが、キーとなったのはタスク管理だ。
第二轮主要是用官方数据替换第一轮中的临时数据。 替换后的游戏图像与制作版本相当接近,但在纹理和 NPC 动画方面仍有一些粗糙的地方。 关键是任务管理,尽管完善这些方面也很重要。
タスク管理はゲーム開発に限らずプロジェクトマネージメントにおいて重要だ。タスクとは端的に言えば、作業のお願いであり、通常はチケットシステムなど専用ツールで管理する。具体的にはタスクの内容、発注者、作業者、作業見積もりなどを書いた一連のチケットを発行する。ただ従来のツールでは、タスクを行う対象が曖昧であったり、作業するデータにすぐにアクセスできなかったり、タスクの粒度が大きすぎたりといった形の「迷子タスク」が発生する。通常はこういった曖昧なタスクをしないように個々の発注者がタスクの書き方に注意するか、プロジェクトマネージャーがタスクの精査や棚卸しをすることが普通だ。
任务管理在项目管理中非常重要,不仅在游戏开发中如此。 简单地说,任务就是工作请求,通常使用票据系统等专用工具进行管理。 具体来说,就是发出一系列票据,其中包含任务内容、下达任务的人、执行任务的人以及工作估算等信息。 然而,在使用传统工具时,"任务丢失 "会以任务目标不明确、无法立即访问待处理数据或任务过于细化的形式出现。 通常情况下,每个任务执行人在编写任务时都会小心谨慎,避免出现这些模棱两可的任务,项目经理也会对任务进行仔细检查和清点。
しかしながら、任天堂が取った解決方法はより大胆なものだ。というのも、ゼルダエディタに専用のタスク管理機能を付け加えたのだ。このタスク管理ツールは通常とは異なり、すべてのタスクが何らかのデータに貼り付けられている。例えば、ゴブリンのモデルに問題があれば、そのモデルのデータに「モデルをしかじかにしてください」といった具合にタスクを貼り付けるのだ。イメージとしてはゲーム内のあらゆるものに直接付箋を貼って作業を指示するとった感じだ。
不过,任天堂采取的解决方案更为大胆。 因为它在《塞尔达编辑器》中加入了专门的任务管理功能。 这个任务管理工具与常规工具的不同之处在于,每个任务都会附加到一些数据上。 例如,如果某个妖精模型有问题,你可以在模型的数据上附加一个任务,比如 "让模型变得阴晴不定"。 形象地说,你可以直接在游戏中的所有东西上贴便条,告诉它做某项任务。
結果、作業するデータには一発でアクセスでき、曖昧さもなくなり、タスクの粒度も細かくなる。またあらゆるデータには制作者の履歴が入っているため、作業者も自動的に決定される。このような付箋型とも言うべきタスクは、モデル、シェーダー、AI、ゲーム内フィールドの座標といったあらゆるところにつけることができる。
因此,可以一次性获取要处理的数据,消除模糊性,使任务更加细化。 此外,每项数据都包含其创建者的历史记录,因此可以自动确定工作者。 这些粘性任务可以附加到任何东西上,如模型、着色器、人工智能和游戏中的场坐标。
さて次にこのタスク管理ツールによってアーティストがいかにデータを量産したかが説明された。先程説明したとおり、「BotW」の開発の序盤においては、ゲーム内のデータは過去作品の流用や仮のものを使用している。この作業においても、まずアーティストは10種類の武器のために、仮の剣のデータをコピーで作り、区別のため色だけを変える。そこに「Sword_1は剣、Sword_2はこんぼう、Sword_3は斧」といった形で「兵士の剣のモデルを作ってください」といったタスクを付けていく。
接下来,他解释了这个任务管理工具是如何让艺术家们批量生产数据的。 如前所述,在《生化奇兵》开发的早期阶段,游戏中的数据都是从以前的作品中挪用或使用临时数据的。 在这个过程中,美工人员首先为十种不同的武器复制临时剑数据,只改变颜色以区分它们。 然后,在数据中添加任务,如 "Sword_1 是剑,Sword_2 是棍棒,Sword_3 是斧头",例如:"请制作一个士兵的剑模型"。
このようにタスク管理ツールを使えば機械的に一括でタスクが発注できる。またタスクをデータに紐付けたことによって、タスクを集計することで正確で簡単な進捗管理も可能になった。実際にこのタスク管理ツールで集計した結果を見るときれいな右肩下がりでタスクが減っていき、ここからプロジェクト全体の進捗見積もりも可能となった。これもタスクがデータに紐付いているため、重複タスクや曖昧なタスクが生まれないことの恩恵と言える。
通过这种方式,任务管理工具可以机械地分批下达任务。 此外,通过将任务与数据联系起来,现在可以通过汇总任务来准确、轻松地管理进度。 事实上,任务管理工具的统计结果表明,任务数量正在以稳定的速度减少,从而可以估算出整个项目的进度。 这也是任务与数据关联的另一个好处,因此不会出现重复或模糊的任务。
最終工程である3周目ではすべてのデータを製品版のクオリティにすることになる。具体的にはデータのバグを探したり、そのバグを取ったりする作業、つまり磨き込みのためのバグフィックスがメインとなる。このバグフィックスに関しても上述のタスク管理ツールを使用した。ただしツールからバグ報告を入れるだけではなく、テストプレイ中のゲーム内からもバグ報告を入れることが可能になっている。例えば、スケール感がおかしなキノコのオブジェクトがあった場合、そこを選択してバグ報告を付箋のようにつけることができるのだ。さらにタスク管理ツールはゲームを動かすスクリプトエンジンに対応しているため、バグ報告欄に直接スクリプトを書き込むことで、すぐに書き換えたスクリプトで実行も可能。タスクとテストプレイをシームレスに行ったり来たりできるわけだ。
第三也是最后一个阶段是使所有数据达到生产质量。 具体来说,主要任务是查找和删除数据中的错误,换句话说,就是修补错误以进行抛光。 上文所述的任务管理工具也用于这种错误修复。 不过,不仅可以通过工具提交错误报告,还可以在试玩过程中在游戏内提交错误报告。 例如,如果有一个蘑菇物体的刻度很奇怪,您可以选中它,然后像贴便条一样把错误报告贴在上面。 此外,任务管理工具与运行游戏的脚本引擎兼容,因此只要直接在错误报告栏中编写脚本,就能立即执行改写后的脚本。 这意味着您可以在任务和测试游戏之间来回无缝切换。
一方、アーティスト側の3周目の動きとしてはとにかくデータの確認を行い、クオリティアップのために磨き上げる作業を行った。確認作業も2周目と同じくリーダーが一括発注を行い、モデルやテクスチャサイズといったものは表でチェック、その他のオブジェクトの燃焼、浮力、水流といった物理挙動は実機でチェックを行う。このタスク管理ツールでの確認と磨き上げの作業はデータへのアクセスが楽で情報が一元化しているため、アーティストとしてはかなり効率良かったと振り返っている。結果としてクリエイティブな作業に注力できたそうだ。
另一方面,艺术家方面的第三轮活动则是对数据进行检查和打磨,以提高质量。 与第二轮活动一样,负责人下达了确认工作的批量订单,并在表格中检查了模型和纹理尺寸,同时在实际设备上检查了物体燃烧、浮力和水流等其他物理行为。 这位艺术家回忆说,任务管理工具的这种检查和打磨过程对他这个艺术家来说相当高效,因为数据很容易获取,信息也很集中。 因此,他们能够专注于创作工作。
以上の3周目までの過程で「BotW」の多様なキャラクターとフィールドが実現した。開発4年で人数のピーク時300人という大規模なプロジェクトであったが、それを支えたのがタスク管理ツールを搭載したゼルダエディタであったというわけだ。それぞれの周回の期間としては1周目が1年半と長く、2、3周目は1年強というところ。当初、任天堂にはオープンワールドのノウハウがなかったため、最初の段階で一番時間がかかったが、量産期のプロジェクトは安定していたそうだ。
上述过程一直持续到第三轮开发,最终造就了《BotW》的各种角色和领域。 这是一个庞大的项目,在四年的开发过程中,最高峰时有 300 人参与,但它得到了《塞尔达编辑器》及其任务管理工具的支持。 至于每一圈的持续时间,第一圈长达一年半,而第二圈和第三圈仅为一年多。 最初,第一阶段耗时最长,因为任天堂并不具备开放世界的技术,但在量产阶段,项目却很稳定。
プロジェクト運営はあくまでもゲームタイトルに合わせるべきとしながらも、今回のように骨組み方式のゲーム開発を大規模な人数で実現するために独自のタスク管理ツールを作ったところは非常に興味深い試みである。別のセッションではゲームのテストプレイのための開発版ロム(Wii U版)を自動で5分間に一回作成しているという発表もなされ、任天堂がいかにゲームプレイとゲーム開発の細かいサイクルを重視しているのか伺える。オープンワールドゲーム自体の開発は珍しくもないものの、この組織化されたやり方はまだまだ学ぶところが大きいだろう。
虽然项目管理只应针对游戏标题,但像这样创建一个独特的任务管理工具,以实现大量人员的骨架式游戏开发,是一个非常有趣的尝试。 在另一个环节中,任天堂宣布每五分钟自动创建一次开发 ROM(Wii U 版本),用于游戏试玩,由此可见任天堂对游戏玩法和游戏开发的详细周期有多么重视。 虽然开放世界游戏本身的开发并不少见,但这种有组织的方式仍有很多值得学习的地方。