1. Hearts of Iron IV
  2. News

Hearts of Iron IV News

Arms Against Tyranny | MIO Tutorial

Generals!

We've released another Arms Against Tyranny tutorial! Get ahead of your enemies and discover the ins and outs of MIOs with this quick primer from Dijondillan

Watch it here
[previewyoutube][/previewyoutube]

Arms Against Tyranny | Updated Mods for Release!

Generals!

With the release of Arms Against Tyranny, there will be plenty of saved games and mods that will be broken as we move into the Stella Polaris patch, so if you haven't already make sure to finish up those games or backdate your versions!

However, we have been hard at work with the Modding community to make sure some of your favourite mods are up to date alongside the release of AAT! So here is your comprehensive list of mods that will be updated on the same day as the new patch;

[h3]WATCH THE REVEAL HERE[/h3]

[h3]Road to 56[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=820260968


[h3]Kaiserreich[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=1521695605


[h3]Equestria At War[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=1826643372


[h3]Millenium Dawn[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=2777392649


[h3]The New Order: Last Days of Europe[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=2438003901

[h3]Cold War Iron Curtain[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=1458561226&searchtext=

[h3]Kaisserredux: A Kaiserreich Expansion[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=2076426030&searchtext=

[h3]Old World Blues[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=2265420196&searchtext=

[h3]BlackICE Historical Immersion Mod[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=1137372539&searchtext=

[h3]Expert AI[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=741805475&searchtext=

[h3]Pax Britannica: An Imperial Timeline[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=2792132018&searchtext=

[h3]Lord of the Rings Mod[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=1314446921&searchtext=

[h3]End of a New Beginning[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=2856963714

[h3]World Ablaze[/h3]

https://steamcommunity.com/sharedfiles/filedetails/?id=2149567872


Developer Diary | International Market

Hello there it's me C0RAX. It's time for another feature dev diary and this week we are going to look at the International market.

So previously we showed this feature off in the international market dev corner and some things since then have changed. We’ve on top of this loaded the feature with brand new functionality to improve the flow and usability as well as refine the information we provide you throughout the feature. So remind ourselves let's go over what intents and goals we started with in that original dev corner.

Feature Intent & goals

Introducing a place for nations to buy and sell equipment benefiting both nations with a reward. Creating a new way for countries to contribute specialist equipment to other nations
Be able to source equipment from other nations as needed
For majors to set the global standard for common place equipment leveraging their superior economic might.

The international market acts as a one stop shop for all your equipment needs from other countries. It's an international store front, with multiple sellers being able to sell the same thing from the same store front. This means that provided you have the appropriate market access, you can go into the international market and buy tanks from the USA and planes from germany in one interface (but not 1 purchase).

The feature

So first of all, how do we get to the international market? Well, it's pretty easy. We have replaced the diplomacy button with the international market. This will take you to the home screen of the international market


You Can still access the diplomacy menu from this button at the bottom of the international market.


Now let's go buy something. The first thing we need to do is to get market access to another country. This will allow us to see what they are selling on the market. By default we have access to all of our subjects and they have access to our market.


The market access is by default automatically sent and accepted so any AI that will accept will be added to your market and you will get access to them as well meaning that you don't need to worry about missing out of a market you could have access too. You can also toggle auto accept purchase requests which will always accept other countries asking to buy your equipment on the market.


To manually get market access we simply go to the diplomacy screen for a given country and use the diplomatic action “negotiate market access”.


So now we have our market access set up and it's time to buy something. First we need to go into the buying mode of the international market. We do this by clicking the buy equipment button.


Now we can see the USA is selling some trains and convoys on the market right now so let's buy some. To start a purchase draft all we have to do is click on a piece of equipment we want to buy.


Here we can set up our contract to purchase some equipment. From here you choose how many pieces of equipment you wish to buy of each type. Each equipment entry will show how much the equipment of that type will cost in economic capacity(EC) (this is the output of civilian factories). There is also a handy purchase button if that is what you wish and you can use keybinds to change the steps of the plus and minus buttons just like in other parts of the game.


At the bottom of the draft we have the draft totals, here we can see the total EC cost, total convoys needed and then finally we have our payment settings. We can choose to assign up to 15 factories to pay for the equipment. These factories will work towards paying off the total EC cost of the equipment you selected. The more you pay every 30 days, the more equipment will be delivered per delivery. So here we can see that with 5 factories paying for our equipment we will receive all of our equipment in 4 deliveries:120 days.


Now we have sent off our draft to the USA and we just have to wait for them to respond and accept.


And here we have our accepted and now ongoing contract, we can see all of the important information on our contracts from here. Active contracts are shown in the default international market screen.

We can see our factories are assigned and paying off the contract and all 4 convoys are available. If anything is causing deliveries to fall behind the expected amount be that lack of factories, convoys or even if your convoys are being intercepted and the equipment lost to the depth of the ocean, the contract efficiency will reflect this.


As your contracts progress you can see the bars fill up and the deliveries tick down.

Now let's sell something on the market.


To sell we click the “sell equipment” button right now we can see we are not selling anything so now let's add something to our market. We do this by clicking on the ‘add equipment to market’ button.


Here we will get all of the surplus equipment we have in the right hand window and everything we are adding to the market on the left. From here we have the same controls for equipment numbers as with buying. You can select all, or choose any number in-between.


Additionally from the screen we can set the price levels of equipment, this can be done for the whole set or individually for each equipment. You can set the price to be 25% higher or lower than the normal price, this is done in order to not overcomplicate the economic gameplay here. Fully Variable prices would be very complex to understand as a player and be at odds with the economic detail of the rest of the game. This inconsistency would make the pricing very troublesome to understand, keep stable and to keep free from exploits. Generally this would detract from the core gameplay of HoI in a negative way, taking time and concentration away from the warfighting for something less useful. The final total EC value is shown at the bottom of the window if you want to see the effects of your pricing choices.


Now we can see all of our equipment has been added to our market for sale.


We have now received our first purchase requests and you can see our equipment has been taken from our market listing as it is reserved while the requests are pending. Let take a look at one of these requests


Here we can see Sweden is looking to buy the 35 light tanks we put up on the market. In the request we can see all of the necessary contract details to make an informed decision. Of course if we had auto accepted purchase requests this would have already been automatically accepted and the contract would be ongoing already.


And now we can see our purchase of american equipment and our sales of equipment to portugal and sweden all in one menu allowing you to easily keep contract of you ongoing contracts and if there are any issues with deliveries. We can also filter this list to just buying or selling if you have lots of contracts all at the same time, and we cancel contracts from here if you need to do so.

Going back to the buy menu lets take a look at some of the sorting and filtering options that help in the later game when there is significantly more equipment on the market. First lets look at the sorting options.

First we can sort by the amount on the market.


And we can sort by the EC cost


Now onto filters; we can sort by country and by equipment type


Finally we get to subsidies. Subsidies are a way of getting a better deal with purchasing contracts, you can get them from national focus and decisions or any other bit of content. An example of this can be found in the danish focus tree where you can get subsidies for buying aircraft if you choose to seek external sources. As mentioned subsidies target specific equipment types such as fighters and can be limited to contracts with specific countries as well. They work by having an EC value and when applied to a contract they will match the EC generated by your factories until the EC value of the subsidy is drained. So if 1 civ produces 5 EC/day then the subsidy will also provide 5 EC per day for each civ allocated to the contract.


With the general flow we will look at the detailed mechanics of how payment works. We are paid for contracts in EC generated by factories assigned by the buyer. Instead of receiving those factories directly to use, you are given the EC output of those factories to boost your own civilian factories. We opted for this solution in order to improve the granularity of bilateral trade, as well as to give the seller a new kind of incentive to take part in trade.


Here we can see our EC income from all of our current contracts, any collected EC is stored in our EC surplus here in the market window.


Here we can see the EC surplus being applied to your construction queue to boost it above the normal maximum rate. The amount you can boost a construction is based on your trade law. Here we are on export focus which gives us a 10% boost on top of the base 25%. This can also be affected by other construction boosts. The important thing to understand is you do not receive temporary foreign factories, you receive their EC output which boosts your own civilian constructions.

As an addendum to the addition of the international market we have adjusted lend lease in order to better fit to the new world market. So let's talk about the changes there. Firstly, subjects can no longer always use lend lease and are subject to the same limits as other countries. Now subject levels have modifiers to the required world tension in order to use lend lease.


In addition to this ideology and laws impact the tension requirements for lend lease, fascists and communists will find it harder to give equipment for free to there allies compared to before as will countries who operate on tighter trade laws


Countries on closed economy and special cases such as the USA can also block access to certain markets or totally block all market access so be careful before taking foci like the neutrality act.


That's all for this week, as always please do ask if you have any questions about the feature and I’ll do my best to answer you. Next week we will be looking at the final art DD, you will get to see more 3D models, 2D art (including the new loading screen art) and the coveted achievements coming with Arms against tyranny, I hope to see you there. C0RAX Out.

Arms Against Tyranny | Feature Breakdown Video #4

Generals!

The fourth and final Feature Breakdown video for Arms Against Tyranny is out NOW over on our YouTube channel!
This one spotlights the new Military Industrial Organizations feature, as well as the upcoming changes to Support Companies!

Make sure to check out the video!
[previewyoutube][/previewyoutube]

Developer Diary | Military Industrial Organisations (MIO's)

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.

[h3]Intent[/h3]
  • Create a sense of a living organisation the player can interact with rather than a static bonus as with current design companies.

[h3]Goals[/h3]
  • 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 look 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.


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.


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.


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


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 houses for that and once you’ve unlocked some of those traits you will see them on the department/


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


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.


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 attack 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 attack on MIO or want to change the attacked MIO you can also do this after researching. You can go to any equipment and create a new variant and attack 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.


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 valiant screen or via the history tab.


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.


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.


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


[h3]Modding[/h3]
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


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.


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.


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.


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.


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.


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


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.