").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0
「Hearts of Iron IV」開発日記2025年6月12日――陣営の力学の見直しその1
HoI4 開発日記
2025.06.13
「Hearts of Iron IV」開発日記2025年6月12日分が公開されていましたので、その内容をご紹介。今回は陣営について。「Graveyard of Empires」リリース後の開発日記です。
前回:開発日記2025年6月2日――アニバーサリーウィークと開発者コーナー
開発日記
開発日記2025年6月12日分は、陣営について。
- リリース以来、陣営にはほとんど変更がなく、見直す機会だと思った。多くの国家が陣営を立ち上げることができるようになったが、そのすべてが同じようなもので違いがない。ここでの目標はより独自性があり、没入感のあるものにすることだ。
- 以下のものは開発初期のものであり、最終的なものでない。
中核的なコンセプト


- 陣営はmanifestを持ち、これは陣営がやりたいことで、新領土の征服、ファシズムの拡大阻止などだ。manifestには達成率があり、ゲームプレイ中に上下する。達成率が一定水準に達すると、manifestの種類に応じてボーナスがアンロックされる。
陣営の目標(Faction Goals)

- 陣営はさらに短期・長期の戦略目標を持つ。特定の領土の征服や支配、または資源の支配や搾取などだ。目標を達成すると陣営の構成国は陣営をカスタマイズする報酬を獲得でき、軍の経験値のような標準的な報酬も得られる。
Rules

- 陣営にはrulesがあり、加盟できる国家や陣営内で宣戦布告できる国家などを決める。加盟に関するruleはイデオロギーによって例えば「非ファシズム国家のみ加盟可能」などと定められる場合や、特定の地域の国家のみが加盟可能とする場合がある。その他の種類のrulesは以下のとおり。
- 講和会議:特定の行動にボーナスをもたらす。
- 宣戦布告:宣戦布告できる国家とその条件。
- 参戦要請:参戦要請できるのは陣営の主導国か、全国家か、主要国のみかなど。
- Dismissal:どのような場合に陣営から除名できるか。
- Contribution:陣営へのcontributionの最低要件。
- Leadership Challenge:主導国となる条件。
- こうしたrulesは陣営の主導国かFaction Initiativesを持つ加盟国が変更可能だ。
Faction Initiativesと目標の報酬

- Initiativesは陣営に変化をもたらすためのもので、目標を完了することで獲得できる。ほとんどの目標は完了時に陣営主導国にInitiativeをひとつ付与する。構成国に付与される場合もある。Initiativeがあればruleを追加・変更・削除できる。
- 陣営に特定のアップグレードを追加することもできる。アップグレードの例は以下のとおり。
- 研究共有の追加または改善
- 軍事ドクトリン共有の追加または改善
- Faction Supreme Commanderの追加
- 共同研究施設の設立
Influenceとcontribution
- 構成国は陣営内でInfluence評価を持ち、これは陣営内での政治力や重要性を表す。influenceが高い国家は目標達成から得られる報酬が多くなり、陣営の主導国になるにも一定以上のinfluenceが必要となる。influenceは参戦、Contributions、Industrial might、イベント、Raids、国家方針、ディシジョンなどで得られる。influenceは講和会議でも使用する。陣営が勝者側である場合、すべての構成国は戦勝点をの一部をプールし、これが陣営内で特にinfluenceの大きな国家に配分される。
- Contributionは国家が陣営や他の構成国になにかを提供すると得られるもので、これが直接influence評価に反映される。例えば遠征軍の派遣、人的資源の提供、工業製品の生産、陣営構成国へのレンドリースなどだ。
その他
- 陣営と協力する際には、味方に対してどこに注力してほしいか指示する機能を追加したいと考えている。マルチプレイで味方にピンを送信するように、AIの味方にも「この地域に注力してほしい」と指示できるべきだ。
次回:開発日記2025年6月18日――流体力学
タイトルとURLをコピーしました
コメント
こうなったら、全ての陣営が始めから名乗りを上げてるバトルロイヤルモードも欲しいね
これだけ見れば面白そうなんだけど現状の国家方針で何でもかんでも決まるゲーム性とかみ合わないんじゃないかという懸念が
バニラだとあまりしっくりくる感じがないが、大型MODでは製作者しだいで非常に有望な新要素だと思う
イギリスに宣戦布告されたイラクが大東亜共栄圏に加入する現象が無くなるのかな
変と言えばもちろん変なんだけどちょっと寂しい
大東亜共栄圏に中東とか西洋の国が入ったりする現象は普通にRPぶっ壊れるから縛れるようになるなら嬉しい
陣営入れてくれたと思ったら追い出されたり、ピンチなのに助けてくれない現象が減ることになるのか?そうだったらいいな
これでマルチしたら楽しそう
宣戦相手を縛るなら陣営掛け持ちができてもよさそう
陣営内の中小国同士の内ゲバとかできるようになっても面白いと思うんだよね
やりすぎだとボスが顔出してくるから局所的な領土紛争程度で
日本に関しては当時枢軸国しても戦いつつも大東亜共栄圏としても戦いをしていたのでそれを再現できるようにして欲しい…
要は二陣営掛け持ちを可能にして欲しい