2018年8月22日~24日の3日間、パシフィコ横浜にて開催された、日本最大級のゲーム開発者向けカンファレンス“CEDEC 2018”。最終日となる8月24日に、スクウェア・エニックスが現在運営中の『ファイナルファンタジーXIV』(『FFXIV』)に関するセッション、“『ファイナルファンタジーXIV』におけるTA業務 ~長期運営タイトルにおけるTAの役割~”を行った。
リポートをお届けする前に解説したいのは、“テクニカルアーティスト(TA)”という役職について。TAとは、3Dモデリング、アニメーション(モーション)などのアート系の役職が考えたものを、プログラマやエンジニアといった役職へ橋渡しをする仕事。ゲーム会社によっては、テクニカルディレクターと呼ばれることもある。
本セッションに登壇したのは、『FFXIV』チームのTAを務める、岡久達哉氏。岡久氏が以前、モーションチームだったたこともあり、このセッションではキャラクター動きに関するTA業務の役割について解説された。
『FFXIV』は長期運営タイトルである
まずは『FFXIV』の開発の特徴についての解説。2013年に新生した『FFXIV』は、現在も運営を継続中。これまで5年が経過しており、運営期間が長いということは、データ量も非常に多く、モーションだけでいえば3万モーション以上が盛り込まれているとのこと。また、デザイナーだけでも100名以上が関わっているほか、複数の会社が開発に携わっていることもあり、開発規模は非常に大きい。
また、『FFXIV』は基本的に2年おきに、新ジョブや新エリアなどが追加される拡張パッケージが発売されているほか、その期間中にも多彩なアップデートが行われて、つねに新要素や新しい遊びが提供されている。そこで重要となるのは、長期運営タイトルのTAの仕事では、ゲームの仕様に詳しいことが重要と、岡久氏は語る。
すでにサービスインの状態である『FFXIV』は、一般的にはTA業務は行っておらず、基本的にアップデートに関わるようなことがメイン。データ実装のサポートや、データの管理、その他の仕事などを受け持っている。
データ実装のサポートとは、たとえばモンスターを追加する際に、すでに登場しているモンスターのデータを流用して制作したりすること。大掛かりなものでは、新装備や新ジョブの追加や、移動手段の拡張なども行う。既存のデータから実現できる場合は、TAとデザイナーのみで完結するそうで、新しい技の追加や、海を泳ぐ、空を飛ぶといった要素を入れる場合には、さらにプログラマーと協力して制作するそうだ。後者の橋渡しとなるのが、TAの大きな仕事となる。
また、データ管理もTAの大きな役割。データの把握をすることで、修正や拡張などをやりやすくするためだ。長期運営タイトルでは、システムの拡張や修正が必ずあるが、何も考えずに追加・修正をすると、データが壊れる可能性がある。これらのデータが、どのように影響するのかを判断するのがTAの仕事となっている。ゲームに詳しければ、3万ものモーションデータから特定のモーションを探したい場合などに“この技は、このジョブの、この階層の技だ”という感じですぐに探し出せるので、ゲームの仕様に詳しい必要があるそうだ。
赤魔道士の剣とクリスタルを合体させたい!!
本セッションのキモとなるのが、データ実装をサポートする際のTAの具体的な仕事について。ここでは、拡張パッケージ『FFXIV 紅蓮のリベレーター』で追加されたジョブ“赤魔道士”と、パッチ4.15で実装された、プレイヤーが楽器を使って自由に音色を奏でられる“楽器演奏”システムについて解説された。
まずは赤魔道士について。赤魔道士は白魔法と黒魔法から生まれた赤魔法を使用する魔法使いでありながら、レイピアを装備して近接戦闘も行えるジョブ。右手にはレイピア、左手にはクリスタルを持っている。岡久氏は実装するにあたって、まずデザイナーと相談。デザイナーは、赤魔道士が魔法を使用する際にレイピアとクリスタルを合体させる演出を考案。さらに、魔法はクリスタル部から出したいということだった。
ここで重要なのは、デザイナーが何を表現したいかをTAが把握してあげること。レイピアとクリスタルを合体させるのは、魔法を使う杖に見せるため。クリスタルから魔法を出したいのは、魔法を発動するための触媒になっていると、岡久氏は判断。ここがズレてしまうと、本当にやりたかったことが実現できなくなってしまうため、しっかりとヒアリングすべきだと岡久氏は語る。
そして仕様を聞いたつぎは、システムの制作を考える。プログラミングをせず、既存システムを流用するだけで実装できれば作業は楽だし、開発期間も短縮。超お得になるわけだが、ここでやってはいけないのが、強引に要素を実装すること。
失敗例として、最初はクリスタルの大小でレイピアの合体を考えたという。レイピアの柄の部分に、見えないくらい小さなクリスタルを事前に置いておき、魔法の詠唱が始まったら、左手のクリスタルが見えないくらい小さくなり、レイピアの柄のクリスタルが大きくなることで、合体している風にみせる、という手法だ。
しかし、プログラムの仕様で剣先から魔法が出てしまうため、クリスタルから出したいというデザイナーの要望に応えられない。それならば魔法の発生位置を無理やりずらす、という手法を取ってみたが、仕様上ズレる瞬間が見えてしまったという。無理やり実装しようとした結果、どんどん悪い方向に進んでいってしまい、余計な作業が増えてしまったのだ。
また、こういった実装をすると、実装時は問題がなくとも、今後の追加コンテンツで問題が発生する場合もあるため、絶対にやってはいけないという。何度もお伝えしている通り、長期運営タイトルだからこそ、大事なのはその後問題が出ないことなのだ。少しでも強引になりそうならば、プログラマーと協力して新しいものを生み出す判断をすべきだと、岡久氏は語っていた。
そこから、拡張する機能の精査が始まる。岡久氏は既存システムで実現できないかを考えながら、実機で実際に動かして、新しく追加する部分を見つけ出すそうだ。赤魔道士のモーションで問題となるのが、剣とクリスタルを合体させた詠唱中に、攻撃を食らうなどしてキャンセルされたら合体解除はどうするのか? そして、赤魔道士以外のジョブならどうなるのか?(『FFXIV』は一部のジョブの技を、ほかのジョブでも使えるシステムがある)というもの。
そこで制作したのが、赤魔道士だけ詠唱モーションの最初に合体し、時間が経過すると解除されるという時間を付与したモーション。これならばキャンセルされても時間経過でレイピアとクリスタルは解除されるし、赤魔道士以外は武器を合体させないというわけだ。
しかしこれをプログラマーに頼んだところ、プログラム的に武器合体自体ができないという指摘が入る。キャラクターとならば合体できるということで、クリスタルをレイピアを持つ右手に合体させることで、疑似的にレイピアに合体させるように見せるようにした。右手の決まった位置に合体させるため、もし今後追加される武器の柄の長さが違うと、クリスタルの位置もズレるので、レイピアの柄の長さはすべて固定となったそうだ。また、モーションとモーションのあいだには一瞬の空白があるので、モーションで合体させると一瞬だけ合体が解除されてしまう。ここは新規で、その隙間を埋めるプログラムを導入したという。
こうしてようやく、赤魔道士だけ詠唱モーションが完成。これらの成果のおかげで、侍の居合技のモーションや、共通アクションのモーションを制作する際に役立つ、汎用的なシステムが構築できた。
楽器を不自由なく、楽しく演奏させたい!
続いては、楽器演奏システムについて。楽器演奏はパッチ4.15で実装されたが、その時点では楽器を演奏できることを主点に実装をした。しかしパッチ4.15の時点で楽器は1種類しかないのに、これ以上楽器が増やせないことと、人の多い場所ではうまく再生されないという問題が発覚していた。
楽器を増やせなかった理由は、ほかの楽器に流用できないシステムを使っていたのが原因。楽器を使って37音階をプレイヤーが自由に演奏できる自由度の高いシステムだが、それを実現するのに専用の37個ぶんのシステムを作っていたのだ。これを解決するために、音階ごとに汎用性の高いシステムを制作した。
また、人の多い場所でうまく再生されないのは、システムの都合だった。楽器演奏のモーションは、プレイヤーがボタンを押してからモーションが読み込まれ、それから再生が始まるという、“後読み”と呼ばれる方法が採用されていた。これはメモリを圧迫しないので、MMOでは一般的な手法だ。しかし、自由に音色を奏でる楽器演奏のコンテンツなのに、音が遅れたり、音色が再生されなかったら、プレイヤーは楽しめない。
そこで用意したのが、“楽器演奏モード”。このモードに入ると、エモートの使用や乗り物に乗るなどの行動が取れなくなる代わりに、そこに使用していたメモリが空く。その空白の部分で、すべての音階のモーションを先に読み込んでしまうのだ。このモードのおかげで、大人数の前で演奏を披露するといったプレイも可能となり、プレイヤーが自由に楽しめる楽器演奏システムが完成したのだ。
ただし、楽器演奏モードの実装は、プランナーが考えている楽器演奏とズレている可能性もあるため、相談は必須。また、プログラマーと相談したところ、音とモーションの同期が難しいことや、連打されるとモーションが再生されないということが起きると指摘される。しかしそこは、音色を奏でることを重視した結果、多少はズレてもオーケーという判断を下したそうだ。やはり、長期運営タイトルだからこそ、今後も拡張できるものを作るのが重要だと、岡久氏は語った。
これらの事象は、プログラムやデザイン双方に、TAが詳しくなることで効率的に解決できる。そして、データの扱いに長けており、大量のデータを安易に管理できる能力が必要だと岡久氏が締めくくり、本セッションは終了となった。