modを導入する前にスカイリムとmodの仕組みを解説します。ざっくりとでも理解しておくと、mod管理やトラブル対処に役に立つでしょう。ここでは作業はありません。
スカイリムのフォルダ構造
まずはスカイリム本体のフォルダ構造を解説します。
スカイリムのフォルダは「Steam\SteamApps\common\Skyrim(SE版はSkyrim Special Edition)」にあります。このフォルダ内にランチャーと本体が入ってます。
スカイリムのフォルダ内にあるDataフォルダはスカイリムに使うデータが入ってます。一部を除いてほとんどのmodはこのDataフォルダに導入します。
プラグインとアーカイブ
これからDataフォルダ内のデータを見ていきます。
まずはDataフォルダを開いてみましょう。中身を見てみるとSkyrim.esmのような「プラグインファイル(esm,esp,esl)」と、Skyrim – ***.bsaのような「アーカイブファイル(bsa)」という2種類のファイルがあります。
プラグインでの素材割り当て
素材はそのままでは使えません。プラグインに素材を登録し、そしてその素材を必要とする各々に割り当てる必要があります。
バニラのプラグイン
バニラ(modの入ってないまっさらな状態)では以下のプラグインしかありません。
Update.esm – アップデートで修正された内容
Dawnguard.esm – DLC
HearthFires.esm – DLC
Dragonborn.esm – DLC
これらesmファイルはマスターファイルとも呼ばれます。他のプラグインより先に読み込まれ、原則的に中身は変更できません。
では、どうやって設定を変えるのでしょうか?それは別のプラグインで設定を「上書き」するのです。
modのプラグインもSkyrim.esmの既存のデータを「上書き」して変更します。バニラにはない、新しいアイテムなどを「追加」することもできます。
プラグイン形式「esp」
バニラのプラグインはマスターファイルしかありませんが、modの多くは「esp」というプラグイン形式を使います。基本はesmと変わらず、スカイリムのデータを「上書き」か「追加」していきます。
esmと違うのは
- 中身の変更が可能
- プラグインの読み込み順(ロードオーダー)を自由に決定可能
modでは自由にプラグインの読み込み順が変更可能なので、その順序が大事になってきます。
ロードオーダー
ロードオーダーとは「プラグインの読み込み順序」のことです。
プラグイン1つにつき、16進数2ケタのロードオーダーIDが割り当てられます。このIDはロードオーダーの位置によって変わります。
ロードオーダーIDの範囲は00~FEまでです。そのため最大のプラグイン数は255個です。(SE版では後述するeslが使えます。これは通常のプラグインとは別枠で最大4096個のeslプラグインが扱えます)
このロードオーダーの変更と管理がmodマネージャーの主要な機能のひとつです。
modの競合
mod間で「素材」や「項目」が被れば、どれかが優先されます。これが「競合」です。
実例で見ていきましょう。鉄の剣のダメージを2倍にするプラグイン「IronSwordDamagex2.esp」、鉄の剣の価格を2倍にする「IronSwordValuex2.esp」があったとします。以下の画像のように配置しました。
Skyrim.esmにある元々の「鉄の剣」はダメージ7、価格25です。ふたつのmodは同じ「鉄の剣」を編集しているため、どちらかの設定が優先されます。画像では価格2倍のプラグインが、ダメージ2倍のプラグインより「後」にくるので優先されます。そのため、鉄の剣の価格は50になりますが、ダメージは上書きされて元の7に戻ってしまいます。
ではロードオーダーの順序を逆にしてみるとどうでしょうか?
あとに置かれたほうが優先されるのでダメージは2倍の14になりますが、価格は25に戻ってしまいます。
鉄の剣の価格を50、ダメージを14にする場合は、どちらかにマージ(統合)するか、パッチを作る必要があります。競合の仕組みの解説なので、マージの仕方は別の機会に解説します。
ルースファイルとアーカイブファイル
アーカイブファイル(bsa)にパックされていない素材はルースファイル(loose=梱包されてない)と呼ばれています。bsaを展開するとルースファイルと同じフォルダ構成になります。つまり、パックしているか、パックしていないかの違いなのです。
ルースファイルはbsaより優先的に読み込まれます。
もうひとつアーカイブファイルの特徴として、必ずプラグインとセットで使います。たとえばDLCのHearthFires.esmにはHearthFires.bsaとセットになっています。これはアーカイブファイル同士の優先順がロードオーダーに影響されるためです。
フォルダ構造
ルースファイルにせよ、アーカイブファイルにせよ、素材は必ずその種類ごとのフォルダに配置します。
フォルダ名 | 素材のカテゴリ |
---|---|
interface | インターフェイスに関するファイル |
meshes | メッシュ、エフェクト、モーション |
textures | テクスチャ |
scripts | スクリプト |
sound | サウンド |
素材だけのmodもある
ルースファイルの素材だけで提供されるmodがあります。たとえば、顔を美化するテクスチャmodがそれに当たります。これはバニラの顔テクスチャを置き換える(上書き)だけなので、プラグインは必要ありません。
FormID
ゲームを構成しているプレイヤー、NPC、炎の魔法、鉄の剣、山賊の所属グループ設定、各々のクエスト、セル(フィールドの一区画単位)、雨の天候、雷の音、すべてがオブジェクトであり、スカイリムではこれらオブジェクトをFormと呼びます。
FormにはForm IDが割り当てられます。Form IDは8ケタの16進数で00000000~FFFFFFFF(最大約1兆995億個)まで割り当てることができます。このIDの先頭2ケタはロードオーダーIDに割り当てられます。
残りの6ケタは各プラグインのFormそれぞれに自動で割り当てられます。
たとえば、鉄の剣のFormIDは「00012EB7」です。Skyrim.esmのデータなので鉄の剣のIDは変わりません。
既存の鉄の剣とは別の種類の「鉄の剣」を追加したらどうなるでしょうか?
ロードオーダー05に「IronSword+.esp」というプラグインがあるとします。そのプラグインで「鉄の剣+」という新しい武器を作った場合、FormIDが新しく割り当てられます。05000D62のようなIDになります。別のFormIDなので「鉄の剣」と「鉄の剣+」は別の武器として扱われます。
「IronSword+.esp」のロードオーダーを変更した場合、そのロードオーダーに合わせたIDに変わります。ロードオーダーが変わったとしても「鉄の剣+」は参照できなくなったり、失ったりはしません。そのまま保持されます。
まとめ
- スカイリムのデータやmodは基本的にDataフォルダに入れる
- スカイリムのデータは「プラグイン」と「素材」でできている
- 優先順序を決定できる「ロードオーダー」が大事
その他
eslファイルについて
esm,espとも違う第三のプラグイン形式です。このプラグイン形式はSE版のみです。
ひとつのプラグインに割り当てられるFormIDは6ケタで000000~FFFFFF(1677万個)あります。しかし、実際にはそこまでたくさん使いません。それと比較してプラグインの枠、ロードオーダーIDは2ケタで00~FE(255個)しかありません。FormIDはたくさん余るのにプラグインの枠がいっぱいになりやすいのです。
そこで「esl」の登場です。eslはFormID 8ケタのうち最初の2ケタをFEに固定し、次の3ケタを000~FFF(4096個)もローダーIDとして使います。最後の3ケタを800~FFF(2048個)をFormIDに割り当てます。
そのためロードオーダーIDとは別に、最大4096個のeslファイルが使えます。
ただし、その仕様上espと違って制限があります。espとの違いは
- マスターの参照不可=パッチに不向き
- espよりあとに置けない=NPCや種族などの競合しやすい変更は不向き
- FormIDの上限が2048個と少ない=大規模modに向かない
- Creation Kitで編集できない(xEditでは可能)
このような特徴から簡易なmodに向いてます。馬の移動速度上げたり、単純な装備やアイテムの追加だったり。
ロードオーダーIDのFEは空けておく必要があるので、eslを導入するときのプラグイン枠最大数は254個になります。
次の工程
次はmod管理ツールを選びましょう。