“Living Backgroud”な世界を実現するために
2012年7月4日、東京都内でゲーム開発者を対象としたツール&ミドルウェアの総合展示会“Game Tools&Middleware Forum”が行われた。ゲストセッションでは、PS Vitaで発売され、アーティスティックな世界や独特なゲームプレイが高評価を受けた『GRAVITY DAZE/重力的眩暈:上層への帰還において、彼女の内宇宙に生じた摂動』のグラフィック周りでの工夫が明かされた。
登壇したのは、アートディレクターを務めた山口由晃氏と、リードプログラマーの横川裕氏。本作のコンセプトは、“1.フレンチコミックのエッセンス”、“2.日本のキャラクター性”、“3.アメコミのヒロイズム”、“4.重力を自由に操るアクション”。山口氏はそのような世界が、ただの背景ではなく、その場所に実在するかのような感覚で体感できるもの(Living Background)として実現できることを目指したのだという。
また、あの独特なグラフィクスタイルが選ばれたのには、技術の進化によりCGは進化したものの、同じような絵作りのゲームが増えていると感じており、ゲームの絵の幅を広げたいと考えたことも関係しているとのこと。
YouTube公式チャンネルでも公開されている、2008年当時のコンセプトムービーが流されたのだが、本作の絵作りの軸は、開発の初期段階でほぼ固まっていることがよくわかる。
このムービーは開発チームの意思統一をするのに実に役だったそうなのだが、問題はこの世界を、いかにPS Vitaという新ハードで安定動作するゲームとして実現するかだ。
なんせ、“上下7キロ左右2キロにも及ぶ、ごちゃごちゃと建物があり、さまざまなオブジェクトが置かれている広大なオープンワールド世界”というだけでも結構なこと。それだけで物量も処理量もハンパじゃない。
まして本作の場合は“Living Backgroud”を実現するために、見えるところには行けなければいけないし、あらゆるところに立てなければいけない、さらには存在するものには壊したりなんだりと干渉できなければいけないという、普通はゲーム的な嘘で省略しちゃうハードルも乗り越えなければならないのだ。
講演ではいかにプログラム的に工夫して作業・処理の両面の効率化を行い、かつ目的のアートスタイルを実現したかが語られた。端的かつわかりやすかったのは、描画する必要のないオブジェクトを描画候補から除外するカリング処理の部分だ。
とても大雑把に説明すると、視界の外にあるものは見えるわけないんだからどう見えるかあんまり気にしなくていいし(視錐台カリング)、壁の向こうにあるものなんかもやっぱり見えるわきゃないんだからあんま気にしなくていい(オクルージョンカリング)ので、描画の点では無視できるのだ。本作は大量のモノが世界に存在するが、カリング処理のおかげで劇的に処理を節約することができるので、横川氏いわく、コレ抜きでは『GRAVITY DAZE』は成立しないといえるほどだという。
そのほかにもキャラクターモデルやモーションから、描画そのものの高速化といったものまで、アートディレクションの側で求めたことと、プログラム側でどう処理を構築したのかが紹介された。非常に多岐に渡る内容だったので、各論については概要のみの紹介とさせて頂くが、最初にコンセプトムービーを作って打ち立てたアートスタイルを、何としてもゲーム体験を実現するという強い意思が感じられた。なお、さらに専門的に踏み込んだ内容を、今年のCEDECで公開予定とのことなので、気になる人はそちらをお待ち頂きたい。
初期から規格を統一し、管理・チェックがしやすいようリグもシンプルに。
アニメーターが作った8種類のモーションとFK(モーションを設定するための仕組み。フォワード・キネマティクスの略)で作った20種類のモーションをブレンドする。重要視しているのは浮遊感と動きのおもしろさ。慣性の表現はFKで設定している。
それぞれの街は80立法メートルのエリアに分割され、その下に道やビルや看板などのもろもろが属している形になっている。ビルのモデルはさらに窓などの子モデルを持っている。
デフォルトのものをカスタマイズしたものと、本作用に作ったツールのふたつを紹介。どちらも作業の効率化が根底にある。プラグインも開発し、ツール上で実際の絵に近いものを見ながら作業できる。
どこにでも立てるということは、あらゆるところに接地する判定を設けなければいけない。このコリジョン処理と破壊表現はミドルウェアのHavokを使用。ちなみに、コリジョン専門のスタッフは設けなかったとのこと。それは、専門の担当を設けた場合、作業が増えてくるとモデルの増加に追いつかなくなるという経験と、そもそもアート職の仕事は単に素材を作ることではなく、プレイヤーが降り立つ世界を作るものであり、ならばコリジョン判定まで作るべきだという考えによるそう。
エリアによってモデルの読み込み・切り替えを制御している。エリアに入ったら詳細モデルとコリジョンモデルを呼び、エリアを出たらポリゴン数の少ないモデルに切り替えるという処理を行う。
物体の影はすべてリアルタイムで処理する一方、負荷軽減や高速化を行なっている。
描画中間コマンドを含めて3スレッドの並列処理で高速化。
本作らしい画面表現の中心となっている部分。空の色が一様ではないのはバンドデシネからだとか。ステージのイメージづけにもなるほか、他のゲームとの差別化もできていい事づくめだと山口氏。輪郭線の描画は背景とキャラクターで別々に行なっている。これは片方に合わせると片方で線が見えなくなるといったことが起こったからだとか。