見えないものをデバッグする:イベントシステムに専用のオブザーバビリティが必要な理由
QAテスターがバグを報告する:「鍵を拾ってもドアが開かない。」
シンプルだろう? おそらく参照漏れか条件の間違い。プロジェクトを開き、鍵を拾うと...ドアは問題なく開く。自分の環境では再現する。テスターに再現手順を聞くと「30%くらいの確率で発生する。大抵セーブ/ロードサイクルの後」とのこと。
デバッグ地獄に突入だ。鍵ピックアップイベントからインベントリ更新、クエスト進行チェック、ドアのアンロック条件に至るチェインのどこかで、何かが間欠的に失敗している。しかしどのリンクだ? イベントが発火されなかった? 発火されたがリスナーがサブスクライブされていなかった? サブスクライブされていたが条件がfalseに評価された? 条件は正しかったがロード後にドアの状態が古かった?
