iOS 7 のリリースをめぐる大量の宣伝の中に埋もれていたのが、開発者がより簡単かつ効率的に 2D ゲームを構築できるように設計された Sprite Kit と呼ばれる新しいフレームワークの導入でした。
このニュースは主流メディアではほとんど取り上げられなかったが、今年の世界開発者会議では大きな話題となり、多くの熱心なプログラマーが、このニュースを報道するいくつかのセッションに出席した。
App Storeに次々とゲームがリリースされていることを考えると、Sprite Kitは一見すると、新しいOSリリースでデビューする数々の新機能の一つに過ぎない、単なる好奇心に過ぎないように見えるかもしれません。しかし実際には、これはAppleがiOSをゲーマーと開発者にとって素晴らしい場所にするために長年展開してきた戦略の一環なのです。
大きな力には大きな複雑さが伴う
コンピュータゲームの開発は決して容易な作業ではありませんでした。ごく単純なタイトルを除けば、グラフィックからサウンド、ユーザーインターフェースに至るまで、あらゆる分野で相当のプログラミング作業が必要でした。かつては、今日の基準からすれば原始的とも言えるコンピュータアーキテクチャから、あらゆるテクニックを駆使してパフォーマンスを最大化しようとしていました。1990年代半ばまでGPUは存在せず、開発者はほぼゼロから独自のツールを構築する必要がありました。
今日では、パワーはもはや大きな障害ではありません。iPhone(電話機です!)は、フォトリアリスティックなグラフィックスをリアルタイムでレンダリングするのに十分なGPUパワーを備えています。開発者が10~20年前に頼らざるを得なかったようなプログラミングの難解さは不要です。さらに素晴らしいことに、業界ではWindowsベースのシステムではDirectX、その他ではOpenGLといった、個々のハードウェアプラットフォームの癖を抽象化する少数の技術がほぼ標準化されており、プログラマーはゲームの動作原理に集中でき、特定のデバイスで動作しない理由を心配する時間を減らすことができます。
しかし、この改善は必ずしもゲームのコーディングが全体的に容易になったことを意味するわけではありません。開発者は OpenGL を、数回のキー操作で驚異的なグラフィックスを作成できる魔法のテクノロジだと期待して導入することがよくありますが、実際には、OpenGL は生の GPU ハードウェア上に最も薄いレイヤーを構築するものであることに気づきます。これは、高級スポーツカーを購入したのに、ジェットエンジンと数本のハンマー、そして外国語で書かれた取扱説明書を渡されたようなものです。生のパワーは確かにありますが、OpenGL が提供するツールはせいぜい初歩的なものであり、そのメリットを最大限に活用するには、開発者は 3D グラフィックスに関係する数学と技術に関する深い知識を持っていなければなりません。

エンジンを始動
そのため、OpenGL (または DirectX) 上で直接ゲームを構築する人はほとんどいません。代わりに、開発者は、すべての三角形や照明アルゴリズムを気にすることなく、複雑なグラフィックスを個別に処理できる「エンジン」という追加のテクノロジ レイヤーに依存しています。
ご想像のとおり、エンジンには様々な形やサイズがあります。UnityやUnreal Engineのように商用のものもあり、ゲームデザイナーがプラットフォーム間で簡単に移植できる完全な3Dプログラミング環境を提供しています。
Sparrow や Cocos2D などの他のツールは 2D ゲームの構築に重点を置いており、ゲームのクレジットでの使用を認める以外にライセンス要件が最小限で、無料かつオープンソースです。
戦いに突入
Appleの観点から見ると、これらのエンジンにはどちらも重大な欠点があります。商用製品はクロスプラットフォームであることが多く、開発者が複数のOSで動作するゲームを簡単に開発できてしまうからです。選択肢があれば、競合プラットフォームでも利用できるタイトルよりも、iOSとOS X専用のタイトルが増えた方が、Appleにとっては喜ばしいことかもしれません。
一方、Appleのテクノロジーのみで動作するように設計されたオープンソースツールの多くは、新しいハードウェアの進化に遅れをとっており、無計画な成長によってプログラミングインターフェースが分かりにくくなることがあります。これは特に重要です。なぜなら、オープンソースエンジンは、ここ数年で市場に登場した優れたオリジナルゲームの多くを手がけてきた小規模な独立系開発者によって使用されている傾向があるからです。
こうした理由から、Appleは自社製品向けゲーム開発を容易にする一連のフレームワークをひっそりと導入し始めています。例えば、iOS 5にはOpenGLとのインターフェースを簡素化するGLKitというフレームワークが含まれていました。Lion以降、OS Xは複雑な3次元シーンのレンダリングプロセスを簡素化するScene Kitの提供を開始しました。そしてiOS 7とMavericksではSprite Kitが提供されます。これは、開発者がOpenGLを気にすることなく、2Dゲームをゼロから開発するために必要なものをすべて備えています。

ゲームのロングテール
明らかに、これらの公式にサポートされているテクノロジーは、開発者を自社のオペレーティング システム向けに開発するように縛り付ける Apple の戦略に関係しています。Sprite Kit アプリを OS X から iOS に簡単に移植できますが、そのコードを Android バージョンで再利用することはできません。
しかし、ここで重要なのはそれだけではありません。優れたゲームとは、単にピクセルを画面に表示する能力だけではありません。ユーザーエクスペリエンスも重要です。今日のiOSデバイスを支える高度なグラフィックスへのアクセスを簡素化するテクノロジーにより、開発者はより効率的に作業を進め、ゲームプレイや人工知能といった要素に集中できるようになります。これらの要素は、1秒間に表示できる三角形の数よりもはるかにビデオゲームの品質に影響を与えると言えるでしょう。
より広い意味では、Sprite Kit のようなフレームワークは、Apple が Game Center を作成するきっかけとなった戦略と同じものの一部です。つまり、開発者を同社のプラットフォームに近づけつつ、ソフトウェアを構築するためのより優れたツールを提供するよう努力すれば、エンドユーザーにとって安価な、高品質ゲームの豊富なエコシステムという報いが得られるということです。
歴史が示すように、Apple は今後もこの方向でますます多くのステップを踏むことになるでしょう。それは、プロセスの最後に私たちが楽しむゲームがますます良くなっていくことを意味しているに違いありません。