Game Developers Conference(GDC) 2010現地レポート
EA、2009年に大成功した「FIFA10」、「BF1943」について講演
サッカーゲームのアニメーションシステムはこんなに複雑だった!
GDC 2010では、数々のビッグタイトルについてのセッションが催された。特にGDCアワードを総なめにした「Uncharted 2」が開発者の話題をさらっていた格好だが、その他のゲームについてのセッションでも興味深い情報が種々公開されている。
本稿ではその中から、昨年Electronic Artsが大成功を収めた2タイトルについてのセッション内容をお伝えしよう。ひとつは、シリーズ過去最高ペースの売上を記録したサッカーゲーム「FIFA 10 World Class Soccer」についての技術セッション。最新作のスムーズな動きと高い操作性を両立させたアニメーションシステムの秘密が披露された。もうひとつはXBLA、PlayStation Network上でスマッシュヒットを記録したダウンロードゲーム「BattleField 1943」についての講演。開発コストを抑えながらヒット作を生み出すプロジェクトマネジメント論が展開された。
■ 繊細なボールタッチ、クイックな操作性……。「FIFA 10」を支えるアニメーション技術
Jason Sanmiya氏(左)とPaul McComas氏(右)。「FIFA 10」の開発スタッフだ |
クロスに対してランパードが走り込むシーン。ここに「FIFA10」のアニメーション技術のエッセンスを見ることができるという |
まず「FIFA 10」についてのセッションに触れておこう。題名は「Animation Warping for Responsivenes in FIFA」。「FIFA 10」において、スムーズなアニメーションと快適な操作性を両立させるために用いられたアニメーション技術について解説するセッションだ。
演題に立ったのは「FIFA」シリーズのアニメーション技術を担当したJason Sanmiya氏とPaul McComas氏。日本の苗字を持つSanmiya氏はサッカー日本代表10番のユニフォームを身につけての登場だ(中村俊輔のファンだそうだ)。
会場ではまず「FIFA 10」のトレーラームービーが流された。これは実際のゲーム中のシーンを編集したものだが、選手がボールに対して反応し、その動きを変化させていく様子をみることができる。ここでSanmiya氏は、ゴール前でクロスボールに反応する攻撃側のフランク・ランパードと守備側のジェラール・ピケの動きを指し示した。
このボールは、最後はランパードをマークしていたヤヤ・トゥーレにクリアされてしまうのだが、その数瞬の間に「FIFA10」のアニメーションシステムの特徴が現われているという。まず、ボールに反応して走りこむランパードの動き。正しい位置でボールにタッチするため、ボールの軌跡と選手の足の速さ、加速力などを考慮して選手を動かさなければならない。次に、ニアサイドのドログバへのチェックを中断してカバーリングに移行するピケの動き。ここではドログバに並走する動きから素早くターンして移動方向を変えているのだが、その際に高いレスポンスと自然な動きを両立するため、特別なアニメーション技術が用いられているという。
ターンする動きは、3つのアニメーションパターンのブレンドによる表現が基本となる。つまり、通常の走行「ジョグ」アニメーションと、全力疾走の「ダッシュ」、減速とターンのために体を沈み込ませる「ターン」の3種類。
180度ターンの動き。ジョグ状態から体が沈み込むターンの動きに入り、方向を変えてダッシュの姿勢に移行する |
ブレンドされるアニメーションの関係 |
ボールタッチ。単にIKで関節をボールに合わせるだけでは不自然な姿勢になってしまう |
これらのアニメーションはそれぞれ別個に作られているため、そのまま再生するだけでは動きのレスポンスが失われてしまう。では移動方向を単に調整すれば良いかというとそうでもなく、「地面を滑っているように見える」ことを避けるためのテクニックも必要となる。
そこで「FIFA10」では、それぞれのアニメーションについて、そのどの時点からでもスムーズに他のアニメーションパターンに移行できるようブレンドしつつ、そのうえIKシステムを使ってしっかりと足を地面に固定しているという。そこでよく出来ているのが、例えば180度のターンを連続で行なう場合、足先がきちんと地面に着いた時点で、次のアニメーションに移行するようになっていることだ。これにより、体重の乗った自然な動きが再現されている。
また、ターン前の移動角度とターン後の移動角度の違いによる微調整も必要になる。これについては、「ターン」のアニメーションの角運動量をプログラム的に調整することで実現している。McComas氏はこれを「ワープ・セグメント」と呼んでいる。これにより、ユーザーの入力に応じてターンの量を素早く調節することができるため、自然な動きを維持しつつ、クイックな操作性を維持することが可能となっている。
ここで使われている「ワープ」というのは「歪ませる、そらす」といった意味で、アニメーションのタイミングや各部の動きをプログラム的に調節するという文脈で使われている。「FIFA 10」では多数のシチュエーションでアニメーションワーピングの考え方が活用されている。
その好例となっているのがボールタッチだ。ドリブルやトラップの際、選手は体の各部位を使ってボールをコントロールしようとする。ボールは物理処理にしたがって自由に運動するため、アニメーションパターンをボールの位置に合わせて調整する必要が生じる。だが、単純にIKシステムを使って「足先をボールに合わせる」ような処理を行なうと、関節が不自然な曲がり方をしたり、その後の動きにつなげるためには不適切な状態になりやすい。
そこで「FIFA 10」では、キャラクターの位置、ボールタッチする部位の角度、それに至るアニメーションのタイミングといった要素に「ワーピング」を加えている。例えば、宙に浮いたボールにうまくミートするため、ジャンプするアニメーションの高さをプログラム的に調整して、正しい位置へ導くといった案配だ。このとき、身のこなしに関する選手の能力やボールとの位置関係により、実際にその行動を試みるかどうかは事前にAIが決めるというふうに役割が分担されているようだ。
アニメーションの高さ、ボールタッチ部位の角度といった要素をプログラム的に「ワーピング」させることで、浮き球に対して自然な姿勢でコンタクトする様子が再現されている。高さのワーピングについては、より高く飛ぶ場合は直前の「沈み込み」がより大きくなるよう調整しているという |
アニメーションの時間に対するワーピング。ボールタッチのタイミングに合わせてアニメーションを調整する |
ターンする際の移動角度の調整は、旋回するために必要な時間・距離を考慮して決定する。さもなくば狙った場所にうまくキャラクターを導けない |
ドリブルのようにボールがコントロール下に置かれている状況でも、様々な理由によりアニメーションのタイミングとボールタッチのタイミングが一致しないことがある。これを自然に見せるために「FIFA 10」では選手移動のタイミングを微妙に早めたり、アニメーションの速度を調整している。
その際、急激な変化が起こると不自然な動きに見えるため、アニメーションのワーピングの必要量に関して、その行動に移行し始める前の段階で予測されるようになっている。そうしてボールタッチが発生する前に5~10フレームの時間的余地を生み出し、各フレームにじわじわと調整を加える形で、自然な動きを実現しているということだ。
このように、「FIFA10」ではボールをプレイする際に、数瞬後にどのような姿勢・位置関係にあるかという予測のシステムが非常に重要な役割を演じている。前述した、ランパードがクロスボールに合わせて走りこむシーンなどがその典型だ。その際にターンする動きが必要になれば、ターンのために必要な旋回量、時間を考慮して、「ターンに入る前に回転量を決定している」ということらしい。さもなくば、止まったボールの周りを永遠にグルグルと回り続けることになる。
「FIFA 10」では選手AIの改良が大きなトピックとなっているが、それを支えるためにこのように複雑なアニメーションシステムが存在している。目から鱗の講演であったが、その最後に、Sanmiya氏は開発中バージョンにおけるバグ挙動の数々を動画で紹介してくれた。
それはこんな内容だ。スライディングの位置が正しくなく、ボールが股間にめり込んでいくシーン。2人の選手が倒れた選手の上を延々と飛び跳ね続けるシーン。浮き球にボレーで合わせようというところ、足関節が完全に骨折した状態で腰の裏側から回ってくるシーン。ゴール前の浮き球を、20メートルも大ジャンプしてキャッチするキーパー。ペナルティキックでまだ蹴られていないボールをスライディングキャッチするシーンも。あまりのシュールさに、会場は大爆笑。和やかな雰囲気で講演を終えることとなった。
最後に紹介された、開発中のバグシーンの数々。アニメーションをプログラム的に調整しているところ、しきい値や重み付けといった各種のパラメーター設定がうまく行っていないと、とてもシュールなことになってしまう。これはこれで面白いが、製品として出荷するためには完璧な調整が必要。かなり大変な作業であるように思える |
■ 余った人的リソースを賢く活用!
通常の1/10のコストでミリオンヒットを実現したプロジェクトマネジメント
EA DICE、「BF1943」のプロデューサーPatrick Liu氏 |
お金をかけずに大儲けする方程式! 実験的なプロジェクトは、明確な目標をもってスタートした |
結果的に「BF1943」はダウンロードゲームとしては記録破りのミリオンヒットとなった。内容への評価も高い |
EA DICEで「Battlefield 1943」のプロデューサーを務めたPatrick Liu氏による講演では、ミリオンヒットを記録したダウンロードゲームの開発とチームマネジメントの手法が披露された。
この「BF1943」は、昨年夏にXbox LIVE ArcadeおよびPlayStation Network上で有料配信されたチーム戦FPSタイトル。XBLAでは1,200マイクロソフトポイント、PSN上では15ドル(北米版)で販売され、ダウンロードゲームとしては記録破りのセールスを記録した。Liu氏によれば、2カ月で100万本以上を売り上げたという。
そもそも開発費が低く抑えられていた実験的なプロジェクトでもあったため、これはElectronic Artsとして予想以上の成功だったようだ。Liu氏による講演では、そういった成功をもたらした秘密が語られていたが、そのポイントを整理すると「余っている人材リソースの有効活用」、「プロジェクトビジョンの明確化」、「ゲーム仕様をシンプルにする」という3点を挙げることができる。
まず「余っている人材リソースの活用」について。Liu氏によると、「BF1943」のプロジェクトでは延べ70人ものスタッフが開発に参加したが、同時に関わったスタッフは最大でも15名にとどまったそうだ。つまり、プロジェクト内の人的流動性が非常に高いことが特徴なのである。
これはどうしてかというと、「BF1943」では、他のプロジェクトが完了したり、担当部分を終えて暇になった開発スタッフをフル活用したのである。基本的に大規模プロジェクトが終わり、次のプロジェクトが始まるまでには多少のタイムラグがあるため、DICEのように多数のゲーム開発プロジェクトが同時進行しているようなスタジオでは、各所で結構な数のスタッフが「遊んでいる」という。そういったスタッフに声をかけ、忙しくなるまでの間、「BF1943」開発に参加してもらうという形だ。
そうすると勢い人の出入りが激しくなるため、プロジェクトをうまく継続するためには「ビジョンを明確にする」ことが重要になってくる。「BF1943」では、「初代作BF1942のウェーキ島を、Frostbiteエンジンで再現する」ことを基本に据えた。これによりプロジェクト内の仕事を明確化しつつ、なおかつチーム内のメンバーと常に密接なコミュニケーションをとり、作業の引継ぎに支障をきたさないように配慮したという。
なおかつ開発を効率的にするための方針が「ゲーム仕様をシンプルにする」ことである。「BF1943」は初代の「BF1942」に基づくゲームであるが、様々な面で仕様がシンプル化されている。例えばクラス数は3種類に削減され、体力や弾薬は自動回復するようになった。「BF2」で導入された分隊システムなども搭載せず、あくまで最小限のゲーム仕様に留めている。
こういった努力を重ねた結果、「BF1943」の開発にかかったコストは、他のフルパッケージのゲームに比べると10分の1程度に収まったというから驚きだ。それが100万本を超えるヒットとなったのは「Battlefield」シリーズのネームバリューもあってのことだろうが、絞りに絞ったゲーム仕様で高い水準の面白さを提供できている点も見逃せない。
まあ、同様のことがEA DICE以外の企業にもできるかということを考えると、そもそも余剰リソースがほとんど存在しえないような中小のデベロッパーには少々難しいことも事実だろう。だが、「シンプルで面白いものを提供する」という点は、開発費の高騰が叫ばれる現在、どのようなゲーム企業にも真似をして欲しいところだ。
余り物をうまく使って開発された「BF1943」。大手の企業なら真似できるところも多いと思われるので、今後他のデベロッパーからも同様の成功例が生まれてくることを期待したい |
□Game Developers Conferenceのホームページ(英語)
http://www.gdconf.com/
□Game Developers Conferenceのホームページ(日本語)
http://japan.gdconf.com/
(2010年 3月 15日)