ラベル 検証 の投稿を表示しています。 すべての投稿を表示
ラベル 検証 の投稿を表示しています。 すべての投稿を表示

2017年8月21日月曜日

HoI4 - 階層付き攻撃線を描く


気づいたことTip集で連鎖攻撃線という言い方で攻撃線を複数連鎖させることについて述べたのですが、ただ何個も引くだけでできたのはどうやら偶然でした。
なのでALTボタンでの戦線整理を行う中で攻撃線を連鎖させる方法(日本語Mod下では「階層」と表現しているので以下これに倣います)を書き留めます。

ある前線を根本として複数攻撃線が出ているとき、これは同階層にいるのでどちらかの攻撃線しか用いることができません。これを階層付ける、つまり片方の攻撃線の根本を他方の攻撃線にするには、一言でいうと”コントロールポイントを重ねる”ことで可能です。

コントロールポイントとはALT押下時に攻撃線を指す矢印をクリック(ドラッグ)することで出現する青い表示です。これをずらすことで前述の矢印(つまりプロヴィンスレベルでの攻撃ルート)を変形させることができます。
このコントロールポイントを別の命令に重ねることで階層化が可能になります。

以下1~4の手順で2つの攻撃線を階層化します。

1.下図は同階層にいる2つの攻撃線とそれを指す矢印です。下側に伸びる攻撃線を上側の攻撃線の後の階層に指定します。
まずALTを押下して編集モードにした後、コントロールポイントを出します。

2.下図はコントロールポイントが出現したところを表しています。
青い斜線がコントロールポイントです。2つありますがこれは各々の攻撃線に対して発生させました。
今回は下の攻撃線を編集するので、下側のコントロールポイントを移動させます。マウスポインタ付近のポップアップウィンドウが示すように、コントロールポイントをドラッグして上の攻撃線(点線)に重ねます。恐らくコントロールポイントと点線を重ねたときに矢印に目に見える変化が現れると思います。
本稿では2つのコントロールポイントを重ねることにします。

3.コントロールポイントを重ねて編集モードを抜けたのが下図になります。
2つの攻撃線が階層化されています。下の攻撃線にはまだ師団が割り当てられていないので下の攻撃線にも寄与させたい師団を改めて登録します。

4.軍の全師団を登録すると下図になります。
文字は小さいですが2つの矢印の中に”31師団-第1軍”なる文字が見えます。
これで軍の全師団が2つの攻撃線に沿って連鎖的に攻め込むようになります。

ちなみにこのときのコントロールポイントの配置は下図のようになります。
下の攻撃線は根本と侵攻先の両方にコントロールポイントを持っています。この2つを編集することで侵攻ルートの調整が可能です。

以上の内容により、複雑な侵攻ルートがあっても複数の攻撃線を階層化することで表現・指示が可能になります。

2017年7月15日土曜日

インフラと”建物”に関する考察(2)@1.4.1oak

(要JavaScript)
さて前回インフラを増設したときに元を取れる建設コストについて考えましたが、今回はこれの式変形と数値計算をさくっとつけておきます。

前回でてきた変数はインフラを1レベル上げるコストを $I$ 、インフラ補正前出力を $a$ 、現在のインフラによる”建物”への出力倍率を $b$ 、建てる予定の”建物”総コストを $x$ としたものでした。このときインフラを $n$ レベル上げるとき、元を取るためのコストは
$ x > b(10b+n)I $ 
で表されるというところまで行きました。このときインフラと”建物”をすべて建てきる迄にかかる日数を $d$ とすると、$x$ の建設における出力倍率がインフラ増設後の値であることから
$ d > \frac{nI}{a} + \frac{b(10b+n)I}{(b+0.1n)a} $ 
つまり
$ d > \frac{(n+10b)I}{a} $ 
となります。
これをエクセルかなんかで計算してみると、不等式の右辺は「インフラ増設前のレベルに関わらず」インフラ増設後のレベルにより一律に決定されることが判ります。
例えば15工場を使うものとすると a = 15*5 = 75 であり I = 3000 であることから、インフラ増設後のレベルが{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }のとき、インフラと建設 x をすべて終わるまでの日数は少なくとも{ 440, 480, 520, 560, 600, 640, 680, 720, 760, 800 }を上回ります。
これを増設後インフラレベルをベースに考えてみます。
増設前インフラレベルが1増えると増設前出力倍率 b は 0.1 上がり増設レベル数 n は 1 下がることになります。このとき先ほどの不等式で 10b という計算があることから、式 $n+10b$ において b と n の増減がちょうど相殺されて、式の結果が増設前インフラレベルによらず一定になります。計算してて結構面白かったです。
また上記の結果は前回における余計なこと、つまりインフラと”建物”の各々に個別にかかる倍率については無視していることに留意してください。

2017年7月14日金曜日

インフラと”建物”に関する考察(1)@1.4.1oak



(要JavaScript)
今回はインフラ建設の元をとる話について考えます。
Ver1.4.1ではインフラを建設するとその1レベル毎に民需や軍需等の”建物”カテゴリの建設出力に+10%の補正がつきます。例えばインフラが8ならば出力は+80%されます。従ってインフラを増やすほど出力はおいしくなるのですが、インフラにもコストがあるのでそのバランスをどうしようかという話になります。

という訳で本稿の話題は、インフラを1上げたときどれだけの出力を建物カテゴリにつかえば元が取れるかということになります。インフラを増やさずに建設するのと増やして建設するのにかかる総時間を指針に計算します。

まず変数を用意します。インフラを1レベル上げるコストを $I$ 、インフラ補正前出力を $a$ 、現在のインフラによる”建物”への出力倍率を $b$ 、建てる予定の”建物”総コストを $x$ とします。
$b$ についていえば $b \in \{1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0\} $ です、実際のところ2.0は使われませんが。またインフラの増設にはインフラによる倍率補正がないことに注意します。
このとき、
インフラを増やさずに建てる場合の所要時間: $ \frac{x}{ba} $
インフラを増やした後に建てる場合の所要時間:$ \frac{I}{a} + \frac{x}{(b+0.1)a} $
後者が前者より小さくなれば元が取れていると判断できるので
$ \frac{I}{a} + \frac{x}{(b+0.1)a} < \frac{x}{ba} $
これを $x$ について整理すると
$ x > b(10b+1)I $
となります。出力 $a$ が消えて関係なくなっています。”出力”と少し大まかな言い方にしたのも結局式から消えるので民需を1使おうが15使おうがどう想定しても関係なかったという訳です。
さて、文字 $I$ を置きましたがインフラ1レベルはコスト3000なので I=3000 です。
例えば、インフラ6のときb=1.6になるので x > 1.6(16+1)*3000 = 81600 です。かなり大きい数字です。というのも、インフラを1レベル上げたときに出力が何倍になるか考えてみると、インフラ0->1の場合は1.1倍になりますがインフラ6->7だと大体1.06倍という数字になります。差分が元々の出力の10%になるので、インフラが高いとレベルを上げたときの上昇は相対的に小さくなる、つまり元を取るにはより大きいコストが必要というからくりです。

上記の内容を拡張して、インフラを数レベル上げる場合についても計算してみます。
先ほどと同じ変数と、インフラを上げるレベル数を $n$ でおきます。
インフラを増やさずに建てる場合の所要時間: $ \frac{x}{ba} $
インフラを増やした後に建てる場合の所要時間:$ n(\frac{I}{a}) + \frac{x}{(b+0.1n)a} $
後者が前者より小さくなれば元が取れていると判断できるので
$ n(\frac{I}{a}) + \frac{x}{(b+0.1n)a} < \frac{x}{ba} $
これを $x$ について整理すると
$ x > b(10b+n)I $
インフラ1レベルはコスト3000なので(ry
例えば、インフラ4から n=4 レベル上げつつ元をとることを考えると x > 1.4(14+4)*3000 = 75600 になります。あ、インフラ6から1レベル上げるよりコストが小さくて済んでます。

さて本題としては以上なのですが、少し余計なことをやってみます。
それは、インフラにかかる出力倍率 $ i $ と”建物”建設にかかる「インフラ以外」の出力倍率 $k$ を計算にいれることです。これまでは出力に関する倍率を”建物”に関するインフラの効果だけに絞っていましたが、ちょっと他のも考えてみたいなという感じです。ゲームシステム的に $ i $ と $k$ であっさり表せるか確証をとってないので割と雑な話にはなります。
さてインフラを $n$ レベル上げることとして
インフラを増やさずに建てる場合の所要時間: $ \frac{x}{bka} $
インフラを増やした後に建てる場合の所要時間:$ n(\frac{I}{ia}) + \frac{x}{(b+0.1n)ka} $
このとき $ c = \frac{k}{i} $ としつつこれまでと同様に
$ n(\frac{I}{a}) + \frac{x}{(b+0.1)ca} < \frac{x}{bca} $
これを $x$ について整理すると
$ x > cb(10b+n)I $
つまり新たに係数 $c$ がついただけです。$c$ は分母にインフラにかかる出力倍率を、分子に”建物”にかかる出力倍率をおいた比率を表しています。共通部分は約分されて消えるので残るのは個々に特別にかかる倍率です。結局インフラに相対的に高い出力があれば元を取るに要するコストが安くなるよという話でした。


ちょっと数値計算してみた話→(2)


余談:本稿ではbloggerでMathJaxをつかう手法を取り入れてます。
参考リンクはこちら(MathJax in Blogger (II) )。この都合で要JavaScript。
不等式を解くよりMathJax入れる方が余程時間かかってたり。

2017年1月23日月曜日

HoI4 - データとか検証とか(1)


ここでは個人的に気になった点について調べてみたことをメモっておきます。

・傀儡国システム(1.3.2 Torch)

まず統合傀儡国、傀儡国、ついでに植民地の制約条件です。
統合傀儡と傀儡の大きな違いは工場を召し上げるかどうかです。
自国の工業力が貧弱であれば統合傀儡にすると良いですが、そろそろ余るかな位の時は自治ポイントだけ確保しといて傀儡のまま軍備を進めさせるのも手かもしれません。
とはいえ元の領地の東側4割を領有させた統合傀儡アメリカは高速で師団をつくってきました。
傀儡中国はそこそこ師団をつくってくれますが、統合傀儡中国はレンドリースしてあげないとちょっと遅いかなという印象です。
下図は傀儡ロシアを統合傀儡ロシアにしたときの工場数の変化です。まずロシア帝国の状態を載せます。
民需が125なので推定譲渡数は31~32。同様に軍需は127なので95~96。
この状態からの自国の工場数の変化がこちら↓

工場の増加数は民需+37、軍需+95でした。他の要因が絡んでいる可能性もありますが、大体予想した通りといってよいでしょう。あと、私の環境では傀儡→統合傀儡にした後の工場数反映に少しラグがでました。ある程度時間を進めるか、いっそのことそこからセーブ&ロードすると安定して反映されるっぽいです。
次に傀儡国の師団編成をいじる話です。
陸軍テンプレートをみるとき、師団編成と書いてあるボタンの右のアイコンをクリックすると国を選んでテンプレートを閲覧することができます。いじりたいものがあれば複製して編集することができます。で、この複製編集した傀儡国のテンプレートをつくって師団を訓練すると人的資源をだいぶ傀儡国から徴兵できます。
徴兵した図がこちら↓ 
統合傀儡アメリカの自動車師団テンプレートをいじって訓練してみました。兵装は自国から出す必要がありますが、人的資源は傀儡国からかっぱらってこれるようです。統合傀儡は人的資源要求+100%なので13900人全員がアメリカの人的資源から供出されています。
いま私がやったのはここまでですが、1つ気になることがあって、この訓練した師団を解散するとどこにいくのかという話です。他国からの遠征兵を解散するとユニットは失われず遠征元の国の指揮下に戻るだけなのですが、こちらの訓練した師団がどうなるかはまだ調べてません。指揮権が譲渡される方式ならばだだ余りの陸軍経験値でテンプレいじって訓練しまくれるので便利だと思います。

・その他
何かやったら書き足します。あるいは別記事で書くかもです。