bulletml.jsは弾幕定義ファイルBulletMLを読み込んで表示するためのJavaScriptライブラリです。

シューティング系ゲームにおいて画面上の殆どをミサイルの弾で埋め尽くす、いわゆる弾幕と呼ばれるシーンがあります。そのためのライブラリとしてbulletml.jsを紹介します。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.51.42_thumb.1357279128.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.51.42.1357279128.png)
こんな感じでミサイルが画面を覆い尽くします。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.52.15_thumb.1357279133.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.52.15.1357279133.png)
全くのランダムではなく幾何学模様を描くところがポイントです。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.52.42_thumb.1357279138.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.52.42.1357279138.png)
避けきれません!

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.52.53_thumb.1357279142.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.52.53.1357279142.png)
凄まじい弾幕です。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.53.06_thumb.1357279147.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-04 14.53.06.1357279147.png)
こちらは別なデモ。

bulletml.jsは弾幕の定義を行うBulletMLを読み込んで表示を行うJavaScriptライブラリです。BulletMLの定義もさることながら、それを実際にWebブラウザ上で表現してしまうbulletml.jsが面白いです。単体としてはもちろん、enchant.jsでの利用にも対応しています。

bulletml.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。

MOONGIFTはこう見る

弾幕ゲームと呼ばれる類のものは、弾を避けるために緻密な操作が求められます。ほんの少しずれただけで当たる状況において、全ての弾の動きを読んで隙間をかいくぐっていきます。殆どパズルゲームのようで、筆者にはとても真似できません。

元々は東方シリーズではじまったもののようですが、とにかく見た目に奇麗で激しいのが特徴です。BulletMLはそのための定義を簡単にできるソフトウェアですが、さらにBulletML自体を使った面白いソフトウェアも考えられそうです。

デモ

daishihmr/bulletml.js · GitHub