Sprite Kit とゲーム開発

WWDCで発表された内容でゲーム関係の話題でNDAに引っかからない程度の僕の感想をまとめておきます。

SpriteKitの登場でCocos2D(2D-x)やCoronaSDKがどうなるか
ネイティブであるため、SpriteKitの描画パフォーマンスは相当良いでしょうし、Objective-C開発で一気通貫できるので課金機能の導入などの多機能との連携もやりやすいでしょう。iOS7以下が足切りされるのも、iOSのアップグレード率を見ると、それほど課題ではない気がします。
しかしそれらの魅力よりも、やはりiOS/Androidのマルチプラットフォームに提供できる魅力の方がゲーム提供者からすると大きいと思います。
社内にObjective-CとJavaの凄腕エンジニアがそれぞれいる場合でなければ、まだマルチプラットフォーム対応できる開発環境はなくならないし、僕はCoronaSDKを選ぶと思います。

半透明ぼかしレイヤー
iOS7ではレイヤー(層)を意識したデザインが大事で、オーバーレイするメニューは半透明で下の画面がうっすらぼやけて見えていたりします。Appleはこういったデザイン思想をアプリ開発者にも推奨しています。
iOS7でフラットデザインにしたことで描画負荷が下がるのでよかったと思いきやこの半透明ぼかし表現はちょっと困ります。
CoronaSDKは現在ビットマップ操作系の機能がないので、特定のエリアの下の画像をぼかすという処理はできません。かといって、ぼけた別画像を用意しておくのはアセット容量の無駄になりますし、動的に背景が変化する場合の対応もできません。
CoronaSDK意外の開発環境だとしても、ビットマップをぼかすという処理は高負荷で、他にもUI表現がある中で敢えて採用することもないかと思います。

奥行きの視差表現
他にも、見る角度で画面奥の背景がずれ動く表現などが発表されました。
そもそもレイヤー層の上側の文字の可読性を上げるには、背景をぼかすか、この視差表現をやらないと十分ではないと思います。これをiOSネイティブ以外の開発環境で、しかもマルチプラットフォーム対応ゲームで採用するかというと、しないかなという考えです。

ゲームパッド対応
ゲームパッド対応になることで、ようやくFPS(ファーストパーソンシューティング)のような”3D”ゲームの操作性が据え置き機並になることは予想できますね。
ただ、通勤電車の車内でゲームパッドをつけてプレイするところはあまり想像できないですね。今電車でPSPや3DSをやってる人は移行できるのかな。
外出時の荷物が一つ増えることになるし、つけたり外したりが面倒そうだしで、外出時のゲームパッドはそれほど流行らないだろうなと思います。
だから家で使用されることがメインケースかと思いますが、例えばAirPlayで複数人大画面プレイがiOS環境でできたとして、もの珍しさはあるもののそれ以上の感動はなさそう。
家でしかプレイしない面白いゲームよりも、とにかくどこでも短時間プレイできるゲームが流行っている時代でもありますし。

フラットデザイン
これがゲームにおいて流行となるかは、以前書いたような理由で、ならないだろうなと思います。

以上から、まだCoronaSDKでいいよねと自己弁護しておきました。
CoronaSDK側のiOS7対応が遅れたり、やらなかったりしたら阿鼻叫喚ですけども。