HTML5、WebGL、WebSockets、JavaScriptを駆使して、ゲーム「QuakeII」をブラウザに移植中

2010年4月5日

Windows 95の時代に、自分視点での3D表示による画期的なシューティングゲームとして登場した「QuakeII」。現在、HTML5の音声再生機能、ローカルストレージ機能、現在策定中のWebブラウザ用3Dグラフィックス表示規格のWebGL、サーバと任意の通信を可能にするWebSocketsなどの機能とJavaScriptによるプログラミングを駆使することで、QuakeIIをWebブラウザ上に移植しようというプロジェクトが、グーグルのエンジニアによってオープンソースとして進められています

すでにプロジェクト内部ではプロトタイプが稼働しており、実際に動作している様子がYouTubeで公開されています。ほとんど実用的な動作速度を実現しているようです。

実はこのことが明らかになったは4月1日だったため、いくつかのメディアでは「もしかしたらエイプリルフールかもしれない」という疑念を持つ人も多かったのですが、4月1日を過ぎてもプロジェクトが継続していたことで、これがエイプリルフールではなく、実際に進行中のプロジェクトだということがはっきりしました。

WebGLによるWebブラウザ上でGPUを使った3Dグラフィックスを実現

4月5日時点のプロジェクトのページを基に、技術的な内容を少し詳しく紹介しましょう。Webブラウザへの移植は、QuakeIIのオリジナルをJavaへ移植した「Jake2」をベースに行われています。

プロジェクトの中心はグーグルのエンジニアで、開発ツールとしてGoogle Web Kit(GWT)で行われています。GWTとは、Javaを用いてAjaxアプリケーションのプログラミング、デバッグが可能を可能にするツールです。

HTML5のaudioタグで音声再生を行い、Webブラウザ用のOpenGLに相当するWebGLを用いることで3Dグラフィックス表示をGPUによって高速に表示、WebSocketsによってサーバと通信してマップデータの受信やマルチプレイヤーを実現し、LocalStorage機能でローカルファイルへのデータ保存に相当する機能などを実現しているようです。

対応するWebブラウザとしてはこれらの機能をサポートしていることが条件になります。特にWebGLの実装がポイントのようで、現時点ではChromeもしくはSafariが対応Webブラウザとなっているようです(FAQによるとFirefoxはJavaScriptの実行が遅いため、うまく動かないそうです)。また、ChromeではSafariよりもフレームレートが遅くなってしまい、一方でSafariではときどきクラッシュするとの記載もFAQにあるため、Webブラウザ側の仕様への対応や完成度の向上もまだまだ課題のようです。

一般ユーザーとしては、Webブラウザで実行できるのならば一刻も早くサンプルサーバを立ち上げて、自由に遊べる環境を提供して欲しいところですが、FAQによるとQuakeIIのソースコードはGPLで公開されているものの、テクスチャ、モデル、サウンドなどはGPLとなっていないため、現時点で単純に公開するわけにはいかないとのこと。

しかし合法的に公開できる方法を模索中とのことで、期待していてほしい(stay tuned)と書いてあります。

ブラウザ上でPentium 133MHz相当の実行速度?

idソフトウェアのWebページによると、QuakeIIのオリジナルの実行環境は、OSがWindows 95/98/NT/2000、CPUはPentium 90MHz以上(133MHz推奨)、メモリ16MB以上(Windows 95/98以外は24MB以上)、HDDの空き容量が25MB以上というものです。

ブラウザ上で動作しているQuakeIIのビデオを見るかぎり、かなり実用的な速度で動作しているように見えるため、現在のPCで動作するWebブラウザではほぼ上記相当の潜在的能力を備えているのだといえそうです。

そしてQuakeIIレベルのゲームがWebブラウザに移植可能なことが分かれば、それはこれからWebブラウザでの魅力的なシューティングゲームが、しかもマルチプレイヤーで続々と登場するきっかけになるのかもしれません。

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : HTML5 , JavaScript , Webブラウザ , Web標準



≫次の記事
「アジャイルソフトウェア開発宣言」公式日本語版が公開
≪前の記事
3月の人気記事とページビュー報告。グーグルのペナルティからドメイン移転で抜け出せたのか?

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus