シンプルなデータの積み重なりが夢の街を動かす

新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_34

 今週、エレクトロニック・アーツのイベントで発表された新生『シムシティー』。米時間の2012年3月7日に、GDC(ゲーム・デベロッパーズ・カンファレンス)会場で、本作に使われる“GlassBox”エンジンについて講演が行われた。

 講演は、クリエイティブ・ディレクターのOCEAN QUIGLEY氏が概要の解説を行い、チーフ・アーキテクトのANDREW WILLMOTT氏が本作におけるデータの種類や中身を説明し、リードゲームプレイエンジニアのDAN MOSKOWITZ氏が実例を示すという順番で行われた。

 Willmott氏いわく、GlassBoxはデータドリブン(データ主導)なシミュレーションエンジンだと言う。今度のシムの世界は、あらゆるものが特定の小さなデータ形式で属性などが記述され、それらを動かしていくことによって世界が変化していく。オブジェクトの概念に以下のような種類がある。

1.リソース
・資源。石油や石炭、お金、公害、水、電気、市民といったもの。ゲーム内では、“貨幣”のようにこれらがやり取りされ、世界が動いていく。
・“大きな容器(Bin)”に入っていると考える。Binの中身はR(リソースの種類)と、C(キャパシティ)で記述する。この油田はオイル(R)が最大100中40(C)残っている、この家にはシム人(R)が最大10人の内4人(C)入っているといった塩梅。。

2.ユニット
・家、工場、それと人など。
・各ユニットはBinをいくつか。たとえば住宅だったらシム人、お金、ゴミ、電気といったBinでその家の状態を示す。

3.マップ
・マップにはリソースが埋まっている。石油、石炭などだが、空気中の害、土地の価値なども含まれる。リソースは有限。
・各セルがBinを持つ
・ユニットは1セル動くごとにマップに干渉する。

4.グローバル
・世界全体のBin。

5.ルール
・ここまでがいわば新たなシム世界の“名詞”となる。これに対して“動詞”と呼べるのがルール。リソースのインプットとアウトプットを記述する。
・例えば、お金を使って木を植える場合。もし人がいれば、お金10を消費して木2をアウトプットできる。
・ユニットのルールは、自分の持つBinや、グローバル、そのユニットがいるマップのセル、周囲のユニットをターゲットにしたルールが存在し、ゲーム内のアクションに対して実行される。
・マスタード工場ではボトルとイエローマスタードでマスタードボトルができ、公害も発生。人はマスタードがなくなればもっと買いに行くとか……。
・マップのルールでは、土が最低でも20あると、水が10、栄養が1に対して草を5生み出すといった感じ。

6.ボックス
・プレイエリアを提供する。存在するユニットタイプ、マップタイプ、グローバルBin、ルールといったものが必要で、状態はBinとセルの価値、ユニットの場所で定義できる。

 以上の6つが基本概念となる。さらに『シムシティ』らしくするのが以下の3つ。

A.パス
・道路、電線、水道……。
・つながるとパス・セットになる。
・曲がった道も可能。

B.ゾーン
・定義されたエリア。
・ユニットの生産・破壊・アップグレード/ダウングレードなどのルールを動かす。
・ゾーンのルールでは、グローバルにビルダーが十分にいれば、森のないところに対して1日3つの家を建てるといったことをする。

C.エージェント
・リソースをユニットからユニットへ運ぶもの。
・人が歩いている場合、パスに沿って自分自身とお金というリソースを運ぶエージェントでもある
・エージェントはTransport Handlersによってコントロールされる。クルマがドライブしたり、パイプを水が流れるとかいった場合もエージェントとして処理している。

新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_01
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_02
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_03
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_04
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_05
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_06
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_07
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_08
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_09
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_11
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_10
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_12
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_13
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_14
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_15
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_19
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_20
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_21

 ちなみに、オンライン対応も当初から考えているそうで、つねにクラウドでセーブし、どこでもプレイ可能なオンライン体験を考えているという。それぞれのプレイヤーのボックス間でリソースのパッケージを送りあうことにより、マルチプレイを実現するとのこと。サーバーがダウンしてもプレイ可能で、ネットがダウンしても一時的にはプレイ可能な設計にする模様。そのほか、エディターなどの提供なども検討を行なっているそう。

新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_16
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_17
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_18

 MOSKOWITZ氏は、以上を踏まえてシム世界の動きを実際に見せた。“The Economic Loop”では、人が家から工場にクルマで出社し、製品ができあがってトラックで出荷され、その間に工場から大気汚染が起こる様子を例示。おさらいのために書いておくと、ここで起こっているのはおおざっぱに以下のように示せる。

・住居(ユニット)からシム人(リソース)を道(パス)に沿ってクルマ(エージェント)で工場(ユニット)へと送り出す。
・工場(ユニット)は各リソース(シム人、原料、エネルギーその他)が十分であれば原料(リソース)から製品(リソース)と大気汚染(リソース)を生み出す。
・製品(リソース)はトラック(エージェント)で道(パス)に沿って出荷される。

 そのほか、水がいかに街に供給され、また汚染によって水が一帯の住人に病気をもたらすか、火がどのように燃え移っていくかといったといった例も。ひと通り説明してもらうと何が起こっているのかわかってスッキリ。まぁそれよりも、早くプレイしたいわけですが……本作の発売は日本でも2013年にPC向けに発売予定。

新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_22
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_23
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_24
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_25
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_26
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_27
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_28
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_29
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_30
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_32
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_31
新生『シムシティ』の世界を記述する“GlassBox”エンジンとは【GDC 2012】_33