こんばんは。mkmです。 長文メールありがとうございます。 > ・0.12m以前との互換性を確保してほしい #ScriptVersion[3] はつけようと思いますが、互換性は厳しそうです。 あと、実はリプレイには別のバージョンが記録してあって リプレイに互換性がなくなりそうなときは、バージョンをあげています。 (バージョンが異なるとリプレイ一覧にでてこなくなる) > ・リプレイ周りのソースは公開しないでほしい > リプレイのプレイヤーの名前を書き換えたりできるので困ります。 やっぱり公開しない方がいいですかね・・・ でも、ある程度プログラムをかじった人なら、ソース公開をしなくても リプレイのプレイヤー名称変更くらいは変更は簡単にできてしまうのが 悩ましいところです。 > ・枠より高い描画優先度が複数欲しい > るなら枠は99ではなく50ぐらいにしてほしいです。(ネタとして)弾幕風でSTG以外を作る人が居るので、 > SetLayerの引数の範囲を大きくして悪いことがないなら1000〜無制限にしてほしいと思います。 今回は枠の描画自体に優先度をつけられる予定です。 (使用者の自由に優先度を決めてもらえばよいです) ただ、優先度のソートには速度の面からバケットソートというアルゴリズムを 使っています(メモリの使用量を無視すれば最速のソートのはずです)。 優先度が多くなるほどメモリを消費することになるので 優先度を無制限にするのは難しそうです。 > ・現SetLayer(3)の不具合 全部つくりなおすので、修正される予定です。 > ・弾幕風用アーカイバ強化 これもつくりなおすので、修正予定です。 > ・GetCurrentScriptDirectory~""と".\"を統一してほしい おそらく可能なので対応します。 > ・各オブジェクトにハッシュテーブルを持たせられるようにしてほしい 対応します。 > ・MIDIに対応してほしい 対応できないわけではないのですが、 音声の中でmidiだけ特別な処理が必要なので省こうと思いました。 mp3、oggなどはデコードすればどれも波形データなのですが midiは異なるため一意に処理するのが面倒なのです。 対応するにしてもmp3の後になると思います。 > ・再生できないmp3がある(仕様メモにもありましたが) これ原因がよくわかっていないのです。 mp3のフォーマットに方言みたいなのがあって、 うまく再生できないとかなのでしょうか・・・ > ・ボリューム調整 今回は機能的には対応済みです。 > 弾幕風はやはり「ツクール」に近い > ものなので、消費者(プレイヤーではなく弾幕風プログラマー)がやり易いように作るのが一番だと思っています。 まったくそのとおりだと思います。 東方弾幕風 v0.12mもいろんな要望をとりいれて、あんな感じになりました。 -- ほとんど週末にしか作業しないので、次バージョンはしばらく先になると思います。 〜jp wrote: > mkm氏へ >  〜 弾幕風プログラマーの立場から > > いつも東方弾幕風を愛用させて頂いています。したらばの東方幻想板の弾幕風スレの合作の、代表者の > あびです。(長い肩書き) > さて、弾幕風のバージョンアップの話ですが、スレ住民などから出た意見や、私からの要望を纏めてみ > ました。少しでも実装に考慮して頂けると幸いです。 > > 要望 > > ・全体 > > ・0.12m以前との互換性を確保してほしい > 一番多い要望で、普通にやるのは難しいですが、新バージョンのスクリプトの場合は#ScriptVersion[3 > ]にすれば良いのではないでしょうか。 > 互換性の問題はバージョンアップ毎に出るでしょうから、細かいバグ直し以外のバージョンアップ毎に > 毎回ScriptVersionを変えて頂けると助かります。 > > ・リプレイ周りのソースは公開しないでほしい > リプレイのプレイヤーの名前を書き換えたりできるので困ります。 > > ・プログラム関係 > > ・枠より高い描画優先度が複数欲しい > バージョンアップの話が出る前から(夢終劇SCCが出た頃から?)出ていた話で、SetLayerが100段階にな > るなら枠は99ではなく50ぐらいにしてほしいです。(ネタとして)弾幕風でSTG以外を作る人が居るので、 > SetLayerの引数の範囲を大きくして悪いことがないなら1000〜無制限にしてほしいと思います。例えば > > > loop(100){ > 〜 > SetLayer(i); > i ++; > } > > みたいに使う人が居るかもしれないので一応。 > > ・現SetLayer(3)の不具合 > 主に自機関係で、SetLayer(3)のオブジェクトが枠外に出そうになったとき、どうも枠ギリギリで止まら > ずに枠を出てから数フレーム経ってから枠内にワープして戻るのを繰り返すようで、オブジェクトがガ > クガク震えているように見えるという、引数が3の場合のみに限る不思議なバグがあります。できれば修 > 正お願いします。 > > ・弾幕風用アーカイバ強化 > 夢終劇(ご存じなんでしょうか)のような超大型スクリプトなどを作る場合に、本家でいうth10.datのよ > うにスクリプトを1つのファイルにアーカイブしたい場合があります。これは内部の画像などを見られた > くない場合などに多いです。そこで、東方弾幕風用アーカイバを使うのですが、何故か読み込めなかっ > たり、音楽が再生されなかったりする場合が多々あるので、現状ではアーカイバはあまり使わないのが > 約束のようになってしまっています。したがって、アーカイバの方もバグ修正をお願いします。(でもC > 言語系の音声関係ってブラックボックスなんですよねw自分も経験しましたけど) > しかしながら、他人のソースを見れてこそ交流があるのが弾幕風の良さだ、という話もあるので、アー > カイバの存在自体への反対意見もありますが。 > > ・GetCurrentScriptDirectory~""と".\"を統一してほしい > とりあえずGetCurrentScriptDirectoryの名前が長いです。let csd = GetCurrentScriptDirectory;とか > やっています。そこで全部".\"なら便利かなと。 > > ・各オブジェクトにハッシュテーブルを持たせられるようにしてほしい > オブジェクト系の関数で作成した各データに値を設定できると良いです。たとえば新仕様だと、敵もOb > jEnemy_Create()で作るので、その敵に、スクリプト側が自由な値を設定できるようにすると良いですね > 。因みに合作のIRCでは > let objid = ObjEnemy_Create() > SetExtData(objid, "name", "data") > とか言っていました。 > > ・グラフィック関係 > > 無し > > ・サウンド関係 > > ・MIDIに対応してほしい > 何でもですが、対応して悪いことが無いなら多く対応して欲しいです。mp4とか3g2とかなるべく多くの > 拡張子に対応していると便利ですが、労力が掛かるならそこまで必要ではないので、まあ、やって頂け > るなら程度に。 > 実際、普通に使うのはほぼmp3とwavとmidだけです。 > > ・再生できないmp3がある(仕様メモにもありましたが) > これは難しい問題だと思います。なぜならC++とかでも同じ不具合(?)があるので、弾幕風側の不具合で > はない可能性が高いからです。一応症状は、WindowsMediaPlayerで再生できるようなmp3でも、一部エン > コーダなどを経由していると再生できないことがあります。私の検証の結果では、wavを直接lame.exeで > 原始的に変換したものはほとんど必ず再生できて、午後のこ〜だ経由だと再生できないことが多い(でも > 再生できた例もある)感じです。 > > ・ボリューム調整 > 現バージョンのデフォルトのSEの音量が大きいので、普通のmp3のBGMとの音量のバランスが悪いです。 > 東方本家のように、設定でBGM100%, SE80%などと設定できると便利です。というか、私は音屋なので > 結構困ってたりするので、個人的には是非お願いします。 > > ・それ以外にも後から要望が出れば、後日もう一度代表してメールさせて頂くかもしれません > > 考慮に関して、ZUN氏も同じようなことを言っていましたが、制作者が好きなように作りたいのに、消費 > 者の要望に影響されてしまうのは良くないという話もありますが、弾幕風はやはり「ツクール」に近い > ものなので、消費者(プレイヤーではなく弾幕風プログラマー)がやり易いように作るのが一番だと思っ > ています。 > 最終的にどこまで反映させるかはmkm氏が決定することになりますが、プログラマーの要望はなるべく反 > 映させて頂きたいところです。 > 以上、だいぶ自分勝手な要望でしたが、宜しくお願い申し上げます。 > > あび(〜.jp)