「Jump into the game!」 Webゲームの基盤技術を作ったエンジニアの世界観
○ColorTanks、Swooop、Auralux……
WebGL、Web Audio、WebRTC、IndexedDB、asm.js、Emscripten――Webコンテンツをよりリッチにするものとして注目さていたこれらの技術は、すでにさまざまなソフトウェアで組み込まれており、実用段階に入ったと言える。
各技術が話題になりはじめた当初からは想像できないアプリも登場しているが、仕様策定者らは現在の世界をどう捉えているのか。本誌は、WebGLの仕様策定をリードしたMozilla所属のVladimir Vukicevic氏と、UnityのWebGL/asm.js対応Webプラグインの提供を実現させた同じくMozillaのMartin Best氏にインタビューする機会を得たので、その模様をお伝えしよう。
まずは最新のFirefoxで次のゲームをプレーしてみてほしい(UnityのWebプラグインは、asm.jsに最適化されているFirefoxで高速に動作する)。
ColorTanks
Swooop
Unity DT2
Auralux
筆者としては、特にAuraluxが美麗で動きも音楽も心地よく、好みである。
いずれにせよ、グラフィック、サウンドともにハイクオリティで、誰に紹介しても恥ずかしくないレベルである。これらはすべてさきほど挙げた技術を使って実装されており、各技術に関して指摘されていた技術的な課題もクリアされている。
○技術の習熟、動き出すゲーム・ビジネス
上記のようなハイクオリティのゲームを実現可能にした技術としてはいくつもあるが、あえて重要な技術として3つ挙げるとすれば「WebGL」と「Emscripten」「asm.js」ということになるだろう。
これらの技術なくして、ネイティブに匹敵する速度でのゲーム実行をWebブラウザで実現することはできなかった。
特に、WebGLは重要な仕様である。この仕様が策定されたことで、Webブラウザの種類によらず、上記のようなアプリが利用できるようになった。これまでWebGLのサポートを謳ってこなかったMicrosoftとAppleもこの技術のサポートを表明したことで、デスクトップとモバイル、両プラットフォームのWebブラウザでこの技術が利用できるようになる。この現状を最も喜んでいるのがVukicevic氏とBest氏の両名である。
●28億の潜在ゲームユーザー、ビジネスチャンスはここにあり!?
○Game in Twitter! iOS 8
Vukicevic氏やBest氏は、Firefox OSがインストールされたスマートフォンをいじりながら、何度も「Jump into the game」や「Instant Enjoy」、「Game in Twitter」といった言葉を使っていた。これらは昨今のユーザーがどういった感覚でゲームするのかを的確に表現しているように感じる。
特に「Game in Twitter」が印象的だ。
iOS 8のSafariがWebGLをサポートしたことで、Twitterでも美麗な3Dゲームをプレーできるようになった。その状況を指して使われた言葉である。
たとえば同僚が「このゲームが面白かった....」というような言葉をURL入りでつぶやいたとする。それを見てリンクをクリックすると、TwitterアプリはSafariに相当するコンポーネントで該当アプリを実行する。その結果、HTMLやJavaScriptがダウンロードされ、その場でゲームが開始される。リンクをクリックしたあなたから見れば、ゲームが起動したのと変わらない体験になる。
「Jump into the game」や「Instant Enjoy」はこうしたユーザーの動きを表している。なかでも「Jump into the game」には、1つのゲームにさまざまなユーザーがさまざまなデバイスからアクセスする意味も込められている。
デバイスにはデスクトップやスマートフォン、タブレットデバイスに限らず、PlayStationやXboxなどのゲームコンソールも含まれている。インターネットにアクセスできてWebブラウザを持っているデバイスならなんでもよい。
○28億の潜在ゲームユーザー、ビジネスチャンスはここにあり!?
ここ数年の傾向を見ると、スマートデバイス向けのアプリはネイティブアプリとして開発されている。実装する側はデスクトップ向けのWebアプリとネイティブアプリの両方を開発する必要があることになるが、そうした手間を軽減してくれるのがEmscriptenだ。
Emscriptenを利用すると、C/C++のコードをEmscriptenでJavaScriptへ変換する。変換されたJavaScriptはasm.jsで高速に実行される。1つのソースコードでネイティブアプリもWebアプリも開発できる技術が整っており、冒頭で挙げたゲームは現にそうやって開発されている。
インターネットを利用するユーザーは28億人ほどいると見積もられており、その数は今後も増えると予測されている。
Webブラウザで動作するゲームはネイティブアプリよりも最初に使ってもらうまでの障壁が少ない。その後、Webアプリ内部で課金システムを設けるのか、Webアプリを呼び水にしてネイティブアプリをインストールしてもらうのか、コミュニティ版とプロ版という差を付けるのか、マネタイズの仕組みはゲームベンダーが考えることになるわけだが、Webを取り巻く環境、とりわけFirefoxにはそれを実現するための技術がすでに存在するのである。
1つ疑問なのは、冒頭のUnityのWebプラグインのように、Web関連技術の提供に力を入れているMozillaが、ゲームそのものを開発してもよいのではないかという点である。質問すると、笑いながら「ゲームはゲームベンダーさんが作るし、僕らはその環境を作るんだ」と説明していた。
「グランド・セフト・オート(Grand Theft Auto; GTA)」シリーズが大好きという両名。そうしたゲームがWebで登場する日を楽しみにしながら、今後もインフラ整備に取り組んでいく。