弾幕しみゅれ〜た ver0.62

更新履歴



【今後の改良予定】
・直接入力時の構文エラーチェック(投稿を実装するまでには)
BulletMLの全文一括出力(すぐ実装できるはず)
・実行時解析型から実行前解析型へのシフト(面倒くせえ)
・実装の甘いところを補完(永遠の課題っぽい)


解説
弾幕記述言語 BulletML を FLASH で解析して弾幕を生成しています。
弾を出す敵の初期位置や出現タイミングなどを定義できるようにアレンジしていますが
今のところあまり意味はありません。

【行動】【射撃】【弾】について定義したものを参照している場合には
編集ボタンからそれぞれの編集画面へ移ることができます。
また、直接定義している【行動】【射撃】【弾】を参照用に切り替えたい場合は
登録ボタンからごっそりまとめて登録することができます。
説明が難しいので、実際に使ってみてください。

プレビューボタンを押すと、作成中の弾幕が左下に表示されます。
いわゆる弾幕シューティングのボスの弾幕は作ろうとしない方が身のためです(何)

保存ボタンを押すと、現在表示されている定義ツリーが保存されます。
保存せずに戻るボタンを押すと、それまでに行った編集がキャンセルされます。
編集ボタンを押した場合は、その時点の定義ツリーが仮保存された状態で
次の編集画面に進むため、プレビューするとその仮保存された定義が反映されますが
あくまで仮保存なので元の編集に戻ってきた時に保存するのを忘れて
戻るボタンを押してしまうとせっかくの編集がキャンセルされます。


とりあえず最初は
どれでもいいのでサンプルを選んで配置編集画面になったら
左側に表示されている敵機プロパティのところで編集ボタンをポチっとな。
そうすると敵機編集画面に移るので、右側の敵機ツリーから行動を選びます。
そして、左側に表示されている行動プロパティのところで編集ボタンをポチっとな。
そうすると行動編集画面に移ります。
後は野となれ山となれ。


注意点
繰り返し回数を99999回とか、要するにずっと続けさせたいような数に
設定した場合は、繰り返し処理の中に必ず待機を入れてください。
FLASHが無限ループ処理と判断して止まります。

連続的に弾を発射する分には200個とかでもそれなりに動きますが
同時に100個とか発射すると一瞬止まるので、同時発射を連続させる場合は
少しずつ増やしながら試してください。


【当然出るであろう不満点】
・無限ループを設定できない → 99999回で代用してください
・無限待機を設定できない → 99999フレームで代用してください
・難易度変数 $rank に対応していない → 内部的には実装済み(とりあえず 0.5 にしています)
・延々と回転させていると回転軸がずれる → FLASHの演算処理のせいです、たぶん
・画面構成が分かりにくい → 慣れてください
・重い → FLASHの宿命です
白い弾幕くんと互換性がない → がんばってみます
・ヘルプがない → むしろヘルプミー


コメント
当初、FLASHでシューティングゲームを作るつもりでしたが
描画処理能力がアレなのでゲームとして楽しめるか怪しくなりました。
そこで、どうせなら自分で色々弾幕作れた方が面白いんじゃないか?と。
こういった使い方にはFLASHはとても向いていると思います。

当初、BulletMLをそのまま組み込むのは厳しいなと思い、少しずつ
実装する予定でしたが、蓋を開けてみればほとんど実装…
いまいち定義がはっきりしない部分は適当に解釈して実装したので
本家のアプレットとは違う動きをする可能性が多分にあります。

ヘルプも作りたかったのですが、量がすごいことになりそうだったので挫折。
気力が溜まったら作ってみます。
っていうか、BulletML知らない人は何していいか分からないかも(汗)

まったくもってβ版といった感じですが、そのうち投稿できるようにもする予定です。
不具合がいっぱい潜んでそうなので、発見したら報告してくれるとありたがく。


BulletML を直接記述できる人は、XMLファイルをメールで送ってくれれば
作者名と共にサンプルとして追加します。
ただし、FLASHが固まるようなやばい弾幕は採用しません。


■謝辞
BulletMLの生みの親のABAさん、事後承諾とはいえ快諾していただいた上
日記で紹介までしていただいて、ありがとうございました。


TOPに戻る