12/12/25 23:17:57.85 zQ6/LHu8
手紙ツアーバグと利息バグに関して、プログラムの仕様を推測するというアプローチから考察してみる
結論を先に書くと、次の2つの仕様(※推測)が原因と思われる
・郵便物の配送条件チェック(と配送処理)は、画面切り替えの暗転時に必ず毎回行われる
・現在時刻(ゲーム内の時刻)は、ツアー行きの暗転時に各ツアー固有の時刻で上書きされ、
ツアー帰りの暗転時に本来の時刻で上書きされる
■詳細
村内の屋外(自宅前など)にいると9時/17時になっても配送されないが、
1度自宅や民家に入って画面を切り替えると配送されている
同様に、村民宅内で9時/17時になってから家に入りなおすと、送った家具が飾られる
これらより、画面切り替えの暗転時に郵便物の配送処理が行われていると考えられる(※1)
この時のアルゴリズムの詳細を予想すると、次のような流れで処理していると思われる
(1)暗転開始
(2)最後に暗転した日時から現在時刻までの間に9時/17時を経過したかをチェック
(2Y)9時/17時を経過していた→郵便物ストックの中から優先順位の高い順にポストに入れる
(2N)9時/17時を経過してない→処理なし(または何らかの目に見えない処理)
(3)最後に暗転した日時から現在時刻までの間に月末24時を経過したかをチェック
(3Y)月末24時を経過していた→利息を加算+利息メール
(3N)月末24時を経過してない→処理なし(または何らかの目に見えない処理)
(4)現在日時を最終暗転日時として保存
(5)暗転終了
配送処理の話は一旦置いといて、ツアーについて
シーラカンスが釣れる魚釣りツアーが雨固定なこと、蛍ツアーが夜固定なことなどから、
ツアーでの虫・魚の出現ルールは、村での出現テーブルのルールに則っていると考えられる
これは見方を変えれば、ゲーム内時刻が別の時刻に一時的に置き換えられている、ともいえる
時刻変更のタイミングは、オン島では同期が必要なことを考慮すると、行き帰りの暗転時と考えるのが妥当
以上2つの暗転時処理があわさって、郵便ツアーバグが発生したと推測する
この仮説が正しい場合、バグ回避には次の2点が有効かと思われる
(A)上記(2Y)での配送処理をさらに分析し、バグの影響のない方法で手紙を出す
(B)9時/17時/月末24時をまたぐ時刻設定のツアーに行かない
(補足・予想)
・朝6時に届くタイプの手紙は1日の最初のロード(またはみなあさ)時にチェックしているため影響がないのだと思われる
・海外プレイヤーやトラベラーがホストのオン島に当たったせいでカブが腐った、という事態をなくす配慮はあると思う
・オン島ツアーでは郵便バグが発生しないのは、ゲーム内時刻ではなく鯖の時刻を参照するため?
※1
16:59と17:01にサブに手紙を出してから郵便局を出れば確認できる…はず(未検証)
この予想が正しければ、2通とも配送されるはず
あくまで検証でなく推測なので、検証結果との矛盾とかあれば指摘してくれ