• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Developer Diary | Military Industrial Organisations

Hello there it's me C0RAX. It's time for another feature dev diary and this week we are going to look at military industrial organisations (MIO’s).

Now we talked about the concepts of the MIO’s in the Dev corner in May but since then we have done a lot of work taking onboard internal and community feedback and from that work we have changed lots of things. This means that some of the things we talked about previously in the dev corner won't be true anymore. That's enough prefacing so let's get into it, let's see what the finished MIO’s look like.

So to reiterate what we went over in the last dev corner here is what we identified and how we wanted to improve it. Firstly we have the current model of companies in HOI.

Currently we have to provide static modifiers and sometimes change them via scripted decisions or focus rewards, this makes them very un-interactive and mostly something you click once and then forget about, it's just another modifier on your country.

By creating a more organic system to upgrade your design companies you the player can now decide what these upgrades are and tailor them to fit your playstyle. Additionally we can now reward the player for using a design company as opposed to simply having you save up a resource and click a button, rewarding you for putting effort into them.

From this we had an intent and goals established.
Intent:
  • Create a sense of a living organisation the player can interact with rather than a static bonus as with current design companies.

Goals:
  • Allow the player to define their designer direction.
  • Integrate design companies into production
  • Provide a framework for national specialisms that can be used on the world stage

So let's see what the final version of the MIO’s looks like. So firstly how do you see your MIO's? This is as simple as previously you can find your MIO’s in the political menu where you would have found the buttons to unlock design companies before.

politics menu.png


rosters.png

From here we can click on details and this will show the detailed page for that specific MIO, this is where you will upgrade that MIO as it grows in size.

details menu.png

Right so this is very different from the mock ups from the dev corner so let's go through this.

Firstly let's talk about the progression change in the middle. Previously we had 6 departments (3 design, 3 manufacture) each with their own stats and unlocks; this now has been condensed into 1 tree covering everything for the MIO. The old design was very void of narrative and feeling and often was overwhelming with choice but underwhelming in effect. By bringing everything into a tree like so with fewer actual unlocks your choices are more impactful and the compromises are clearer. The trees also allow for a narrative progression through the small advances made within companies that the bonuses provided represent.

MIO trait.png

In addition to this we have unique traits for some MIO’s that represent them having their historical unique capabilities.

unique trait.png

Departments now represent the groupings of equipment an MIO will affect this allows you to have a quick snapshot of the bonuses an MIO can and is offering so if you see an MIO with a department for medium tanks you know to expect it to give you bonuses for that and once you’ve unlocked some of those traits you will see them on the department/

departments overview.png

Now we have some entirely new things. So let's start with the initial trait. Every MIO has an initial trait this provides bonuses to that MIO always and generally designates the type of MIO so an MIO such as supermarine has the initial trait agility fighter this tells us this MIO is focused around agility for small aircraft and the initial bonuses will also be for that

initial trait.png


initial trait 2.png

Next we have policies, policies are mid upgrade bonuses. They cost political power and provide a bonus that is outside of the normal traits you would get for the MIO. These bonuses specialise you MIO in certain directions from making it grow faster or giving bonus stats or building faster. Once you select a policy you cannot change it for 180 days so you need to make sure you’re selecting the ones you need for each MIO because they are long term choices.

policies 1.png


policies 2.png


policies 3.png


policies 4.png


Now we will get onto using the MIO’s, so as detailed before in the dev corner MIO’s are applied when we research now, so when you go to research something that has an applicable MIO for it you will get the option to attach an MIO for a small PP income cost or to research without an MIO. MIO’s offer research time bonuses so attaching them makes the time faster and adds funds letting your MIO increase in size as you research.

If you didn’t attach on MIO or want to change the attached MIO you can also do this after researching. You can go to any equipment and create a new variant and attach or change the MIO on the equipment for a small XP cost. Once an MIO is attached to equipment it will apply to any further variants you make.

researching with mio.png


adding mio after research.png


adding mio after research 2.png


adding mio after research 3.png

However the MIO attached to equipment is a snapshot of the traits of the MIO when it was applied and must be upgraded to gain any new traits unlocked since then also for a small xp cost. This can be done via the make variant screen or via the history tab.

make variants upgrade for mio.png


The history tab in the MIO details screen shows every equipment you have with that MIO attached and any equipment currently being produced by the MIO. from here you can upgrade the MIO on the equipment up to the latest traits individually or you can upgrade all non obsolete ones with the upgrade all button. You can also upgrade all whenever you unlock a new trait via a check box.

history menu.png


upgrade equipment mios on trait unlock.png


Finally we can add mio’s in the equipment designers this works the same as with other equipment but we do when designing the equipment.

equipment designer mio application 1.png


equipment designer mio application 2.png


equipment designer mio application 3.png

Finally we have production, any production line can have an MIO attached so long as it has the equipment designed in one of its departments, most MIO’s will have production bonuses for equipment allowing for faster or more efficient production when they are attached. On top of this you also gain funds from producing equipment so building something with you MIO’s will let them increase in size faster. This is integrated into the flow when you add a new production line and can be added later simply via the production menu

add production line MIO flow 1.png

add production line MIO flow 2.png

add production line MIO flow 3.png

add mio on existing production line 1.png

add mio on existing production line 2.png

add mio on existing production line 3.png


Implementation of new MIO’s are very easy, you can create a new one or “include” and extend/modify an existing one all natively in the api.

An MIO has a basic structure like this

Code:
equipment_type = { mio_cat_eq_all_light_tank mio_cat_eq_all_medium_tank }
research_categories = { mio_cat_tech_light_armor_and_modules mio_cat_tech_medium_armor_and_modules }

This acts to tell the MIO what equipment it will be affecting with traits and which tech categories it will be applicable to. Here we are using a new type of collection for MIOs equipment categories; these are script defined sets of equipment types that allow you to reference all of them with a single token instead of having to declare each one individually for every instance.


Code:
initial_trait = {
        name = generic_mio_initial_trait_standardized_production
 
        equipment_bonus = {
            armor_value = -0.05
            defense =-0.05
        }
 
        production_bonus = {
            production_cost_factor = -0.1
        }
    }

Next we are defining the initial trait that is modifiers that the MIO starts with, these can affect the equipment modifiers, production modifiers or MIO modifiers like fund gain or research bonus speed.

Code:
trait = {
        token = generic_mio_trait_simplified_suspension
        name = generic_mio_trait_simplified_suspension
        icon = GFX_generic_mio_trait_icon_reliability

        position = { x=1 y=0 }
 
        equipment_bonus = {
            reliability = 0.05
        }
    }
 
trait = {
        token = generic_mio_trait_crew_ergonomics
        name = generic_mio_trait_crew_ergonomics
        icon = GFX_generic_mio_trait_icon_maximum_speed

        position = { x=4 y=0 }
        relative_position_id = generic_mio_trait_simplified_suspension
 
        equipment_bonus = {
            maximum_speed = 0.02
            defense = 0.02
        }
    }

trait = {
        token = generic_mio_trait_improved_tracks
        name = generic_mio_trait_improved_tracks
        icon = GFX_generic_mio_trait_icon_maximum_speed

 
        position = { x=0 y=2 }
        relative_position_id = generic_mio_trait_simplified_suspension
 
        any_parent = { generic_mio_trait_simplified_suspension }

        equipment_bonus = {
            reliability = 0.05
            maximum_speed = 0.05
        }
    }

Now we are defining the traits we can declare where they exist on the trait grid and if they have any parents that they connect to and what parents are needed for the trait to be accessible. As above we have the any_parent trigger. We can also do things like mutual exclusivity and other things expected from hoi4’s trees.

When creating traits we don't always have to affect everything, we can limit a trait to only affect specific equipment. By using the “limit_to_equipment_type” we can select an equipment type that MUST be contained in the “equipment_type” categories defined.

Code:
tree_header_text = {
        text = mio_header_tank_construction
        x = 3
    }

Finally for normal MIO setup we have headers, these are text entries that you can position on the grid. They will always be above a trait on the same grid location and are fixpoints numbers so can go between grids.

Now that works great for a new MIO but now let's talk about taking an existing one and expanding on it to make it a bit more unique without having to duplicate this for every MIO.

Code:
include = generic_medium_tank_organization

This include line will take all the script from the defined MIO and use it for this new MIO; we can now modify this include as well. We can simply declare non trait values normally and they will override just like with parenting in other parts of hoi4’s scripting. However for traits since they are a tree they need to have some explicit commands.

Code:
add_trait = {
        token = ENG_mio_trait_expanded_turret_capacity
        name = ENG_mio_trait_expanded_turret_capacity
        icon = GFX_generic_mio_department_icon_tank_medium_tank_engine
        special_trait_background = yes

        position = { x=1 y=1 }
        relative_position_id = generic_mio_trait_all_round_cupola

        any_parent = { generic_mio_trait_all_round_cupola }
        limit_to_equipment_type = { mio_cat_eq_all_medium_tank }

        equipment_bonus = {
            reliability = 0.05
            armor_value = 0.05
            breakthrough = 0.05
        }
    }

Here we can see we have used the add trait line to add another tree to the tree just for this MIO, we are even able here to give it a parent by using the token for a trait declared in the included MIO. in addition to add we can also “remove_trait” and “override_trait” if we wish.

The final part I'll talk about for trees is the allowed and available blocks. Allowed & available works just like any other in the game. We can lock MIO’s for any reason. So if you want to stop a trait from being available because of a decision or national focus you can do this. And allows you to lock MIO’s to specific countries but is only run on load as with other allowed blocks.

The finally part of MIO’s is policies

Code:
mio_policy_land_cutting_corners  = {
    icon = GFX_mio_policy_cutting_corners
    allowed = {
        OR = {
            has_mio_equipment_type = armor
            has_mio_equipment_type = motorized
            has_mio_equipment_type = mechanized
            has_mio_equipment_type = anti_tank
            has_mio_equipment_type = flame
            has_mio_equipment_type = anti_air
            has_mio_equipment_type = artillery
            has_mio_equipment_type = rocket
            has_mio_equipment_type = infantry
        }
     }
    available = { has_mio_size > 5}
    equipment_bonus = {
        same_as_mio = {
            build_cost_ic = -0.1
            reliability = -0.05
            soft_attack = -0.05
            hard_attack = -0.05
            armor_value = -0.05
        }
    }
}

This is a policy in script. It's very simple to implement but we have a few special things for MIO’s. Has_mio_equipment_type is the trigger used to ask if the MIO has a specific unit type defined in “equipment_type = {....“ so this is very useful for making sure policies are only allowed or available for the mio’s you want. Finally we have same_as_mio this dynamically makes the stat bonus apply to whatever equipment was defined for “equipment_type = {....“ So we don't need to worry if the armour bonus we add with a policy is targeted against the correct equipment or cover them all, so long as we are allowing them correctly we just add the modifiers under “same_as_mio”.

That's a quick round up of most of the core parts of MIO’s from a modding standpoint but feel free to ask questions if there's something still unclear.


That's everything for this week as always feel free to ask questions about this feature and I'll do my best to answer them. Later this week we will be looking at the International Market feature. I hope to see you there. C0RAX Out.
 
  • 59Like
  • 16Love
  • 6
  • 1Haha
  • 1
Reactions:
Reserved for Developer Replies~

C0RAX replies;
Awesome! May I ask if there will be any policies unique for specific countries or for specific ideology?
not right now, but there's nothing stopping them from being added
Is attaching a MIO to a production Line costing PP ?

Also, if a MIO gives 5% more speed to small planes, 5% to small and medium planes, and 5% to small, medium and large planes, do this mean small planes will get 15% more speed ?

If so, I can already feel the smell of OP combinations
no and yes
I only see one MIO here, I assume this Is just the case for (I'm assuming) Finland? Will other nations have multiple MIOs or only one?
absolutely
1695821427812.png

1695821458059.png


1695821492153.png

Not attach to much value to a specific sentence because subject to change and all that, but "supermarine has the initial trait agility fighter this tells us this MIO is focused around agility for small aircraft and the initial bonuses will also be for that" Seems to imply that some MIO's have unchangeable initial bonuses that are focused on potentially low value of "useless" stats (Last I know of air combat is that agility is pretty useless these days).

Which would mean these MIOs would probably never be picked over one that changes a "high value" stat as its initial bonus, this sounds to me like it would operate the same as the current designers where you just pick the "good one" but now with more clicks.

I was hoping for something more dynamic than this cause this seems like it would just result in knowing "the right one" to pick and maxing it out without really putting any thought into it or making strategic decisions much like the plane and tank designers have turned out.
Obviously community minmaxing/metas are always gonna happen but I feel like HOI suffers from it more than a lot of other games.

I also have a question, how unique are the traits? does every org have 1 starting bonus and all the other traits are identical over different orgs or does every org have a completely different trait tree from any other one?
Click to expand...
so currently and this could change high agility fighter initially gives these bonuses
1695821825672.png


Every high agility fighter MIO will have the same Base tree but may have 2-3 additional traits and sometimes the initial trait will be different, but there's no real limit to how different they can be other than time.

Here is Supermarine as an example with a fully unlocked tree (ignore the size I cheated to get funds) it has 3 unique traits in gold and one of the unique things Supermarine can do compared to other agility fighter MIO's is affect Naval patrol bombers due to their history with sea planes.

1695822078318.png


This is very cool. I hadn’t considered this as a point of expansion until the dev corner, but it seems quite deep and will add more layers to the game. I’m still not sure I understand the benefits and costs of the different ways MIOs can be used (research vs variant vs production), and, as has been said before by Arheo, equipment adjustment is pretty saturated, but it’s at least interesting to see that there are many options here.

Questions:
1. Can multiple MIOs of a type (armor, etc) be active at once?
2. What are MIO capacity limits? I.e., can one MIO only be attached to x number of research slots at a time? Or x number of variants, or production lines?

Minor neurotic criticism: The order of the MIO types in the country panel is not the same as the order of the MIO types in the MIO popup o_O

Pretty good DD, but would like to understand better what sort of challenges we are going to face.
Click to expand...
  1. yes, there is no active MIO's anymore just equipment, research and production with attached mio's
  2. they have been turned off as they where no what we wanted but they can be turned back on via the defines file if modders wish to use that functionality
I really don't get why each type of aircraft didn't get its own category to be fair...

it's weird that any upgrade to a quad bomber will also affect small planes, even if the company/MIO never built any

Could you explain a bit the logic behind this choice ?

EDIT : I see another exploit :

If I wait the last day of each research before assigning the MIO, will I still get the funds from research ? It will basically give free funds at every tech, without paying the PP tax
that's exactly how it works, an MIO has equipment is can affect but you can also have traits target only specific equipment into side those sets so an MIO could be for all plane sizes but have a trait only affect the light planes. the only limitation on this is the trait must affect an equipment type contained within the departments defined. most of the MIOs are for only one size of aircraft with a couple exceptions but its fully controllable and is mostly.
Thanks for the answer, a further question.

Those are pretty large bonuses, has any balancing been done regarding the interacting of these way higher stat pieces of equipment with the rest of the game? Or is the idea that if everyone gets the bonuses they would mostly cancel each other out?
It should most cancel out, but we've had testing both internally and with some external people and have so far not seen any major issues.

I see in the screenshots you're producing "early truck"... does this mean we're getting tech tree changes for trucks, adding in more truck techs?
We’ve seen in one of the early DDs that truck tech is split into 2, but no word yet on the difference between them.
Early truck?
Does it mean will be tech levels for motorized?

just an early truck, its just a worse truck for the same cost of the normal truck

1695825624276.png

How will MIOs interface with idea-based design companies? My understanding is that MIOs are DLC locked, so will the old 4 designer slots just disappear for AAT owners? If so, I’m assuming that would be moddable via interface to allow AAT owners to continue using design companies (at least until I have time for updates).
the old design companies are just ideas same as laws so you can add them in if you want, for instance we still have industrial concern even with AAT
Does assigning docyards to ships cost the same as to factories? Considering you might only produce 1 ship per line this seems expensive and annoying to micro.
Assigning an MIO to a production line doesn't cost anything, only assigning them to research which currently taxes daily pp income by 0.1pp
 
  • 8
  • 1Like
Reactions:
Is attaching a MIO to a production Line costing PP ?

Also, if a MIO gives 5% more speed to small planes, 5% to small and medium planes, and 5% to small, medium and large planes, do this mean small planes will get 15% more speed ?

If so, I can already feel the smell of OP combinations
 
  • 3Like
  • 1
Reactions:
And so, with Infantry Equipment finally being modifiable without Mods, we have come to the perfection of HoI 4. This unfortunately means I will never buy HoI 5, so let's hope for more DLCs for 4!
 
  • 5Haha
  • 1Like
Reactions:
Is attaching a MIO to a production Line costing PP ?

Also, if a MIO gives 5% more speed to small planes, 5% to small and medium planes, and 5% to small, medium and large planes, do this mean small planes will get 15% more speed ?

If so, I can already feel the smell of OP combinations
no and yes
 
  • 12
  • 3Like
Reactions:
Very interesting, I like it. I also like the synergy with the focus tree (do X focus to unlock Y trait).

P.S. Nice to see Valtion Tankkitehdas (VTT) got fixed to Valtion Panssaritehdas (VPsT). :)
 
  • 10Like
Reactions:
Not attach to much value to a specific sentence because subject to change and all that, but "supermarine has the initial trait agility fighter this tells us this MIO is focused around agility for small aircraft and the initial bonuses will also be for that" Seems to imply that some MIO's have unchangeable initial bonuses that are focused on potentially low value of "useless" stats (Last I know of air combat is that agility is pretty useless these days).

Which would mean these MIOs would probably never be picked over one that changes a "high value" stat as its initial bonus, this sounds to me like it would operate the same as the current designers where you just pick the "good one" but now with more clicks.

I was hoping for something more dynamic than this cause this seems like it would just result in knowing "the right one" to pick and maxing it out without really putting any thought into it or making strategic decisions much like the plane and tank designers have turned out.
Obviously community minmaxing/metas are always gonna happen but I feel like HOI suffers from it more than a lot of other games.

I also have a question, how unique are the traits? does every org have 1 starting bonus and all the other traits are identical over different orgs or does every org have a completely different trait tree from any other one?
 
  • 5Like
  • 1
Reactions:
This is very cool. I hadn’t considered this as a point of expansion until the dev corner, but it seems quite deep and will add more layers to the game. I’m still not sure I understand the benefits and costs of the different ways MIOs can be used (research vs variant vs production), and, as has been said before by Arheo, equipment adjustment is pretty saturated, but it’s at least interesting to see that there are many options here.

Questions:
1. Can multiple MIOs of a type (armor, etc) be active at once?
2. What are MIO capacity limits? I.e., can one MIO only be attached to x number of research slots at a time? Or x number of variants, or production lines?

Minor neurotic criticism: The order of the MIO types in the country panel is not the same as the order of the MIO types in the MIO popup o_O

Pretty good DD, but would like to understand better what sort of challenges we are going to face.
 
  • 2Like
  • 2
  • 1
Reactions:
yes and yes
I really don't get why each type of aircraft didn't get its own category to be fair...

it's weird that any upgrade to a quad bomber will also affect small planes, even if the company/MIO never built any

Could you explain a bit the logic behind this choice ?

EDIT : I see another exploit :

If I wait the last day of each research before assigning the MIO, will I still get the funds from research ? It will basically give free funds at every tech, without paying the PP tax
 
Last edited:
  • 4
Reactions:
Not attach to much value to a specific sentence because subject to change and all that, but "supermarine has the initial trait agility fighter this tells us this MIO is focused around agility for small aircraft and the initial bonuses will also be for that" Seems to imply that some MIO's have unchangeable initial bonuses that are focused on potentially low value of "useless" stats (Last I know of air combat is that agility is pretty useless these days).

Which would mean these MIOs would probably never be picked over one that changes a "high value" stat as its initial bonus, this sounds to me like it would operate the same as the current designers where you just pick the "good one" but now with more clicks.

I was hoping for something more dynamic than this cause this seems like it would just result in knowing "the right one" to pick and maxing it out without really putting any thought into it or making strategic decisions much like the plane and tank designers have turned out.
Obviously community minmaxing/metas are always gonna happen but I feel like HOI suffers from it more than a lot of other games.

I also have a question, how unique are the traits? does every org have 1 starting bonus and all the other traits are identical over different orgs or does every org have a completely different trait tree from any other one?
I do agree. I fear there won't be any incentive to develop several MIOs in the same category if you can just fully develop only one which will satisfy all needs
 
  • 2
  • 1
Reactions:
Not attach to much value to a specific sentence because subject to change and all that, but "supermarine has the initial trait agility fighter this tells us this MIO is focused around agility for small aircraft and the initial bonuses will also be for that" Seems to imply that some MIO's have unchangeable initial bonuses that are focused on potentially low value of "useless" stats (Last I know of air combat is that agility is pretty useless these days).

Which would mean these MIOs would probably never be picked over one that changes a "high value" stat as its initial bonus, this sounds to me like it would operate the same as the current designers where you just pick the "good one" but now with more clicks.

I was hoping for something more dynamic than this cause this seems like it would just result in knowing "the right one" to pick and maxing it out without really putting any thought into it or making strategic decisions much like the plane and tank designers have turned out.
Obviously community minmaxing/metas are always gonna happen but I feel like HOI suffers from it more than a lot of other games.

I also have a question, how unique are the traits? does every org have 1 starting bonus and all the other traits are identical over different orgs or does every org have a completely different trait tree from any other one?
so currently and this could change high agility fighter initially gives these bonuses
1695821825672.png

Every high agility fighter MIO will have the same Base tree but may have 2-3 additional traits and sometimes the initial trait will be different, but there's no real limit to how different they can be other than time.

Here is Supermarine as an example with a fully unlocked tree (ignore the size I cheated to get funds) it has 3 unique traits in gold and one of the unique things Supermarine can do compared to other agility fighter MIO's is affect Naval patrol bombers due to their history with sea planes.

1695822078318.png
 
  • 17
  • 4Like
Reactions: