公明正大ボーナスの仕組み

公明正大ボーナスの仕組み
Last-modified: 2013-12-14 23:46:29

AIとの外交において重要となる「公明正大ボーナス」。
この仕組みについて解説する。
Fanatics'のフォーラムを漁ればどこかに解説記事があるのかもしれないが、筆者は英語が苦手なのでSDKから調査している。
未調査の部分も多々あるがめんどくさいのでご了承願います。

計算式 †

(A+B)/C 最小0、最大4

A:贈り物(無償取引)の価値
B:対象国とのトレードの差(最小でも0、負の値にはならない)
C:遭遇してからのターンに1を加え5倍したもの((Turn+1)*5)


筆者はこの(A+B)はターンの経過とともに減少していくと思っていたのだが実際には取引の価値は増えていくだけで減算はされない。
例えば遭遇から9ターン後に200の価値があるものをプレゼントしたとする。
この場合は200/((9+1)*5)で4の態度ボーナスが得られる。
この200という価値はターン経過によって減ることは無い。
しかしターンの経過によってボーナスは低まる。
プレゼントの後20ターンが経過すると(遭遇から29ターン後)
200/((29+1)*5)で態度ボーナスは1にまで低下する。(小数点以下は切り捨て)
価値は下がらないがボーナスは下がることになる。

Aは通常の能動的な譲渡以外にも恐喝、ユニットの譲渡でも増加する。
ユニットの譲渡は贈ったユニットのハンマーコスト/5に相当する。

態度ボーナスに関係する取引 †

補足:+=、*=などの見慣れない式が並びますが意味は
X += 3ならXはXに3を足したもの。
X *= 5ならXはXに5をかけたものという意味になります。

また@がついていない取引はiValueをGlobalDefines.xmlのDIPLOMACY_VALUE_REMAINDERの値(通常なら10)で切り捨て。(215なら210にする)

技術取引 †

iCost = 研究コスト - 研究済みコスト
iValue = iCost * 1.5
iValue += (iCost/2) * 独占率
独占率 = 遭遇した国のうちテクノロジーを取得していない国数/自国を除いた現存している国数

対象の国が全ての現存する国と遭遇しているとする。全ての他の国がテクノロジーを持っていないとすると独占率は1(100%)、
このテクノロジーの価値はiCost*1.5 + (iCost/2)*1でコストの2倍になる。
(自国は必ずその技術を持っているはずなので決して2倍にはならないことに注意)

iValue *= (iAITradeModifier + 100)/100

iAITradeModifierはCIV4TechInfos.xmlで設定。封建制、ギルド、職業軍人など幾つかのテクノロジーで10、他は0に設定されている。


研究コストはCIV4TechInfos.xmlのiCostを基本値として
CIV4HandicapInfo.xml(プレイヤーのみ、AIは貴族なので常に100)、CIV4WorldInfo.xml、CIV4GameSpeedInfo.xml、CIV4EraInfos.xmlのiResearchPercentの値によって変わる。
サイズ標準、速度ノーマル、古代スタートならAIの研究コストはiCostの130%になる。

都市取引 †

iValue = 300 + (人口 * 50) + (文化レベル * 200)
iValue += (((((人口 * 50) + 経過ターン + 100) * 4) * 都市を持っている国の文化パーセント) / 100)

人口が3、文化レベルが未熟(文化レベル2)で経過ターンが50、文化が95パーセントだとすると、
300+(3*50)+(2*200)+(((((3*50)+50+100)*4)*95)/100)で1990の価値を持つ。

これに加え都市圏内(21マス)に資源がある場合(不可視、未改善の場合も含む)資源に応じて価値が増える。
(計算式は非常にややこしいので割愛)*1
今までにその都市を領有したことが無いのならば価値は1.5倍になる。

自文化が大きい都市を上げた方が態度ボーナスを得やすい、また相手の都市数とは無関係である。

金銭取引@ †

iValue = 金銭の値*2、AIが金銭的に欠乏している場合は金銭の値*3

地図取引 †

相手の地図によって明らかにされる領域によって、水域なら+1、水域でないなら+5をiValueに加える。
iValueを10で割る。もし相手が自分の属国ならiValueをさらに2で割る。

属国からなら半額で地図を仕入れることが出来る。

通行条約@ †

iValue = 自国の都市数 + 対象国の都市数
通行条約はお互いに同じものを取引するので差は出ない=態度ボーナスには影響が出ないと思われる。
もちろん国境開放のボーナスは別につく。

同盟@ †

iValue = (自国の都市数 + 対象国の都市数) * 3
通行条約と同じく差は出ないはず。

和平介入 †

iValue = 50 + 経過ターン
iValue += 戦争当事国2国の都市合計数 * 8
互いの態度の平均が
激怒なら500%、苛立なら300%、警戒なら200%、満足なら150%にする。

態度の平均は属国平均化と同様数値の平均ではなく態度の平均。
6(満足)と2(警戒)ならば数値の平均は4(満足)だが実際は警戒となる。
激怒を0、苛立を1、警戒を2、満足を3、友好を4として計算すると分かりやすい。
先の例なら満足と警戒なので(3+2)/2=2(警戒)(小数点以下切捨て)

友好国との戦争は和平介入の費用が安く済む。

iValue *= 40 / (戦争ターン数 + 10)

30ターン以上戦争を行っている国に対しては費用が安くなる。

宣戦依頼 †

宣戦国=宣戦依頼をする国
被宣戦国=宣戦国に攻めてもらう国

被宣戦国の都市数*10
(被宣戦国の人口+被宣戦国の属国の人口/2)*2

被宣戦国が100の人口、その属国が30の人口なら115*2

宣戦国から被宣戦国への態度が
友好なら500%、満足なら250%、警戒なら150%、苛立なら125%にする。

友好的な国への宣戦は費用が高くなる。

iValue *= (50 + ( (100 * 被宣戦国戦力) / (宣戦国戦力 + 被宣戦国戦力 + 1) )) / 100
戦力には属国分も含む。

被宣戦国戦力と宣戦国戦力の比率が、1:1なら100%、2倍なら117%、4倍で130%、0.5倍なら83%、0.25倍なら70%になる。

被宣戦国(属国、同盟国含む)が宣戦国と隣接していないなら2倍する。

隣接している方が安く宣戦依頼できる。

被宣戦国と自国が戦争中でないのなら3倍する。
戦争中の場合は、
iValue *= 150
iValue /= 100 + ((50 * A) / 100)
Aは(100 * 被宣戦国への戦果) / (8 + 自国の属国を含まない総人口)。ただし最大でも100。

戦争しているが戦果が無い場合はAは0になり、iValueはiValue * 150 / (100 +  ((50 * 0) / 100)) = iValue * 1.5、価値は1.5倍になる。
戦果が大きい場合(Aが最大値の100である場合)iValue * 150 / (100 +  ((50 * 100) / 100)) = iValue * 1で1倍になる。

戦果により最悪で1.5倍、最高で1倍になる。

宣戦国の都市数*20を足す。
(宣戦国の人口+宣戦国の属国の人口/2)*15を足す。
被宣戦国と自国が戦争中である時、宣戦国の自国への態度が
満足なら(100-自国と戦争している国の数*10)パーセント(ただし最小でも75)
友好なら(100-自国と戦争している国の数*20)パーセント(ただし最小でも50)

態度が満足で自国が2つの国(属国も1つの国と計算)と戦争していた場合100-20でiValueは80%になる。

iValue += 被宣戦国の核ユニット数 * 250

核持ちの国とは戦いたがらない。ただし属国・同盟国の核は無視されている。

iValue += 宣戦国の核ユニット数 * 150

核を他の誰かのためには使いたくない。

被宣戦国が戦争中でないのなら
iValueを2倍にする。その上で被宣戦国に同盟国がいるのならば
iValue += 同盟国の都市数 * 30
iValue += (同盟国の総人口 + 同盟国の属国の人口/2) * 20

iValue *= (60 + (140 * 経過ターン) / 最終ターン))/100

初期の戦争なら約60%、最終ターン近くになると200%になる。


宣戦依頼する国と仲の悪い国の方が安上がり。
ただし計算が最初の方にあるため最終的には差が微少になる場合もある。
また仲のいい指導者への宣戦依頼は断る指導者が多いためあまり意味が無いともいえる。
宣戦国の隣接国なら費用も安くなる。
被宣戦国と戦争中であるならばかなり安くなる。
そうでなくても被宣戦国が戦争中ならば、平和時と比べ2倍安い。
被宣戦国と戦争中でないのならば宣戦国と自国との関係(態度)は費用に影響しない。
また同盟国の戦力は費用に影響を与えない。
(ただし宣戦依頼を受けるかどうかには影響することに注意)

通商破棄 †

体制変更 †

国教変更 †

まとめ †

7つの文明(古代スタート、速度ノーマル、サイズ標準)が存在する。Aは全ての文明と接触。
Aという文明に官吏の技術(コスト800、実コスト1040)を供与する。
Aは官吏の研究をしていない。
官吏は自国を含め3文明が所有。
価値は1040*1.5+(1040/2)*(3/6)なので1820になる。金銭なら910に相当。
この値で+4のボーナスを得る場合、接触から90ターン以内なら+4がつく。

通常の取引について †

ここに載っている価値計算の仕組みは当然通常の取引に使われます。
つまり天帝で7文明、他デフォルト設定のときにAIが独占している通貨を欲しいときは
通貨の価値: iCost = 400 * 1.3 * 1.3(天帝難易度補正)= 676
      iValue = 676 * 1.5 + (676/2)*(5/6) = 1290
つまり対価として645ゴールド支払えば交換に応じてもらえます。

また法律とアルファベットはお互いに独占なら天帝ではほぼお釣りの出ない1:1の交換になります。

意見・質問などありましたらどうぞ †

最新の10件を表示しています。 コメントページを参照

  • 「公明正大」では? -- 2011-05-02 (月) 12:54:31
  • ↑ご指摘ありがとうございます。めっちゃ恥ずかしい…しかもページ名だけ間違ってるとか、どんな嫌がらせだよ!ページ名変更できなかったので移動しました。 -- 書いた人? 2011-05-03 (火) 03:29:38
  • 詳しいよく分かったありがとう -- 2011-05-04 (水) 01:38:52
  • 地図、和平、宣戦などについて記載。しかし細かすぎて役に立たないな。もっとざっくりまとめた方が良かったかな。 -- 書いた人? 2011-05-05 (木) 04:38:06
  • ありがとう、よい記事です! ただ公明正大ボーナスとは関係なくなってきてるので、記事を分けるか、似たような記事を探してまとめるかした方がいいかもしれませんね。 -- 2011-05-05 (木) 10:29:33
  • ↑あ、すいません勘違いしてたかも。これらもボーナスに関係あるんでしょうか。 -- 2011-05-05 (木) 10:40:59
  • 敵と取引-も同じような計算かな -- 2011-05-05 (木) 11:43:36
  • ↑*3 記事を書いた方には大変失礼しました。宣戦でボーナスは付かないと早合点していました。申し訳ありません。 -- 2011-05-05 (木) 14:17:50
  • 殆どのルールがブラックボックスになってる一般ユーザーにはありがたい -- 2011-05-10 (火) 01:21:20
  • 詳しい解説ありがとうございます。メニューになかったようなのでルールの詳細の項に追加してみました。 -- 2011-08-28 (日) 23:58:59
お名前:

*1 手抜きですみません、ただ相手の技術により価値が変動(例えばウランなど)するので非常に記述が難しいです