Civ4のMODを作りたい作成未経験者に向けて、MODを作るためのとっかかりとなる基本的なやり方を示します。理論の説明だけでなく、具体例・操作法をまじえて説明しますので、説明を読みつつ実際にその操作をしてみると、飲み込みやすいと思います。 補足説明として、脚注を多用しています。分からなかったら脚注も読んでください。
ここでは、MOD作りの中で最も簡単なXMLの書き換えによるMODを解説します。*1
本格的なMODは難しくても、ゲーム内のパラメータを少し変えるぐらいの簡単なMODなら、要領さえつかめばすぐにできてしまいます。気軽にトライしてみてください。
MOD(Civ4にインストール済みの公式MODだけでなく、Web上で公開されている別のMOD)のインストール・プレイを行うと、MOD作りを理解する助けになりますので、未経験の方はまずそれをやってからMOD作成に取り掛かることを勧めます。
CivFanaticsにある以下の記事を参考に作成しました。
まず、MODの名前を決めましょう。半角英数字のみを使うのが良いと思います。*2MOD名は後からでも変更できますので、仮の名前でもかまいません。
この説明文では、MOD名を"KaitakuRunner"とします。
次に、MODがCiv4の無印・Warlords・Beyond the Swordの中でどれに対応するものかを決めてください。*3
ここではとりあえず、BtS向けのMODを作ることにします。
無印・WL向けのMODを作りたい方は、以下の説明のうちBtSを示すところ(主にフォルダ名)を、うまく読みかえてください。
他人の作ったMODを使う場合、インストール先フォルダは、以下の三か所のどこかです。詳しくはMOD/使用方法を参照。
MODを作成する場合も、まず最初に、同じ場所にフォルダを作ってしまいましょう。
作成場所としては、上記のうち2番目を選ぶのがお勧めです。*4
Windows VistaでBtS 日本語版用のMODを作成する場合は、ふつう
ドキュメント\My Games\Beyond the Sword(J)\MODS\
です。XP以前の場合は"ドキュメント"のかわりに"My Documents"です(この後もそう読みかえてください)。
この下に、先ほど決めたMOD名と同じ名前のフォルダを作ってください。今回の場合、"KaitakuRunner" フォルダを作ります。
(クリックすると拡大画像が出ます。以下同じ)
実はこれだけで、"KaitakuRunner"というMODが作成されました!
BtSを起動して、タイトル画面で「アドバンス」→「MODをロード」を選んでみてください。「KaitakuRunner」という選択肢があるはずです。
これを選ぶと、KaitakuRunner MODがロードされ、開始されます。
現時点で、KaitakuRunner MODのゲーム内容は、通常のBtSと全く変わりありません。これは、KaitakuRunnerフォルダの中に何も無いからです。これから、KaitakuRunnerフォルダの中に、BtSとの差分(どこがどう変わるか)となるファイルを作って配置することで、ゲーム内容の改変を実現していきます。
さて、いよいよMODによる変更作業の始まりです。
今回作る"KaitakuRunner"は、開拓者の移動力を上げるというものです。
まずは、変更元のデータの場所を知っておきましょう。次いで、その変更方法を説明します。
Civ4および拡張のゲームシステム・内容の多くは、以下の場所に格納されています。
Beyond the Sword(J)\Assets\ の中を見ると、Art, Python, res, Sounds ,XML のフォルダと CvGameCoreDLL.dllがあります。この全てがMODで変更可能だそうですが、最も簡単なのはXMLの改変です。
XMLフォルダの下、Unitsフォルダの中に CIV4UnitInfos.xml というXMLファイルがあります。名前の通り、ユニットについての情報を記述したファイルです。今回はこれをMODの変更対象とします。
Assetsフォルダ以下の構造を、KaitakuRunnerディレクトリ以下に再現し、 CIV4UnitInfos.xml もコピーしましょう。以下のようにします。
これで、本来の Assets フォルダ以下の構造(のうち、CIV4UnitInfos.xmlがある部分)を、 KaitakuRunner の下に再現したことになります。
KaitakuRunner の数階層下に作った CIV4UnitInfos.xml を、テキストエディタ(メモ帳など)を使って開いてください。*5*6
名前の通りここには、ユニットに関する情報が記述されています。 たとえば最初の方を見ると<Class>UNITCLASS_LION</Class> という部分があり、このあたりでライオンユニットの情報を定義していることがわかります。この調子で、BtSに登場する全てのユニットのデータが書かれています。さすがに巨大なファイルですね(700KB・23000行を超えます)。*7
検索機能で、UNITCLASS_SETTLER という文字列で検索してください。<Class>UNITCLASS_SETTLER</Class> と書かれた行が見つかるはずです。(ファイルの715行め)
このあたりが、開拓者ユニットの情報を定義してある場所です。*8
さらに、その場所から下へ、<iMoves>で検索しましょう。<iMoves>2</iMoves> という行が出てくるでしょう(805行め)
このタグの中が、開拓者の移動力パラメータです。*9
この数字・2を100に書き換えてください。これで、開拓者の移動力が100になりました!
ファイルを上書き保存して、エディタを閉じましょう。
これで、「開拓者の移動力を上げるMOD」KaitakuRunnerの完成です!
ではさっそく、このMODで遊びましょう!
MODを作成・テストする時には何度もMODをロードすることになります。そのため、MODを指定してCiv4を起動するための、手軽な方法を紹介します。
CivModChooserを用いるのが最も簡単でしょう。
Civ4無印かWLで動作させることを意図したツールと思われますが、BtSでも動作するようです。
初回起動時にダイアログに従って何度か操作をして、上記のように表示されたら、BtSの実行ファイル*10を指定すればOKです。
以下は、筆者がCivModChooserを使っていなかった頃に書いた代替手段です。念のため記事を残しておきますが、CivModChooserを使うのであれば読み飛ばして、次節に進んでください。
CivModChooserを使わずに、MODを手軽に起動したい場合、ショートカットを作るという手があります。
KaitakuRunnerフォルダに*11、BtSの実行ファイルへのショートカットを作り、 プロパティでリンク先の最後に" mod=\Mods\KaitakuRunner" を付け加えてください。*12
このショートカットを開くと、KaitakuRunner MODがロードされた状態でBtSが起動します。*13
MODを作成・テストする時には何度もMODをロードすることになりますから、こうしたショートカットを作ると便利です。
万一、CivModChooserもショートカット作成・起動による手法もうまくいかない場合は、今まで通り、普通にBtSを起動してMODをロードしても問題ありません。
CivModChooser、もしくは他の方法で、KaitakuRunner MODを起動しましょう。
内部動作としては、本来のCiv4のAssets配下にあるファイル*14を読み込み、そしてそれをKaitakuRunnerディレクトリ配下にあるファイルで上書きしているものと思われます。*15KaitakuRunner配下に無いファイルについては、本来のファイルが使われているわけです。
まずタイトル画面で、「シヴィロペディア」を選び、「ユニット」→「開拓者」を見てみましょう。
「移動:100」と書かれています。
このように、ユニットのパラメータを変更すると、ちゃんとシヴィロペディアにも反映されるのです。良くできていますね。
では、ゲームを始めてみましょう。マップ・難易度など設定は何でもかまいません。
ゲームが始まったら、開拓者をクリックしてみましょう。彼はただの開拓者ではありません。
「移動力100」のスーパー開拓者です。
普段ならば初期配置場所もしくはその隣あたりに首都を建てるところですが、せっかくなので、開拓者でぐるぐる歩き回ってみましょう。1ターンで、ものすごい範囲を探索可能です。探索中に付近の文明に出会うこともあるでしょう。*16いろいろ回って、お菓子の小屋も回収しまくり、ベストの場所に首都を建てましょう。
初期開拓者だけでなく、今後生産する開拓者も、みんな移動力100です。遠い遠い場所であろうとも、開拓者が生産されたターンで都市を建設することができるでしょう。ただし、AIの開拓者も移動力100となっていますのでご注意を。
飽きたら、ゲームを終了してください。
開拓者の移動力を100にしたデータはKaitakuRunnerフォルダ配下にあり、KaitakuRunner MODを使う場合にのみ読み込まれます。
MODの無いCiv4や、他のMODを使う場合には、KaitakuRunnerフォルダは無視され、したがって開拓者の移動力は2のままです。ご安心ください(笑)。
せっかくなので記念に、筆者の作ったKaitakuRunner MODを置いておきます。
ここまで読んでくださって、ありがとうございました。
はじめてのMOD作り その2 につづく