地域設定

region_settings は、地域全体のマップ生成に適用される属性を定義します。一般設定では、デフォルトのオーバーマップ地形と地表被覆を定義します。その他のセクションは次のとおりです。

セクション 説明
region_terrain_and_furniture 地域用の地形や家具を実際の種類へ解決する方法を定義します。
field_coverage field オーバーマップ地形を覆う植物相を定義します。
overmap_lake_settings 地域内に湖を生成するためのパラメーターを定義します。
overmap_forest_settings 地域内に森林や沼地を生成するためのパラメーターを定義します。
forest_mapgen_settings forest 地形を覆う植物相(およびその他の「もの」)を定義します。
forest_trail_settings 林道のオーバーマップ上およびローカルマップ上の構造を定義します。
city 都市の構造的な構成を定義します。
map_extras オーバーマップ地形から参照されるマップ追加要素グループを定義します。
weather 地域の基本的な天候属性を定義します。
overmap_feature_flag_settings オーバーマップの特徴のフラグに基づいて実行する処理を定義します。

デフォルト地域では、すべての属性とセクションが必須であることに注意してください。

フィールド

識別子 説明
type 種類の識別子。"region_settings" でなければなりません。
id この地域の一意な識別子。
default_oter この地域のデフォルトのオーバーマップ地形。
default_groundcover デフォルトの地表被覆として適用される地形の種類と重みのリスト。

例

{
  "type": "region_settings",
  "id": "default",
  "default_oter": "field",
  "default_groundcover": [
    ["t_grass", 4],
    ["t_dirt", 1]
  ]
}

地域の地形 / 家具

region_terrain_and_furniture セクションは、地域用の地形や家具を、その地域における実際の地形や家具の種類へ解決する方法を定義します。各地形および家具の項目には重み付きリストがあり、マップ生成時に地域用の項目を実際の項目へ解決する際の相対的な重みを定義します。

フィールド

識別子 説明
terrain 地域用の地形と、それぞれに対応する重み付きリスト。
furniture 地域用の家具と、それぞれに対応する重み付きリスト。

例

{
  "region_terrain_and_furniture": {
    "terrain": {
      "t_region_groundcover": {
        "t_grass": 4,
        "t_grass_long": 2,
        "t_dirt": 1
      }
    },
    "furniture": {
      "f_region_flower": {
        "f_black_eyed_susan": 1,
        "f_lily": 1,
        "f_flower_tulip": 1,
        "f_flower_spurge": 1,
        "f_chamomile": 1,
        "f_dandelion": 1,
        "f_datura": 1,
        "f_dahlia": 1,
        "f_bluebell": 1
      }
    }
  }
}

フィールドの被覆

field_coverage セクションは、field オーバーマップ地形を覆う植物相を構成する家具と地形を定義します。

フィールド

識別子 説明
percent_coverage オーバーマップ地形内で植物が存在するタイルの割合(%)。
default_ter 植物用のデフォルト地形要素。
other default_ter が使用されない場合に、指定した確率(%)で配置される要素のリスト。
boost_chance 植物の成長が強化されるフィールドオーバーマップ地形の割合(%)。
boosted_percent_coverage 成長が強化された場所のうち、植物が存在するタイルの割合(%)。
boosted_other 成長が強化された場所で default_ter が使用されない場合に、指定した確率(%)で配置される要素のリスト。
boosted_other_percent boosted_percent_coverage のうち、boosted_other で覆われる割合(%)。

例

{
  "field_coverage": {
    "percent_coverage": 0.9333,
    "default_ter": "t_shrub",
    "other": {
      "t_shrub_blueberry": 0.4166,
      "t_shrub_strawberry": 0.4166,
      "f_mutpoppy": 8.3333
    },
    "boost_chance": 0.833,
    "boosted_percent_coverage": 2.5,
    "boosted_other": {
      "t_shrub_blueberry": 40.0,
      "f_dandelion": 6.6
    },
    "boosted_other_percent": 50.0
  }
}

オーバーマップ湖設定

overmap_lake_settings セクションは、オーバーマップ上に湖を生成する際に使用する属性を定義します。これらの要素の実際の配置は、要素の境界が揃うようにすべてのオーバーマップにわたって全体的に決定されます。これらのパラメーターは主に、そのような全体的な要素をどのように解釈するかを指定します。

フィールド

識別子 説明
noise_threshold_lake [0, 1]。x > 値の場合、lake_surface または lake_shore を生成します。
lake_size_min 湖が実際に生成されるために必要な、オーバーマップ地形単位での最小サイズ。
lake_depth Z レベルで表した湖の深さ(例: -1 ~ -10)。
shore_extendable_overmap_terrain 隣接している場合に岸辺まで延長できるオーバーマップ地形のリスト。
shore_extendable_overmap_terrain_aliases 岸辺を延長する際に、別のオーバーマップ地形として扱うオーバーマップ地形。

例

{
  "overmap_lake_settings": {
    "noise_threshold_lake": 0.25,
    "lake_size_min": 20,
    "lake_depth": -5,
    "shore_extendable_overmap_terrain": ["forest_thick", "forest_water", "field"],
    "shore_extendable_overmap_terrain_aliases": [
      { "om_terrain": "forest", "om_terrain_match_type": "TYPE", "alias": "forest_thick" }
    ]
  }
}

オーバーマップ森林設定

overmap_forest_settings セクションは、オーバーマップ上に森林や沼地を生成する際に使用する属性を定義します。これらの要素の実際の配置は、要素の境界が揃うようにすべてのオーバーマップにわたって全体的に決定されます。これらのパラメーターは主に、そのような全体的な要素をどのように解釈するかを指定します。

フィールド

識別子 説明
noise_threshold_forest [0, 1]。x > 値の場合、forest を生成します。
noise_threshold_forest_thick [0, 1]。x > 値の場合、forest_thick を生成します。
noise_threshold_swamp_adjacent_water [0, 1]。水域の近くにある森林で x > 値の場合、forest_water を生成します。
noise_threshold_swamp_isolated [0, 1]。水域から離れた森林で x > 値の場合、forest_water を生成します。
river_floodplain_buffer_distance_min 河川の氾濫原における、オーバーマップ地形単位での最小緩衝距離。
river_floodplain_buffer_distance_max 河川の氾濫原における、オーバーマップ地形単位での最大緩衝距離。

例

{
  "overmap_forest_settings": {
    "noise_threshold_forest": 0.25,
    "noise_threshold_forest_thick": 0.3,
    "noise_threshold_swamp_adjacent_water": 0.3,
    "noise_threshold_swamp_isolated": 0.6,
    "river_floodplain_buffer_distance_min": 3,
    "river_floodplain_buffer_distance_max": 15
  }
}

森林マップ生成設定

forest_mapgen_settings セクションは、森林(forest、forest_thick、forest_water)地形を生成する際に使用する属性を定義します。これにはアイテム、地表被覆、地形、家具が含まれます。

全体構造

最上位の forest_mapgen_settings は、名前付き設定の集合です。各項目は、その設定が適用されるオーバーマップ地形の名前(forest、forest_thick、forest_water など)を持ちます。森林マップ生成の対象ではないオーバーマップ地形用の設定も定義でき、森林地形と他の種類の地形を混合する際に使用されます。

{
  "forest_mapgen_settings": {
    "forest": {},
    "forest_thick": {},
    "forest_water": {}
  }
}

各地形には、マップ生成を制御する独立した設定値一式があります。

フィールド

識別子 説明
sparseness_adjacency_factor 隣接地形との相対値によって、このオーバーマップ地形がどの程度まばらになるかを制御します。
item_group オーバーマップ地形内にアイテムをランダム配置するために使用するアイテムグループ。
item_group_chance アイテムが配置される確率(1 ~ 100%)。
item_spawn_iterations アイテム生成を呼び出す回数。
clear_groundcover このオーバーマップ地形に対して以前に定義された groundcover をすべて消去します。
groundcover 基本の地表被覆に使用する地形の重み付きリスト。
clear_components このオーバーマップ地形に対して以前に定義された components をすべて消去します。
components 配置される地形や家具を構成する構成要素の集合。
clear_terrain_furniture このオーバーマップ地形に対して以前に定義された terrain_furniture をすべて消去します。
terrain_furniture 地形に基づいて条件付きで配置される家具の集合。

例

{
  "forest": {
    "sparseness_adjacency_factor": 3,
    "item_group": "forest",
    "item_group_chance": 60,
    "item_spawn_iterations": 1,
    "clear_groundcover": false,
    "groundcover": {
      "t_grass": 3,
      "t_dirt": 1
    },
    "clear_components": false,
    "components": {},
    "clear_terrain_furniture": false,
    "terrain_furniture": {}
  }
}

構成要素

構成要素は、名前、処理順、確率、種類の集合を持つオブジェクトの集合です。マップ生成時には、指定された順に抽選され、特定の場所へ配置する要素が選ばれます。構成要素の名前が意味を持つのは、地域オーバーレイで上書きする場合だけです。

フィールド

識別子 説明
sequence 構成要素が処理される順序。
chance この構成要素から何かが配置される確率(X 分の 1)。
clear_types この構成要素に対して以前に定義された types をすべて消去します。
types この構成要素を成す地形と家具の重み付きリスト。

例

{
  "trees": {
    "sequence": 0,
    "chance": 12,
    "clear_types": false,
    "types": {
      "t_tree_young": 128,
      "t_tree": 32,
      "t_tree_birch": 32,
      "t_tree_pine": 32,
      "t_tree_maple": 32,
      "t_tree_willow": 32,
      "t_tree_hickory": 32,
      "t_tree_blackjack": 8,
      "t_tree_coffee": 8,
      "t_tree_apple": 2,
      "t_tree_apricot": 2,
      "t_tree_cherry": 2,
      "t_tree_peach": 2,
      "t_tree_pear": 2,
      "t_tree_plum": 2,
      "t_tree_deadpine": 1,
      "t_tree_hickory_dead": 1,
      "t_tree_dead": 1
    }
  },
  "shrubs_and_flowers": {
    "sequence": 1,
    "chance": 10,
    "clear_types": false,
    "types": {
      "t_underbrush": 8,
      "t_shrub_blueberry": 1,
      "t_shrub_strawberry": 1,
      "t_shrub": 1,
      "f_chamomile": 1,
      "f_dandelion": 1,
      "f_datura": 1,
      "f_dahlia": 1,
      "f_bluebell": 1,
      "f_mutpoppy": 1
    }
  }
}

地形上の家具

地形上の家具は、地形 ID の集合です。通常のマップ生成が完了した後、指定された確率で、該当地形用の重み付きリストから家具を選んでその地形上に配置します。たとえば、沼地の淡水上にガマを配置するために使用されます。ガマを単に components セクションへ含め、通常の森林マップ生成中に配置することもできますが、その方法では淡水上だけに配置される保証がありません。この仕組みなら淡水上だけに配置できます。

フィールド

識別子 説明
chance この構成要素から家具が配置される確率(X 分の 1)。
clear_furniture この地形に対して以前に定義された furniture をすべて消去します。
furniture この地形上に配置される家具の重み付きリスト。

例

{
  "t_water_sh": {
    "chance": 2,
    "clear_furniture": false,
    "furniture": {
      "f_cattails": 1
    }
  }
}

森林道設定

forest_trail_settings セクションは、森林内に道を生成する際に使用する属性を定義します。これには、道が生成される確率、道同士の接続、登山口が生成される確率、およびマップ生成時の実際の道幅や位置に関する一般的な調整が含まれます。

フィールド

識別子 説明
chance 連続した森林に道網が存在する確率(X 分の 1)。
border_point_chance 森林の最北端、最南端、最東端、最西端の点が道網の一部になる確率(X 分の 1)。
minimum_forest_size 道網を生成できるようになる、連続した森林の最小サイズ。
random_point_min 道網の形成に使用する、連続した森林内のランダムな点の最小数。
random_point_max 道網の形成に使用する、連続した森林内のランダムな点の最大数。
random_point_size_scalar 森林のサイズをこの値で除算し、ランダムな点の最小数に加算します。
trailhead_chance フィールド付近の道の終端に登山口が生成される確率(X 分の 1)。
trailhead_road_distance 登山口を生成できる、道路からの最大距離。
trail_center_variance マップ生成時の道の中心を、X 軸と Y 軸のそれぞれについて +/- この値の範囲でランダムにずらします。
trail_width_offset_min マップ生成時の道幅を rng(trail_width_offset_min, trail_width_offset_max) の値だけずらします。
trail_width_offset_max マップ生成時の道幅を rng(trail_width_offset_min, trail_width_offset_max) の値だけずらします。
clear_trail_terrain 以前に定義された trail_terrain をすべて消去します。
trail_terrain 道に使用する地形の重み付きリスト。
trailheads 登山口として配置されるオーバーマップスペシャルまたは都市建造物の重み付きリスト。

例

{
  "forest_trail_settings": {
    "chance": 2,
    "border_point_chance": 2,
    "minimum_forest_size": 100,
    "random_point_min": 4,
    "random_point_max": 50,
    "random_point_size_scalar": 100,
    "trailhead_chance": 1,
    "trailhead_road_distance": 6,
    "trail_center_variance": 3,
    "trail_width_offset_min": 1,
    "trail_width_offset_max": 3,
    "clear_trail_terrain": false,
    "trail_terrain": {
      "t_dirt": 1
    },
    "trailheads": {
      "trailhead_basic": 50
    }
  }
}

都市

city セクションは、都市内の建造物として使用できるオーバーマップ地形とスペシャル、それぞれが配置される重み付き確率、および各種建造物の相対的な配置を制御する一部の属性を定義します。

フィールド

識別子 説明
type 都市の種類を示す識別子。現在は使用されていません。
shop_radius 店舗配置の半径方向の頻度。値が小さいほど店舗が多くなります。
park_radius 公園配置の半径方向の頻度。値が小さいほど公園が多くなります。
houses 住宅として使用するオーバーマップ地形とスペシャルの重み付きリスト。
parks 公園として使用するオーバーマップ地形とスペシャルの重み付きリスト。
shops 店舗として使用するオーバーマップ地形とスペシャルの重み付きリスト。

店舗、公園、住宅の配置

指定された場所に配置する建造物を選ぶ際、ゲームは都市のサイズ、その場所から都市中心部までの距離、最後に地域の shop_radius と park_radius の値を考慮します。その後、店舗、公園、住宅の順に配置を試みます。店舗または公園を配置する確率は、rng( 0, 99 ) > X_radius * distance from city center / city size という式に基づきます。

例

{
  "city": {
    "type": "town",
    "shop_radius": 80,
    "park_radius": 90,
    "houses": {
      "house_two_story_basement": 1,
      "house": 1000,
      "house_base": 333,
      "emptyresidentiallot": 20
    },
    "parks": {
      "park": 4,
      "pool": 1
    },
    "shops": {
      "s_gas": 5,
      "s_pharm": 3,
      "s_grocery": 15
    }
  }
}

マップ追加要素

map_extras セクションは、オーバーマップ地形の extras プロパティから参照できる、名前付きのマップ追加要素の集合を定義します。マップ追加要素とは、定義済みのマップ生成に重ねて適用される特殊なマップ生成イベントです。このセクションには、追加要素が発生する確率と、追加要素の重み付きリストの両方が含まれます。

フィールド

識別子 説明
chance オーバーマップ地形にマップ追加要素が生成される確率(X 分の 1)。
extras 生成可能なマップ追加要素の重み付きリスト。

例

{
  "map_extras": {
    "field": {
      "chance": 90,
      "extras": {
        "mx_helicopter": 40,
        "mx_portal_in": 1
      }
    }
  }
}

天候

weather セクションは、その地域で使用する基本的な天候属性を定義します。

フィールド

識別子 説明
spring_temp 地域の春半ばの気温(摂氏)。
summer_temp 地域の夏半ばの気温(摂氏)。
autumn_temp 地域の秋半ばの気温(摂氏)。
winter_temp 地域の冬半ばの気温(摂氏)。
base_humidity 地域の基本湿度(相対湿度 %)。
base_pressure 地域の基本気圧(ミリバール)。
base_acid 地域の基本酸性度(? 単位)。1 以上の値は酸性とみなされます。
base_wind 地域の基本風速(mph)。おおよその年間平均です。
base_wind_distrib_peaks 風速のピークがどの程度高くなるかを指定します。値が大きいほど風の強い日が増えます。
base_wind_season_variation 季節による風の変動度。値が小さいほど変動が大きくなります。
weather_types この地域で許可される天候タイプの ID。最初の値がデフォルトの天候タイプになります。宣言順序は天候の選択に影響します。詳細は WEATHER_TYPE.md を参照してください。

例

{
	"weather": {
		"spring_temp": 7,
		"summer_temp": 16,
		"autumn_temp": 6,
		"winter_temp": -14,
		"base_humidity": 66.0,
		"base_pressure": 1015.0,
		"base_acid": 0.0,
		"base_wind": 5.7,
		"base_wind_distrib_peaks": 30,
		"base_wind_season_variation": 64,
		"base_acid": 0.0,
		"weather_types": [
			"clear",
			"sunny",
			"cloudy",
			"light_drizzle",
			"drizzle",
			"rain",
			"thunder",
			"lightning",
			"acid_drizzle",
			"acid_rain",
			"flurries",
			"snowing",
			"snowstorm"
		]
	},
	}
}

オーバーマップ特徴フラグ設定

overmap_feature_flag_settings セクションは、オーバーマップの特徴に割り当てられたフラグに対して実行する処理を定義します。現在は、地域ごとに場所をホワイトリストまたはブラックリストへ登録する仕組みを提供するために使用されています。

フィールド

識別子 説明
clear_blacklist 以前に定義された blacklist をすべて消去します。
blacklist フラグのリスト。一致するフラグを持つ場所は、オーバーマップ生成から除外されます。
clear_whitelist 以前に定義された whitelist をすべて消去します。
whitelist フラグのリスト。一致するフラグを持つ場所だけが、オーバーマップ生成に含まれます。

例

{
  "overmap_feature_flag_settings": {
    "clear_blacklist": false,
    "blacklist": ["FUNGAL"],
    "clear_whitelist": false,
    "whitelist": []
  }
}

地域オーバーレイ

region_overlay を使用すると、指定した地域に適用する region_settings の値を指定し、既存の値と統合または上書きできます。変更する値だけを指定すれば十分です。

フィールド

識別子 説明
type 種類の識別子。"region_overlay" でなければなりません。
id この地域オーバーレイの一意な識別子。
regions このオーバーレイを適用する地域のリスト。"all" を指定するとすべての地域に適用されます。

その他のすべてのフィールドとセクションは、region_overlay について定義されているものと同じです。

例

[{
  "type": "region_overlay",
  "id": "example_overlay",
  "regions": ["all"],
  "city": {
    "parks": {
      "examplepark": 1
    }
  }
}]