").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
「Crusader Kings III」開発日記#173――中国のマップ
CK3 開発日記
2025.06.042025.06.11
「Crusader Kings III」開発日記#173が公開されていましたので、その内容をご紹介。今回は中国のマップについて。「All Under Heaven」リリース前の開発日記です。
前回:開発日記#172――完全な中世世界
開発日記
開発日記#173 は、中国のマップ について。
投影法について
CK3で使用している地図投影法は当時のモニターの標準解像度の制限とゲームの一般的な要件に合わせるように調整した独自のものであり、アジアの大部分を含まないものだった。この投影法は不完全であって、調整はしたが、完全に置き換えてはいない。したがってマップの一部は現実のスケールと明らかに異なるスケールで表示される。中国の陝西省は現実ではイギリスと同程度の広さだが、同程度の広さの朝鮮半島より小さく表示される。また、東シベリアは現実よりも小さい。
天に二日なし、民に二王なし
867年の開始日ではChinese hegemonyの名称は唐だが、「All Under Heaven」では称号の名称が変化するようにした。称号の履歴では以前の名称が保持される。中国で新たなdynastiesが支配者となるとき、歴史的に適切な名称がつけられる。史実では新たなdynastiesは姓ではなく過去のdynastyの名称や関係する古代国家の名称をつけた。マップ上での色も選択できる。
それぞれの統治
帝国tierについて、当時のThe hegemony of Chinaは秦・梁・蜀・呉・越の5つの帝国からなる。こうした帝国はゲーム開始時に存在せず、前のdynastyからChaotic Eraに移った後にthe Hegemony of Chinaを請求する過程で存在する。こうした政治的主体の名称も変化し得る。
天は高く皇帝は遠い
王国tierでは柔軟性を発揮する必要があった。ゲームで伯爵領に相当する行政区画には十分な資料があるが、王国tierではそうではない。しかしゲームバランスの観点からサイズが大きく異なるのは望ましくない。その結果、このtierは宋代の路(circuit)と呼ばれる制度を採用している。史実では監督的な役割が強く直接的な管理は少なかったが、既存の王国の規模と近い。宋の路制度は他のdynastiesと比べて独特だが、宋が本作の3つの開始日のうち2つの期間だけ続く存在であるため、将来のdynastiesやこの時代まで続かなかった過去の制度より自然だろう。
特に言及すべき周辺的存在として、現在のベトナム北部に安南(Annan)があるほか、北部には夏(Xia)がある。また、詳細は述べられないが、契丹人による遼(Liao)は1178年までに女真族の金(Jin)にかわるが、「All Under Heaven」ではこの2つの国家は中国の行政制度と部族・遊牧民の封臣の混合物となり、中国化する宮廷と衝突する可能性がある。南詔もあり、この王家は史実の業績より金庸の武侠小説『天龍八部』『射鵰英雄伝』で知っている人も多いかもしれない。
大国を治むるは小鮮を烹るがごとくす
Chinese hegemonyでの総督の主要なtierは公爵領であり、ここでは公爵領と伯爵領をまとめて述べる。伯爵領は境界を現在調整中だ。中国では記録された行政区画が膨大であり、dynastyごとに大きな変化があるため、私たちが伯爵領マップを作成する上で大きな難題となった。特に名称は頻繁に変更されたため、奇妙に見える名称を最終的なものと考えないでほしい。今後さらに修正される可能性がある。さらに、定住地は中原、四川盆地、主要な沿岸地域に偏っており、人口の少ない内陸部や辺境地域は比較的少数の行政区画に分かれている。こうした行政区画は本作の男爵領や小規模な伯爵領に相当するが、公爵領の面積を超える場合もある。
中国の行政単位について可能な限り一貫性を保つため、私たちは主に唐で使用された行政単位の州(zhou)を使用している。もちろんあまりにも広大で分割する必要があったり、小さすぎて合併する必要があったものもある。
国破れて山河在り
地形マップはまだ未完成で、変更の最中だ。「All Under Heaven」の中国の海岸線は現代とは異なる。20世紀以降大規模な埋め立て事業が行われたためだ。主要な川の流路も異なる。例えば黄河は本作で扱う時間軸で大きく流路を変えているが、河川はそれ自体がプロヴィンスの構成要素であり変更できないため、867年時点のもっとも長く続いた流路を選択せざるを得なかった。
江山代わるがわる才人の出ずる有りて、各々風騒領すること数百年
中国の史実の人物追加はリリース以来最大の歴史データベースの変更となった。しかし中国の公職者は1年程度しか在任しないことが多く、開始時の領主の配置は正確な人事情報がない場合、柔軟な対応を余儀なくされている。また、私たちはゲームの期間やそれ以前の史実の人物とその一族について、3つの開始日ごとに生存していた人物やその子孫以外についても、膨大な人数をゲームに含めた。これによって中国の他の時代を探求したいMod制作者は容易に作業を進められる。私たち自身も将来的に別の開始日を追加する場合、作業を簡素化できる。これはそうすることの意思表明ではなく、さらなる可能性を追求する将来の開発者の作業を簡素化するための投資だ。
パフォーマンス
既存のマップを大幅に拡張し、数千人の史実の人物を追加したため、パフォーマンスに関する懸念が生じていることを認識しており、「All Under Heaven」の開発ではパフォーマンスの向上にも真剣に取り組んでいる。詳しくは今後の開発日記で取り上げる。
来週は中国のシステムについて。
次回:開発日記#174――中国のシステム
タイトルとURLをコピーしました
コメント
翻訳ありがとうございます。
中国の作りこみも凝ってるようで楽しみですね。
ただパフォーマンスへの影響だけは少なくなって欲しいな…
中国だけすべての軍を導入するとデバフとか出たりしてゲームバランスを調整するのかな
原文読んで春望くらいしか分からんかったけど、これに限らず教養のある人は自分よりも色んなものが見えてるんやろなって羨ましく思えた。
中華帝国の軍事力ってどうなるんだろう。
間違いなくダントツ世界一の動員数になるだろうし攻撃的AIになった時周辺諸国が爆速で消されそうだけど国境沿いの総督領の部隊しか動員出来ないみたいな縛りでも付けるのかな
軍量多い割に史実でもしょっちゅう爆発する国だから広さの割に軍事力は控えめにして欲しい
軍が爆発するってどんな表現やねん
どこぞの島国みたいに補給軽視して自滅するって意味?
軍量多い割に(遊牧民にボコられたりして)爆発(王朝滅亡からの諸侯乱立)のことじゃないの?
ボコられているのって大体王朝末期の混乱に乗じて異民族に敗退しているだけでしょ?
その辺ローマとか他の帝国達と大差ないんじゃない?
爆発とは本家パラドフォーラムでの表現。EU4やVICで中華帝国が崩壊して小国乱立するのがexplosionと表現されてるのよ。
中国は州ではなく開元十五道を基に分割するって感じなんですかね。
最後のは
江山代有才人出 各領風騷數百年
趙翼の論詩ですね
教えていただきありがとうございます。記事を修正しました。
うひょーきたきた
いよいよ東アジアの実装も見えてきて嬉しい
黄河は南宋改道で後の清時代まで700年以上ずっと渤海でなく淮水に流れ込むようになったの表現してほしかったんだけどなあ…
パフォーマンス改善への着手が明言されて、先ずは一安心