【MOD製作】準備編-1/ファイル形式の基礎知識(前編)

準備編

Skyrimを構成するファイルの種類

本格的にMOD製作の解説に入る前にいろいろな準備が必要です。まずはSkyrimのゲームを構成しているさまざまなファイルの形式について知っておいた方が良いと思います。

Skyrimのインストール先のフォルダ(Skyrim.exeのあるフォルダ)のData以下には、この後述べるような拡張子のファイルがあります。(表示されていない場合は、フォルダの表示メニューにある「ファイル名拡張子」のところにチェックを入れてください)

説明の中でたびたび出て来るCreationKit(CK)やTES5EDIT、SSEEDITについては後でまとめて説明します。

espファイルとその仲間(esm、esl)

esp

プラグイン形式。一般的なMODはこの形式で配布されることが多いです。

esp、esm、eslの形式のファイルはデータベースの断片のようなもので、Skyrimは起動時にゲーム本体やDLC(これらもesm形式のファイル)と共にMODで追加されたespやeslファイルを読み込み、1つのリレーショナルデータベースを構成します。

データベース上の各レコードは一意のFormIDによって区別されます。武器やNPCなども、これらレコードの1つで定義されています。各ファイルは読み込みの順番(ロードオーダー)が指定されていて、同じFormIDのレコードは後から読み込まれたファイルによって上書きされます。

上の図の場合、左から順に読み込まれて行き最終的にゲームに反映されるのは一番右側の状態です。どのファイルを上書きするかについては、espやesmファイルのヘッダー領域内にデータとして記録されていて、この上書き対象の指示のことを「マスター指定」と言います。

上書きによって、バニラの装備やクエスト内容などを変更するのがMODの基本的な仕組みです。(リテクスチャやリモデルなど、espを必要としないMODの場合は、直接テクスチャやモデルを上書きしています。)このためMODを読み込む順番、ロードオーダーは非常に重要です。

esp形式のファイルはあくまでもプラグイン形式であるため、espがespをマスター指定することは、実は公式で認められている方法ではありません。CreationKit(CK)でespをマスター指定していてもマスターとして読み込まれないのはこのためです。

とは言え、他のMODをマスター指定しているMODのほとんどはespファイルをマスターとして扱っています。実際のゲームでも問題なく動いていますので、それほど気にする必要はないでしょう。

CKでespファイルをマスター指定して編集はできませんので、その場合はマスター指定しているファイルを一時的にesm形式に変換して読み込ませることで対処できます。TES5EDITやSSEEDIT等でespファイルのヘッダーにesmフラグを付けることで、CK上でマスターファイルとして扱うことが可能です。(バックアップ推奨)

LEのespはFormVersionが43、SEは44で少し異なります。43のespであってもSE上で特に問題なく動作するように見えますが、一部のユーティリティソフトではバージョンが古いファイルとして警告が表示されます。気にするユーザーもいるので、それぞれに合ったバージョンにした方が安心でしょう。

FormVersionが43のモノはSE版CKで保存することで44に変換ができ、44のモノはLE版のCKで保存すれば43に変換できます。

espファイルの文字コードの設定については、以下の記事もご覧ください。

esm

マスター形式。Skyrim本体や各DLCなどで使われている形式で、一部のMODもこの形式で配布されています。

基本的にespやeslファイルと構造は同じですが、ヘッダーのesmフラグによって区別されています。esmファイルは公式にマスター指定をすることができるファイルです。CreationKit(CK)はesm形式のファイルでなければマスター指定した状態でファイルを読み込めないので注意が必要です。(対処法はespの項目参照)

ただしesm形式のファイルはCKで編集できません。TES5EDITやSSEEDITでの編集は可能です。espファイルとの違いや注意点について詳しくはくつみやさんのブログの以下の記事を見てみてください。

ベセスダ公式の見解とMOD界隈での実際の運用のされ方では、だいぶ差がありますね。MODの利用は自己責任が基本とは言え、公式の見解はちゃんと押さえておいた方がいいでしょう。

esl

ライトマスター形式。esmやesp形式と構造的に同じですが、内部のフラグによって区別されています。

esmとespの読み込み上限の(ほぼ)制限外で読み込みできるので少しずつ利用が増えている形式。その仕様の詳細や注意点については、くつみやさんの以下のブログ記事に詳しく載っています。

ザックリとした説明で言うと、1つのespの読み込み領域を細かく分けて、それを複数のeslファイルに割り当てることで読み込めるファイルの個数を増やしています。ですのでespファイルにくらべて1つのファイルあたりのデータ量は小さく抑える必要があり、使用できるFormIDもあらかじめ決まっています。

esl形式はSE版でしか利用できません。制限事項がいろいろあるので、MOD製作にある程度慣れてからMODのesl化検討をオススメします。とは言えFormIDの制限などがあるので、製作当初から将来を見越して準備しておいた方が手間を省ける可能性はあります。

eslファイルはCreationKit(CK)でesp形式から変換できます。このほか、SSEEDITでもヘッダーにフラグを設定することで変換できますが、バックアップは取っておいた方が良いと思います。個人的に試してみて今のところ不具合などはありませんが、あまり推奨できる方法ではないかも。

またeslフラグを立ててあるにも関わらず、拡張子はespのままのファイルが利用されることもあります。こちらについても問題なく動いてるように見えるものの、公式に推奨されている使い方ではありません。サイズの小さなパッチなどでこのような形式で配布されるMODが増えています。

アーカイブ形式

bsa

アーカイブファイル。 MODのいろいろなリソース(メッシュやテクスチャなど)を圧縮したモノ。

Bethesda Archive Extractorなどの専用のソフトがあれば解凍や中身の閲覧が可能ですが、圧縮はCreationKit(CK)でしかできません。LE版・SE版とも同じbsaという拡張子ですが、バージョンが異なるため互換性はないので注意。

規模の大きなMODなどは、espファイルやesmファイル以外のメッシュファイル(nif)やテクスチャ(dds)などをバラバラでインストールさせるのではなく、bsaファイルに圧縮してアーカイブ化し、1〜2個のファイルとしてインストールしています。

Skyrimのバニラのテクスチャやメッシュ、スクリプトなどもいくつかのbsaファイルの中に入っています。これらのbsa形式のファイルは実際にゲームをする際には中身が展開されたものとして扱われます。

bsa形式のファイルは、同じ名前のespやesmが読み込まれる際に一緒に読み込まれます。つまりespやesmと同名でなければいけません。abcd.espというファイルと一緒に読み込むには、abcd.bsaという名前である必要があります。

なおLE版ではテクスチャもメッシュもスクリプトも全てを1つのbsaファイルにしていましたが、SE版ではテクスチャは他のファイルとは別のbsaファイルとすることになっています。その場合の名前は上の例で言うと、abcd – textures.bsaとなります。

もしもbsaの中身と同じ名前のファイルが、Skyrimのデータフォルダ内に存在する場合はbsa化されていないファイル(ルーズファイル)が優先されます。MODをインストールしたのにテクスチャが変わらないなどのトラブルの原因は、この優先度の問題である可能性があります。


後編に続きます!

タイトルとURLをコピーしました