SHIELD Stories が興味深い の2

前回から1年程経過したので ( http://d.hatena.ne.jp/mjt/20151123/p1 )。
去年から見て重要な違いは:

  • Nintendo SWITCHがほぼSHIELD TVと同スペックで登場した。パフォーマンスに関する考察が同様に適用できる。
  • 逆にNVIDIAはShieldコンソールをほとんど止めてしまった。2013年、2014年、2015年と毎年登場してきたShieldデバイスは、2016年には登場しなかった

なので来年もこのコーナーが継続できるかどうかが絶妙なポイントと言える。SHIELDデバイスは毎年のように登場していたが、このSHIELD Storiesは基本的には据え置きの最新モデル、つまりAndroidTVなSHIELDを想定している。
このSHEILD Storiesに載るには、どうも"Optimized for NVIDIA SHIELD"でなければならないようで、例えばSuper Meat Boyのように有名タイトルでNVIDIAのIndieCadeブースに置かれても記事になっていないものが有る。
3タイトルともパッドやコントロールの扱いを課題に挙げていて、ParallaxとSuper Mega Baseballはビルドも課題に挙げている。独自エンジンのゲームは無い(Unity x2、PhyreEngine)が、PhyreEngineかつAndroid上の商用タイトルは珍しいかもしれない。

Parallax

ParallaxはUnity製の3Dパズルプラットフォーマーで、SHIELDの他にはPCで出ている。上手く行かなかった点に挙げているのは、ビルド、ゲームパッド
Unityはまぁまぁのゲームパッドサポートをエンジンで提供しているため、何故Unityのゲームパッドサポートがそのまま利用できなかったのかはよくわからない。NVIDIAはGame Controller統合のサンプルコードをSDKに含めていて、おそらくそれをそのまま使用している。
もうお決まりのようにGoogle Play Game Servicesへの統合を上手くいかなかった点に挙げているが、微妙に気になる点はフルスクリーンエフェクトの問題を解決できなかった点に挙げている点。NVIDIAは基本的にこの辺の技術サポートは提供しているため、実装方針が不味かったか、単純に負荷が高かったのかもしれない。

Super Mega Baseball

Super Mega Baseballはカジュアルな野球ゲームで、PhyreEngine製。PhyreEngineはSIE(当時のSCE)製のゲームエンジン( http://rdwest.playstation.com/research-technology/phyreengine/ )で、PS3/4/Vitaの他にAndroidやPCもサポートしている。
上手く行かなかった点で注目できるのはマルチユーザのサポートで、実際AndroidTV(やiOS)にはPS4やXboxOneのようなマルチユーザ + マルチログインの良い考察が無く、ゲームを起動したユーザのセーブデータを進捗させることを前提とせざるを得ない。(もっとも、Android/iOSでは自前のセーブシステムを実装しても構わないのでサーバ代を払うならどうにでもなるという面はある。でも良いシステムUIが無いのはどうしようもない。)
いわゆるlocal co-opに対する考察は非常に難しい局面に来ている。真にゲームにしか要求されない機能性であり、実装やデバッグも非常に複雑なものになる。

Ultimate Chicken Horse

Ultimate Chicken HorseはUnity製の対戦型プラットフォーマーで、PCやコンソールにも出ている。他に比べて内容が妙に簡潔だが、エフェクトの少いシンプルな絵なので専用の考察があまり無いのかもしれない。
興味深いのは、アセットサイズの制限のためにオーディオアセットを分割せざるを得なかったとしている点。apkのサイズは100MiBが限度なので、オーディオを外部ファイルとして分割し別のロードとしたと思われる。redditに開発者が書いているように、オーディオエンジンとしてはWwiseを採用している( https://www.reddit.com/r/Unity3D/comments/33dqir/ )。
もう一点はコントローラの"back"の扱いを挙げている。"back"ボタンを押したコントローラ番号が特定できない?らしい。(そもそも、AndroidTVではbackは線型ナビゲーションとなることを要求している、つまりbackの連射でアプリケーションを終了してホームメニューに戻ることを要求しているため、マルチプレイヤ型のゲームではうまくフィットしない。)