バグ大量
・うむ。バグの処理を行っております。
ダンジョン全体に巣食っていたものと、一部のダンジョンに寄生していたものと、
あと製作時に仕様としていた部分を、やはり改正してみました。
後者に関しては「一歩ごとに発生するイベント」を、これまではイベントごとに記述して一つずつ処理させていたものを総括、というか、一つのイベントにのみ記述してそいつを随時呼び出す方法に変更。やはり、定期的に読み込む処理は、一つひとつにすべてを記述する手法よりも、一つのイベントを呼び出す方法にしたほうが軽くなる模様。これだと後からの訂正も利くし、至れり尽くせりか。主観的に「処理のたらいまわし」のように感じてしまって、どうにも不信感が強かったのですが、そのために莫大なリソース食ってしまうのだったら、全体の挙動を考えて素直にリード命令にしておくのが正解だったようです。おかげでモルティユ樹海マップが極端に軽くなりました。
街マップに潜んでいたバグ(語弊があるけどバグというよりも私の見落としていた問題が発覚しただけ。プログラム上の問題ではない)が、なかなかしつこいものだったので、半時間ほど掛けて修正。修正というか、最終的には誤魔化した。
これを説明するのにまず武器ランクというものを解説しなければならない。暇な人だけお付き合いください。と書いてしまってから「そもそも、このタイトルのエントリをこの段落まで読み進めた人に、ンな注意書きは必要なのだろうか」とか思ってしまったが如何か。
武器ランクとは。
要点だけを挙げると、
・「ランクポイント」という、純経験値とは別に手に入る「シナリオ経験値」が存在。
・ある程度ポイントを溜めると「傭兵レベル」を上昇させることが出来る。
・傭兵登録の際に選択した武器ごとに、傭兵レベル相応の特技を取得することが出来る。
というシステムです。
もう少し選択の自由を作ればよかったのですが、面倒だったのでひどく固いものになってます。
で、この武器ランクを上昇させる処理では、
まず傭兵レベルそのものを「パーティ」で管理しているので、主人公のランクのみを参照するように仕込んでいたのです。これが間違いですね。個人ごとに管理し照れば何の不都合も無かったはずですが、これ以上変数を増やせないという悲しい縛りがあったのです。ヨ、ヨ、ヨ…。
この不具合で槍玉に上がったのがゲストキャラ。シナリオに直接的な影響を与えない「ゲストキャラクタ」は、ゲスト間でのみですが、「バー」内で自由に入れ替えが出来るのです。この入れ替えをしていた時に、ああ、と気づいたわけですね。
パーティ丸ごとランク管理をしていたら 離脱しているゲストキャラ にはランク変化が適応されない。
そしてそもそも、この武器ランクシステムへの参加は 各キャラクタごとに自由 であるため、
えー、と…。
パーティでランク管理するのは失策だったネ。(結論
/(^o^)\ なんという仕様…。このゲームは間違いなくバグる…。
・と、と、とりあえず!
残っている修正、動作確認部分をまとめてみる。
・サブキャラクタの、武器ランク変化時の挙動
・「移動直後のイベント」の動作
・街マップの変更点を全体に適応
・術合成のエフェクトとか
(完成させてから半年、全くの手付かずで放置。バグを見つけたところで修正できるのか私)