弾幕記述フレームワーク BarrageLL 開発開始

東方弾幕風の不満点、およびその解決策 - 野良C++erの雑記帳
で発表したプロジェクトを、そろそろ本格的に動かしたいです。


というわけで、とりあえず、開発場所だけでも確保してみました。
http://github.com/gintenlabo/BarrageLL
名前は BulletML をリスペクトして、 BarrageLL にしようと思います。
弾幕記述用の軽量言語、というワケです。
というわけで BarrageLL の具体的な製作に移りたいと思います。
同志は引き続き募集中。あと、もっと良い名前案とかも募集中。


以降、すべきことリスト(随時更新):

  • スクリプトのフォーマットを決める。弾幕風でいう #東方弾幕風#Title[○符「スペルカード名」] を、どうやって実現するか。 Lua のコードにするか、それとも専用書式を作るか。
  • とりあえずサンプルとして、適当な弾幕スクリプトを書き換えてみる。その際、互換性重視の書き方と、「BarrageLLらしい」書き方の双方を試す。その為に適切な弾幕スクリプトを見つけるか、あるいは自分で用意する。
  • 命名規則を考える(今のところ、グローバルなテーブル BarrageLL に格納、コア関数は sample_function 的な命名規則弾幕風互換関数は SampleFunction 的にする予定)。
  • コア部分はどこまで抽象化するか。あまりにも抽象化すると逆に可搬性が下がるので慎重に議論したい。
  • 弾幕風の弾スクリプトや敵スクリプトに対応する機能をどうするか(今のところテーブルで実現予定)。
  • 弾幕風互換の為に、弾幕風の動作を解析する(例えば SetMovePosition03 の「重み」とは具体的にどんな値なのか、等)。
  • Luaの標準ライブラリはどこまで提供するかを決める(主に io と os 関連)。
  • 連続スクリプト再生に対する挙動はどうするか(今のところグローバル変数を全て引き継ぐ方針)。
  • 東方弾幕風の作者さんに素材の使用許可をもらいに行く(許可して貰えない場合は素材を自分で作る)。
  • 一緒に議論してくれる協力者を探し出す(一番大事)。