|
会場:サンフランシスコ Moscone Convention Center
同作は南米ベネズエラを舞台にしており、都市やジャングルを広大なオープンフィールドとして詳細に再現。膨大なオブジェクトが物理処理されており、目につくものを何でも破壊できるという、次世代ゲームと呼ぶにふさわしいスペックを持っている。2007年のE3以降、たくさんの映像が公開されているので、迫力あるゲームシーンをご覧になった読者の方も多いことだろう。
技術セッション「Mercenaries 2: Networked Physics In a Large Streaming World」では、同作の特徴である物理処理されたゲーム世界を、マルチプレイに適用するネットワークコード技術が公開された。次世代的なゲームには次世代的なネットワークコードが必要だとする、開発元Pandemic StudioのGlen Fielder氏の試みをご紹介しよう。 ■ この10年、ネットコードは本質的な進化を免れてきた。「Mercenaries 2」に見る、ゲームプレイを次世代に引き上げるための試み
それには理由がある。ネットコードというものが、決定的にエンドユーザーの回線速度を前提とする技術であると同時にゲームプレイのインフラとして機能するため、グラフィックスのようにスケーラブルな設計がほぼ不可能だからだ。回線の速さによってゲーム内容が大幅に変わるシステムで、まともな対戦は不可能である。 ネットワークインフラについてみてみると、日本では今でこそブロードバンドが一般的となったが、欧米、特にヨーロッパではアナログモデムを使う層も根強くのこり、それがマスをターゲットとするゲームの最低動作保証基準を構成してきた。ゆえに、ネットコードは10年程前に技術的完成を見ると、それ以降はドラスティックに進化する余地がなかったわけである。
この傾向は現在でも続いている。たとえば最新のFPSタイトルである「Team Fortress 2」は、ゲームプレイにおいては10年前の「Quake」時代から本質的な部分で変わっておらず、ネットワークコードの要求もそれに準じている。新世代のグラフィックスで話題になった「CRYSIS」では、シングルプレイゲームでは物理オブジェクトがふんだんに登場するものの、マルチプレイで物理処理されるのは操縦可能な車両程度に制限されている。シングルとマルチでまるで違うゲームになっている理由はそこにある。
つまり、Xbox 360やPlayStation 3といったマス向けのゲームプラットフォームがDSL以上のブロードバンド環境を前提とするようになったおかげで、マス向けゲームのネットワークコードデザインにパラダイムシフトの契機が訪れているわけだ。
ポイントとなるのは、このゲームが8x8kmという広大なゲームフィールドを持ち、その中にギッシリと敷き詰められたゲームオブジェクトがHavok物理エンジンで処理され、「すべてのオブジェクトが破壊可能」になっているという、いわば「物理アイランド」であることだ。 さらに、「Mercenaries 2」では、シングルプレイキャンペーンのゲーム中いつでも2人のプレーヤーがネットワークを介して協力プレイを行なうことが可能であるとされた。実はこれは大変なことだ。このゲームの楽しさは物理アイランドという環境に依拠しているため、マルチプレイにおいても物理システムを生かす必要があるが、これを完全に達成したゲームはまだない。
というのも、物理処理の豊富なゲームではマルチプレイの実現が困難で、シングルプレイの内容とまるで異なることが通例であるし、ましてこのゲームでは途中参加も可能なのである。つまり「Mercenaries 2」は、FPSとして決定的な物理処理のオンライン化を試みているのだ。
■ 「動的な世界」をストリーミングする、次世代ゲームのためのネットコード設計
このやりかたは予測というより実質的には先行表示といえるが、「静的な世界」に属するゲームは、これによってクイックな操作性を実現していたわけだ。サーバー上のイベントでキャラクタの位置に変化が生じたなどの場合(爆風で吹き飛ばされたなど)は、誤差が生じた地点に戻ってから再度このプロセスをやりなおす。クライアントが扱う対象が自分自身のキャラクタのみであるゆえに、低い計算コストで実現可能だ。Fielder氏はこのやりかたを「Rewind and replay」と表現していた。
その骨子は、「プレーヤーとインタラクトしている物理オブジェクトを、そのクライアントが所有し、処理する」というものだ。プレーヤーがゲーム世界内のオブジェクトに触れたり、撃ったりして、物理オブジェクトが反応すると、そのオブジェクトは即座にサーバーの管理からクライアントの管理に移行する。そのオブジェクトが物理処理で動いている間、クライアントが物理計算を担当し、その結果導き出された状態をサーバーに送信して同期をおこなう。
物理処理される多数のオブジェクトにこれを行なうため、当然のことパケットサイズ、通信量は激増する。特に従来のゲームは、クライアントからサーバーへの通信は入力されたコマンドが中心であってごく小さいものだったので、上り帯域への影響は甚大である。それゆえにこの手法はDSL世代の帯域が前提となる技術であるわけだ。
所有権の移譲は、次のような法則で駆動するようだ。まず、最初の所有者はサーバーである。サーバーは、白いオブジェクトと青いオブジェクトを赤にすることができる。つまり、サーバーは所有権を一元的に決める権力をもっている。クライアントのほうは、白いオブジェクトのみ自分の所有にする決定権を持っている。オブジェクトは運動を停止すると白色に、つまりサーバーの所有に戻る。プレーヤー自身は常に該当クライアントの所有である。
もうひとつのポイントは、各オブジェクトの物理的状態を「きつくスナップ」したという点だ。どういうことかというと、物理オブジェクトの位置や角度に、いわばペイントソフトのグリッドスナップ機能のような概念を導入して、地面に落ちたコインが完全に停止するまで細かく微動するような状況を排除した。これにより物理オブジェクトが停止状態に安定しやすくなり、通信量が減る。画面上で動きが滑らかに見えるのは、動きのスムージングをしているからにすぎない。つまり見た目上の位置・角度と実際のそれは僅かにズレていることになるが、ゲームプレイ上への影響は軽微なようである。
■ 物理アイランド的、広大な世界をストリーミングするための工夫
こういった仕組みは通常、グラフィックス上の要求によって実装されるが、「Mercenaries 2」ではネットコードにも大いに活用され、通信や物理処理が必要なオブジェクトをスコープすることで効率化に貢献しているそうだ。
しかし、「それだけやってもまだ通信パケットに収まらない」とFielder氏はいう。「Mercenaries 2」ほどにオブジェクトの量が多いと、プレーヤーが一度にインタラクトする量もかなりの数に上るためだ。物理オブジェクトの状態を表す変数を最小限の解像度にし、限界まで詰め込んでも、まだ間に合わないらしい。
まずはオブジェクトの所有権に基づいて優先度を決める。サーバーから青クライアントに送るときは、赤オブジェクトを優先する。また、青クライアントからサーバーに送るときは青オブジェクトを優先する。その前提に基づいて、距離や大きさといった基準で細かな順位をつけ、優先順位の高いものは確実に頻繁に送信し、逆に優先順位が低いものは送信頻度を下げるなどしておおざっぱに同期するということらしい。 このあたりのパケット圧縮に関する工夫は、コンセプトレベルでは従来のネットワークゲームでも試みられてきた手法だ。しかし、その前提となる条件が、オブジェクトの所有権制御という、ゲームプレイ上の地平線を広げるために思い切って導入した技術に基づいている点が新しい。
Fielder氏は最後に、動的な世界をネットワークするために大切なポイントとして「従来の動き予測の方法でなく、所有権の管理を使う」、「まずは処理対象を絞りこむ」、「そして所有権に基づいた優先順位をつける」とまとめてみせた。「Mercenaries 2」だけでなく、この考え方は他のゲームでも大いに役立つことだろう。 セッション終了後の質問時間には、「青、赤の各プレーヤーが所有するオブジェクトが互いに衝突するケースではどうなるのか?」といった込み入った質問が多く出された。Fielder氏はそのひとつひとつに対して丁寧に答えていたが、この技法が厳密性において完全でないことも認めていた。この点については、「Quake」のような競技性の高いゲームへの応用に懸念が残る。 青プレーヤーが所有するオブジェクトが赤プレーヤーに所有するオブジェクトに激しく衝突した場合、青プレーヤーと赤プレーヤー所有物の間にラグ由来の時間差があるため、所有権がサーバーに戻るまでの短い時間ながら、それぞれのプレーヤーはやや異なる現象を見ることになる。この問題は原理的に避けられないようだ。 また、オブジェクトの処理をクライアントで行ない、それをサーバーにコミットするという手法につきものの、改造クライアントでチートされるのではないか、という質問も出た。これについてFielder氏は、「PCではPunkBuster、Xbox 360ではLIVEのセキュリティ機能など、別の方法で回避することができます」と、この点については現状得られるセキュリティインフラに信頼を置いていた。ゲームの規模が2人プレイということで、不正行為による影響が局所的で済むという面も前向きな材料だったとは思われる。
「Mercenaries 2」は膨大な物理処理オブジェクトにあふれた世界でマルチプレイを楽しめる点で非常に新しいゲームだ。これはマルチプレイにおけるゲームプレイの革新とよべるものであり、グラフィックスが進化すること以上に重要な変化であるように思う。まずは「Mercenaries 2」の発売を楽しみに待ちたいところだ。 (2008年2月24日) [Reported by 佐藤“KAF”耕司]
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします ウォッチ編集部内GAME Watch担当game-watch@impress.co.jp Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved. |
|