[PR]
※メイン写真
(左)トライゼット 西川善司氏
(右)シリコンスタジオ リサーチ&デベロプメント部 第1ソフトウェア開発グループ 新井 タヒル氏
photo by Yohei Onuma
注目される「シリコンスタジオ発」
シリコンスタジオといえば、ゲーム開発会社向けに様々なミドルウェアを提供していることで知られている。さらに CEDEC などではシリコンスタジオのエンジニアが先進的な技術発表も頻繁に行なっているため、シリコンスタジオブランドは開発者コミュニティからの信頼も厚い。そんなシリコンスタジオの新しいオールインワンゲームエンジンが「OROCHI」だ。
OROCHI の初お披露目は 2011 年2月末にサンフランシスコで開催されたゲーム開発者会議(GDC)だった。特に大きな前宣伝を行なっていたわけではなかったにもかかわらず、「シリコンスタジオが手掛ける新世代オールインワンゲームエンジン」ということで多数の問い合わせが寄せられ、僅かな期間で急激に注目度を上げてきた経緯がある。
特に日本のゲーム開発者からの問い合わせが多いというこの OROCHI とは、一体どのようなゲームエンジンなのだろうか。今回、この OROCHI プロジェクトのリーダーであり、エンジン設計のアーキテクト的立場であるシリコンスタジオのリサーチ&デベロプメント部 第1ソフトウェア開発グループの新井 タヒル氏への取材が実現したので、その内容をレポートすることにする。
「国産」ゲームエンジン誕生の意義とは?
まずは基本的なところから明瞭にしていこう。それは「OROCHI とは一体何なのか?」という疑問である。
近年ではグラフィックス関連のミドルウェアが有名なシリコンスタジオだが、実は「ALCHEMY」という統合型のミドルウェアを PS2 時代からゲーム開発会社向けに提供している。これはシリコンスタジオが米国 Activision 社と業務提携を結び、開発および日本を含むアジア圏での独占販売を行っている製品で、今でいうゲームエンジンとは少々異なるがマルチプラットフォーム対応の統合型ミドルウェア製品だ。
一方の OROCHI は「国産」オールインワンゲームエンジンというキャッチコピーを掲げていることからも分かるように、日本のゲーム開発シーンにピッタリ適合することをコンセプトに設計段階から日本で開発されているイメージがある。「国産」にこだわり、なおかつ「オールインワン型のゲームエンジン」の開発をスタートさせるに至ったきっかけは何だったのだろうか。
新井氏:PS3、Xbox 360 といった今世代機のゲーム開発において、日本の開発スタイルが海外に遅れをとっていると言われることが多くなってきました。しかし技術レベルに関しては、それほど大きな差はなかったと思っています。おそらく「ゲームエンジンを活用する」という発想の導入が遅れたため、そう言われるようになったのではないでしょうか。ただ、海外のゲームエンジンをそのまま日本の開発シーンに持ってこられるかというと、実はなかなかうまくいかないようです。それは日本の開発スタイルに海外のエンジンがうまくマッチしなかったからではないか、と我々は分析しています。
OROCHI プロジェクト開始のきっかけは、新井氏自身が現場開発者だった時に「ゲームエンジンという概念」を導入することの必要性を感じ、そして「エンジンを日本の開発シーンに適合させること」の重要性を痛感したことだという。開発現場で培った体験を元に OROCHI の土台は設計されているというわけだ。なお新井氏もそうだが、OROCHI 開発チームのコアメンバーの多くは、実際に日本のゲーム開発シーンで活躍していたエンジニアで構成されている。どうしてゲームエンジンが必要になってきたのか、という開発シーンの変化や経緯については「ゲームグラフィックス2011」P6-7掲載の「ゲームエンジン・ミドルウェア最新事情」記事を参照して欲しいが、海外製のゲームエンジンが日本の開発スタイルにマッチしにくかった理由とはどこにあるのだろうか。
新井氏:例えばマスターアップ直前でミドルウェア側の対応が必要という局面になった場合、海外製ゲームエンジンでは言語の違いや時差のため対応に時間が掛かるという問題が挙げられます。それから海外製ゲームエンジンのワークフローの考え方が日本のゲーム開発スタイルにマッチしにくいという問題点もあります。欧米のゲーム開発では仕様を厳格に決定して工場的に製作を進めていくスタイルが主流です。ところが日本では、アート系出身のプロデューサーやディレクターが多く、とりあえず絵を出しながらゲームの仕様を詰めていく......というような「トライアンドエラー」に重きを置いた開発スタイルを好む傾向があります。このため OROCHI では「トライアンドエラー」をしやすい設計にしています。
欧米の開発シーンではスクリプトベースでゲームロジックを組み立てていくことが主流だが、日本の場合はゲームロジックを組み立てるプランナーやゲームデザイナーがスクリプトを書けないケースが多い。そこで OROCHI は、ロジックプログラムはプログラマーが書き、ゲームの面白さに関わるような調整はプランナーやゲームデザイナーが行う、という日本の開発シーンにマッチしたワークフローになっているという。
![新井氏:OROCHI をすでに評価していただいているスタジオさんがありますが、ツールやエディタ群のメニューや項目が最初からすべて日本語になっている......と説明すると、取っつきやすく見えるようで「第一印象が良い」という評価をよく頂きます(笑)](/images/feature/interview/orochi_a02.jpg)
新井氏:OROCHI をすでに評価していただいているスタジオさんがありますが、ツールやエディタ群のメニューや項目が最初からすべて日本語になっている......と説明すると、取っつきやすく見えるようで「第一印象が良い」という評価をよく頂きます(笑)
モバイルからハイエンドまで幅広い対応
ゲームエンジンと一口に言っても様々で、大規模プロジェクト用のもの、特定のハードやゲームジャンルのみを対象としたものなどがある。では OROCHI とは、どこを狙ったゲームエンジンなのだろうか。前述の ALCHEMY もゲームエンジンに似たミドルウェアで「どちらを選ぶべきか」と思うゲームスタジオもあるだろう。
新井氏:OROCHI が掲げている大きなコンセプトとして「ハイエンドゲームを開発できること」というものがあります。つまり PS3 や Xbox 360、Windows(アーケード)といったハイエンドプラットフォームでの開発に必要とされる機能が揃っているゲームエンジンということです。一方の ALCHEMY は異機種間での移植性に強みのあるミドルウェアで、比較的ライトなゲームのマルチプラットフォームプロジェクトを狙った製品です。
とすると OROCHI はハイエンド機での大規模・大作ゲーム専用エンジンで、モバイルプラットフォームには対応しないのだろうか。
新井氏:いえ、スマートフォンや PS Vita のようなモバイルゲームプラットフォームへも対応します。大規模・大作タイトルの開発に対応できるエンジン、ということであって、モバイルゲームプラットフォームをターゲットにしないということではありません。開発した大規模タイトルをモバイルゲームプラットフォームへ展開するための道筋を提供できることも OROCHI の強みです。
また、今後はハイエンド版とモバイル版とでエンジンを切り分けて設計していく方針をとるという。モバイル機(特にスマートフォン)は機能進化ペースが早く、特殊機能(加速度センサ、ジャイロ、GPS、タッチ入力など)も多いため、これらを分けた方が効率よく開発できると判断されたためだ。実際カプコンの MT FRAMEWORK などでも近年のバージョンでは同様の設計方針に切り換えている。なお、エンジン自体がハイエンドとモバイル向けとで切り分けられてもライセンシーは両方利用ができるとのことだ。
![PS Vita](/images/feature/interview/orochi_b01.jpg)
![Windows](/images/feature/interview/orochi_b02.jpg)
(左)PS Vita、(右)Windows
PS Vita 対応は既に完了しており、取材時点(2011 年 10 月)では、Windows 上で開発した 30fps ベースのテクニカルデモが、PS Vita 上でもほぼ同等のクオリティかつ 30fps で動作しているという
OROCHI 機能紹介
OROCHI のコンセプトや概要が分かったところで、続いて機能面について見ていきたい。
グラフィックス
グラフィックスライブラリは、いわゆる Deferred 系のレンダリングパイプライン(Light Pre-Pass レンダリング)になっている。PS3、Xbox 360 いずれにおいても、素材やマテリアルなどをプラットフォームごとに合わせるといった作業は不要で、各ハードの特質を活かした形でライブラリを実装しているとのこと。なお従来の Forward 系のレンダリングパイプラインも利用可能で、開発するプラットフォームの仕様によってどちらかを選択できる。PS Vita に関しては、Forward 系レンダリングパイプラインとの相性が良いとのこと。
シェーダ
OROCHI にはシェーダツールも内蔵されている。アーティストは内蔵されている多様なシェーダ群に対してパラメータ調整を行うことで任意の質感を作り出せる。また独自設計のシェーダを追加することも可能。プログラマーは各プラットフォームへの最適化をあまり意識せずに OROCHI 向けのシェーダを書けばよく、モデル編集ツールで作成したマテリアルは全プラットフォームで同一の質感が再現されるという。
![グラフィックス](/images/feature/interview/orochi_c01.jpg)
![シェーダ](/images/feature/interview/orochi_c02.jpg)
(左)複数のライティング、(右)モデル編集ツール
フィルター、エフェクト
被写界深度表現などのポストエフェクトや、炎や煙といったエフェクトグラフィックスの作成ツールとしては、シリコンスタジオから単体のミドルウェアとしてリリースされている「YEBIS」と「BISHAMON」のフルスペック版が搭載されている。これらは業界でも広く利用されているミドルウェアのため使用経験のある開発者も多い。そのためアーティストはすぐにこれらをフル活用でき、既に過去のプロジェクトで築き上げてきた YEBIS ベースや BISHAMON ベースのリソース群も迅速に流用可能だ。
モーション
モーション作成ツールや管理ツールも一通りのものが揃っており、2つのモーションをブレンドできるツール、モーション同士を滑らかに繋いて補間するツール、複数のモーションを繋いだ連続アクションを作成するツールなども用意されている。さらに、モーションのブレンド方法をビジュアル的に設定できるモーションツリーエディタも用意されている。エンジンランタイムは IK(Inverse Kinematics)にも対応。
![フィルター、エフェクト](/images/feature/interview/orochi_c03.jpg)
![モーション](/images/feature/interview/orochi_c04.jpg)
(左)YEBISを利用した水中表現、(右)モーション編集ツール
AI
経路探索、群集制御などの実現手法を提供するだけでなく、プレイヤーや NPC を設計するための基本的なライブラリを内蔵している。特に力が入っているのは AI 作成のビジュアルツールだ。これはプランナーやゲームデザイナーなどプログラマーでなくてもフローチャート的に AI を作成できるツールで、デバッグもブレークポイントの設定もツール上で可能。基本的な関数はプリセットされているが独自関数の追加も可能なので、特定のゲームに特化したロジックもツール上で作成できる。
物理
衝突処理関連には Bullet、その他の応用物理シミュレーションに関しては PhysX が採用されている。物理関連ツールとしては衝突形状を設定できるユニットコリジョンツール、物理パラメータを設定できるクロスシミュレーションツールやラグドールツールなどが用意されている。なお既に自社で物理シミュレーション部分を構築している場合は、そちらを利用することも可能だ。
![AI](/images/feature/interview/orochi_c05.jpg)
![物理](/images/feature/interview/orochi_c06.jpg)
(左)フローチャートAIツール、(右)ラグドール編集ツール
40 種以上に及ぶ、豊富なツール群
OROCHIには、この他、P2Pネットワーク、マッチングサービスなどに対応したネットワークエンジン、 立体音響や多言語にも対応したサウンドエンジンなども統合されているが、OROCHIならではの訴求ポイントとして 新井氏が特に強調したいのが豊富なツール・ユーティリティ群だという。実際のゲーム開発に必要になる細かなツール群はもちろんのこと、 プロトタイプ製作に役立つツール群などまで、その種類は40以上にもなるという。
新井氏:DCCツール使用経験がないプランナーレベルでも触れる簡易マップエディタはプロトタイプ製作には便利だと思います。実際の開発現場で好評なのは、シーンに登場キャラクタなどを配置するユニット配置エディタですね。配置したオブジェクトのパラメータが全自動でリストアップされる機能が便利だと言われます。リアルタイムグラフィックスで表現されるイベントシーンを製作するためのリアルタイムデモエディタも用意されています。
ユニークなところではリアルタイムの天球生成機能、独自のフォント描画システムなどがある。前者は地球上の任意の経度緯度、時刻を設定すると、その空模様の天球が描画できるというもの。PS Vita などで GPS や電子コンパスと連動させて天気データを反映させれば、現実世界に近い空模様を再現した AR や VR を実現できるかもしれない。後者は、ゲーム中の会話シーンやムービーシーンなどで描画する字幕文字を、システムフォントではなくオリジナルの書体で表現できるものだ。文字に至るまで雰囲気作りを行いたいという場合には有用な機能となる。
![簡易マップエディタ](/images/feature/interview/orochi_b03.jpg)
![オブジェクト配置ツール](/images/feature/interview/orochi_b04.jpg)
![天球生成機能](/images/feature/interview/orochi_b05.jpg)
左から「簡易マップエディタ」、「オブジェクト配置ツール」、「天球生成機能」
実際に役立つ豊富なツール群。画像をクリックすると拡大されるので、見て頂きたい
MADE IN JAPANの必然
新井氏の話を聞いてきて感じたのは、OROCHI の各機能が欧米製ゲームエンジンや他のゲームエンジンと張り合うために盛り込まれているのではなく、
日本の開発スタイルに適合するように設計されているということだ。そのスペックは1つずつ見ていけば確かに高機能であることが分かるが、各機能はハイスペックとなることを目指して設計されているのではなく、
日本の開発者が使ったときに「高機能である」と実感できるようデザインされているのだ。いわばこれが OROCHI の一番の特徴だといえる。
例えばシェーダツールや AI ツール。欧米製ゲームエンジンではシェーダや AI そのものをビジュアル的に制作できる万能ツールが提供されている場合が多いが、OROCHI ではシェーダや AI の基本パーツはプログラマーが開発してツール上に組み込み、デザイナーやアーティストがそれらのツール上で調整して最終形に作り上げるスタイルにしている。これは、機能実装は優秀なプログラマーに任せ、職人芸的な作り込みや些細な調整はこだわり派のデザイナーやアーティストに任せるという日本の一般的な開発シーンには非常にマッチしている。
「国産オールインワンゲームエンジン」は単なるキャッチコピーではない。ゲームエンジンを「日本のゲーム開発シーンに適合」させるためには、「MADE IN JAPAN」が必然だったのだ。
TEXT_西川善司
PHOTO_大沼洋平