1-4.その他にも注目してみる

HTML5で可能になるのは画像描画と音声再生だけではない

samplejpg

HTML5を使うとJavaScriptで画像描画と音声再生が行えるようになるため、ゲーム作りも簡単になります。 しかし、HTML5で追加される機能は、それだけではありません。

HTML5で追加される機能の中で、ゲーム用に使えそうなものとしては、「Web Workers」があります。 「Web Workers」を使うとプログラムをマルチスレッド化できます。 このため、マルチコアCPUが普通になってきている現在、処理が重くならざるを得ないようなゲームも マルチスレッド化してブラウザゲームとして公開できる可能性が出てきます。

また、「Web Socks」という機能を使うとサーバー上に置かれたプログラムと効率よく通信できるようになります。 このため、サーバーを介した複数人参加型のリアルタイムゲーム、といったものも作れる可能性が出て来ます。

ただし、この文章を書いている2011年1月の時点では、主要ブラウザの中でも上記をサポートしているものは少ないのが現状です。 このため、本サイトではこれらについては扱いません。しかし、HTML5では「Web Storage」という機能も追加されています。 この機能は2011年1月の時点でも、主要ブラウザの全てで利用できます。

データのローカル保存

本章の最初に紹介したゲームの幾つかでは、ハイスコアが登録されるようになっています。 このハイスコアには、ブラウザを閉じたり、他のページをアクセスした後で、再度ゲームを行う場合にも、前回の登録値が使用されます。

これらのゲームでは、上記のようなハイスコア登録機能を実現するために、「Web Storage」を利用しています。 「Web Storage」を使えば、保存しておきたい値をブラウザの専用領域に保存しておけます。そして、次回起動時にその値を読み出して利用する事ができます。

同様の処理は従来からある「Cookie」を利用しても実現できます。しかし、「Cookie」を使って保存されたデータはサーバーに送信されてしまいます。 このため、本来サーバーに送信する必要がないデータの保存用に使うとサーバーに不必要な負荷をかけてしまいます。 また、プレイヤー名等の個人情報を入力させるゲームの場合には、プライバシー保護上の問題が発生する可能性もあります。

このため、純粋にローカル保存しておきたいデータを保存させるためには、「Cookie」ではなく「Web Storage」を使うのが望ましいと考えられます。 また、「Cookie」では保存可能なデータ容量は数kB程度ですが、「Web Storage」を使えば数MBのデータを保存しておけます。 このため、「Web Storage」を使うと「Cookie」を使った従来処理では実現できなかった処理を実現できるようになる可能性も出て来ます。