Kengo's blog

Technical articles about original projects, JVM, Static Analysis and TypeScript.

Javascriptによるゲーム開発中

最近jsdo.itHTML5を使ったゲームを開発しています。具体的には、canvas要素による描画を主軸に据えたタワーディフェンスゲームです。

f:id:eller:20100906022800j:image
HTML5によってWindowsでもMacでも初代iPod touchでも動作するという可搬性を実現しています。ステージやスコアといった概念がないのでまだゲームとしては遊べませんが、少しずつ機能追加していくつもりです。

HTML5と言っても特に新しいことをしているわけではなく、canvas要素から取り出したコンテキストに矩形や線分などの図形を描画させているだけです。ダブルバッファリング処理に気を使う必要がない*1ため、HSPやSwing(Java)より簡単に使えるとも言えそうです。
ただパフォーマンスはさほど高くなく、初代iPod touchではゲーム開始時の初期処理やユニット配置時の再帰処理などに時間がかかります。ユニットの描画処理も軽くはありません。下記の実験によって「同じオブジェクトを一括描画すること」が高速化に繋がるとわかっていますので、近々試してみます。

*1:理由は不明、ブラウザ依存?