“Living Backgroud”な世界を実現するために

 2012年7月4日、東京都内でゲーム開発者を対象としたツール&ミドルウェアの総合展示会“Game Tools&Middleware Forum”が行われた。ゲストセッションでは、PS Vitaで発売され、アーティスティックな世界や独特なゲームプレイが高評価を受けた『GRAVITY DAZE/重力的眩暈:上層への帰還において、彼女の内宇宙に生じた摂動』のグラフィック周りでの工夫が明かされた。

 登壇したのは、アートディレクターを務めた山口由晃氏と、リードプログラマーの横川裕氏。本作のコンセプトは、“1.フレンチコミックのエッセンス”“2.日本のキャラクター性”“3.アメコミのヒロイズム”“4.重力を自由に操るアクション”。山口氏はそのような世界が、ただの背景ではなく、その場所に実在するかのような感覚で体感できるもの(Living Background)として実現できることを目指したのだという。
 また、あの独特なグラフィクスタイルが選ばれたのには、技術の進化によりCGは進化したものの、同じような絵作りのゲームが増えていると感じており、ゲームの絵の幅を広げたいと考えたことも関係しているとのこと。

『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_01
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_02
▲今年のトリを飾った『Gravity Daze』のセッション。右が山口氏で、左が横川氏。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_17
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_18
▲本作が目指したもののひとつに挙げられているバンドデシネ(フレンチコミック)の巨匠メビウスは、独特の浮遊感をもった表現で知られる。ちなみにメビウスは、奇しくも本作発売の一ヶ月後、闘病生活の末にこの世を去っている。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_28

 YouTube公式チャンネルでも公開されている、2008年当時のコンセプトムービーが流されたのだが、本作の絵作りの軸は、開発の初期段階でほぼ固まっていることがよくわかる。
 このムービーは開発チームの意思統一をするのに実に役だったそうなのだが、問題はこの世界を、いかにPS Vitaという新ハードで安定動作するゲームとして実現するかだ。
 なんせ、“上下7キロ左右2キロにも及ぶ、ごちゃごちゃと建物があり、さまざまなオブジェクトが置かれている広大なオープンワールド世界”というだけでも結構なこと。それだけで物量も処理量もハンパじゃない。
 まして本作の場合は“Living Backgroud”を実現するために、見えるところには行けなければいけないし、あらゆるところに立てなければいけない、さらには存在するものには壊したりなんだりと干渉できなければいけないという、普通はゲーム的な嘘で省略しちゃうハードルも乗り越えなければならないのだ。

『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_19
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_20
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_21
▲ハードの全貌が確定しているわけではない状態で、少人数でのプロジェクトとして動いていた本作。その必然として、後々のことも考えた最適化が当初より重要だったという。その上で目指すアートスタイルを実現するよう、プログラム面でも工夫していく必要があったのだ。

 講演ではいかにプログラム的に工夫して作業・処理の両面の効率化を行い、かつ目的のアートスタイルを実現したかが語られた。端的かつわかりやすかったのは、描画する必要のないオブジェクトを描画候補から除外するカリング処理の部分だ。
 とても大雑把に説明すると、視界の外にあるものは見えるわけないんだからどう見えるかあんまり気にしなくていいし(視錐台カリング)、壁の向こうにあるものなんかもやっぱり見えるわきゃないんだからあんま気にしなくていい(オクルージョンカリング)ので、描画の点では無視できるのだ。本作は大量のモノが世界に存在するが、カリング処理のおかげで劇的に処理を節約することができるので、横川氏いわく、コレ抜きでは『GRAVITY DAZE』は成立しないといえるほどだという。

『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_45
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_46
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_47
▲視錐台カリングで視野の外のオブジェクトを除外、その上でオクルージョン(遮蔽)カリングを行なって計算量を減らす。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_48
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_49
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_50
▲オクルージョンカリングの内容。実はこの処理によって起こりえる問題を解決するために、レンダリングを1フレーム遅らせている。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_06
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_07
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_08
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_09
▲ある場面でカリング処理がいかに効いているかの例。カリングなしでは7000オーバーのモデルがあるが、視錐台カリングで1700以下、オクルージョンカリングで230台にまで対象モデルを減らしている。

 そのほかにもキャラクターモデルやモーションから、描画そのものの高速化といったものまで、アートディレクションの側で求めたことと、プログラム側でどう処理を構築したのかが紹介された。非常に多岐に渡る内容だったので、各論については概要のみの紹介とさせて頂くが、最初にコンセプトムービーを作って打ち立てたアートスタイルを、何としてもゲーム体験を実現するという強い意思が感じられた。なお、さらに専門的に踏み込んだ内容を、今年のCEDECで公開予定とのことなので、気になる人はそちらをお待ち頂きたい。

『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_22
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_23
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_24
【キャラクターモデル/キャラクターリグ】
初期から規格を統一し、管理・チェックがしやすいようリグもシンプルに。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_25
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_26
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_27
【モーション】
アニメーターが作った8種類のモーションとFK(モーションを設定するための仕組み。フォワード・キネマティクスの略)で作った20種類のモーションをブレンドする。重要視しているのは浮遊感と動きのおもしろさ。慣性の表現はFKで設定している。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_03
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_04
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_05
▲モーションのデモ。ずっと落ちたり飛んだりしているゲームなので、浮遊感が大事なのだ。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_30
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_29
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_31
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_32
【シーン/モデル】
それぞれの街は80立法メートルのエリアに分割され、その下に道やビルや看板などのもろもろが属している形になっている。ビルのモデルはさらに窓などの子モデルを持っている。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_33
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_34
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_35
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_36
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_37
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_38
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_39
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_40
【リファレンスツール】
デフォルトのものをカスタマイズしたものと、本作用に作ったツールのふたつを紹介。どちらも作業の効率化が根底にある。プラグインも開発し、ツール上で実際の絵に近いものを見ながら作業できる。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_41
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_42
【コリジョン/壊れ物】
どこにでも立てるということは、あらゆるところに接地する判定を設けなければいけない。このコリジョン処理と破壊表現はミドルウェアのHavokを使用。ちなみに、コリジョン専門のスタッフは設けなかったとのこと。それは、専門の担当を設けた場合、作業が増えてくるとモデルの増加に追いつかなくなるという経験と、そもそもアート職の仕事は単に素材を作ることではなく、プレイヤーが降り立つ世界を作るものであり、ならばコリジョン判定まで作るべきだという考えによるそう。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_43
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_44
【エリアと読み込み】
エリアによってモデルの読み込み・切り替えを制御している。エリアに入ったら詳細モデルとコリジョンモデルを呼び、エリアを出たらポリゴン数の少ないモデルに切り替えるという処理を行う。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_51
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_52
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_53
【シャドウ】
物体の影はすべてリアルタイムで処理する一方、負荷軽減や高速化を行なっている。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_54
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_55
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_56
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_57
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_58
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_59
【描画の高速化】
描画中間コマンドを含めて3スレッドの並列処理で高速化。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_60
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_61
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_62
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_63
【線描画/空/フォグ】
本作らしい画面表現の中心となっている部分。空の色が一様ではないのはバンドデシネからだとか。ステージのイメージづけにもなるほか、他のゲームとの差別化もできていい事づくめだと山口氏。輪郭線の描画は背景とキャラクターで別々に行なっている。これは片方に合わせると片方で線が見えなくなるといったことが起こったからだとか。
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_10
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_11
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_12
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_13
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_14
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_15
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_16
▲フォグとポストプロセスの様子。2例目のフォグなしの画面を見ればわかるように、実は遠景の建物にテクスチャーが貼られていない。これで十分な表現が得られることは、コンセプトムービーの制作によってわかったことだという。

『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_64
『GRAVITY DAZE』はいかにしてあの浮遊世界を実現したのか? そのヒミツが明かされる【GTMF2012】_65