MetalによってモバイルゲームにおけるiOSの優位性がさらに高まる

昨日のWWDCでは2時間のキーノートで大量の発表が行われたが、その中にゲームデベロッパ向けのものが3つあった: SceneKit、SpriteKitの新しいファンクション、そしてiOS上のハイエンドゲームのパフォーマンスを大幅に上げるMetalフレームワークだ。中でもMetalは、AndroidというOSの性格上、Googleには逆立ちしても真似できないものだ。

Metalはデベロッパに、OpenGLよりも“もっとメタル(metal, 金属==ハードウェア)に近い”一連のファンクションを与える。OpenGLはいわばグラフィクスの標準ライブラリとして、iOSだけでなく、MacもAndroidもMicrosoft以外のゲーム機も使ってきた。しかしデベロッパがMetalを利用すると、グラフィクスのハードウェアをダイレクトにコントロールでき、システムのオーバヘッドが少なくなるためパフォーマンスはより高速になる。

ただしMetalは、グラフィクスのパフォーマンスをぎりぎりまで上げたいというデベロッパにしか、あまりメリットはない。しかもゲームのデベロッパたちも今では“ゲームエンジン”をベースに仕事をすることが多く、MetalのようなAPIを直接使って低レベルのグラフィクスコードを毎回一から書くことは、あまりない。だからデベロッパが関心を向けるのは、MetalでもってiOSゲームの、どこがどう変わるのか、という点だ。

実はゲームエンジンの制作者たちはすでに、Metalを利用するエンジンを作り始めている。昨日は、Unity3DのレンダリングのグルAras PranckevičiusがTwitterのツイートで、同社のエンジンにMetalを組み込むことによって“うちの3D APIの最速のポートが出来上がった”、と述べている:

[AppleのMetalで遊ぶのはとっても楽しい。3D APIのこれまでで最速のポートになった。]

iOSデベロッパでスタートアップコンサルタントでもあるNat Brownはブログで、iOSのMetalの性能にはかなわないからAndroidでは新作ゲームが作られなくなる、ということはない、と指摘している。なぜなら、Metalの利用はiOS独自のツールの利用を意味するから、クロスプラットホームな開発を志向するゲームデベロッパは最初から手を出さないだろう、というのだ。

でも、デベロッパではなくゲーマーたちは、いち早く、Metalベースのゲームのグラフィクスの素晴らしさに、気づき始めるだろう:

しかし、Metalに飛びつくきわめて高度なプログラマたちは、ゲームエンジンやフレームワーク、モバイルゲームの95%、いや99%で使われているツールチェーンをメンテしている人たちだ。Unity3DUnreal Engineなど数社がiOSとAndroid両方のモバイルゲームを支配しており、これまでは両プラットホームとも、OpenGL ESの比較的共通のコアをターゲットにしてきた。

そのため、Metalのおかげで大量のデベロッパがiOS国へ移民する、ということはありえないだろう。今ではデベロッパは、APIのレベルではなく、エンジンやフレームワークなどの高級なツールを使って仕事をしている。しかしMetalがiOSのパフォーマンスを高めることによって、ユーザやゲーマーたちの大量人口移動を起こすことはありえる。

Metalフレームワークと同様のものは、ほかのプラットホームにもある。AMDのグラフィクスチップ上のMantleや、MicrosoftのWindowsやXboxプラットホーム上のDirectX 12などだ。ただしAMDもMicrosoftも、これらのフレームワークを核とするエコシステムを完全にコントロールしていないから、状況は複雑であり、特定のハードウェアを対象とする最適化も、それほど徹底できない。

たとえばAMDはとても多様なグラフィクスコアを作っていて、それらが、PCハードウェアのほとんど無限ともいえる構成において利用されている。またDirectXも、CPUやRAM等々の無限の多様性に加えて、グラフィクスチップの多様性にも対応しなければならない(AMD、nVidia、Intel等々)。

つまりこれらのフレームワークは、Appleにできるほどのレベルでは、特定のハードウェア向けの最適化ができない。AnandtechのRyan Smithが、今朝(米国時間6/3
)、こんなことを書いている:

これまでの低レベルAPI、たとえばAMDのMantleやMicrosoftのDirectX 12は、前者は他社のCPUやOSも顧客にしなければならないハードウェアベンダのAPIであり、後者はサードパーティのCPUやGPUに対応しなければならないOSベンダのAPIだ。これらに対して、Appleの羨ましい立場とは、単独かつ自力で、完全に垂直なエコシステムを築けることだ。Appleは、CPUも、SoCの構成も自社製、OSも自社製だ。GPUは他社製だが、これも過去7年間Imagination TechnologiesのPowerVRを独占的に使っていて変える様子もない。

iPhone 5sもiPad AirもiPad miniも、すべて、同じA7のSoCを使っている。今年の機種はA8を共有するだろう。Metalは一連のハードウェアに対して同一の最適化が可能であり、多様なモバイルデバイスの上で同じゲインを稼げる。

Androidハンドセットの多様性にはそれなりのアドバンテージがあるが、多様なメーカーの多様なハードウェアに対して、GoogleがMetalと同レベルの最適化(==特定単一のハードウェア固有の最適化)を図ることはありえない。今後、スマートフォンの進化に対するゲーマーたちの期待が、ますます欲張りになってきたとき、Metalによってゲームの世界がどう変わるか、それが見ものだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


iOS 8 SDKではデベロッパがA7ハードウェアのグラフィクス機能に直接アクセス–iPhone/iPadが最新ゲーム機並の迫力に

Appleは今日(米国時間6/2)のiOS 8の立ちあげに併せて、このモバイルオペレーティングシステムのための数々の新しいデベロッパツールをリリースした。その新しいiOS SDKをAppleのCEO Tim Cookは、“App Storeのローンチから今日までで最大のリリース”と呼び、APIの新設や更新が4000以上もあることを誇示した。

中でもとくにデベロッパが気に入ると思われるのは…新言語Swift以外では…、Appleが”Metal”と呼ぶ機能だ。デベロッパが、A7プロセッサのグラフィクスやコンピューティングなどハードウェア機能に直接アクセスできること、そういうライブラリというかAPI集のことを、Metalと総称している。同社によると、Metalを使うことにより、グラフィクスや計算集約的な処理におけるオーバヘッドが減り、マルチスレディングの効率も上がり、iPhoneやiPadにおけるグラフィクスの速さと迫力は最新のゲーム専用機と肩を並べるものになる。これにより、描画のスピードは、iOS 7を1とすると、iOS 8ではその10倍になる。

主に2Dや3Dのカジュアルゲームのデベロッパ向けに、SceneKitが新たに提供され、また既存のSpriteKitには、力場やピクセルごとの物理計算や逆運動の計算が加わる。

今日は大方の予想通り健康アプリがローンチされたが、それに併せてHealthKitというものがローンチされた。これを使うとデベロッパは、自分のアプリとAppleの健康アプリとのあいだで、データを交換できる。

このSDKの大きな目玉には、スマートホームデバイスを作ってそれにiOSと通信をさせたい、というデベロッパのためにフレームワークHomeKitが含まれる。また大量のデータ伝送やデータの保存をクラウドを使ってやりたい、というデベロッパのためには、iCloudの無料のAPI集とも言うべきCloudKitが提供される。なおHomeKitに関する詳細な記事がここにある。

CloudKitでAppleは、クラウドをベースとするバックエンド市場に参入するが、ストレージもAPIも無料という点が、既存のサービスと違う。容量制限は、クラウドストレージ1PB、データベース10TB、一日のデータ伝送量5TBだ。どんなアプリでもサービスでも、またユーザがどれだけ増えても、これだけあればとりあえず十分だろう。

今日の発表でとくに目立った機能が、アプリの拡張機能だ。これによりさまざまなアプリが、ほかのアプリへのインタフェイスを露呈することができる。この機能は、サンドボックスに入れられて安全が図られる。この拡張機能を使って、たとえばメールと写真編集アプリとのあいだで写真をやりとりできるだろう。Safariも、この拡張機能にアクセスできる。AppleのCraig Federighiが今日行ったデモでは、Safariの中からBing Translateを呼び出して翻訳をやらせていた。

ついにサードパーティアプリが通知センターの中で自分独自のウィジェットを定義できるようになった。しかも、対話できるウィジェットもOKだ。

指紋認証システムTouch IDも、そのAPIが提供される。つまりサードパーティのアプリが、Appleの指紋認証を使えるのだ。

iOSの写真機能もそのAPIがデベロッパに公開され、それらはPhotoKitというフレームワーク名で総称される。AppleのPhotosアプリも、もちろんこのAPIを使って構築されているのだ。非破壊的エディットやPhotosのライブラリを/にリード/ライトできる機能、またCamera APIによりフォーカス、ホワイトバランス、露出などのコントロールが、デベロッパの写真撮影アプリの中でできる。

iOS 8のベータとそのSDKは、developer.apple.comで登録したデベロッパが利用できる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))