ニュース
オートデスクのゲームエンジン「Stingray」が最新バージョン1.1で機能強化
「Stingray for Game イントロダクションセミナー」開催
(2015/11/30 00:00)
オートデスクは11月26日、「Stingray for Game イントロダクションセミナー」と題して、同社の3Dゲームエンジン「Stingray」のゲーム開発者向けセミナーを行なった。会場が同社のセミナールームということで、比較的小人数のものを想像していたのだが、会場に入ってみると、実に200名もの開発者が詰めかけ満席となっており、「Stingray」に対する開発者の関心の高さをうかがわせた。
本セミナーでは、「Stingray」技術サポート担当の梅澤孝司氏によって、8月のCEDEC2015での講演内容のおさらいに加え、最新バージョンの「Stingray1.1」の新機能が紹介された。また、セミナー後半では、「Maya」など同社のDCCツールを中心に梅沢氏と同じく技術サポートを担当する長谷川真也氏によって、実際に「Stingray」環境上でアニメーションブレンド設定する作業の実演も行なわれた。
セミナー全体としては、従来の紹介イベントと同じく、「Stingray」でできることの概要を紹介する内容に多くの時間が割かれたが、本稿では、バージョン1.1の新要素を中心にアップデート情報をお伝えする。
「Stingray」バージョン1.1の最大の朗報は、サポートするAndroidチップセットに「Snapdragon 800/801/805/810」が加わったことだ。これで2013年後半あたりから発売されたスマートフォンやタブレットで動作することになり、その数は100機種以上にのぼる。ハイエンドの「Snapdragon 8xx」のみと依然限られた対応ではあるものの、日本のみならず世界的にスマートフォンはハイエンド志向の傾向にあり、また「Stingray」が3Dゲームエンジンであるという特性上、ハイエンドに限られるのは仕方がないところだろう。
また「Snapdragon 800」以降への対応ということで、「Snapdragon Sx」世代を搭載する古いデバイスには対応しない。未確認ではあるが、CEDEC2015時の個別ミーティングでの感触から考えると、過去のチップセットにさかのぼって対応デバイスを増やしていくという方針がとられることはないと考えられる。よって、現時点でサポートされた「Snapdragon 800」搭載機種が「Stingray」にとってローエンドなAndroidデバイスということになるだろう。今後もサポートするチップセットは増えていくだろうが、それは新規に登場するものになるはずだ。
3Dビジュアル表現も着実に進化している。光の屈折の表現が新たに追加され、屈折によって水面を通した水底が歪んで見える表現が確認できた。また、スクリーンスペースアンビエントオクルージョンの描画パフォーマンスが向上し、ノイズ低減により品質が向上している。床面などへ鏡面反射も改善されており、適切表示が得られるように調整する機能が追加されたほか、前フレームのレンダリング結果を利用してオブジェクトのキワを滑らかにするテンポラルアンチエイリアシングが、画面に強すぎるボケを及ぼしていた問題も解消されている。
このように、バージョン1.0の段階で十分にモダンな物理ベースの描画結果が得られているように感じられていたものが、バージョン1.1で、さらに描画品質が向上している。よくよく見ると不自然な部分を減らす努力が、着実に続けられていることは好材料だ。
「Stingray」開発環境の操作性、利便性にも多くの改良が施されている。実感しやすい変更点として、DCCツールと「Stingray」環境のカメラをライブリンクさせている際に、どちらのアプリケーションのカメラを操作しても、バックグラウンド側のアプリケーションのビューポートが自動的に同期して更新されるようになったことが、梅沢氏によるデモの過程で確認できた。
この同期は、さらにターゲットプラットフォームのデバイスとライブリンク実行している際には、デバイス上のカメラも自動的に同期される。たとえば、PS4向けのゲームを開発しているとして、開発者が「Maya」でカメラ位置を変更すると、その情報が「Stingray」を介してPS4開発機材にも即座に伝わり、同期するようにPS4の画面も更新される。
この機能により、アーティストは実機そのものをビューアとして常に使用することができ、3Dオブジェクトの色、形、動作に問題がないか簡単に確認できる。実際、DCCツール、PC上のビューア、実機の出力は、ツールがどれだけ良くできていても完璧には同じにすることができず、どうしても差異が出てしまうことが多い。やはり相応の頻度で実機出力して確認する必要があり、その操作に手間や待ち時間がないのは大きい。
ゲームをプレイするエンドユーザーには直接関係ない部分ではあるが、こういった改良は非常に重要だ。作業の細かい部分が一手順簡便になっただけでも、それが反復作業であればあるほど作業コストは低減する。単純な作業コストが低減すれば、作業頻度を上げることができたり、より生産的な作業に割く時間を増やすことができ、品質の向上に寄与するからだ。
セミナーの終盤では、前述の新機能のほか、よくある質問への回答として「Stingray」のプラグイン開発についても触れられた。バージョン1.0から引き続き、ソースコードのない状態でのC++でのプラグイン開発環境は提供されていないものの、LuaスクリプトからCのDLLを呼び出す方法が紹介された。これにより、たとえソースコードライセンスの契約をしていなくても、エンジンのリビルドを行なうことなく、外部ライブラリを呼び出すことができる。
この方法で、どこまで何ができるかは、実際に導入して検証してみないと確実なことは言えないが、自前でなんとかつなぎ合わせれば、広告や課金といったウェブベースのテクノロジが活用されている分野と連携できるように思われる。ゲーム起動から実際にゲームプレイを行うレベルに至るまでの流れでも、ウェブと連携できるようにプラグインで拡張できるのであれば、F2Pモデルのゲームへの活用の可能性が広がる。
もっとも、こういった分野への連携は、やはりエンジンそのものにインテグレートしてオートデスクが提供するか、確実なサードパーティとのパートナーシップを望みたい。ゲーム開発者は、ゲームの外側のテクノロジに意外と疎いことも多く、なによりゲームの中身の面白さや出来の良さにこだわる必要があるからだ。
バージョン1.1のリリースによって、急速にとはは言えないまでも、3Dゲームエンジンとして「Stingray」の採用を検討する価値は、着実に高まったと思われる。少なくとも、コンソールプラットフォーム向けのパッケージゲームや、モバイル向けでも売り切りモデルであれば、本格的に追いかけ始めても良いのではないだろうか。特に、競合する「UnrealEngine」や「Unity」で開発を始めてみたものの、開発中のゲーム要求とのギャップを感じているプロジェクトにとっては、新たな選択肢として試してみる価値はあるはずだ。
一般的に、ゲームエンジンが高級化、高機能化すればするほど、ツールの習得難易度は上がり、正しい理解と正確なデータ作成の容易さは損なわれていくと言える。クオリティアップを目的に、高級で高機能なゲームエンジンを導入しても、難解で煩雑なものでは、使いこなせずにクオリティが下がってしまうことになりかねない。かといって、ゲームからエンジンへの要求のエスカレートには際限がないため、そのギャップはゲームエンジンの開発環境が吸収することになる。エントリーレベルの開発者には、ある程度ブラッボックス化してでも簡便に、マスターレベルの開発者には、奥深くまで触ることができて使い倒せるというのが理想だろう。
ライセンス料金体系というゲームエンジンのビジネスの側面もあって、このあたりのバランスの取り方が非常に難しいところだと思われるが、このあたりの妙がそれぞれのゲームエンジンのカラーであり、ゲームエンジンを提供する各社の腕の見せ所といったところだろう。「Stingray」は、まだまだこれからのゲームエンジンであり、今後の進化の方向性に引き続き注目したい。