今日もまあまあゲームの製作作業はやってました。とりあえず、遺跡でエンカウントするザコ敵たちの 個々のバトルは作り終えた…あ、まだフロギー作ってねえ…トリエルさんに睨まれて逃げていくあの イベント戦しかないんだった…!

あのイベント戦をエンカウントで別マップで呼び出すわけには行かない。もし呼び出したら、 遺跡のどこでフロギーに会おうとも1ターンでトリエルさんが睨みに来ることになってしまう。たとえ死んでいても。怖すぎる。

そういや、ずっと完成したと思っていたシステムをいざ使ってみたら動かなくてめちゃビックリな案件がありました。 敵キャラごとに攻撃方法というか攻撃に必要な数値はデータベースに入れてあるんだけど、 その中に「ウィンドウの大きさ」というのも設定していました。

いざ敵のターンになったときに、そのウィンドウの大きさ、縦と横の長さの数値を読み込んでその数値に応じて 攻撃を受けるための枠を生成するというかサイズをみよーんと変更して、さて敵の攻撃開始、ということになるようにしていたのです。

そして今日、ベジトイドの攻撃を作るときに今までは攻撃を受ける枠は全部同じ大きさで作っていたんだけど ちょっといよいよ変えてみるか、せっかくそのシステム作ったんだしと思って真四角ではない枠を設定してみました。

だが、枠が変わらなかった。あ、あれ?!枠の大きさの数値を読み込んで、それを使って枠が伸縮するようになっているのでは?! 今までそうやってメッセージウィンドウが攻撃を受ける枠の大きさまで縮んでいたんじゃなかったの!?

…なんということでしょう。せっかく作ったそのシステム、機能していなかったのです。 それなら今までトリエルさんとのバトルやナプスタくんのバトルの枠を作るとき、ちゃんと伸縮していたのはなんだったんだ…。

でもとにかくできていないのは事実。ちゃんと順を追って枠の大きさを決める数値が変わっていない理由を調べなければ。 今のところ、数値はXは0、Yも0になってしまっており敵の攻撃が始まると枠がキュッと縮んでほぼ消滅するという事態になっています。

ただ、主人公のソウルが動ける範囲はその枠の大きさに準じているようで動ける範囲は決まっており見えない壁がある感じです。 そして、色々試行錯誤した結果…。


この「被攻撃枠生成」という呼び出し専用のコモンイベントの頭に、 2フレームのウェイトを入れるだけで枠の大きさは思ったとおりになりました。

なんで2フレーム…!?1フレームのウェイトを入れただけで解決した、という事案はたくさん聞いたが、 2フレームというのはなんなんだ…30フレームから試し、半分に減らしていって2フレームに行き着きました。1フレームじゃダメでした。

しかし、敵の攻撃パターンを読み込むときに枠の大きさも一緒に呼び出しており、 枠の大きさを読み込むまでには1フレームのウェイトもないのである。並列実行、むつかしいなあ。まあできたからいいか!


これは今日作っていたザコ敵「ミネコ」ちゃんとのバトル風景。魚が泳いできて、下に落ちていく。 魚はちゃんと泳いでいます。魚はニボシという設定です。ニボシですが泳いでいます。

さらに画像のパラメータを奇数の番号と偶数の番号で変えてあり、拡大率を100%で表、-100%で裏にして、右を向いている魚と 左を向いている魚は同じ画像を使っています。

容量削減!データ容量の削減はゲーム作りにおいてとても大事ですね。 なんとこのニボシの画像を減らしたことによって削減できた容量は……241バイト!!

もはやそれは誤差だ。
2019年11月6日

◆目次に戻る◆






inserted by FC2 system