公式拡張のShivering Islesは当初致命的なバグを抱えていました。しかし、現在はゲームを最新の物にアップデートする事で修正済みです。以下の記事はその当時の記録を含みます
Shivering Islesにゲームが続行不可になるバグが発見されました。Shivering Islesインストール後に50〜120時間ほどプレイするとバグが発症します。(いつ起きるかはフレームレート(以下fps)によります。fpsが高いほど発症するのも早いでしょう。)
Shivering Islesをインストールした時点で発症へのカウントダウンが始まっています。まだShivering Islesに行ってなくても発症します。
Oblivionではオブジェクト(アイテム、NPC、etc)を生成するたびにFormIDというのを割り当てているのですが、Shivering Islesのとある箇所でこのFormIDを延々と生成し続けてしまい、FormIDを使い尽くしてしまうという不具合が発生しています。fpsが高いほど発症が早まるのは、処理が早いだけFormIDの生成も早いからと言うわけです。
FormIDはFFXXXXXX(16進数)で表されており、上2桁はFFに決まっています。下6桁があふれて上2桁が00になってしまうとFormIDとして機能しなくなってしまいます(カウンターをFF000000に戻すなりすればいいだけだったのでしょうが、あふれるなんて想定外だったのでしょう)。このためにオブジェクトが生成されないなどのバグが起こり始めるのです。
公式の修正パッチが公開されています。公式の対応が遅れることを懸念した有志によるユーザー作成のパッチはもはや必要ありません。作成に関わった皆さん、ありがとうございました。
5月1日、公式パッチの正式版が公開されました。パッチを当てれば、ユーザ作成のパッチは不要となります。
XBOX版のバグもパッチにより修正されました
公式修正パッチが公開され、以下の情報は無用の物となっていますが、参考のため残しておきました。
XBOX版はバグがあるのかどうか自体わかっていません。
XBOX版にも同様のバグが存在することが確かめられました。
参照:公式フォーラム
記事はPC版でバグを解決したDateranoth氏によるもの。XBOX版にバグがあることを発見したのはNephele氏です。また、Nephele氏はBethesdaにメールを送っており、「現在、調査中です」との回答を受け取っています。
修正パッチはDateranoth氏により作成されました。
以下のサイトからファイルをダウンロードして他のプラグインと同じように有効にすればOKです。
FORM ID SHIVERING ISLES FIX
これでFormIDの高速無限生成は修正されます。
◆修正内容
Shivering Isles某所の衛兵のパトロールスクリプトに問題があったらしく、プレイヤーがそこにいないときはスクリプトを停止させる、という修正を実施しています。
Bethesdaから公式パッチが出てもプラグインをDisableするだけで元通りなので安心です。
以下に公式フォーラムでバグ修正に当たった中心的な方々を挙げさせていただきます。Many Thanks to you all!
- パッチ作成:Dateranoth氏
- バグ報告:The Conjuring氏
- 原因NPC特定:UQForgotton氏
- セーブデータ修正ツール作成:Wrye氏
- 情報収集:ashakanar氏
ただし、この修正はFormIDの高速無限生成の修正のみなので、セーブデータのFormIDがオーバーフロー寸前、あるいはバグが発症してしまっているといった場合には修正になりません。
その場合の修復方法、および、どれだけ危険な状況にあるかを調べる方法もパッチ作成者の方々が公表されていますので、それについては下記「発症危険度の確認とその対策」を参照してください。
確認、対策ともにWryeBashのv0.7.1で可能です。
(リンク先はOblivion Wiki JPです。このツールは導入がやや面倒ですが、ここならインストール方法なども説明されていますので問題ないでしょう。)
とにかくShivering Islesのバグ対策だけ済ませたいという場合はORIDFixというツールでFormIDの確認と修正をするのがおすすめです。
FormIDを調べます。手順は以下の通り。
ここの上2桁がFFでなければ既に発症。
上から3桁目が桁上がりしそう(16進数!)なら発症寸前の状態です。
発症寸前ないし発症状態なら以下の操作を実行します。
(実行は推奨されていません。上記のような本当にどうにもならない場合にのみ実行するようにしてください。)
で修復完了です。
次に使うFormIDを無理矢理FF100000にするという処理を行っています。
FF000000のままだと新しくエンチャントしたアイテムがリロード時に消えてしまうといった障害が発生してしまうようです。情報:UESPWiki
FF000000に修正済みなら、FF100000に修正し直した方が良いかもしれません。
Wrye Bashは様々なことのできる優れたツールですが導入に難があります。とりあえずShivering Islesのバグだけ何とかしたいという場合はOblivion Reference ID/FormID Fixerがおすすめです。
導入から使用までは下記の通り。
以上で修正は完了です。上記の手順なら修正したセーブ名の頭に"ORID_"がついているので、それをロードして下さい。