ぼちぼちまちま日誌2

【ウディタ】デバッグで詰んだ箇所メモ

ウディタ製ゲームのバグ取りの際に何十分も足止め食らった箇所として記憶にあるものの個人的まとめです。
起動条件・イベント移動系のバグがないのは作ってるゲームの仕様上ほとんど使うことがないからです。

【CDB読込み/書込み場所の指定を間違えてる】

20200419170539.PNG
割とやらかす。
下みたいに指定する変数を間違えた例について、単純に変数の指定を間違えた場合ならまだいいんですが、「Cself24で値を取ってCself25に入れて、Cself25を使って違うDBから値を取る……」みたいなことを何回もやって「あれ、これってCself24?Cself26?」ってことになるとバグ取りで大混乱が起こります(実際に起こりました)。DBにアクセスする可能性がある変数が複数存在する場合は名前の付け方に気をつけような……!

【数値代入の変数間違えてる】

20200419170540.PNG
これもまぁやらかす。明らかにおかしい値が出たら多分これ。
バグったらバグ起こった箇所前後を精査することになると思うので、前後のやつに比べるとある程度気づきやすいと思います。

【DB読込んだつもりだったけど読み込んでない】

つい最近こいつで30分詰みました。
条件分岐Aの時にa,bを、条件分岐Bの時にb,cを読み込むとき、条件分岐Bで実はbを読み込んでいなかった みたいな奴です。
前回呼び出した時のbの値が残っており、条件分岐Bで処理したいbの値と偶然一致したりすると上手く動いたりするのでまぁ気づかない。
ちなみにこれについては、「DBを読み込むタイミングを統一する」である程度対策取れます。というかスクリプトの視認性考えても読み込むタイミングを統一したほうが良いかと。
ただ、DB読み込む項目数が極端に多い・文字列を複数読み込む場合などで処理落ちが心配な場合は、とりあえず最初の処理でCself10~Cself99=0入れるのが良いと思います。それで処理おかしくなったらこれが疑わしいかなー。

Related Entry

  • 2020/07/17 21:46
    【結果】PCゲームで基本動作を行うキーのイメージについて
  • 2020/03/26 21:33
    【ウディタ】描画座標シフトメモ