Unity Technologiesは29日、任天堂の携帯型ゲーム機「Newニンテンドー3DS」に対応する開発環境「Unity for Newニンテンドー3DS」のサポートを正式に開始したと発表しました。UnityがNew3DSへ対応することは、昨年4月の「Unite 2015 Tokyo」で発表されていたもの。そこからリリースへ向けた準備が進められ、遂に正式にサポート開始の発表となりました。
なお、「for Newニンテンドー3DS」とされているように、New3DS向けの開発が強く推奨されていますが、オリジナルのニンテンドー3DS向けソフトの開発も“条件付きで”イエスとのこと。ソフトによっては3DSからNew3DSへの性能向上の恩恵を受けられる仕組みもあるように、その性能にはやはり差があるようです。ちなみに今回の正式発表の前になりますが、Unityで開発されたNew3DS専用ソフト『ねじ巻きナイト2』が、昨年末に先行でリリースされています。その他のゲームも承認を得次第、順次発表・発売していくということです。
Newニンテンドー3DS向けにゲームを準備するには
このプラットフォームはいくつかの点でユニークなため、ゲームでその機能を活かすためにはいくつかの変更が必要です。
- 画面が2つあるので、ユーザーインターフェイスを再デザインしてもう一つの画面をうまく使う必要があります。下の画面はタッチ可能なのでメニューやインタラクティブなUI要素を置くのがお勧めです。
このデバイスの最もクールな機能は裸眼で3D立体視が出来ることです!しかし、これはオブジェクトの距離が他のプラットフォームとは違う形で見えるということでもあります。なので、たとえば距離を”誤魔化す”ようなグラフィックス効果を用いている場合は正しく動作しません。たとえば、2.5Dなゲームで正射影やパララックスレイヤーを使っても、完全に真っ平らに見えてしまいます。
- 他のプラットフォームよりも使えるメモリーが少ないのですが、これは最初に思われるよりも大きな問題とはなりづらいです。画面の解像度がスマートフォンやタブレットなどの他のプラットフォームよりもかなり小さいので、テクスチャーのサイズを大幅に縮小することが可能なためです。
- Unity for New ニンテンドー3DSはIL2CPPテクノロジーのみを使用する最初のプラットフォームの一つです。Monoはまったく使用されません。このことはパフォーマンス上に大きなメリットをもたらしますが、いくつかのトレードオフもあります:
全てのコンパイルはAOTで、プロジェクトのビルド時に行われます。ランタイムでのJITコンパイルは利用出来ません。
いくつもの他のプラットフォームもAOTのみのサポートですので、もしそれらのプラットフォームからゲームを移植されるのであれば直面する問題は少ないでしょう。しかしながら、もしJITを許可しているプラットフォームからの移植をする場合、問題が発生する可能性があります。よくある点としては、いくつかのJSONパーサーで動的なシリアライズをする機能を持つものは問題になりやすいということがあります。よいニュースとしては、Unityはデフォルトで高速なJSONパーサーを実装したのでこちらに乗り換えることで問題を回避できるでしょう。
「Unity for Newニンテンドー3DS」は、開発者向けに無償で提供されます。for Wii Uと同じですね。任天堂へ開発者登録を行うことで、for Wii U、for Newニンテンドー3DSを無料で利用することが可能となります。開始にあたっては、「Nintendo Developer Portal」にアクセスして「Nintendo Developer Portal」への登録が必要になります。登録が完了すると「Unity for Newニンテンドー3DS」のダウンロードが可能になるほか、開発キットやテストキットを購入することができるようになるとのこと。