ひまわりドリル 2022/02/27 17:17

進捗状況及びbitmapロードの遅延によるバグのまとめ

ようやくセックスシーンの作成がひと段落しました。
まだデバッグしていないので、抜けている個所があるかもしれませんが
大体10月くらいからシナリオを触り始めて12月くらいから本格的にずっと前戯とセックスの部分をやってきたので、それが終わってかなり開放された気分です。
ここの制作だけで800時間位は費やしましたので…

あとはデバッグの他に細かなシステムの追加や修正、体験版の作成や販売に伴う画像や文章等の準備があります。
デバッグについては前戯とプレイのシーンだけでもテキストが225パターン、あとは3通りの衣装差分及び射精(中出しゴムだし外出し3パターン)の確認も含めると計算したくないくらいのパターンになりますので、これからかなり大変だろうなと思っています。デバッグ1か月とかいってますが2か月はかかるかもしれません…。

しかも今日はセックスシーンの制作が終わってようやく1日目なのですが、さっそくデバッグで詰まってしまい4時間も原因を追究する羽目になったので二度とこのような事態に陥らない為にも自分用にメモしておきます。
※解説目的で記述しているわけではないので走り書きになっております。

まず、どういうわけか詩織との好感度が高い時の初体験時のHシーンで外出しを選んで終了した場合にのみゲージの背景が上画像のように消えていました。
通常は下のようにならないといけません。

これがもう意味不明で、最初はイベントCGのレイヤーとこの背景のピクチャ番号が干渉してるのかなと思い色々とツクール内で変更したりして2時間費やしました。
ですが全く解消されずお手上げ状態でした。

このウィンドウはプラグインで表示しているのですが、ツクール内ではどうやっても無理だったのであとはプラグインしかないと思い、コンソールで見ながら原因を追究しているとどうやら

の個所にて

var bitmap = ImageManager.loadPicture(filename, 0);

の画像のロードで遅延が生じていて、そのあとの

this.contents.blt(bitmap, 0, 0, pw, ph, x, y);

では空のbitmapを表示しているような状態になっていたことを突き止めました。

なぜ詩織の初体験の好感度高い時の外出しのみで起こったのかが不思議ですが、おそらくレイヤーが多すぎたせいで画像の読み込みに時間がかかってしまっていた影響かもしれません。今回は前回とは違い、画像レイヤーを重ねて表示しています。

そこでaddLoadListenerという関数(bitmapのロード完了後に実行される)を呼び出し、bitmapのロードが完了した後にこの関数内が実行される前提で下記のように変えると背景が表示されました。

ただ後で表示した為に、上のように文字部分が背面になっているので下記のように関数内で文字を読むようにすると無事表示されました。

でもなぜか上のように背景が濃くなっていました。
どうやら遅延したところにこの画像がフレームごとの更新処理をするrefresh()により再度bitmapが重複して読まれてるような感じだったので
addLoadListenerでロードが完了するまで画像を再度読まないように変数を使って条件文を作ってやると無事直りました。

プログラミングは多少の知識はありますが、javascriptは正直嫌いで避けていた為に全然知識がないのでこんな遅延みたいなことが起こるとは思ってもみませんでした。
このaddLoadListenerの方法を書かれていたトリアコンタン様に感謝です。

それにしてもこれを直すために4時間もかかってしまいました。
1日目でこれですから、今後もこんな感じでバグが見つかる可能性があります。
今までで絵も含めて相当な時間を費やしていると思うのですがまだまだかかりそうな感じです。

今回は自由度を求めてしまった結果、自分の力量を考えるとかなりのキャパオーバーでした。
未だに完成できるかという不安がぬぐえませんが、頂上を眺めずに足元を見ながらゆっくり登っていくしかありません。

ただ、もし次回作を作成するならば、やはりハーレムアイランドのように多数の女の子とやりまくるみたいなもっと目的を絞ったゲームにしようかと思っています。
自分の嗜好的にもハーレムアイランドみたいなものが好みなので、ハーレムアイランド2とか割と真剣に考えています。

とはいえ、今は目の前の新作の制作が最優先ですので一生懸命取り掛かりたいと思います!!

月別アーカイブ

限定特典から探す

記事を検索