Game Developers Conference 2012レポート

【GDC 2012】「シムシティ」用ゲームエンジンGlassBoxの秘密を語る
エンジンキーワードは“what you see is what you sim”!


3月5日~9日開催(現地時間)

会場:San Francisco Moscone Center



 かつてGDCではSCEAやElectronic Artsなどが大規模なプレスイベントを実施していたが、ここ数年はE3に集中するためか、減る一方となっている。プレス向けのイベントでもっとも高い注目を集めたのがEAが現地時間の3月6日にイベントを通じて正式発表した「シムシティ(SimCity)」だ。EAのお膝元であるサンフランシスコではもちろんのこと、日本を含む全世界で高い関心が寄せられた。

 そして世間の期待に応えるかのように、翌日3月7日には、さっそく「シムシティ」に採用されている内製のゲームエンジン「GlassBox」に関するセッション「Inside the GlassBox」が行なわれた。「シムシティ」の発売は2013年と、まだ1年近く先の話だが、このセッションを通じて、新世代「シムシティ」のポテンシャルの高さと、そのアプローチの正しさを感じだ。さっそく紹介していきたい。


【シムシティ】
2点のイメージイラスト。トレーラーでは、まさに実写のようなビジュアルクオリティで、次世代の「シムシティ」をイメージ付けたが、「GlassBox」がこだわっているのはグラフィックスではなく、シミュレーションだ



■ 「シムシティ」に特化した物理シミュレーションエンジン「GlassBox」

あの新世代「シムシティ」のゲームエンジンと言うことで、多くの聴講者が訪れた
左から順にMaxis Creative DirectorのOcean Quigrey氏、ゲームプレイエンジニアのDan Moskowitz氏、システムデザイナーのAndrew Willmott氏

 セッションスピーカーを務めたのは、Maxis Creative DirectorのOcean Quigrey氏、システムデザイナーのAndrew Willmott氏、そしてゲームプレイエンジニアのDan Moskowitz氏の3人。いずれも「シムシティ」の開発経験が豊富なエンジニアばかりで、このプロジェクトには「シムシティ」の生みの親であるWill Wright氏は参画していないものの、その思想は濃厚に受け継がれているという印象を受けた。

 「GlassBox」は、Maxisで開発された「シムシティ」に特化したフルスクラッチの3Dエンジン。意外にも「シムシティ」が3Dエンジンを採用するのは今回が初めてということで10年の月日の長さ、ゲームテクノロジーの進化の速さを痛感させてくれる。

 「GlassBox」は、Maxisが自社のために開発したデータドリブンのシミュレーションエンジンで、未来を見据えて従来の乱数&スクリプトベースの“シミュレーションもどき”からの完全脱却を図るために開発された。真の意味での“シティシミュレータ”に今回初めてチャレンジするためのエンジンということになる。

 今回は完全に「シムシティ」向けに特化しているが、設計そのものは次世代のシミュレーションゲームをフルカバーすべく開発されており、PC以外のデバイスや、昨今では当たり前になりつつあるデジタルダウンロードによる流通形態、そして他社へのライセンスアウトにも対応しうるとしている。もちろん、マルチプラットフォームへの適用も容易で、その気になればスマートフォン版やタブレット版の「シムシティ」の展開も可能なようだ。これまでのEAの取り組みを見ていると、むしろその可能性のほうが高いと言える。

 これまでの「シムシティ」は、限られたマシンパワーでシミュレーションゲームを実現するために、シミュレーション部分は乱数表で処理され、シムたちはあらかじめ決められた一定のパターンの行動を取るだけだった。つまり、シムたちの行動と、その世界への影響には乖離があったわけだが、「GlassBox」ではこの部分を完全に一致させるといういまだかつてないアプローチを取る。

 キーワードは、PCの“what you see is what you get(見たものが、そのまま手に入る)”をもじって、“what you see is what you sim(見たものは、シミュレーションする”。このゲームが、この設計通り稼働すれば、シミュレーションゲームとしては、Maxisの前作である「SPORE」を凌ぐ画期的な存在となる。



■ 各種データをルールとエージェントによって駆動させるシンプルな構造

Maxisのエースクリエイターとして名高いAndrew Willmott氏は、「GlassBox」のシミュレーション構造について解説
「GlassBox」のシミュレーション構造。書き出すと恐ろしいほどシンプルだ

 すべてをシミュレーションするという高い目標を掲げている「GlassBox」だが、その設計は驚くほどシンプルだ。リソース、ユニット、マップ、グローバルの4種類のデータ構造を一定のルールによって駆動するだけ。

 リソースは、シリーズの根幹となっている都市を構成する様々な要素を数値で表現したものだ。石油、石炭、穀物、木材、水、金、電気、労働力、汚染度、市民、幸福度、資材、病気、税金、ゴミなどなど、今回も細かく設定されている。これらリソースは、それぞれ“容器”にストックされていくイメージで、それぞれストックしておける上限があり、また、消耗品に関しては有限の存在となる。

 ユニットは、このゲームを実際に駆動させる数々の施設群だ。家、ショップ、ワークプレイスなど、人々に目的を与え、発展に寄与し、時には害をもたらす重要なオブジェクトとなる。また、先ほどのリソースをストックしておく“容器”にもなる。

 マップは、石油、石炭、森林環境にあるリソースを表し、これには大気汚染や地価、好感度とった有形無形の要素も含まれる。マップはグリッド単位で区切られ、各グリッドは何らかのリソースをもたらす。リソースは有限で、取り切るとなくなってしまう。

 そしてグローバルは、上記概念を包括する単位で、あらゆる要素の集積値となる。この要素がゲームにどのような影響をもたらすかは今回はほとんど語られず、将来を見据えてのパラメータということのようだ。

【基本データ構造】
リソース、ユニット、マップ。それぞれ異なるデータ構造とルールで構築されている

 そして、ルールは、上記要素を一定の条件に基づいてドライブさせていく際の取り決めとなる。“複数の名詞によって、動詞を提供していく”という独特の表現で説明し、具体的には「リソースの移動」、「リソースの質的変換/加工」、「インプット/アウトプット」となる。リソース、ユニット、マップそれぞれにルールが設定されている。

 たとえば、人1人、金10を使って木材を2得る。マスタードファクトリーで、イエローマスタードとカラのボトルでボトル入りのマスタードを作る。土地に、水と養分があれば森が育つ。別にどんなゲームでも採用されているような当たり前のルールである。ただ、この「GlassBox」が凄いのは、これら基本的なルールがひとつとして独立しておらず、複雑に絡み合い、あらゆるものに影響を与えながら世界を構成しているところだ。

 マスタードのケースで言えば、ボトル入りのマスタードを作ることによって、街の経済や食卓にプラスの効果をもたらす一方で、汚染を生み、それが土地や街に悪影響をもたらしていく。このバランスをどう取るかが市長であるプレーヤーに与えられた役割であり、儲かるからといってその“不都合なエコシステム”をそのまま放置すると、やがて街に深刻な事態を招くことになる。

【ルール】
「シムシティ」世界の法則を決めるルール。「GlassBox」が優れているのが、このルールが個々では終わらず、複雑に絡み合って相関関係を持っているところだ

 すべての要素がゲームに影響を与えていく。これが「GlassBox」の基本的な概念となる。それでは、どのように影響をもたらしていくのか。その相互作用をもたらす枠組みが「パス」、「ゾーン」、「エージェント」となる。

 パスは、「シムシティ」ではお馴染みのインフラのことで、道路や電送線、水道管、空路。これらを維持することによって健全なエコサイクルが維持できるが、交通事故や天災などの何かの障害によってこのパスが滞ると、たちまち街に悪影響を与えることになる。ゾーンは、ユニットの作成やアップグレード、削除によって直接影響を受けるエリアのことで、適切な人、モノ、金を投下することで徐々に街が構築されていく

 パスとゾーンはシリーズお馴染みの要素だが、3つ目の「エージェント」は、今回の「シムシティ」の革新的なところだ。エージェントとは、リソースを保持したユニットの行動規約のようなもので、ユニットに対して目的を与えるものだ。ルールとは異なり、様々な影響によって目的を無視して別の行動を取ることもあれば、交通渋滞や速度制限などのルールによって、強制的に遮られてしまうこともある。

 このエージェントは、目的地への経路探索にも利用され、移動の途中で状況が変わることで、目的地を柔軟に変化する。この法則を逆利用して、プレーヤーは人々の行動をコントロールしていけるというわけだ。リアル系シミュレーターでは当たり前の話だが、「シムシティ」では実は始めての試みとなる。お気に入りのキャラクターを見つけて、その彼(彼女)の1日を眺めるのも楽しそうだ。これはまさに「シムシティ」の「ザ・シムズ」化といった印象である。

【データの相互作用の仕組み】
パス、ゾーン、エージェント。この3つで世界を駆動していく

 「GlassBox」の概要説明は以上で、セッションの後半では、オンライン機能やマルチプレーヤー機能についても紹介されたが、ダウンロード配信やセーブデータのクラウド化、リソースの入ったパッケージを他のユーザーに送れるマルチ機能、非同期のサーバーモデルの採用など、まさにザックリといった感じでディテールについてはわからなかった。

 なお、ビジュアライゼーションについては、さすがに何千何万という規模のキャラクターを実際に描画することはないようで、家の居住者数や交通渋滞といったユニットについてはいくらか間引かれ、むしろゲームの状況を正確に再現することを意識しているという。

 最後に、α前のデバッグモードを使って、「GlassBox」のシミュレーション具合を見せてくれた。グラフィックスのクオリティについて、精密さには驚かされるものの、トレーラーのプリレンダーほどのフォトクオリティを実現することが目的ではないのがよく分かった。あくまでこだわっているのはシミュレーション部分で、それは「シムシティ」ファンにとっては何より嬉しいニュースではないかと思う。以下にまとめて見たのでぜひご覧頂きたい。


【「シムシティ」デモンストレーション】
わかりやすいように左右2点で1つの説明になるように掲載している

【The Economic Loop】
日々の経済活動が街にどのような影響を与えているかを示したデモ

【Environmental Simulation】
水の配給状況と、環境汚染が見ずに与える影響を示したデモ

【Fire Simulation】
火災の発生とその延焼具合。そして警報とその反応。デモでは消火活動は行なわれず、住宅街一面が火の海となった

(2012年 3月 11日)

[Reported by 中村聖司]