カレンダー

2018/06
     
       

広告

Twitter

記事検索

ランダムボタン

バグを1つ取ると…

by 唐草 [2024/04/09]



 ゲームもいよいよ通しで遊べる状態になった。仕組み的にはほぼ完成で、BGMの目処が立っていないことに目をつぶれば進捗度は95%というところ。
 最後の仕上げとして実際にプレーして難易度調整や違和感のある動きを修正したりしている。だが、この最後の工程に恐ろしく難儀している。
 柔軟に難易度を調整できる設計にしたことが仇になっている。敵のステータスを1%以下の細かさで調整できるので、なかなかベストな値を定められない。いっそ上・中・下の3段階でしか調整できないように作っていたほうが、さっさと難易度を決定できていただろう。
 また、これまで開発に応じて追加された部分だけの動作テストしかしていなかったので、通しで遊んでみると妙な動きになったり、整合性の取れない部分が噴出している。
 例えば、デバッグ用の階進行ボタンで下階に降りた場合は自分のターンから始まるのに、階段で下階に降りた場合は敵のターンから始まるといった不可解なことが起きている。プログラム的にはどちらも同じ関数を呼んでいるのに、呼ぶタイミングの些細な違いで異なる結果になる。
 ローグライクは、サイコロを振って遊ぶボードゲームと同じくランダム性に支配されたゲーム。それはプレイヤーに無限の組み合わせを提供する可能性を秘めているが、同時に開発者に無限の検証パターンを提示することを意味する。遊ぶたびにすべての条件が変わるので問題を見極めるのが難しい。テストのときにうまくいったのは、たまたま当たりを引いただけだったなんてことも多い。
 そこにUnity固有の仕様が組み合わさってくる。実行環境固有の仕様は理解してしまえば簡単だが、その理解に至るまでは茨の道だ。まるでおまじないのような儀式めいた手順が必要になることも多い。
 バグが起きる本質的な理由はぼくの能力不足なのは間違いない。だが、ゲームシステムと実行環境がバグの本質を分かりにくくしている面も少なくない。
 なので、この数週間は「取っても取っても次々に新しいバグが見つかる」という無間地獄に陥っている。
 正直、かなりツライ状況だ。それが過去の自分のミスの精算だとしても。