AI Mod

提供:ck3wiki
ナビゲーションに移動 検索に移動

※2025/10/6、英wikiよりkagi翻訳を通しました。機械翻訳なので一部不自然な日本語があるかもしれません。ぜひ編集してくれるとありがたいです。

AIの一部はゲームコード内で処理されており、MODでは変更できません。これを「ハードコードされている」と言います。

例えば、軍隊の挙動は完全にハードコードされています。

AIに影響を与えられるのは次のとおりです:

  • defines - コードで使われる数値
  • chance と triggers - その状況に基づいて、AIがイベントの選択肢を選ぶ・決断を下す可能性や、実行可能かどうか
  • AIの性格値 - 特性や修正で影響を受け、スクリプトで参照される値
  • スクリプト - 征服者向けの戦争処理のように、AI用のカスタムイベントを書けます

Defines[編集 | ソースを編集]

common/defines/ai フォルダには、ゲームコードから参照される数値が入っています。

コードが具体的に何をしているかは分かりませんが、開発者コメントから、これらの数値が何に影響するかが説明されています。例:

BETROTHAL_MIN_AGE = 12 # AIはこの年齢未満のキャラクターとは婚約せず、婚約も求めません。

いくつかのAI用defineは common/defines/00_defines.txt にもあります。

Chance[編集 | ソースを編集]

多くのインタラクションには、AI向けにスクリプト化された確率があります。

例えばイベントでは、AIは ai_chance が高い選択肢を選びやすくなります。<syntaxhighlight lang="c"> ai_chance = {

 base = 10
 modifier = {
   add = 100
   has_trait = chaste
 }
 modifier = {
   factor = 0
   has_trait = deviant
 }
 ai_value_modifier = {
   ai_zeal = 1  
 }

} </syntaxhighlight>modifier は、その条件が真のときに基礎値を変更します。複数の条件を含められます。

この場合、キャラクターが貞淑(chaste)特性を持っていれば100を加算します。

factor は乗算を意味し、ここではキャラクターが逸脱者(deviant)なら0倍にします。

ai_value_modifier は、キャラクターの性格値に基づいて加減算し、その数値を掛けます。

ここでは、ai_zeal の1ポイントごとに1として数えます。


trigger = { is_ai = no } は、AIに対してイベントやその選択肢を完全に無効化できます。

一部の効果は、limit = { is_ai = yes } を使うことでAIとプレイヤーで差別化できます。

他の場所では、ai_will_do, ai_potential, ai_score のようなオプションもあります。

ここですべてを列挙するのは多すぎます。

ゲームフォルダ内の .info ファイルを読みましょう。利用可能なオプションが一覧化され、コメントで動作が説明されています。

AIの性格[編集 | ソースを編集]

特性や修正は、ai_zeal のようなAIの性格値を変化させます。

これらの値は多くの箇所でスクリプトから参照され、AIの挙動を変えます。

 
AI values tooltip

特性や修正で使われる全パラメータ:

  • ai_amenity_spending
  • ai_amenity_target_baseline
  • ai_boldness
  • ai_compassion
  • ai_energy
  • ai_greed
  • ai_honor
  • ai_rationality
  • ai_sociability
  • ai_vengefulness
  • ai_war_chance
  • ai_war_cooldown
  • ai_zeal

ゲーム内では、キャラクターウィンドウ上部の頭アイコンにカーソルを合わせると確認できます。

-debug_mode を付けてゲームを起動すると表示されます。

スクリプト[編集 | ソースを編集]

ストーリーサイクル、イベント、on_actions を通じて、AIの挙動を自作できます。

例として、ゲームが征服者をどのように処理しているかを見てみましょう。

1〜2か月ごとに効果を発火するストーリーサイクルがあります:

common\story_cycles\story_cycle_conqueror.txt

その後、スクリプト化された効果 ai_conqueror_yearly_effect を発火します:

common\scripted_effects\00_ai_conqueror_effects.txt

この効果は約2000行あり、工作、予算編成、宣戦を管理します。


生存している全キャラクターに複雑なスクリプトを適用して、パフォーマンスを損なわないよう注意してください。

ドキュメンテーション スクリプトスコープ効果トリガー変数補正リスト
スクリプト AIブックマークキャラクターコマンド評議会文化ディシジョン王朝イベント政府歴史領地ライフスタイル連隊宗教スクリプト値ストーリーサイクル闘争称号特性
インターフェース インターフェースデータ型ローカライズカスタムローカライズフレーバー化
マップ マップ地形
グラフィック 3Dモデルエクスポーター紋章グラフィックアセットフォントパーティクルシェーダーユニットモデル
オーディオ 音楽サウンド
その他 コンソールコマンドチェックサムModの構造Mod制作ツールトラブルシューティング