Mod
Mod、またはModを作成することは、個人的な使用のために、またはParadox ModsまたはSteam Workshopを介して他のプレーヤーに公開するために、ゲームのアセットまたは動作を変更する行為のことです。
Paradoxの他のゲームと同様、Crusader Kings IIIもかなり改造可能です。Modderの動機は大きく異なることでしょう。母国語へのより良い翻訳、より多くのイベントやディシジョン、より良い地図、大規模な見直し、チートの追加などなど。
このガイドは、Crusader Kings IIIのModの世界への参入障壁を低くすることを目的としています。しかし、まだ習得には時間がかかり、バニラのコードを読んで試行錯誤を繰り返す必要があります。
重要なこと:ほとんどのMODではチェックサムが変更され、プレイヤーは実績を獲得できなくなります。チェックサムに影響するフォルダとファイルのリストについては、ゲームフォルダのchecksum_manifest.txtを参照してください。安全なModは、テクスチャ、シェーダー、フォント、音楽を置き換えるものだけです。[1]
助言とガイドライン[編集 | ソースを編集]
- 変更のためのModを作成する。小さな変更にも個人用Modを使用し、CK3ゲームフォルダ内のゲームファイルは警告なしに上書きされる可能性があるため、直接変更しないでください。[2]
- 適切なテキストエディタを使用して、ファイルを編集し、フォルダを検索します。以下は無料です。
- Visual Studio Code. Paradox構文のハイライト、バリデーション、およびトリガと効果のツールチップを備えた有志のCWTools拡張を使うことができます。インストールするには、VSの左パネルにあるExtensionsに行き、CWToolsを検索してください。(注意:検証ルールは不完全であり、GUIおよびローカライズ・ファイルに多くの誤ったエラーが表示されます。)
- Notepad++。Perlを言語として選択すると、強調表示が適切に行われ、コードやコメントのブロックを折り畳めるようになります。デフォルトに設定するには、「Settings」、「Styler Configurator」の左側のリストでPerlを探し、下部の"User ext."フィールドに"gui txt" (ダブルクオーテーションは不要です) を追加します。
- Atom。 ローカライズファイルの編集に必要なUTF-8-BOMエンコーディングの機能は含まれません。それが必要ない場合は、非常にカスタマイズ可能です。よりよい結果を得るには、言語設定で「Perl6」を使用します。デフォルトに設定するには、File、Configに移動し、「core:」を探し、その下に次のように追加します。 "customFileTypes: "source.perl6": [ "txt" "gui"]"。ここに例があります。
- Sublime Text。Imperatorの開発者がリリースしたCK3: Sublime Tools拡張機能が使えます。エフェクトとトリガーのカラーハイライトが追加されます。Sublimeでコメントを切り替える場合は、このファイルを同じ「User」フォルダに追加する必要があります。
- error.logファイルで実行エラーを常に確認してください。...\Documents\Paradox Interactive\Crusader Kings III\logsにあります。
- ログフォルダには、エフェクト、トリガ、およびスコープの一覧も含まれます。ゲーム内で「script_docs」および「DumpDataTypes」コンソールコマンドを使用して生成します。
- 「reload gui」、「reload gfx」コマンドを使用するには、「-debug_mode -develop」起動オプションを指定してゲームを開始します。
- Steamの場合:Steamでゲームを右クリック→プロパティ→起動オプション→
-debug_mode -develop
を追加する - Windowsの場合、.exeファイルのショートカットを作成し、右クリックして 「プロパティ」 を選択し、「 -debug_mode」 を 「リンク先」の欄の最後に追加する
- Steamの場合:Steamでゲームを右クリック→プロパティ→起動オプション→
- LinuxのCK3フォルダのディレクトリは~/.local/share/Paradox Interactive/Crusader Kings IIIです。
- Modに関する重要な事実を明確かつ簡潔に伝える
- あなたのModの説明は、あなたのModがゲームに何を追加したり変更したりするかについての短いが明確な説明で始まる必要があります。変更履歴や、注意事項や前提条件、インストール手順などの長いリストから始めないでください。
- 説明を読んでいる人がこのModについて以前に聞いたことがあると思ってはいけません(もしそうであれば、一般的には説明を読みません)。
- あなたのModが鉄人モード(Ironman)互換であるかどうかを明確かつひと目で分かるように述べます。(あなたには明白に思えたとしても!)
- Steamバージョンをサブスクライブする場合は、ローカルModを削除してください。削除しないと、ゲームで動作しない場合があります。
- 作業内容をバックアップします。手動で、あるいはGitのようなソース管理システムを使って!GitHubをチームコラボレーションに使うことも検討してください。
- (WinMergeのような)適切なマージツールを使用してフォルダ間をマージし、修正されたファイルを新しいパッチ用に更新します。
- 数十行または数百行のコードでテキストを置換する場合は、正規表現を使用できます。これらは、上記のすべてのテキストエディタで使用できます。教材:RegexOne、RegExr。
ローカライズファイル[編集 | ソースを編集]
- localizationフォルダにある*.yml[3]ファイルはゲームで正しく読み込まれるようにするためにBOM付きUTF-8[4]でエンコードされて保存されている必要があります。
- ゲームでファイルを正しく読み込むには、ファイル名を*l_<language>.ymlの形式で保存する必要があります。例:council_l_english.yml。
- "localization"とアメリカ英語のスペルを使用する必要があります。イギリス英語の"localisation"というスペルにすると動作しません。
- 既存のローカライズ値を上書きするには、変更を加えたファイルをlocalization フォルダ内の「replace」という名前のフォルダに置きます。[5]
Modの作成[編集 | ソースを編集]
Modの初期ファイル郡を作成するには、ゲームランチャーを使用することをお勧めします。
Modのアップロード/アップデート[編集 | ソースを編集]
Modをアップロードしたりアップデートしましょう。
- ランチャーを開きます
- 「MOD」セクションを開きます。
- 「MODツール」を押して、自分のmodをドロップダウンメニューから選びます。
- それをどのプラットフォームにアップロードするかを選びます。
- 説明を書きます[6]
- 説明を確定します。 (更新する場合は、ランチャーがサイトから最新のものをコピーしたことを確認してください。)
- サムネイルを追加します。
- Steam Workshopの場合、modフォルダにthumbnail.pngを入れます。1:1の比率で最大1MBを使用します。Workshopで表示される最大のサムネイルは、約600x600ピクセルです。
- Paradox Modsの場合は、説明の下のフィールドにサムネイルをドラッグします。推奨最小サイズは900x500、pngまたはjpg、最大1MBです。
- 「アップロード」ボタンを押します。
セーブデータの編集[編集 | ソースを編集]
セーブファイルはここにあります。
- Windows: Documents\Paradox Interactive\Crusader Kings III\save games
- Linux: ~/.local/share/Paradox Interactive/Crusader Kings III/save games
鉄人モードのセーブは編集できません
まずゲームをデバッグモードで起動し、保存します。
- スチームの場合: Steam上でゲームを右クリック → プロパティ→ 起動オプション → -debug_mode 追加
- Windows:.exeのショートカットを作成-> それを右クリック → プロパティ→ リンク先に
-debug_mode
を最後に追加する
PC:
- セーブファイルをゲームフォルダから見つける。
- セーブファイルを右クリックして7-ZipやWinRarなどのアーカイバーで展開する
- 抽出された'gamestate'ファイルの拡張子を.ck3になんとかして変更する
- 右クリックして、テキストエディタ(セーブファイルが非常に大きいため、Windowsのメモ帳はお勧めしません。)で開く
- そのファイルを編集して保存
- そのファイルをゲームで読み込む
オートセーブは、gamestateを抽出せずに直接編集できます。
Mac:
- 端末を開く
- ディレクトリが正しいフォルダに設定されていることを確認
- "unzip FileName.ck3"と打ち込む
- 抽出された'gamestate'の拡張子をなんとかして.ck3 extensionに変える
- プレーンテキストをのセーブを編集
- そのディレクトリをゲームで読み込む(再圧縮は不要)
OS | セーブタイプ | 保存場所 |
---|---|---|
Windows | Local | C:\Users\%USERPROFILE%\Documents\Paradox Interactive\Crusader Kings III\save games
|
Windows | Steam Cloud | C:\Program Files (x86)\Steam\userdata\####\1158310\remote\save games
|
Mac | Local | $HOME/Documents/Paradox Interactive/Crusader Kings III/save games
|
Linux | Local | $HOME/.local/share/Paradox Interactive/Crusader Kings III/save games
|
gamestateファイルの内容[編集 | ソースを編集]
次の表に、gamestateファイルで使用可能な第1レベルのブロックを示します。エントリは、表示順に表示されます。
ブロック | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
meta_data | ゲームバージョンなど、ゲームに関するメタデータが含まれます。メインメニュー画面で使用します。 | ||||||||
ironman_manager | 鉄人モードセーブに関係 | ||||||||
(様々な変数) | これらの変数はブロックに属しません。
| ||||||||
variables | スクリプトフラグを含みます | ||||||||
game_rules | セーブファイルの現状のゲームルールを含みます | ||||||||
provinces | 建築物を含む、プロヴィンスデータを含みます。 | ||||||||
landed_titles | 以下のサブブロックを含みます
| ||||||||
dynasties | 以下のサブブロックを含みます
| ||||||||
deleted_characters | |||||||||
living | 生存キャラクターのエントリを含みます。以下フォーマット:
index={ first_name="..." birth=(date) female=yes # Optional culture=(culture index) faith=(faith index) dynasty_house=(dynasty house index) # Optional skill={ (diplomacy) (stewardship) (martial) (intrigue) (learning) (prowess) } # One value for each skill sexuality=(sexuality id) # Optional dna="(dna string)" # Optional mass=(value) # Optional traits={ (trait index...) } # List of trait indices inactive_traits = { (trait index...) } # Optional. List of trait indices # Optional (family_data) family_data={ primary_spouse=(character id) spouse=(character id) child = { (character id...) } # List of character ids } alive_data={ # オプション(変数), フラグを含む variables={ data={ # (...) } } gold=(value) # Optional income=(value) # Optional location=(landed title index) # Optional fertility=(value) health=(value) piety={ currency=(value) accumulated=(value) # Optional } prestige={ currency=(value) accumulated=(value) # Optional } weight_update=(value) } # End of alive_data block court_data={ # All keys within this block are optional employer=(character id) council_task=(council task index) regiment=(regiment index) knight=yes } # Optional (landed_data) landed_data={ domain={ (landed title index...) } # List of landed title indices vassal_contracts={ (values) } # List of values became_ruler_date=(date) laws={ "(law id)"... } # List of law ids strength=(value) balance=(value) succession={ (character id...) } # List of character ids domain_limit=(value) vassal_limit=(value) vassals_towards_limit=(value) government="(government id)" realm_capital=(value ai_allowed_to_marry=yes council={ (value...) } # List of values at_peace_penalty=(value) diplo_centers={ (value...) } # List of values election_titles={ (landed title index...) } # List of landed title indices } # End of landed_data block # Optional (playable_data) playable_data={ knights={ (character id...) } # List of character ids was_player=yes } } | ||||||||
dead_unprunable | キャラクターエントリーを含みます | ||||||||
characters | 以下のサブブロックを含みます
| ||||||||
character_lookup | |||||||||
units | |||||||||
activities | |||||||||
opinions | 以下のサブブロックを含みます
| ||||||||
relations | Encompasses hooks, alliances, 以下のサブブロックを含みます
| ||||||||
schemes | 以下のサブブロックを含みます
| ||||||||
stories | 以下のサブブロックを含みます
| ||||||||
pending_character_interactions | 以下のサブブロックを含みます
| ||||||||
secrets | 以下のサブブロックを含みます
| ||||||||
armies | 以下のサブブロックを含みます
| ||||||||
religion | 以下のサブブロックを含みます
| ||||||||
wars | 以下のサブブロックを含みます
| ||||||||
sieges | 以下のサブブロックを含みます
| ||||||||
raid | 以下のサブブロックを含みます
| ||||||||
succession | |||||||||
holdings | |||||||||
ai | 以下のサブブロックを含みます
| ||||||||
county_manager | 以下のサブブロックを含みます
| ||||||||
fleet_manager | 以下のサブブロックを含みます
| ||||||||
council_task_manager | 以下のサブブロックを含みます
| ||||||||
important_action_manager | 以下のサブブロックを含みます
| ||||||||
faction_manager | 以下のサブブロックを含みます
| ||||||||
culture_manager | 以下のサブブロックを含みます
| ||||||||
mercenary_company_manager | 以下のサブブロックを含みます
| ||||||||
holy_orders | 以下のサブブロックを含みます
| ||||||||
coat_of_arms | 以下のサブブロックを含みます
| ||||||||
(triggered events) | Each triggered event has its own block, started using triggered_event={ | ||||||||
next_player_event_id=(value) (変数) | |||||||||
played_character | 以下のサブブロックを含みます。
| ||||||||
currently_played_characters={ (character id...) } | キャラクターIDリスト
|
Microsoft Storeバージョンからのファイルの展開[編集 | ソースを編集]
Microsoft Storeバージョンを使用してファイルを読み取る場合は、UWPDumperというプログラムを使用してファイルを抽出できます。[9]
- UWPDumperの最新のx64バイナリをダウンロードします。
- 開発者モードを有効にします(Windowsの設定→アップデートとセキュリティ→開発者用→開発者モード)。
- CK3を立ち上げます
- ダウンロードしたプログラムからUWPInjector.exeを実行します。
- ck3.exeの横に数値を入力します。ParadoxInteractive.ProjectTitus_zfnrdv2de78nyのprocessIDとして。
- ファイルがどこに保存されるかを確認します (おそらくC:\Users\%USERPROFILE%\AppData\Local\Packages\ParadoxInteractive.ProjectTitus_zfnrdv2de78ny\TempState\DUMPのどこか)
- プログラムが終了するのを待つ.
ファイルは、以前に指定したディレクトリに存在する必要があります。ファイルを編集する場合は、Modを作成し、目的のファイルをそこにコピーします。
ツールとユーティリティ[編集 | ソースを編集]
- Exporters (MayaとPhotoshop)
- Clausewitz Maya Exporter: 3Dモデルを作成してエクスポートし、CK3や他のClausewitzゲームで使用するためのツール
- UWPDumper: Microsoft Storeのゲームからファイルを抽出するツール
日本語化Mod[編集 | ソースを編集]
- pc GamepassなどSteam以外でプレイしている人はSteamWorkshopオンリーでの配布なのでModファイルを自身で抽出する作業が必要
- https://github.com/matanki-saito/Ck3JpMod
- Ck3JpModのreleaseから最新のzipを貰ってきて
- 中のSourceフォルダをドキュメントの\Paradox Interactive\Crusader Kings III\modにそのままコピー
- コピーしたSoruceフォルダの中のdescriptor.modを一つ上のModフォルダにjapaneselang.modとしてコピー
- japaneselang.modをメモ帳で開いて以下を最後の行に追加して保存
- path="mod/source"
- pathの区切り文字をは\ではなく/、上記でダメな場合はsourceフォルダのフルパスを指定するといいかも。
- これでインストール済みのすべてのModに表示されるはず、後はプレイセットからModの追加をするだけ。
外部リンク[編集 | ソースを編集]
- CK3 User Mods パラドックスフォーラム
- Crusader Kings 公式Discord Modチャンネル。server-rolesチャネルに移動し、Channel Access postでCK3 Moddingを選択します。
- CK3 Mod Coop CK3のMod専用のコミュニティDiscordサーバー。
Documentation | Effects • Triggers • Modifiers • Scopes • Variables • Data types • Localization • Customizable localization |
Scripting | AI • Bookmarks • Characters • Commands • Council • Culture • Decisions • Dynasties • Events • Governments • History • Holdings • Lifestyles • Regiments • Religions • Story cycles • Titles • Traits |
Map | Map • Terrain |
Graphics | 3D models • Exporters • Interface • Coat of arms • Graphical assets • Fonts • Particles • Shaders • Unit models |
Audio | Music • Sound |
Other | Console commands • Checksum • Mod structure • Troubleshooting |
- ↑ 訳者注:日本語化Modはlocalizationフォルダを置き換えているために実績達成が不可能になっています。
- ↑ 訳者注:Steamの場合、ゲームがアップデートされてもCK3ゲームフォルダ内の変更したファイルはそのまま残ります。ただし整合性の確認を実施すると全てのファイルがもとに戻ります。
- ↑ 訳者注:アスタリスク(*)は任意の長さの文字列を意味します
- ↑ 訳者注:ほとんどのテキストエディタはUTF-8と書いてある場合はBOMなしを意味します。BOM付きを保存できるエディタを用意してください。
- ↑ 訳者注:実例が日本語化MODのgithub repositoryにあるので参考にしてみてください。: https://github.com/matanki-saito/Ck3JpMod
- ↑ 訳者注:Steam上であとから追加できるのと日本語用の説明は書けないため、ここでは丁寧に書かないほうがおすすめです。
- ↑ 訳者注:SteamのModにアップロードするには場合によってはSteam Workshopへの規約同意が必要です。またゲームをシェアしているなどで、所有していない場合はアップロードできません。さらにそのアカウントに一度も入金がなかったり、スチームガードを無効化している場合などはSteam上で利用制限アカウントとなり、アップロードできません。詳細な条件についてはこちらを参照ください。 https://support.steampowered.com/kb_article.php?ref=1047-edfm-2932&l=japanese
- ↑ 訳者注:BBCode(掲示板のコード)のことです
- ↑ 訳者注:Windowsを開発者モードにするため、自己責任でお願いします