編集 | 凍結 | 差分 | バックアップ | 添付 | ページ名変更 |
最終更新: 2017-07-09 (日) 15:42:01
トップページ / MOD / 作成情報 / はじめてのMOD作り / その5

信長MOD (続き) Edit

「はじめてのMOD作り」も、いよいよ最終回です。
集大成となる「信長MOD」を、完成させましょう!

前回は、CIV4LeaderHeadInfos.xmlまで作ったのでしたね。
編集対象ファイル7つのうち、残り6つの編集に進みましょう。

文明と指導者を関連付ける Edit

次は、XML\Civilizations\CIV4CivilizationInfos.xml*1 です。
このファイルは文明についての情報を定めています。XMLEditor.NETで開くと…、
ModTutorial46.png
ユニットや指導者のとき*2と同様の構造ですね。<CivilizationInfos>の下に、たくさんの<CivilizationInfo>がぶら下がっています。それぞれの<CivilizationInfo>の下に、ひとつの文明の情報が詰まっている…、と想像がつくでしょう。

日本文明は、<Type>タグの内容が "CIVILIZATION_JAPAN" のものです*3
その中に、文明を率いる指導者を定義している部分があります。日本文明の部分を見ると…、

 <Leaders>
  <Leader>
   <LeaderName>LEADER_TOKUGAWA</LeaderName>
    <bLeaderAvailability>1</bLeaderAvailability>
   </Leader>
  <Leader>
 </Leaders>

このように、指導者として徳川家康のみが定められています。
となると…、このMODでやるべきことは、分かりますね。
日本文明の指導者として、織田信長を追加しましょう。

家康の<Leader>部分をコピーして…、
ModTutorial38.png
貼り付け(次ノード)をして、信長の指導者キー LEADER_NOBUNAGAに書き換えます。必ず、 CIV4LeaderHeadInfos.xml で定めた指導者キーと一致させてください。
ModTutorial39.png.jpg
これで、CIV4CivilizationInfos.xml は修正完了です。

外交セリフを定義する Edit

3つめに編集するファイルは、CIV4DiplomacyInfos.xml。XML\GameInfo フォルダ内にあります。
このファイルでは、外交時にAIが言うセリフを定義しています。

Civ4では、ほとんどの外交セリフは各指導者共通で用いられており*4、信長も交渉成立時には「チャリン!」と言ってくれます。
そういう意味では原則として、信長を加えたからといって外交セリフに手を入れる必要はないわけですが…。

ところが、ひとつだけ、共通のセリフが存在しないものがあります。それは、「初回遭遇時」。
「5万人ずつの奴隷を生け贄として、この出会いを祝おうではないか!」などというセリフを吐けるのはモンテスマだけでしょう。同じように、初回遭遇時のセリフはすべて各指導者固有のもの。つまり、AI信長と遭遇しても、今のままでは話せるセリフが無いのです。
AI信長との初回遭遇時のセリフを定義してあげましょう。

CIV4DiplomacyInfos.xml?の説明にしたがい、このファイルをXMLエディタで開きます。 ます初回遭遇時のキー"AI_DIPLOCOMMENT_FIRST_CONTACT"*5がある部分を見つけ、既存の誰かの<Response>をコピーして、次ノードに貼り付け。
そして<LeaderType>の内容をLEADER_NOBUNAGAに、<DiplomacyText>内の<Text>の内容をAI_DIPLO_FIRST_CONTACT_LEADER_NOBUNAGA_1に変えます(要するに、コピー元キーの指導者名のところを"NOBUNAGA"に置き換える、といういつものやり方です)。

ModTutorial49.png

このファイルで定義しているのは、外交イベント(例:初回遭遇)と、その時のセリフのテキストキー"AI_DIPLO_FIRST_CONTACT_LEADER_NOBUNAGA_1"の対応だけです。
テキストキーに対応する実際のセリフは、このあと別のファイルで記述します。

このファイルを上書き保存しましょう。これでCIV4DiplomacyInfos.xmlの編集は完了です。

Textフォルダ内のXMLのしくみ Edit

次は、 XML\Text\CIV4GameText_Objects_BTS.xml と XML\Text\CIV4GameText_Civilopedia_BTS.xml 、そして XML\Text\CIV4GameText_DiplomacyText_BTS.xml の3つです。
XML\TextディレクトリにあるXMLファイルは、Civ4で使われるさまざまな文字列(名称や文章)を定義しています。例えば「その2」で述べた通り、開拓者ユニットの名前キー(TXT_KEY_UNIT_SETTLER)に対応する文字列を、日本語で「開拓者」、英語で"Settler"などと定義しています。

信長MODならば、例えば新指導者の名前が「織田信長」であるという内容を書き加えることになるわけですが…。
今回は、次のような変則的な扱いにします。

1.CIV4GameText_Nobunaga.xmlという別名のファイルを作り、そこに文字列データを格納する。
 XML\Textフォルダ内のファイルに限っては、本来のものとは別のファイルにデータを入れてもかまわないのです。そして、後に説明しますが、別ファイルにすれば文字エンコードを変換せず、直接日本語(シフトJIS)を入力できるので楽に作れます。*6~
2.XMLEditor.NETではなく、テキストエディタを使う。
Textフォルダ内のファイルはXMLの構造が単純なため、XMLエディタでなくても編集ミスしにくいです。また、筆者の環境ではXMLEditor.NETの文字エンコードの設定変更がうまく働かなかったため。

1について、詳しく説明しましょう。XML\Textフォルダ内のファイルは、実はすべて全く同じ構造をしています。*7 この講座「その2」で示した例を再度取り上げましょう。 CIV4GameTextInfos_Objects.xmlより抜粋

 <TEXT>
  <Tag>TXT_KEY_UNIT_SETTLER</Tag>
  <English>Settler</English>
 (中略)
  <Japanese>
   <Text>&#38283;&#25299;&#32773;</Text>
 (中略)
 </TEXT>

注:"&#38283;&#25299;&#32773;"=「開拓者」です。詳細は「その2」参照。

一つの<TEXT>タグの中にあるのは、<Tag>タグに入った文字列キーと、<English><Japanese>などに入った各国語の文字列。
文字列キーと、各国語文字列の対応という単純な構造です。 そして、このファイルは同じ構造の<TEXT>タグが並んでいるだけです。ユニット名だろうが指導者名だろうが技術名だろうが建造物名だろうが、おかまいなし。とにかく、文字列キーと実際の文字列の対応がズラズラっと横並びになっています。そしてファイル全体が<Civ4GameText>タグで囲まれて、おしまい。これだけです。
いえ、このファイルだけではありません。Textフォルダ内の全ファイルが、全く同じ構造をしているのですよ。シヴィロペディアにあるような長文でさえも、一つの<TEXT>にまとめて放り込まれています。とにかく<TEXT>、<TEXT>、<TEXT>……。それだけです。*8
ここからは推測ですが、おそらくCiv4のプログラムは、Textフォルダ内にあるキーと文字列の対応データを、ファイル名だとかデータの意味だとかを意識せずに、<TEXT>の羅列として全部まとめて読み込んでしまうのだと思います。
逆に言えば、文字列データを格納するファイルは、Textフォルダ内にありさえすれば、どんな名前のファイルに書かれていても変わらない、ということになります。
ユニット名だろうが技術名だろうが、「文字列データ」として同列に扱われる*9から、XMLの構造が単純になり、こういう気の利いたMOD作りが可能になる。「その2」で書いた「XMLでキーを使う利点」が、しっかり表れていますね。

文字エンコードに小細工 Edit

というわけで、上記の方針で文字列を定義していきましょう。
テキストエディタで、新規ファイル CIV4GameText_Nobunaga.xml の作成を開始します。
何でもいいので、XML\Textフォルダ*10内にある既存のXMLファイルを、テキストエディタで開いてみましょう。最初のほうは、

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!-- (数行省略)-->
 <Civ4GameText xmlns="http://www.firaxis.com">
  <TEXT>

こうなっています。 <!-- (数行省略)--> *11とある部分には著作権(Copyright)表示などがありますが、XMLにおいて<!--と-->で囲まれた部分は単なる「コメント」として扱われ、本質的な意味は無いので、気にする必要はありません。
ただし、本データ内に入れてしまうと誤作動の原因になるので、コメントを置きたい場合は冒頭や最後にしておいた方がいいでしょう。
このファイルの最後は、

  </TEXT>
 </Civ4GameText>

これで終わっています。信長MODで作る新規ファイルも、この構造を真似ればいいわけですから、最初と最後をコピー&ペースト*12します。

そして、ここでひと工夫。
先頭行から encoding="ISO-8859-1"という部分を削除して、 <?xml version="1.0"?>としてしまいましょう。この手法は、MOD/日本語化? にもとづいています。

その意図を解説します。
encoding="ISO-8859-1"というのは、文字エンコードを西ヨーロッパ言語(ISO-8859-1)にするという意味です。これを指定していると、Civ4のプログラムはWindowsで普通に入力した日本語(システム設定に依存しますが、Shift JISになっている人が多いと思います)を読み取ってくれません。この場合、上に示した開拓者の例のように、Unicode実体参照に変換して書かなくてはいけないのです。
しかし、この指定を削除してやれば、Civ4日本語版のプログラムは、普通に入力された日本語をShift JISだと理解して、ちゃんと読み取ってくれるようになります。つまり、&#38283;のような奇妙なものに変換する必要がなくなるわけです!
ただし、この方法を使う場合でも、本来の制御記号である半角の & # ; などを使用するとエラーの原因となるので注意してください。

参考:筆者は、encoding属性を消すのではなく encoding="Shift_JIS" と変更しています。*13実際それでも動作するようです。

これは、CIV4GameText_Nobunaga.xmlという新しいファイルを作る場合だからこそ可能なテクニックです。既存のファイルを修正する場合には通用しません。*14また、日本語・英語だけでなくドイツ語等にも対応したMODを作成したい場合にも使えないでしょう。

さて、これでCIV4GameText_Nobunaga.xmlの骨格ができあがりました。

 <?xml version="1.0"?>
 <Civ4GameText xmlns="http://www.firaxis.com">
  <TEXT>
 
  </TEXT>
 </Civ4GameText>

文字列データの入力 Edit

あとは、中に文字列データを埋めていくだけです。

さあ、どんなデータが必要でしょうか?
信長MODという新指導者追加MODなのですから、指導者が増えることによって新しく必要となる文字列が何なのか、を考えるとよいでしょう。
答は「指導者の編集」のText関連の3つのファイルの説明に書いてありますが、以下の通りです。

新指導者の名前から行きましょうか。<TEXT>以下のタグを編集します。
最初の<Tag>の内容はTXT_KEY_LEADER_NOBUNAGA。名前キー、すなわち CIV4LeaderHeadInfos.xml の <Description> の内容と一致させます。

MOD/日本語化?によると、外国語の部分、言語の指定はタグの名前(<English>や<Japanese>)によるものではなく、「上から何番目にあるか」で判断しているようだ(上から6番目が日本語扱い)とのことです。<English>から<Spanish>までの部分はタグごと削除しないようにしましょう。例えば"Oda Nobunaga"*15等に直すか、空タグにするか、もしくはそのまま放置してもかまいません。

そして最後に、<Japanese>タグ内を「織田信長」とします。先ほど説明した通り、Unicodeに変換する必要はありません。

仕上がりは、こうなりました。*16

 <?xml version="1.0"?>
 <Civ4GameText xmlns="http://www.firaxis.com">
  <TEXT>
    <Tag>TXT_KEY_LEADER_NOBUNAGA</Tag>
    <English>Oda Nobunaga</English>
    <French />
    <German />
    <Italian />
    <Spanish />
    <Japanese>織田信長</Japanese>
  </TEXT>
 </Civ4GameText>
▼追記:英語版+日本語化パッチ版向けの場合

さあ、この調子で他の文字列も作りましょう。

次はシヴィロペディア。文字列キーTXT_KEY_LEADER_NOBUNAGA_PEDIA*17に対応する文字列として、織田信長の解説記事を記載します。
無くてもゲームはできますので、面倒な方は省略してもかまいません。

2008/10/31追記:以下は、Civ4の既存指導者のシヴィロペディアの構造を真似て、筆者が作った信長記事(修正版)の例です(Wikipediaの記述にもとづいています)。HTMLを知る人なら、<H1><\H1>が[H1][\H1]に、<BR>が[NEWLINE]に置き換わっている、などということを理解できるでしょう。*18

 <TEXT>
  <Tag>TXT_KEY_LEADER_NOBUNAGA_PEDIA</Tag>
  <English> (中略) </English>
  <French />
  <German />
  <Italian />
  <Spanish />
  <Japanese>
[H1]織田信長[\H1][NEWLINE]
[BOLD]日本の戦国・安土桃山時代の大名[\BOLD][NEWLINE]
[BOLD]生没年:[\BOLD]1534年~1582年[NEWLINE]
[PARAGRAPH:2][BOLD]人物像:[\BOLD]
[PARAGRAPH:1]織田信長は、日本の近世の最初期にあたる戦国時代から安土桃山時代にかけて、
世に多大な影響を残した武将であり、大名(戦国大名)です。
 (中略)
  </Japanese>
 </TEXT>

これが実際にどう表示されるかは、後で完成時に画像でお見せします。なお実際には、<Japanese>から</Japanese>までの間に改行はありません。

最後に、外交セリフ。
先ほどの「外交セリフを定義する」で、初回遭遇時のセリフを表すテキストキー AI_DIPLO_FIRST_CONTACT_LEADER_NOBUNAGA_1 だけを定義したので、それを表す実際の文字列をここで定めます。信長らしい、格好良い決め台詞を考えてみましょう。
なお、セリフ内では以下のような文字列置き換えが可能です。必要に応じて活用しましょう。*19

[OUR_NAME]自分の指導者名
[OUR_CIV_SHORT]自分の文明
[CT_NAME]話し相手(プレイヤー)の指導者名
[CT_CIV_SHORT]話し相手の文明

例えば、こんなふうにします。*20

 <TEXT>
   <Tag>AI_DIPLO_FIRST_CONTACT_LEADER_NOBUNAGA_1</Tag>
   <English>I am [OUR_NAME], the Archenemy of Dairokuten!</English>
     (フランス語~スペイン語は空タグ)
   <Japanese>余が第六天魔王、[OUR_NAME]じゃ!</Japanese>
 </TEXT>

これら、3つの<TEXT>をCIV4GameText_Nobunaga.xmlにひとつにまとめて、完成です。ファイルを保存しましょう。

グラフィック Edit

信長MOD作成も、いよいよ最終段階です。
今までは、XMLの改変だけでMODを作ろうとしてきました。しかし、新指導者の追加にあたっては、XMLだけではどうにもならない部分がひとつ存在します。

…そう、です。
グラフィック…こればかりは、XMLでは作れません。信長をCiv4の指導者として追加するため、外交画面などで現れる指導者・織田信長の絵をなんとか用意しなくてはなりません。あと、外交画面などで使われるボタン(指導者の顔の、小型画像)も必要です。

さて、どうするか。考えられる方法は、2つあります。

1.自分で絵を用意する
アニメーション(ジェスチャーなど)・レンダリング等は専門技術がない限り困難ですが、静止画ならば何とかなります。

2.他の既存指導者の絵を流用する
今回の場合、徳川家康の顔をそのまま、織田信長のものとして採用します。

ここでは、1の方法をとることにします。
そのためには元となる画像が必要です。狩野元秀が描いた有名な信長肖像画のような、著作権が期限切れとなっている画像ならば、利用しても問題ないでしょう。

これを元に、Civ4で使えるdds形式の画像を作る必要があります。その方法の解説を読みましょう。

この解説は非常に分かりやすいと思います。ので、ここでは説明を繰り返しません。
次のような画像を、dds形式で用意できればOKです。

織田信長の指導者画像 "Nobunaga.dds"(pngに変換、縮小しています)
Nobunaga-dds.png

織田信長のボタン "Nobunaga-button.dds"(pngに変換しています) Nobunaga-button-dds.png

画像の置き場所は、MODを格納しているフォルダである Nobunaga\Assets の内部ならばどこでも良いですが、既存の指導者画像の置き場所を見習って、 Assets\Art\Leaderheads\Nobunaga としておくのが無難でしょう。
ModTutorial50.png
こういうフォルダ構造になります。

そして、7つめのXMLファイル、CIV4ArtDefines_LeaderHeads.xml*21を編集しましょう。
これは指導者の画像について定めたファイルであり、ここに「この場所に信長の画像ファイルがありますよ」という意味のデータを加えてやればよいのです。
書き換え方は「猿でも分かる~」の「XML改変」の説明通りで、信長MODで書き加えるXMLデータは以下の通りです。

 <LeaderheadArtInfo>
   <Type>ART_DEF_LEADER_NOBUNAGA</Type>
   <Button>,Art/LeaderHeads/Nobunaga/nobunaga_button.dds</Button>
   <NIF>Art/Leaderheads/Nobunaga/nobunaga.dds</NIF>
   <KFM/>
   <NoShaderNIF/>
   <BackgroundKFM/>
 </LeaderheadArtInfo>

補足説明しておきます。
タグ<Type>の内容は指導者のアートキー(CIV4LeaderHeadInfos.xmlで定めたもの)。
タグ<Button>および<NIF>は Nobunaga\Assets フォルダからの相対パス(区切り文字は/)で、それぞれ指導者ボタン、指導者画像を指定します。

2008/10/22追記:元のCiv4に同梱されていないユーザ作成の画像を指定する場合は、<Button>タグの内容の先頭に カンマをつけない のが正しい、との情報があります(詳細未確認)*22
カンマをつけないでも動作するならば、つけないほうが良いと思われます。

これで、 CIV4ArtDefines_LeaderHeads.xml の編集も完了しました。

参考:既存の指導者顔を使い回す場合 Edit

指導者画像を用意できない場合は、既存のものを使い回すことになります。 前節で示した方法の2番についても、参考として説明しておきます。

徳川家康の顔グラフィックデータ "ART_DEF_LEADER_TOKUGAWA" を定義した LeaderheadArtInfo をコピーして…、
ModTutorial42.png 末尾にそれを貼り付けて、<Type>タグの内容を ART_DEF_LEADER_TOKUGAWA から ART_DEF_LEADER_NOBUNAGA に変更する。
ModTutorial43.png
これだけで完了です。…そうでしょう?
信長のグラフィックを定義するキーであるART_DEF_LEADER_NOBUNAGA に対して、他のタグの内容が、徳川家康の顔や動きのデータのファイルの場所を指し示しているのですから、これでOKなのです。
ModTutorial44.png

完成 Edit

ついに、やっと、信長MODの完成です!

シヴィロペディア
ModTutorial54.png

自分で信長を使う
ModTutorial52.png

AI信長
ModTutorial53.png

さあ、プレイ開始です。存分に楽しみましょう!

MODの公開 Edit

MODを自分だけで楽しむぶんには、このまま遊べば問題ありません。
しかし、せっかくMODを作ったのですから、公開してみんなで楽しみを分け合いましょう。

まずは自分でMODのテストプレイを行い、改変した箇所がひととおり問題なく動作することを確認したほうがよいでしょう。
AIとしての挙動を確認したい場合は、「ゲームのカスタマイズ」で開始すると確実に登場させられるので利用しましょう。
そうしたら、公開作業に入ります。

説明書(Readme) Edit

MODを利用する人のために、説明書(Readme)を用意すると良いでしょう。
書くべき内容は、MODによってさまざまですが、一般的には以下のようなものが考えられます。

少しの内容なら、テキストファイルで十分です。大型MODならば、ReadmeをHTMLファイルにするか、Wiki内にページを作ったり専用のWebサイトを作ったりして誘導してもいいでしょう。
ファイルは、MOD名フォルダ(今回ならNobunagaフォルダ)直下に置くと良いでしょう。
(ちなみに、今まで筆者がアップしてきたMOD内にはReadmeがありません。ごめんなさい)

圧縮、アップロード、公開 Edit

MOD名フォルダ(Nobunaga)の内容を圧縮して、1つのファイルにします。(形式は何でもかまいません。筆者はzipを主に使っています)

そして、それをアップロードしましょう。
MODをアップロードする場所としては、以下のようなものがあります。*23(2008/9/4現在。リンク切れ等あれば適宜修正してください; 2017/7/8 スーリヤ鯖転載時 : ほとんどの場所が陳腐化してしまっています。小さなものはスーリヤ鯖の添付で配布してもいいでしょうが、大きなものはアップローダや公開・共有機能のあるストレージサービスなどを探しましょう。)

ここでは、1つめの方法を使って、信長MODをアップロード、公開しておきます。 信長MOD 507.zip

2008/09/21加筆・これまで公開していた信長MODに不具合があったので修正し差し替えました。
既存指導者のうちWL/BtSで追加された指導者の外交セリフが正しく表示されませんでした。XML\GameInfo\CIV4DiplomacyInfos.xml を編集する際、誤ってCiv4無印のファイルを元にしてしまったせいです。MOD作りをする皆さんは、このような凡ミスをすることのないよう、気をつけましょう。

MODの情報を告知するなら、このWikiのMOD一覧に情報を加えるか、2ch PCゲーム板 Civ4 MODスレに書き込みましょう。良いMODであれば、多くの人に使ってもらえるはずです。

信長MOD まとめ Edit

「はじめてのMOD作り」その4~5で学んだ内容を、一般的な形でまとめておきます。これを応用すれば、別のMOD作りに役立つでしょう。

MODに関するあれこれ Edit

今までに書ききれなかったことを、トピックス的にまとめておきます。

MOD作りのアイディア Edit

「どんなMODを作りたいの?」
まずアイディアが無くては、MOD作りははじまりません。と言いますか、やりたいことがなければ無理にMOD作りを始めず、普通のCiv4をやればいいのです。

筆者としては、一言で言えるような、分かりやすいコンセプトを持ったMODを作ると良い、と思います。

MODデザイン上のアドバイスとして、CivFanaticsのHOW TO Design a Modを紹介します(英語ですが)。以下はそのごく一部の意訳です。

「デザイナーが完璧に仕上げたことを知るのは、つけ加えるものがなくなったときではなく、はぶくものがなくなったときである。」-アントワーヌ・サン=テグジュペリ
新しい建造物を加えるのは容易い。難しいのは、それを真に価値のあるものにすることだ。それは必要か?他に同様の働きをするものは存在しないのか?もし答がノーなら、それをなくすことを考えるべきだ。*26

XMLでできること、できないこと Edit

ここまでで習得したノウハウを活かせば、XMLを使って自由自在にCiv4のゲームシステムを改変することができます!
…と言えればいいのですが、実際にはXMLでできることとできないことがあります。

例えば、XML編集によって「特定の地形改善が都市に幸福 [happy]をもたらす」ようにすることは、無印では無理ですがBtSにおいては可能なようです。
「特定の地形改善が都市に衛生 [health]をもたらす」というのは、無印、BtSともにXMLだけでは不可能のようです。 これはどういうことかというと。
無印では、地形改善が都市に [health][happy]をもたらす、というのは存在しませんでした。*27そしてまた、資源・地形改善の編集?を見れば分かるとおり、地形改善についての情報がある CIV4ImprovementInfos.xml には、地形改善がもたらす幸福、衛生という項目はありません。
BtSでは「保安林」の地形改善が導入され、地形改善が [happy]をもたらす場合が存在するようになりました。そこで、XMLの構造も改定され、「この地形改善がもたらす幸福の数 <iHappiness> 」というタグが新設された、ということのようです。

このように、元のCiv4においてゲームシステム上必要とされているパラメータは大抵、MODにおいてもXML編集で変更・追加が可能ですが、Civ4において必要でないパラメータは、MODでもXML編集だけでは変更できないことが多いです。例外はあります。「その文明が好む宗教」を設定したり、宗教ごとにその効果を変えたり、といった、Civ4では必要とされない概念がXMLだけのMODで実現可能です。*28

Civ4のXMLで使われるタグは決まっており、どのタグでも規定されていないパラメータは変更できない、というわけです。
たまに、「えっ、こんなこともできないの?」と思うこともありえますが、無いものは無いのです。XMLでの改変はあきらめましょう。

ただし、XML以外の部分も変更するのであれば、話は別です。Pythonスクリプトに手を加えることによって、XMLの解析・それに伴う処理自体を変更してしまえば、新しい概念を作ることができるでしょう。

CustomAssetsで使うMOD Edit

この文章では、主にMODSフォルダに入れて「このMODを使う」と意識的に指定するような使い方を想定してきました。
ただ、この使い方では、いちどに1種類のMODしか利用することができません。

インターフェースを改善するMODなど、常に使いたい、他のMODとも併用したいというMODは、CustomAssetsでの使用方法にしたがって、CustomAssetsに入れて利用しましょう。

MODを作る側としては、CustomAssetsでの利用を想定するかしないか決めて、適宜Readme等に書きましょう。
主にCustomAssetsに入れて使うことを想定したMODを作る場合は、MODSフォルダではなく、CustomAssetsフォルダをいったんからっぽにして(今までのCustomAssetsとその内容は別の場所に退避しておく)、そこで作成作業をすると良いでしょう。
フォルダの位置関係は、ドキュメント\My Games\Beyond the Sword(J)\MODS\Nobunaga\Assets\XML のかわりに、ドキュメント\My Games\Beyond the Sword(J)\CustomAssets\xml …という感じになります。(AssetsがCustomassetsに対応)

ちなみに、この記事で今まで作ったMODはCustomAssetsでの利用を想定していませんが、小さなMODですから、CustomAssetsに入れてもたぶん動作すると思います。

iniファイル Edit

Civ4を起動してMODをロードすると、MOD名フォルダ(例:Nobunaga)直下にiniファイル(例:Nobunaga.ini)が自動的に生成されます。
これはMODを使う際の環境設定ファイルです。今まで説明したような範囲のMODであれば、その内容を指定・編集する必要は特にないと思います。
大型MODで、CustomAssetsとの干渉を嫌う(CustomAssetsを使わせたくない)という場合であれば、 NoCustomAssets = 1 と指定してやるとよいでしょう。

さらなるMOD作りへ Edit

これで、語れることはほぼ書きつくしました。「はじめてのMOD作り」なんてタイトルのわりに、けっこう深いところまで来てしまった感じがします。
これまで学んだことを応用すれば、XMLの改変によるMOD作成ならば、かなりのことができるでしょう。例えるなら、我々のMOD技術は古代を終え、中世に入った、というところでしょうか。

しかし、MOD作りへの道はまだはるか遠く。Pythonスクリプトの仕様把握や改変、グラフィック・アニメーションやムービー、音楽、ゲームデザインやバランス調整、などなど、まだまだたくさんのテクノロジーが待っています。
ここから先は、日本語でのノウハウ解説情報がまだ少ないようです。CivFanaticsのMOD作成解説フォーラム など、英語情報を探索する覚悟が必要になってくるでしょう。

「こんなMODを作りたいんだ!」という情熱をもって取り組み続ければ、いつか、Fall from Heaven II?Rise of Mankind?のような大作MODを作れるかもしれません。
その時はぜひ、いっしょにゲームを楽しませて下さい!

これにて、「はじめてのMOD作り」シリーズは完結です。
ご意見があればコメント欄にお寄せください。もし間違いを見つけたら、勝手に修正していただいても問題ありません、むしろ修正してもらえると助かります。
最後までおつきあい頂き、ありがとうございました。

おわりに Edit

最初は誰でも初心者です。Fall from Heaven IIのような高度なMODと自作品を比べたりせずに、できることからこつこつとやっていった方が結果的に長続きして、よいものが作り出せるでしょう。

コメントはありません。 Comments/MOD/作成情報/はじめてのMOD作り/その5?

お名前:


*1 ファイルパスはNobunagaフォルダからの相対パスで書いています。この場合は、 ドキュメント\My Games\Beyond the Sword(J)\MODS\Nobunaga\Assets\XML\Civilizations\CIV4CivilizationInfos.xml となります。以下同様
*2 CIV4UnitInfos.xmlとCIV4LeaderHeadInfos.xml
*3 "JAPAN"で検索すれば早く発見できるでしょう
*4 実は、特定のAI指導者しかしゃべらないセリフもけっこうあります。熟練のCiv4プレイヤーでも聞いたことのないレアなセリフとかもあったりして。
*5 これが初回遭遇時の外交メッセージのキーだということを知るのに、ちょっと骨が折れました…。他キャラのメッセージ文字列からTextフォルダ内を文字列検索して外交メッセージのテキストキーを知り、そのテキストキーをもとにCIV4DiplomacyInfos.xml内を検索することで判明しました。
*6 Civ4の既存のText内ファイルは日本語やドイツ語その他が混在しており、ヘタに編集するとエディタの相性等から文字エンコード絡みのトラブルの元になるため、編集しないで済む方法があるならそれを採用するのが無難、という理由もあります。
*7 調べた限りでは、たぶん。
*8 正確に言えば、ドイツ語等の男性女性名詞を示す<Gender>や単数複数を示す<Plural>もありますが、日本語では関係ありません。無視できます
*9 このことは、例えば都市名のつもりで定義されたテキストキーでも、ユニット名などに流用することなんかも可能であることを意味します
*10 Civ4インストールディレクトリ配下のAsset内にあるもの
*11 全角不等号で書いてますが本当は半角
*12 コメント行は消してもOK
*13 このファイルを読むプログラムに、「これはシフトJISのエンコードで書かれていますよ」と教えてあげているので、このほうが適切であると思います。
*14 「開拓者」を「入植者」に変更したいなどの場合。もっとも、開拓者の<TEXT>タグごと切り取って別のファイルに持っていくのなら可能かもしれませんが…。
*15 歴史上の日本人は英語で姓名の順に書かれることが多いようなので、Odaを先に、Nobunagaを後にしています。個人的には現代人もYAMADA, Taroみたいな書き方にするのが良いと思ってます。すごい余談ですが。
*16 <French /> というのは「空タグ」で、<French></French>と同じ意味です。
*17 前回定義した信長のペディアキー、つまり<Description>の内容と一致させます。
*18 Steam版を考慮する場合、<French>にも同じ文字列をコピペします。
*19 自分の文明を表す言葉は他にも[OUR_EMPIRE]があり、その他[OUR_CIV_ADJ]など色々あって文法・文脈などに応じて使い分けられるようですが、未調査。
*20 Steam版を考慮する場合、<French>にも同じ文字列をコピペします。
*21 XML\Art フォルダにコピーしましたよね、もう昔すぎて忘れたかもしれませんが…
*22 犬でも分かるボタンの作り方? や 2ch PCゲーム板 Civ4 MODスレ Vol.17 754など。
*23 ただし、いずれもアップロードできるファイルサイズには限界があります。大型MODを公開したい場合は、自分で大容量アップローダを探すなどしてください。
*24 いま見たら、信長MODがすでにありましたね。ネタかぶりが無いか、調査したつもりだったのですが…(汗)
*25 例えば信長のデータを加えるにあたってハンニバルのをコピー・貼り付けして編集したように
*26 筆者注:ゲーム性を度外視して、自分の思い入れにもとづいて新要素を作るなら、それもありだとは思いますが。
*27 森林により [health]+0.5、というのは「特殊な地形」でありり「地形改善(労働者の仕事の成果)」ではありません。
*28 この例外に入るものの多くはBtSの公式MODで使用されているものです。
トップ   編集 凍結 差分 バックアップ 添付 複製 ページ名変更 リロード   新規 ページ一覧 単語検索 最終更新   スマホ版表示に変更   最終更新のRSS
Last-modified: 2017-07-09 (日) 15:42:01 (522d)