blogに貼れるタイピングゲーム 開発記(2) - Javascript 覚え書き

ブログに貼れるタイピングゲーム
http://www.giovedi.net/typing/

Javascript でゲームプログラムを作って配布する、という中でいくつか気がついたこと、気になったことがあったので、記しておく。

思っていたよりコードを短く書ける

ゲームのコードは約150行(空行なども込み)。これで背景などの少々凝った動きもちゃんと実装できている。
prototype.js はもちろん使わせてもらっているが、それによる寄与はごくわずか。
コードが短いと言うことは、開発も速いし、メンテナンスも楽、ということ。実際、調査やチューニングを除き、コードを書いていた時間で考えると、正味2日ほど。Javascriptにある程度慣れた今なら1日かからないだろう。
いやあ、最初から Flash じゃなくて Javascript で組めば良かったなあ。

ブラウザによって結構動作速度が違う

まさか厳密に同じ速度になることを期待していたわけでは全くなかったが、それにしても Firefox でのカードが落ちる速度と、IE6 でのカードの落ちる速度が1.5倍くらい違う。
カードの移動処理は setInterval() により 60ms ごとに行われるよう指定しているのだが、その速度の違いがsetInterval() の解釈の違いによるのか、それ以外の要因なのかはまだよくわからない。
その差を縮める方法はちょっと調べてみようと思う。


このゲームは速度に違いがあっても大きな影響はない(IEの方が遅くて有利、って言っても比較し合うわけではない)からよかったが、オンラインのアクションゲームを Javascript で作ろうかな、という人がもしいれば、結構厳しいかもしれない。

「セキュリティ」はどうしよう……

Javascript 製のブログパーツ(あるいは Widget、Gadget)をブログに載せると言うことは、他人の書いた Javascript コードを自分のサイトで動かすと言うこと。
掲載したタイミングで、怪しいコードが入っていないかちゃんとチェックしたとしても、その後書き換えられるかもしれない。
逆にブログパーツを使ってもらいたい側は、コードが怪しくないことをどうやったら証明することができるだろう。「ウィルスチェック済みです」とか意味ないし。