公式Wiki:Mod制作

基本

Modは単一のアーカイブに収納される。直接の関連ファイルおよび目録がこれに含まれる。目録はModの名称、題目、案内、作者その他の情報、内容テーブル、関連テーブル、実行テーブル、公開情報テーブルを含む。
内容テーブルはメタデータも含め、関連ファイル全ての詳細なリストである。メタデータにはファイルのチェックサム、コメント、既存のファイルを置き換えるかどうかが含まれる。
関連テーブルは他のModとの相互関係を示す。Modは他のModに依拠したり、参照したり、同時適用を拒んだりできる。DLCとの関連付けやキーワードによる関連も実装予定である。
実行リストはModが実際にどの様にゲームとやり取りするかを記述する。どんなイベントに際してどんなアクションを実行するかを指定するのだ。アクションは様々な種類があり、既存の物もあればMod制作者の定義による物もある。例えば既存アクションセットの1つ"OnModActivated"はModが適用された時に実行される。XMLやSQLを通じてゲームのデータベースを書き換える物や、Luaスクリプトを実行する物もある。
公開情報テーブルはModの宣伝を記述する。例えばModにマプスクリプトが含まれていても、公開情報テーブルにこれはマップスクリプトだと書かれていなければエンドユーザーの検索に引っかからない。Modがユーザーにどういう物として表示されるかをここに書き込むのである。キャンペーンModは、ユーザーが中身のマップを直接開くのでなく専用の開始画面から始める様にしたい。こういう場合個別のマップは公開情報テーブルに含まない。

開発ツール

多くの開発ツールが準備されている。アートワークを正しい形式に変換するツールや、デバッグ用のスクリプトコンソールなどだ。
白眉は完全な統合開発環境ツールである。一般的なModを作成するためのウィザード、ソースコントロール、拡張性(Modツール自体も改造できる)、Luaエディタとデバッガを備えている。他にもゲーム性変更ツールやXMLエディタもある。
この統合開発環境でModプロジェクトと必要なファイル全てを作成できる。さらに目録を生成し、Modを必要な形式で出力する。

Modの組み合わせ

Civilization IVではModは既存のデータファイルに割り込む形で存在した。そのため一度に一種のModしか適用できなかったのだ。文明を1つだけ加える、技術ツリーを少し改変する、UIを改良するといったModはこの部分で障害があった。複数のModの組み合わせは困難かつ技術を要した。Civilization Vでは、Modは一覧画面で「適用」ボタンをクリックするだけで簡単に組み合わせられる。組み合わせても問題が発生しないかチェックする仕組みがあるのだ。
今作のModはゲーム性やエンジンを拡張するのであって置き換えるのではない。小さなModを沢山作って自由に組み合わせる事ができる。同じ文明を修正するMod2つを同時に適用したりする事も可能だ。

改造可能な範囲

Civilization VはスクリプトとXMLを今まで以上に活用している。「全ての」UIはXMLとLuaで実装されている。Mod制作のヒントとして参照するも良し、改造して自分好みにするも良し。
ローカライズも柔軟になっている。簡単に既存の言語にテキストを追加でき、新たな言語を追加する事も可能になっている。
ゲーム上の全ての定数はSQLデータベースに格納され、複数のModを同時に適用するといった複雑な処理を可能にしている。

マルチプレイとMod

現在の所、マルチプレイでModを使う事は不可能である。安定性と面白さの観点からもう少し作業に時間がかかる見通しだ。将来のパッチでSDK、ゲーム本体ともに対応する。

Luaによるネットワークアクセス

使用されているLua APIにはHTTPやFTPその他のプロトコルによるネットワークアクセスが含まれている。これを利用すればコミュニティサイトと連携したり、RSSやソーシャルネットワークと関連するModが制作できる。例えばゲーム中に自動的にtwitterでつぶやくとか、IRCクライアントを内蔵するModである。

DLLのソースコード

DLLのソースを公開する事も予定されている。これを改造する事でゲーム性を完全に変更できる。Civilization VのDLL改造はバージョン管理とSteamによる自動更新を上手く処理できる筈だ。コードは将来のSDK更新に含まれる。

将来のサポート

ModはCivilization Vの重要な部分であり、発売後多くのサポートが予定されている。Mod関連の不具合は了解しており、将来のパッチで改善される。

  • 最終更新:2010-10-30 17:36:40

このWIKIを編集するにはパスワード入力が必要です

認証パスワード