json編集について †
ここでは、Going Medievalの設定ファイルである.jsonの編集方法について紹介しています。
設定ファイルは、ゲームをプレイまたは起動するうえで重要なものですので、編集を行うにあたり各ファイルの記述方法を熟知している方のみご利用ください。
また、設定ファイルを編集することにより、いちじるしくゲームバランスが崩れる可能性があります。利用されない方、見たくない方はブラウザの戻るボタンを押すか、このページを閉じてください。
※本ページで知り得た情報を利用し、ゲームまたはPCに何らかの不具合や問題が発生しましても、当サイト並びに管理人・執筆者・編集者は一切の責任を負いませんのでご了承ください。
パークの編集 †
Perk.jsonを編集することで、各パークに好きな特性を付与・剥奪する事ができます。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Worker\Perk.json
主なパラメータの説明 †
Perk.jsonで使用されている各種パラメータの説明になります。
注意点として、各値に整数を設定する場合は小数点を付けないようにしてください。
例)OK=1、NG=1.0
- attributeModifiers(特性)
- attributeModifiersは、パークに特性を付与します。下記の一覧表は、各特性に割り当てられた値(Key)となります。
各特性の値に関しては、json参考情報ページの特性の値の項目をご参考下さい。
- skillModifiers(スキル)
- skillModifiersは、パークにスキルのレベルを増減させる効果を付与します。下記の一覧表は、各スキルに割り当てられた値(Key)となります。
各スキルの値に関しては、json参考情報ページのスキルの値の項目をご参考下さい。
マップの編集 †
MapSizes.jsonを編集し、自分の好きなサイズのマップでプレイする事ができます。ブロックの高さや地表からの高さも編集できるようですが、これらを編集すると表示が崩れたりしますのでおすすめしません。編集箇所は、名称とサイズのみにしましょう。また、サイズは大きすぎるとPCにかなりの負荷が掛かりますので、適度なサイズで楽しみましょう。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\MapV2\MapSizes.json
ファイルの説明 †
MapSizes.jsonを開くと以下のようなコードが書いてあります。コメント部分は説明のため追記しました。
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
| {
"repository": [
{
"id": "default_size", //「マップのサイズ」のリストメニューにここで設置した文字が表示されます。
"width": 190, // マップ全体の横幅になります。
"height": 16, // マップの地表から建設できる高さになります。
"length": 190, // マップ全体の縦幅になります。
"blockHeight": 3, // ブロックの高さになります。※ここを3以外の数値にすると、地中がバグり見た目が空洞(透過)になります。
"shownInRelease": true // リストメニューに表示するか表示しないかを設定します。true=表示する、false=表示しない。
}
]
}
|
例として、Einherjarという名称の60x60サイズのマップを作成してみます。
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
| {
"repository": [
{
"id": "default_size",
"width": 190,
"height": 16,
"length": 190,
"blockHeight": 3,
"shownInRelease": true
},
{
"id": "Einherjar", //分かりやすいワードを入力します(半角英数字)。
"width": 60,
"height": 16,
"length": 60,
"blockHeight": 3,
"shownInRelease": true
}
]
}
|
編集後の参考画像 †
下図のように「マップのサイズ」のリストメニュー内に新しく「Einherjar」が追加されました。
「Einherjar」を選択してゲームを始めると、指定した60x60サイズのマップでプレイする事ができます。
名前(姓名)の編集 †
Name.jsonを編集することで、キャラクターの名前(姓名)を変更・追加する事ができます。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Worker\Name.json
ファイルの説明 †
- ゲーム上では変更できない姓を変更・追加する場合。
- Name.jsonを開くと以下のようなコードが2028行目辺りに書いてありますので、この部分を編集します。
2028:
2029:
2030:
2031:
2032:
| "lastNames": [
"アシャード",
"アドニー",
"アーダウン",
"アルベリン",
|
- 男性用の名を変更・追加する場合。
- Name.jsonを開くと以下のようなコードが1722行目辺りに書いてありますので、この部分を編集します。
1722:
1723:
1724:
1725:
1726:
| "firstNamesMale": [
"アベル",
"アクトン",
"アダルバート",
"アダム",
|
- 女性用の名を変更・追加する場合。
- Name.jsonを開くと以下のようなコードが1875行目辺りに書いてありますので、この部分を編集します。
1875:
1876:
1877:
1878:
1879:
| "firstNamesFemale": [
"アデレーナ",
"アガシア",
"アガサ",
"アグネス",
|
アイテムの編集(資源) †
Resources.jsonを編集する事で、腐食や腐敗を早めたり最大スタック数を増やすなど、ゲームをプレイするうえでの快適性が向上します。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Resources\Resources.json
主なパラメータの説明 †
Resources.jsonで使用されている各種パラメータの説明になります。
注意点として、各値に整数を設定する場合は小数点を付けないようにしてください。
例)OK=1、NG=1.0
- resourceId
- 資源の名称になります。多くの場合、その資源の英語表記が使われていますので、テキストエディタの検索機能などを利用して目的の資源を探してください。
※こちらの値はゲーム固有の値となりますので、絶対に変更しないでください。
- weight
- 資源の重量を表します。0から60までの範囲に設定すると良いでしょう。
※住民が一度に運べる最大重量は、60となっております。
- nutrition
- 栄養値を表します。住民が食事をした際、ステータスにある食料のゲージが回復する量になります。
- stackingLimit
- 最大スタック数を表します。
- hitpoints
- 資源の最大耐久値で、ゲーム中ではHPと表示されているものになります。値が大きくなるほど腐食や腐敗の進行が遅くなります。
- decomposeModifiers
- 腐食に関する内容になります。
- temperatureCoefficients
- 気温による腐食の進行具合を編集することができます。4行にわたって値が表記されていますが何故4行なのかは不明。
値が高いほど腐食や腐敗しやすい資源が設定されており、値が低い資源ほど腐食や腐敗の進行が遅い資源が設定されていました。
腐敗や腐食が発生しない資源は、4行ともに「0」の値が記載されています。※要検証
- groundCoefficient
- 地面の影響による腐食の進行具合を編集することができます。
0に近いほど、腐食の進行が遅くなります。0は腐食しません。
- weatherModifiers
- 天候による腐食の進行具合を編集することができます。
Keyは、対象となる天候になります。Keyは編集しないでください。
Valueは、その天候による腐食の進行具合になります。0に近いほど、腐食の進行が遅くなります。0は腐食しません。
- rottingModifiers
- 腐敗に関する内容になります。
- temperatureCoefficients
- 構造や編集内容は、前述の腐食に記載した内容と同じです。相違する箇所は、腐食が腐敗に変わります。
- groundCoefficient
- 構造や編集内容は、前述の腐食に記載した内容と同じです。相違する箇所は、腐食が腐敗に変わります。
- weatherModifiers
- 構造や編集内容は、前述の腐食に記載した内容と同じです。相違する箇所は、腐食が腐敗に変わります。
- wealthPoints
- 資源の価値になります。
編集例)耐久値を減らし風化しやすくする †
難易度が難しいまたはハードプレイをしている方は、敵の死体や骨、灰がマップを埋め尽くすぐらい溜まっているのではないでしょうか?そんな時は、耐久値を減らし風化しやすくしましょう。
- 「灰」の例
- 早く風化するようにhitpointsの値を減らします。灰の基本値は、300ですので例えば10や50などにしてみるのも良いかもしれません。
2986:
2987:
2988:
2989:
| "resourceId": "ash",
"weight": 0.1,
"stackingLimit": 500,
"hitpoints": 300, //ここの値を変更する。
|
- 「骨」の例
- こちらも早く風化するようにhitpointsの値を減らします。骨の基本値は、200ですので灰と同じく10や50などにしてみるのも良いかもしれません。
2545:
2546:
2547:
2548:
| "resourceId": "bones",
"weight": 1,
"stackingLimit": 50,
"hitpoints": 200, //ここの値を変更する。
|
編集例)地面に直置きした資源を素早く腐食または腐敗させる †
前項では、耐久値を減らした方法で風化を促進させましたが、ここでは腐食または腐敗の進行度そのものを編集して風化を早めます。
- 「灰」の例(腐食を進行させる)
- decomposeModifiers内にある、groundCoefficientの値を編集します。値は0に近いほど腐食しなくなり、値が増えるほど腐食しやすくなります。
灰の値は、2ですので5や10等の値にしてみましょう。
2990:
2991:
2992:
2993:
2994:
2995:
2996:
2997:
| "decomposeModifiers": {
"temperatureCoefficients": [
0,
0,
0,
0
],
"groundCoefficient": 2, //ここの値を変更する。
|
- 「灰」の例(腐敗を進行させる)
- rottingModifiers内にある、groundCoefficientの値を編集します。値は0に近いほど腐敗しなくなり、値が増えるほど腐敗しやすくなります。
灰の値は、0ですので灰は腐敗しません。なのでここの値を5や10等の値にして腐敗させてみましょう。
3013:
3014:
3015:
3016:
3017:
3018:
3019:
3020:
| "rottingModifiers": {
"temperatureCoefficients": [
0,
0,
0,
0
],
"groundCoefficient": 0 //ここの値を変更する。
|
編集例)かさばる資源の最大ストック数を増やす †
マップによっては建築を進めていくとどうしても石灰石や粘土などが大量に増えてしまい地面を覆いつくす場面が多いかと思います。そこで一度にスタックできる最大スタック量を変更する事でこの問題が解決できるかもしれません。
- 「粘土」の例
- 粘土の最大スタック数は、100なのでこれを200や300などへ変更してみます。もちろんそれ以上でも可能ですが最大値の確認はしていませんのでもっと増やしたい方は各自確認してみてください。
2039:
2040:
2041:
2042:
2043:
| {
"resourceId": "clay",
"weight": 1,
"stackingLimit": 100, //ここの値を変更する。
"hitpoints": 200,
|
- 「石灰石」の例
- こちらも同じく最大スタック数は100なので、200や300などへ変更してみます。もちろんそれ以上でも可能ですが最大値の確認はしていませんのでもっと増やしたい方は各自確認してみてください。
2069:
2070:
2071:
2072:
2073:
| {
"resourceId": "limestone",
"weight": 1,
"stackingLimit": 100,
"hitpoints": 300,
|
アイテムの編集(生産品のレシピ関連) †
Production.jsonを編集する事で、生産品のレシピや対応ジョブ、対応設備、生産のスピードの編集をすることができます。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Resources\Production.json
主なパラメータの説明 †
Production.jsonで使用されている各種パラメータの説明になります。
注意点として、各値に整数を設定する場合は小数点を付けないようにしてください。
例)OK=1、NG=1.0
- productionId
- 生産品の名称になります。多くの場合、その資源の英語表記が使われていますので、テキストエディタの検索機能などを利用して目的の資源を参照してください。
※こちらの値はゲーム固有の値となりますので、絶対に変更しないでください。
- interruptible
- 生産に際して、一番最初に対応した人以外の住民が割り込んで作業できるかどうかを判断します。trueはOK、falseはNGになります。
- jobType
- 生産できるジョブの種類になります。
- autoSpawn
- 詳細は不明ですが、名称から推測すると生産を行った際に、自動的に生産品が地面へ置かれるかどうかの判定になるかと思われます。
※通常、生産が完了すると生産品が設備の周りに置かれます。
- passive
- 詳細は不明です。
- produced
- 生産する生産品をすることができます。
※副産物など、複数の生産品を指定することもできます。
- recipe
- 生産品のレシピを設定することができます。
- productionSteps
- 生産品をどの施設で生産するのか、また生産スピードや必要スキルなどを設定することができます。
編集例)生産品のレシピを変更する †
生産品のレシピを変更してみます。
- 「豪華な料理」の例
- 通常ですと豪華な料理は、料理の具材(id=128)が12個、薬草(id=herbs)が1個、燃料(id=131072)が1個必要になります。
1006:
1007:
1008:
1009:
1010:
1011:
1012:
1013:
1014:
1015:
1016:
1017:
1018:
1019:
| "recipe": [
{
"id": 128, //料理の具材
"value": 12
},
{
"id": "herbs", //薬草
"value": 1
},
{
"id": 131072, //燃料
"value": 1
}
],
|
これを、料理の具材(id=128)が10個、薬草(id=herbs)は不要、燃料(id=131072)が1個必要という条件に変更してみます。
1006:
1007:
1008:
1009:
1010:
1011:
1012:
1013:
1014:
1015:
| "recipe": [
{
"id": 128, //料理の具材
"value": 10
},
{
"id": 131072, //燃料
"value": 1
}
],
|
編集例)死体の準備・焼却時間を編集し骨を減らす †
死体の準備・焼却時間を増減します。死体が増えると腐食や腐敗が進行し、骨が大量に発生してしまう問題がありますが、死体の準備・焼却時間を減らし迅速に死体を減らすことで骨の大量発生を抑制します。
- 死体の準備時間を減らす例
- burn_body内のpreparingCarcass(1633行目):通常productionTimeは、5に設定されていますがこれを変更します。値が低いほど早く準備します。
1633:
1634:
| "name": "preparingCarcass",
"productionTime": 5, //ここの値を変更します。
|
- 死体の焼却時間を減らす例
- burn_body内のburningCarcass(1645行目):通常productionTimeは、300に設定されていますがこれを変更します。値が低いほど早く焼却されます。
1645:
1646:
| "name": "burningCarcass",
"productionTime": 300 //ここの値を変更します。
|
アイテムの編集(装備品) †
Equipment.jsonを編集する事で、住民が装備できる装備品(兜、鎧、近接武器、射撃武器)の編集を行うことができます。
本項目を利用するうえで注意しなければいけない点として、編集した装備品は「住民だけでなく敵も装備する」という点です。例えば、クロスボウの数値を編集し、敵を一撃で倒せるくらいまで強くしたとします。その場合、敵も同じくクロスボウを装備していると、攻撃を受けた味方は一撃で倒されてしまいます。編集する際は、以上の事を理解したうえで十分に注意してく編集してください。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Items\Equipment.json
クロスボウの挙動を弓と同じに変更する †
クロスボウは弓と違って、狙いをつける時間無しに即発射してからリロード時間に入る。悪用すれば、リロード時間を移動やターゲット変更でキャンセルして連射することができたり、そのつもりが無かったとしても、複数のクロスボウで一人の敵を狙ったがためターゲットが即死してしまい、ターゲット変更からのリロード時間無しで次弾発射、ということが起きる。これを修正することで、クロスボウが強すぎるゲームバランスに変化を与える。
ファイル内にある、
"weaponType": 2,
となっている部分をすべて、
"weaponType": 1,
に書き換える。テキストエディタの置換を使えばラク。
ウェポンタイプの1が弓系を意味し、2がクロスボウ系を意味するので、逆に弓系アイテムのタイプをすべて2にすることで、弓でもクロスボウの挙動を取らせることもできる。
装備アイテムの性能を変更する †
前項から引き続き。ファイル内には、衣服から戦争用装備までの全ての装備のデータがまとめられている。これを編集することで、以下のようなことが可能になる。
- ダガーのitemTypeを3*1に、equipmentSlotsを2*2に、carryHandを2*3に変更すると、左手に装備することができる。
- 見た目が良いだけで、とくに戦闘に役に立ったりはしない。ショートソードを右手に装備すれば二刀流になる。
- ダガーをメイン武器とする襲撃者が素手攻撃扱いになってしまう。かといってitemTypeを1のままにすると、右手に装備した武器の性能がダガーのものに上書きされてしまう。
- 盾のcover値を1.5~2倍にする
- 盾持ちの戦士が格段に硬くなり、特に射撃に対する防御力が大幅に向上する。
- 近接武器のをignoresArmorを増やす、もしくは射撃武器のignoresArmorを減らす
- ignoresArmor(防具貫通)は相手の防具を無視する割合ではなく、防具を着用している対象へのHPダメージ倍率を意味する。*4。敵が何らかの防具を着用しているかぎり、その防具が鋼プレートであろうが、もろい革鎧であろうが、ignoresArmorの高い武器が、より高いダメージを叩き出す。
- 例1:攻撃力20.0、防具貫通0.6の武器を使った場合
- 防具を着用していない敵に与えるダメージは20.0×1.0=20
- 防御力10%のもろい革鎧着用の敵に与えるダメージは20.0×0.6×(1.0-0.1)=10.8
- 防御力40%の鉄プレート鎧着用の敵に与えるダメージは20.0×0.6×(1.0-0.4)=7.2
- 例2:攻撃力20.0、防具貫通0.9の武器を使った場合
- 防具を着用していない敵に与えるダメージは20.0×1.0=20
- 防御力10%のもろい革鎧着用の敵に与えるダメージは20.0×0.9×(1.0-0.1)=16.2
- 防御力40%の鉄プレート鎧着用の敵に与えるダメージは20.0×0.9×(1.0-0.4)=10.8
- 近接武器のignoresArmorは平均0.6程度であるのに対し、射撃武器のignoresArmorは0.8~0.9と、約1.5倍であり、射撃武器が強い原因のひとつになっている。
- 上記以外にも、装備のステータスを変更することで、自分好みのバランス修正を施したり、あるいは1発で999ダメージを与えるチートクロスボウ(敵が使用する恐れもある)を作ったり、創意工夫でゲームの楽しみ方を広げることができる
本来製作できないアイテムを製作できるようにする(json編集慣れた人向け) †
もはや自作MODの領域ですが、一応メタルシールドを製作レシピに加えることに成功したので概要だけ紹介します。
解説が抽象的でわかりにくいのは説明が面倒くさいのと気軽にマネして失敗するとゲームが動作不能になる可能性があるためです。
必ずバックアップをとってから実装してください。
- 目的 武具職人の作業台でメタルシールドを製作できるようにする。
- 作業その1 メタルシールドのレシピを作る
- C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Resources\Production.jsonを編集
- このjsonファイルには製作可能なアイテムのレシピが記述されている。
- アーリーアクセス現在、メタルシールドのレシピが存在しないので、タワーシールドのレシピを真似しながら自作する。
- ダガーのように元からレシピが存在するものはこの手順を省略する。
- 作業その2 (任意)研究でレシピがアンロックされるようにする。
- C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Research\Research.json
- このjsonファイルには研究ツリーのつながりと、必要な本の数、何がアンロックされるのか、が記述されている。
- 例として盾IIIの研究でアンロックされるようにするならば、"tower_shield"の次の行に、「作業その1で作った"ID"」を記入する。コンマ「,」を忘れずに。
- 武具職人の作業台で製作できるものリストにメタルシールドのレシピを記入する。
- C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Constructable\ProductionBuildings.json
- ここまで順調に編集できているなら、あとはjsonの内容を読み、しかるべき箇所にメタルシールドのIDを入れれば完成です。コンマ「,」を忘れずに。
難易度の変更 †
DifficultyMultipliers.jsonを編集する事により、敵の襲撃人数などを変更することができます。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Data\DifficultyMultipliers.json
編集例)襲撃時の敵人数を調整する †
襲撃時の人数が物足りない、もしくは多すぎるという場合に、襲撃人数の計算値を変更することができる。
Key値「0」が最低難易度、Key値「4」が最高難易度を意味している。value値が襲撃の強度を決める倍数らしく、数値を増やせば敵の人数が増え、逆なら減る。
あまり上げすぎると、内部でオーバーフローを起こしているのか襲撃人数が一人になったため、バニラ最高難易度の値である3を超えないようにするのが良いか。
住民の基本情報の変更 †
WorkerBase.jsonを編集する事により、住民の基本情報を編集することができます。
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Worker\WorkerBase.json
編集例)住民が一度に運べる運搬量の編集 †
住民が一度に運べる運搬量を編集します。通常は、60の値に設定されています。
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
| {
"repository": [
{
"id": "worker",
"cantWalkOnTags": [2, 8],
"passionMultipliers": [
1,
2.5,
4
],
"storageBase": {
"capacity": 60 //この部分を変更します。
},
|
棚類(ストレージ)の収納容量や種類を変更する※[experimental版] †
UniversalStorage.jsonを編集する事により、各棚類の収納容量や種類を変更する事ができます。
なお、棚類(ストレージ)自体の定義については、同フォルダ内の「Furniture.json」にて設定されています。
| 本項は、2021年7月19日現在、experimental版のみに適用される項目です。 |
ファイルの場所 †
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Constructables\UniversalStorage.json
編集例)武器置き棚の最大容量の変更と種類の追加 †
武器置き棚の収納数を5つまで置けるように変更と、武器以外に薬を置けるようにする。
- 通常は以下の状態になっています。
27:
28:
29:
30:
31:
32:
33:
34:
35:
| {
"id": "weapon_storage",
"maxPileCount": 3, //ここの値を 5へ変更する。
"storableResourceGroups": [
"WarfareShield",
"WarfareWeaponMelee",
"WarfareWeaponRanged" //この次の行に薬の値を追加する。
]
},
|
- 変更後は、この様になります。
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
| {
"id": "weapon_storage",
"maxPileCount": 5, // 5へ変更
"storableResourceGroups": [
"WarfareShield",
"WarfareWeaponMelee",
"WarfareWeaponRanged", // カンマ「,」を忘れないこと
"Medicine" //薬を追加
]
},
|