-
-
Notifications
You must be signed in to change notification settings - Fork 665
Military Forces
Military forces, added to the Generator in version 1.3, allows to view auto-generated and setup custom regiments for states. Generation is based on population, land possessions and cultural specific, climate, diplomacy and other factors. The process is cell-based, but aggregated to Regiments level for usability purposes.
Generation rules, unit types and regiments themselves are editable and customizable. You can add fantasy, modern or ancient units, change parameters and re-generate military to let generator automatically recreate regiments. Changes specific to state or culture can be done manually on regiments level.
Regiments are displayed as state-colored boxes in a separate layer called Military (M to toggle). To edit specific Regiment click on its box. To open Military overview screen go to Tools and click on Military (hotkey: Shift + M).
To be updated...
Fantasy Map Generator regiments creation logic is pretty advanced and considers different aspects such as state diplomacy, type, culture and religion, cell biome and elevation, as well as military unit specific.
For each state War Alert is getting calculated. It shows how much state is willing to wage a war. War Alert acts as a modifier to all military forces of the state. For example if state has 1000 infantry generated and War Alert is 2, total infantry number will be 2000. War Alert rate is a combination of Expansion Fulfillment (State Expansionism / State Area) and Diplomatic alert (rate of diplomatic relations). It means that expansionist states with relatively small area get higher War Alert rate than big states will moderate expansionism. Diplomatic alert is a sum of relations rates, where bad relations increase the value, while good decrease it. Diplomatic alert is calculated separately for neighboring and all states, so relations with neighbors have more impact on War Alert. Diplomatic relations modifiers are:
Ally: -0.2, Friendly: -0.1, Neutral: 0, Suspicion: 0.1, Enemy: 1, Unknown: 0, Rival: 0.5, Vassal: 0.5, Suzerain: -0.5
War Alert is not the only state-specific modifier. The other one depends on State Type and getting applied based on hard-coded matrix:
Melee | Ranged | Mounted | Machinery | Naval | Armored | Aviation | Magical | |
---|---|---|---|---|---|---|---|---|
Generic | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Nomadic | 0.5 | 0.9 | 2.3 | 0.8 | 0.5 | 1 | 0.5 | 1 |
Highland | 1.2 | 1.3 | 0.6 | 1.4 | 0.5 | 0.5 | 0.5 | 2 |
Lake | 1 | 1 | 0.7 | 1.1 | 1.2 | 1 | 1.2 | 1 |
Naval | 0.7 | 0.8 | 0.3 | 1.4 | 1.8 | 1 | 1.2 | 1 |
Hunting | 1.2 | 2 | 0.7 | 0.4 | 0.7 | 0.7 | 0.6 | 1 |
River | 1.1 | 0.8 | 0.8 | 1.1 | 1.2 | 1.1 | 1.2 | 1 |
Some state forms have an additional modifier. Hordes get x2 mounted units, while Republics get x1.2 naval units.
The next step is to calculate troops number for each cell and burg. Calculation is done separately for every unit, considering possession-specific divider, unit percentage that is set in military options, state modifier calculated above and hard-coded unit type matrix. For example mounted units have x3 modifier in cells with nomadic biomes, while their number is reduced in highlands. The formula is:
Troops = Population_points / 100 * Possession_divider * Unit_percentage * State_mod * Unit_mod * Population_rate
Possession-specific divider is applied in 3 cases only:
- Cell culture is not state's dominant culture: divider is 1.2 for Unions and 2 for other states
- Cell religion is not state's dominant religion: divider is 2.2 for Theocracies and 1.4 for other states
- Cell is on a different island than state's center: divider is 1.2 for Naval states and 1.8 for others.
Unit-specific modifiers are applied for cells with Nomadic and Wetland biomes, and also for Highland cells (height > 70):
Melee | Ranged | Mounted | Machinery | Armored | Magical | Naval | Aviation | |
---|---|---|---|---|---|---|---|---|
Nomadic cell | 0.2 | 0.5 | 3 | 0.4 | 1.6 | 0.5 | 0.3 | 1 |
Wetland cell | 0.8 | 2 | 0.3 | 1.2 | 0.2 | 0.5 | 1.2 | 0.5 |
Highland cell | 1.2 | 1.6 | 0.3 | 3 | 0.8 | 2 | 0.3 | 0.3 |
Nomadic burg | 0.3 | 0.8 | 3 | 0.4 | 1.6 | 0.5 | 0.3 | 1 |
Wetland burg | 1.2 | 1.2 | 0.2 | 1.2 | 0.2 | 0.5 | 1.2 | 0.5 |
Highland burg | 1.2 | 2 | 0.3 | 3 | 0.8 | 2 | 0.3 | 0.3 |
Here are generic troops number for 10000 population if state modifier is 1 and standard units options and population rate are applied:
Melee | Ranged | Mounted | Machinery | Naval | |
---|---|---|---|---|---|
Generic cell | 25 | 12 | 12 | 0 | 0 |
Nomadic cell | 5 | 6 | 36 | 0 | 0 |
Wetland cell | 30 | 17 | 4 | 0 | 0 |
Highland cell | 30 | 19 | 4 | 0 | 0 |
Generic burg | 20 | 20 | 3 | 3 | 1 |
Nomadic burg | 6 | 16 | 9 | 1 | 0 |
Wetland burg | 24 | 24 | 1 | 4 | 1 |
Highland burg | 24 | 40 | 1 | 9 | 0 |
Please also note that Naval units can be generated only in port burgs.
Troops for each cell and burg form a platoon. As number of platoons is too high, they are getting sorted by troops number and aggregated to regiments based on distance between platoons and expected size. Regiment expected size is calculated by a simple formula of 3 * Population_rate
. If current regiment is big enough, new one is getting created. Then system generates names and a few details for regiments and place them on a map.