Bonjour à nouveau, friends! I don’t know if the third time makes it a tradition but I appear once more before release to give some updates from HoI’s tech team.
If you haven’t seen much of me since last year, it’s because I’ve partly been busy with **REDACTED**, **REDACTED** and also with **REDACTED**, but my attention has fully returned to HoI for the last couple months.
So, what’s new with HoI’s tech in 1.13 “Stella Polaris”?
Mines, or the greatest urban legend
First off, great news, naval mines will not slow down the game anymore! Hurray!
Except that’s a lie. The “mine lag” I keep reading about in some community house rules isn’t a thing. Hasn’t been for 2 years. I know because I fixed it in 1.11 (Barbarossa). But don’t feel bad for missing the notice, as it turns out this change from December 2020 (shipped in 2021 with No Step Back) never ended up in the changelog.
commit da0ce4ac94ba1938459ffb6abe3bf2b0cd4bab1e
Author: Mathieu Ropert
Date: Mon Dec 14, 17: 38:59 2020 +0100
[X] Fixed performance issue when mines are used
Oops.
But I have even better news. While the usage of mines didn’t slow the game down, the existence of mines as a concept was still incurring a performance cost, whether you used them or not. This has also been greatly improved for 1.13.
So go ahead. Go nuts. Mine the whole ocean. See what happens.
V-Sync, G-Sync, Free-Sync, NSync…
While there is no big platform update this time (supported operating systems remain the same), we have introduced some small improvements to rendering tech in HoI.
The main one is support for variable refresh rate monitors and GPUs. If you use DX11 (the default since 1.12) and your hardware supports it (and you use Windows 10 or higher), you should get more FPS with vsync off. On my NVIDIA RTX 3060 at work, it goes up from 140-150 FPS in 1.12 to about 190 FPS in 1.13 when the game is paused.
I’m not saying you’ll actually be visually able to tell the difference, but you wouldn’t be our fans if you didn’t like when numbers go up, so this should give you some stonks for free.
We’ve also tweaked a bit how the game renders when unpaused, especially when your hourly/daily tick starts getting slower than 16/33/50ms (depending on game speed). Long story short, the “cost” of keeping the FPS going steady when the simulation gets more CPU heavy has been improved, meaning better FPS and less perceived “lag” especially in speed 4 and 5.
General performance improvements
I used the mines example earlier as a teaser, but in general this update comes with a good amount of performance improvements. Those were partly inspired by having spent time looking at our other titles and a bunch of secret stuff I sadly cannot delve into, and partly just due to getting a fresh set of eyes on old problems.
Here’s some side by side comparison between 1.12 (Avalanche) and 1.13 (Stella Polaris).
First, a fresh new 1936 game on my work i7-12700k and it’s 20 cores: HOI4 1.12 “Avalanche” - 1936 - Intel i7-12700k
This might look a tad overwhelming if you’ve never seen the in-game profiler from previous dev diaries (console command imgui show profiler to make it pop in game). The bits I would like to direct your attention to are the “Ticks per second” and “Last 24 ticks average” that give you a rough idea of how fast the game is going.
Long story short, the 1936 scenario goes from a 15ms average to 10ms average for the hourly tick (the time it takes to simulate one in-game hour). Or if you prefer, from 42 to 64 hours simulated per second.
In the 1943 scenario, where there are way more wars, divisions, fleets and planes involved, we go from 43ms to 29ms hourly tick average. Or again, up from 17 to 27 in-game hours simulated every real world second.
In both cases, this makes the simulation about 1.5 times faster. In practice, the perceived speed will be a bit less because we still need to account for GPU time and the like, but it should be fairly noticeable still.
Of course, we understand that not all of you are running top of the 10th+ generation i7 CPUs, so it would only be fair to also look at what it means on lower end machines. Luckily, I also have access to a modest AMD Ryzen 3 1200, a quad core CPU that the internet tells me is roughly equivalent to an Intel i5-7400. Brace yourselves for more graphs.
First off, if there was still any doubt in your mind, yes, switching to a beefier machine will absolutely make HoI run faster. As you can see in the numbers here, this ran about 3 times slower than the high end 20 core machine from before.
Second, you can also see that 1.13 still performs better than 1.12 (about 25-30% faster), but not as much as on a high end machine. “Why?” you ask. Because threads!
HOI4: You Can(not) Multithread
It is a recurring misconception that Paradox games don’t use more than one thread. This is obviously not the case. I’ve been talking about it since my days on Stellaris.
But it is true that some parts of the game simulation are better than others at making use of many cores. And once they’ve been made to only use one core, it’s usually quite difficult to change as the game simulation starts relying on it.
This all comes back to the olden days where Europa Universalis was a board game ported to PC. After all, it is fairly common for those to be designed in a way where each actor takes a turn. The German player moves all his troops on the board. Then the British. Then the Soviets. Etc… This is a very serial process. Easy to understand and design, but slower than if every player could go at the same time. And of course it is very hard to change after the fact, because if everyone suddenly starts moving at the same time then you get conflicts and need rules to identify and resolve them.
Crusader Kings 3 resolved most of those issues by taking a radically different approach to its technical design, but we obviously don’t have that luxury. And no, unlike what I’ve heard before, this has little to do with the engine. Understand that ol’ Clausewitz (and its friend Jomini) are mostly concerned with graphics, networking, loading and saving files, that kind of stuff. The bulk of the performance bottleneck isn’t there, it’s in the game simulation and that’s almost entirely up to each game to decide how they wanna approach it and that decision is usually made (and hard to change) in the first years of the game development, before it even releases. Still, in this patch we were able to identify places where we could break that “turn-based” design and replace it with a simultaneous process and nobody would be the wiser. Which allowed us to throw all your cores at the problem, rather than rely on the one.
This is, I believe, the main reason why you will notice more improvement the more cores you have. For example, if a process took say, 2ms before. Now it will take 0.5ms with 4 cores (2/4) and 0.1ms with 20 cores (2/20), roughly speaking. Here’s a rough outline of HoI4 CPU usage in a late 1942 save with 20 cores for example:
Notice the CPU chart at the top which shows how many cores are being used at a given time. Ideally you’d want it to be fully green all the time, but this is what we get with the upcoming release of HoI4.
For those of you who are more technically inclined, I can recommend you this (updated) talk I’ve given at ACCU 2023 about multithreading challenges in PDS Games.
Multi Threading Model in Paradox Games: Past, Present and Future - Mathieu Ropert - ACCU 2023
And with that, I’ve just noticed something off while making the screenshots for this dev diary, so I’ll go back to investigate and see if there’s some more we can do to improve even more in the post-release patches 😎
I will leave you with this side by side comparison of letting the game run for 30 seconds on 1.12 vs 1.13. Keep an eye on the date/time at the top.
Hello, and welcome back to the last Developer Diary for Arms Against Tyranny! I’m CreamGene, HOI4’s 2D artist and since I am here, you guessed it, it's time to talk about art!
I once again get an opportunity to talk about what happens on the Art Front during a HOI4 production and I’m excited to share with you some of the things that have been in the works. Both challenging tasks as well as funny ones, of course.
I know I usually showcase the how-to when I do loading screens when I get these opportunities, but I think you can find the two latest descriptions from earlier Dev Diarys to be adequate if you need to know the “how-to-think”. But I’ll show some small step-by-step just because I can.
Loading screen It started with our Game Designer Bradley, or as you know him as well, Corax, who already had a vision for what he wanted. He wanted two different ones. One of the Finnish Winter War, with Finnish soldiers watching Soviet troops, make their way through the frozen marshlands. And one with the sinking of the Blücher. And I got to choose which one to do.
Of course, I chose explosions because I hate myself that's pretty cool. I drew explosions before, but never like this so I thought it could be a nice challenge… if I could pull it off.
I was provided with reference images of the ship and the place as well as a video clip of the event from the movie The King's Choice. Even if it’s a reenacting of the sinking of Blücher it still is a pretty cool scene to draw inspiration from. So let's speedrun this demonstration!
3D elements put together! Renders made by our 3D artist @Slurpen_Paradox (because if I can avoid hard surfaces, I will).
Here, the paint-over progress has started. …… trust the process.
After a loop of feedback and paint-overs, it finally starts to look like something more interesting than just a dark blob where it started. Just some more tweaking and adding texture as well as some action and it’ll be done.
And here we are! I hope you’ll enjoy the new loading screen for Arms Against Tyranny!
Here is also the winter-themed one (tho I can’t take credit for it) made for AAT. [Art made by @the_real_timor]
The Joint Focus Tree
We also wanted to do something new for a Joint Focus Tree when the discussion of a joint Nordics was a must. So now the idea phase starts. How different should it look? How much of different shapes will still make you think “Focus Tree”? Will it look good together as a tree? How do we best portray the different ideologies for each outcome?
So now some thumbnailing of ideas happens as well as the thought “Is just the naming bar enough to change?” The answer is ‘no’. Of course, we wanted to go full out when we had this new idea.
So when we realize that we want to make the actual focus icons mirror the ideologies we have a new question “What would a joint focus tree even look like? What would have to change to make it stand out?” So I started to make up the shape language for what each ideology would feel like. It ended with a bunch of experiments that you saw @carloPDX showcase in the Joint Focus icon Dev Diary
Yeah… I didn't feel anything out of these.
We landed on these types of shapes in the end! The communist one is in line with sharp angles, red and gold, and feeling very industry. The democratic one with its very simplistic design and a retake on the metallic swan. And the monarchist one, in Sweden at least, we call the moose the “King of the Forest” so we thought it would be fitting to have a King represent all the Nordics with pompous decoration and gold details.
A small selection of the communist branch icons;
A small selection of the democratic branch icons;
A small selection of the monarchist branch icons;
Portraits
And now I think it's important to show off some of the fancy portraits that have been added for the Nordics!
The amount of art that needs to be done for each DLC varies but something that stays true, and heavy is Portraits and Focuses. These are easy to outsource in bulk and to offload the strain of getting all the art done for each DLC on time, we send these types of art tasks to an outsourcing studio. We occasionally have to pick up these types of tasks as well in-house but that’s usually when Content Designers realize they need a leader for a last-minute polish task and a path they forgot would do with an actual portrait of the historic person instead of a generic one. Safe to say, it's impossible to plan for every leader there will be for their specific country. I know I wouldn't be able to think of everything beforehand, and that's why I can’t stress enough that to get a successful art-filled launch, communication is key.
So, here is a small selection of historical figures we would like to showcase beforehand!
Focus icons
With the same principle as the portraits for HOI, these are easier to outsource in bulk, and therefore the majority of them, tho far from all, are done through outsourcing. We usually try to make as much as we can in-house for these but we need to prioritize our workload to fit our schedule the best we can. We always estimate all our tasks beforehand so whatever we know we can’t manage in-house will be shipped to outsourcing.
And once again, a small selection of some of the nicest looking Focuses for AAT.
3D art
Even if I am not in charge of the 3D art (in fact that's entirely @Slurpen_Paradox’s domain) I will of course show off some of the models that have been made for this DLC
First of all, let’s enjoy some high-definition renders showing some of the models up close: These guys have dressed up for today's fashion show!
A mix of old and “new” (maybe new is too strong of a word here).
You need to be ready to fight against air and land attacks.
Okay, maybe that’s enough land vehicles for one Dev Diary.
In other news, here are some planes!
..more planes!
Ready to fight against tyranny!
Here are some in-game screenshots showing some of the models in action (using some fun camera angles of course!):
They see me rollin’!
Danish militia models in fighting stance!
These guys are deadly in snowy conditions!
Norway has some ships to defend its coast!
Things are heating up!
Thank you @Slurpen for the 3D renders!
Let's be real, you’ve been waiting, you’ve been scrolling, you’ve been sighing through this DD. Go ahead. Don't be shy. Scroll down some more.
Finally! I would like to present the achievements of Arms Against Tyranny!
Achievements
Sápmi, United by the fire As Sami, own and control every Sami core.
Norway Jose As Norway, own and control every Mexican core.
Pinot Noirway As Norway, own and control the state of Burgogne.
Cheese your fighter As Norway, with Peder Jarlsberg as coutnry leader, own Telemark, Glouchestershire, Normandy, Lombardia and Holland.
Med Plutonium 2… As Denmark, nuke Sweden.
Everything is Awesome As Denmark, get Maximum Welfare Spending after January 1st 1941 without being puppeted or capitulating
The Danelaw As Denmark, conquer England.
Vinland As Iceland, conquer Newfoundland.
Brexit As communist Iceland, make Wales, Scotland and Northern Ireland rise up against the United Kingdom.
Two Arms Against Tyranny As Finland, capitulate the Soviet Union while having a 2 country faction with another Nordic.
Uralic Brothers United! As Finland, have Hungary, Estonia, Sapmi, Karelia, Mari El, Udmurtia, Komi, Ostyak-Vogulia, Yamalia, and Nenetsia as subjects.
Lone Wolf As Finland, form Greater Finland and own every core and claim without having ever joined a faction.
No One Crosses the Finnish Line As Finland, survive until 1944 without losing control of a single core ever.
Danzig Queen As Sweden, own Danzig.
Caramelldansen As Sweden, puppet Japan.
The return of the King As the exiled King of Gotland, retake mainland Sweden.
Satisfactory Have at least one MIO per category at level 10+.
Cod Wars As Iceland, capitulate the UK.
The Magic School Bus With the Per Albin Bus, drive to Cape Town
We all hope that you’ll enjoy the up-and-coming DLC, Arms against Tyranny, and along the way have fun and feel challenged with the new content and achievements we have added, as well as enjoy the latest models and art!
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
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;
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.
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!
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 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
Modding
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.
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
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.
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 } <code>
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 <code>
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.
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.
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.
We're sending out a Call to Arms! Help us shape the future of Hearts of Iron by completing this survey, and to share your thoughts. Visit the link below or scan the QR Code
And now for me. Hello everyone, it’s me Jonathan, here to write about some of the content I have helped with creating for Finland for the upcoming expansion. I have been jumping around and helping my fellow content designers wherever help has been needed for AAT, whilst working on other stuff in the background.
The White Death During the winter war, the Finnish fought fiercely to stave off Soviet attacks, cleverly using a combination of their (as mentioned in the previous Finland Dev Diary) Motti Tactics alongside snipers, who had been trained either by the Suojeluskunta (Finnish voluntary militia Civil Guard) or as hunters or Jaegers. Among these snipers was Simo Häyhä, who thanks to Finnish propaganda later came to be known as the White Death. The White Death however, despite being said to have been attributed to Häyhä by Soviet soldiers, to them rather symbolized the severe cold in the deep forests, and the tenacity of the Finnish people in a more general sense.
The White Death news event:
In game, this is represented through a series of events for Finland and an aggressor, be it the Soviets or someone else in case of an alt-hist scenario, where Finland has the option to prop up their sniper organizations, dealing damage to enemy manpower and equipment pools through events, and where their enemy can choose between simply taking the hits, or spending equipment and command power on dealing with these snipers before they become a problem. Finland also gets the option to either do as historically and use propaganda to build up Simo Häyhä as the embodiment of the White Death, or to embrace the original meaning of the word, by making their enemies take more attrition. At the end of the event chain, Häyhä can either escape unscathed, be wounded (as historically happened), or be killed by the enemy, getting a hero's funeral.
The Continuation War
At this point, you have all heard about the Finnish Continuation War before, but one not all that known fact is, how did they manage to worm their way out of the mess they had found themselves in?
Well, there were talks held with the Allied powers around the time of the battle for Stalingrad, as Finland saw that there was great risk that things would go south real fast, regarding changing sides, and declaring war on the Germans in exchange for peace with the Soviets, but this plan never really panned out due to the Western Allies’ fear of intruding on the Soviet sphere by allowing Finland to join them. That is why though it didn’t succeed historically, it and the historical outcome both exist and can happen, as can be seen below.
Decisions to get yourself out of the Continuation War if worse comes to worst:
When not switching sides, but instead offering concessions to Moscow in exchange for peace, Finland will have to concede any of Salla, Petsamo and Karjala that Finland still owns, and they will need to transfer equipment over to them, signing the historical Moscow Armistice with the Soviets.
The Moscow Armistice news event:
This is however not the end of the struggles for Finland or its people, as a part of the agreement signed with the Soviet Union was the expulsion of Axis troops from Finnish territory. As the Soviets press Finland to comply with the treaty, the Lapland War starts, and Finnish troops clash with Germans retreating into German-occupied Norway (or Sweden, if the game has gone slightly a-historical). The Germans will have options for how to deal with the Lapland war, allowing for slightly different bonuses and maluses when withdrawing.
The German response to the Lapland War starting:
When all this is said and done however, if this was the option of peace Finland chose, there will be no actual war between the countries, as compared to if they were to switch sides completely.
The Lapland War news event
City and State Name Changing
Now onto something a little bit different. During BBA, Italy introduced states and vps that change names depending on who controls them, such as Zara being called Zadar when not under Italian control.
This has now been updated to include certain state and vp name changes for Finland and Sweden, as seen below.
Petrozavodsk becomes Äänislinna if under either Finnish or Karelian control
Murmansk becomes Muurmanski, Kandalaksha becomes Kantalahti, and the state of Murmansk becomes Kuolan Niemimaa (Kola Peninsula) when under either Finnish or Karelian control
Many cities in Finland, due to the sometimes significant Swedish minority (or in some specific places even majority), officially use both Finnish and Swedish names to this day, such as Turku and Åbo both being frequently used for the same city, and Sweden and Finland still harboring a close bond to this day. Thus, if Sweden were to go rogue and decided to occupy Finland, it would only make sense that they would use the Swedish names for towns in the region.
Here you see the southern parts of Finland when under Swedish control, with many cities gaining their official Swedish names, such as Turku becoming Åbo, and Viipuri becoming Viborg.
And here you can see northern Finland when under Swedish control. Also take note that Inari (which can not be seen here) becomes Enare.
Releasables and Game Rules
And now we can move on to something a bit less Swedish, and also a bit less Finnish, we have two new game rules for the fragmentation of the Nordic countries!
You can choose between no fragmentation, only releasing Sápmi from the Nordic nations, or doing that alongside liberating Iceland, Karelia and Greenland from Nordic countries. If you combine any of these rules with the fragmentation of the Soviet Union, Sápmi and Karelia will gain their Soviet-held cores as well.
The new game rules
The Nordics Fragmented option has been chosen
And with our brand new releasable nation, Sápmi jumping into action, we had to do them some justice with just that extra pinch of flavor added on top. As can be seen in the image below, Sápmi will not only have unique party names and flags as do any other nation, but also unique leader and general portraits.
Sápmi with all of its cores
Sápmi has its own unique Admiral portrait
Sápmi also has its own unique General portraits
Sápmi has many new advisor portraits, some of which can be seen here
And that’s been all from me for now. I will see you all when I have more cool stuff to deliver! But now, back to Manu.
Alright, let’s take a look at the last batch of changes and content for Finland.
Some of you might have noticed a new focus in the historical branch that was not there in the last Dev Diary. The focus “Pärmi’s Devils”, available for both historical and fascist Finland, is themed around the Finnish Separate battalion 21, a penal battalion formed mainly by political prisoners and commanded by Nikke Pärmi.
In-game, this focus will unlock a limited recruitment of Divisions formed by penal battalions, and spawn Pärmi’s very own full division, a veteran unit with a very promising officer ready for action!
A few extra Generals have been added at game start, based on some of the feedback from the last Dev Diary. Karl Oesch is now available to Finland.
Aksel Airo is also available to Finland, although his portrait is still not in the game.
Raappana has made an appearance and is now replacing Törni as the general unlocked by the focus “Sissi”. Törni will, in turn, be unlocked via the fascist focus “Military Promotion”.
In terms of military advisors, Vilho Nenonen has joined the Military High Command roster as an Artillery Genius, while Kaarlo Somerto has been downgraded from Artillery Expert to Artillery Specialist. This way, Finland has the option to go for a cheaper and weaker artillery officer early if needed, and then move on to the Genius later on.
Akseli Anttila is now only available to Communist Finland, and Erik Heinrichs is the available military theorist for non-communist Finland
Something I wanted to implement for a while was French Renault tanks (available at game start) and the modified British Vickers tanks (available in the 1939 Bookmark or via “Foreign Armor” focus).
And before finishing, I would also like to give a big kudos to our 2D and 3D artists because they keep doing an amazing job delivering incredibly cool assets for our content! From focus icons to portraits, tech icons and 3D models, they’re great!
Throughout the diary you have seen a lot of cool 2D art but only a few 3D models, so here are some more pics of the new Finnish 3D models!
Let’s start with the new Soviet T-28 model (and icon), which is now the default model for the Interwar Medium Chassis for Soviets and for Finland.
We now have a Marine 3D model for Finland, based on the Rannikkojääkärit (or Marine Jaegers).
And we got a fourth regular infantry model, the best of them all. Behold the beauty of an infantry division walking alongside one of the coolest means of supply, the reindeer!
This new infantry model also has a winter version and a warm weather version. This is the winter one. Again, the coolest of them all in my honest opinion..
And last but not least, the hot acclimatization version of all 4 regular infantry models!
And that was all from me! I hope that you all enjoyed reading about the Finnish Alternative history content coming with the new DLC as well as the changes and additions implemented since the first Finnish diary. I wish you all a nice week and make sure to stay tuned for the next dev diary where we’ll be talking about one of the new features in Arms Against Tyranny: Military Industrial Organizations!