HTML5で広がるWebゲームの可能性

当サイトのWebブラウザゲームは、基本的にHTML5ベースのWebアプリケーションとして開発しています。

HTML5とは、Webブラウザをアプリケーションのプラットフォーム(実行環境)とするために、HTMLの機能を強化し関連技術とともに標準化する枠組みです。従来のHTMLにくらべて「Webブラウザ上で動かすプログラム」で制御できる部分が大幅に増え、高機能な「Webアプリケーション」を開発できるようになりました。

具体的には、「Webブラウザ上にプログラムでグラフィックを描く機能」「Webブラウザ上で動画や音声を再生する機能」「Webブラウザの専用の領域にデータを保存する機能」「サーバーとソケット形式で接続を維持しながら通信する機能」「時間のかかる処理をバックグラウンドで実行する機能」などがあります。

中でも、HTML5のゲーム開発で重要なのは、Webブラウザ上にプログラムでグラフィックを描くCanvasですね。これまで、Webブラウザ上で「自由」にグラフィックを描画しようと思えば、FLASHやJavaなどのプラグインを使うしかない状態でした。それが、Canvasを使えば、基本的に「(プログラムの計算で描けるものなら)何でも描ける」ようになったのです。

ゲームを実現するためには、「ゲームに関する要素(主人公や敵、画面上の地形など)の状態を更新する」「交信した状態を画面に表示する」という二段階の処理を繰り返す必要があります。

Webブラウザには、以前からJavaScriptという「プログラム実行機能」があったので、ゲームに関する状態を作成・更新することに関しては問題はありませんでした。ただ、Webブラウザへの表示に関しては、あまり機能が充実しているとはいえないHTMLやスタイルシート、予め用意されている画像を中心に「組み立てる」必要があったので、かなり制約が大きかったわけです。

HTML5時代になり、Canvasタグが導入されたWebブラウザでは「プログラム(JavaScript)で自由に描画」できるようになりつつあります。開放された「キャンバス」に何を描くか、ゲーム開発のための具体的な「仕組み」を考えていくことにしましょう。