差分

ナビゲーションに移動 検索に移動
4,658 バイト追加 、 月曜日 05:36
AI mod の日本語化(kagi)

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

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

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

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

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

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

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

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

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

== 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><code>modifier</code> は、その条件が真のときに基礎値を変更します。複数の条件を含められます。

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

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

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

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


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

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

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

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

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

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

これらの値は多くの箇所でスクリプトから参照され、AIの挙動を変えます。
[[File:Ai values.png|alt=debug tooltip showing ai values|thumb|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か月ごとに効果を発火するストーリーサイクルがあります:

<code>common\story_cycles\story_cycle_conqueror.txt</code>

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

<code>common\scripted_effects\00_ai_conqueror_effects.txt</code>

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


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

回編集

案内メニュー