▶
Developer Diary | Modding!
Well, at its core, a JFT is a Shared Focus Branch, one where depending on conditions, has a set of member countries, and the completion of the focuses is shared between them, and different effects apply either to the country completing them, to the rest of the countries or to all of them equally.
After that its all Joint Focuses, and theyre different in a few ways. First thing youll notice is the text_icon parameter, well talk about later, but the SECOND thing youll notice is the joint_trigger section. Its a trigger that determines which countries will be considered part of the JFT and get their corresponding effects. In this case its checking if you have the alliance leader flag or you are in a faction with this country.
The other thing thats different from normal focus trees is theres 3 (THREE) different sections for Completion Rewards.
First one, regular old completion_reward does its effect in every valid country in the Joint Alliance, the same for everyone. Then theres completion_reward_joint_originator, that only applies the effect in the country that completed the focus. And finally the completion_reward_joint_member, which applies the effect on every valid member of the alliance that is not the country that completed the focus. Thats basically it. Its a simple system, but we hope itll be flexible enough to have a bunch of use cases and variations, specially since it doesnt need to be a faction! We used a faction as the most obvious use for it but you can make any amount of related or unrelated countries share the tree. Every country in a continent? Sure. Every communist country? Go ahead. Countries on both sides of a war? Cant stop you! I cant wait to see what you do with it.
In the previous point I mentioned a text_icon parameter, thats the way we are giving you the ability to change the background for the Focus titles. Its one of the features that were added to enhance the Joint Focus Tree, but can be useful for any kind of focus tree content..
It came about because we wanted a way to quickly differentiate normal focuses from joint focuses. At first we thought about just making them have the same framing on the focus icons but that proved Not ideal.
The biggest problem is that it immediately made every focus icon be too busy and hard to read.
Plus, when the whole tree was pentagons everywhere, it looked way too repetitive.
Eventually, we accepted that we couldnt solve this problem with art or design, and we were gonna have to resort to an extreme measure Talking to a programmer D= We barely survived, but after an arduous process we agreed to make a system to change the title background changeable. It was the best option; relatively simple to implement, noticeable, and we didnt need to make every icon from scratch. Of course there was still a bit of trial and error to get the look right.
Setting them up is relatively easy. First, you will have to set up the 4 GFX entries you set up in the nationalfocusview.gfx, in our case, most of the animations and masks work just fine so it was mostly copy-pasting.
Theres a new file called 00_titlebar_styles where you can add style entries and specify the GFXs for each state, and set one as default so you dont need to specify the style for every single focus..
And now you just use your new style with the focuses you want in the text_icon parameter. Theyre set on a focus by focus basis so you can go wild and do dumb stuff with any kind of focus!
Another feature that we added thanks to the Joint Focus Tree. You now can have the focus icons change depending on conditions. This is something Ive wanted for a long time but never found a big enough excuse to do it Until now. The reason we finally added it for the JFT is that we want to have the option of playing it as more than one ideology, while still giving you some thematic distinction. After all, a democratic alliance should have a very different look from one formed by monarchies and dictatorships.
How theyre set up is very simple. Instead of specifying a GFX, you can open brackets and enter a trigger and a value. First one to be true becomes the icon for that focus! Just remember to add the dynamic = yes parameter so its updated more easily.
One of the things I hate the most when doing events is showing the effects of both sides of the events in tooltips. Usually, when we have an event option that sends another event to another country, we have to show you what will happen in your country, and in the other country, so you can better judge whats the right choice. This has always meant adding effect_tooltips and duplicating the other sides effects inside it, which is time consuming and annoying to maintain and keep track of.
Well not anymore! (Kind of). Weve added an effect called event_option_tooltip, that allows you to show the tooltip that option will display.
This is also very useful for those effects that go after the If They Accept tooltip.
It does have some limitations, like ignoring anything inside a FROM so you dont accidentally crash the game with an infinite loop if you have a show_event_tooltip on both sides, but its already been a time saver and we hope to improve on it in the future. .
You know, not every fort is built the same, but until now they were in HoI. To make it easier to represent just how bad and outdated fortifications were in Norway and Denmark we needed something extra, so we added a couple of percentual modifiers that change the attack penalty inflicted on the attacking enemy by forts: land_bunker_effectiveness_factor and coastal_bunker_effectiveness_factor.
Before, if we wanted to represent having bad forts, our only option was reducing their production speed, which numerically could make some sense but feels a bit off thematically. You can be very fast in making really bad forts and vice versa.
For example, if a fort normally inflicts a 15% penalty and you have a -50% value in land_bunker_effectiveness_factor, that penalty will be reduced to 7.5%. Forts are already plenty effective so were mainly using this to make them worse, but of course, there are exceptions here and there.
And thats it for me, but Mano de Zombi has a bunch of other stuff to show you! Mano de Zombi here! After returning from a sunny vacation to this Swedish deluge I really needed to go through some of the code support we've been getting lately in order to give meaning to my life and remind me of the things that I enjoy and that not even this weather can ruin for me. So here you have a selection of functionality, tools and improvements that have been added during the past months by our amazing coders: Scripted Loc can now be used in Dynamic Modifiers Your dynamic modifiers can now dynamically change name (previously we needed to create duplicates and swap the modifiers and it was really painful and ugly T_T) New Generator Parameters for create_wargoal effect We can now use an array as the generator in the effect create_wargoal, allowing us to set the generator states based on the world conditions by the time the effect is executed:
Weve added more functionality for the (debug-only) hotkey CTRL+ALT+Click on certain UI elements. For those of you who might not know about this hotkey, this is an extremely useful tool for scripting and debugging: when used on a certain object in the UI, it will automatically open the file and lead to the line in which said object is defined, so you can immediately see the script behind it, and do whatever you need to do with it. Quick example: (with debug mode on) you can CTRL+ALT+Click on a focus and it will open the appropriate focus file and lead you to the line in which it is defined:
As a reminder, this could already be used in focus, events (clicking on any of the event options), decisions, ideas (National Spirits, Designers, Laws, Officer Corps Spirits), characters (advisors, country leaders, unit leaders), technologies and doctrines. Please forgive me if I forgot something, I can barely hear my thoughts on this rain Now, our amazing coders have fixed an issue with unavailable advisors not working with this (now they do!), and new functionality has been added so that we can now CTRL+ALT+Click on:
We have improved a bit the way of scripting Division Commanders (Field Officers). Now you can define them with a localized name and with portraits, both in OOB files and inside the create_unit effect:
This useful new parameter can be added to all the every_[scope] effects (every_character, every_state, every_other_country, etc.). The parameter takes an integer as value, and this value is the number of times the effect will run before breaking the for loop running behind the scenes. Previously, we had a few different ways of applying effects to, lets say, 3 random states, but all of them required an unreasonable amount of script and custom tooltips in order to make sure that the effects could not be applied to the same state twice, and they all generated very shitty tooltips. Now, the use of random_select_amount allows us to apply effects to a number of random scopes (states, characters, countries) in a very simple way with no possibility of choosing the same scope twice and generating a standard tooltip that indicates the actual states targeted by the effect:
If you ever had the need to apply effects to all your land and navy officers, regardless of them being visible to the country or not (due to, for example, the country not having completed a focus yet), you will find the new parameter include_invisible pretty useful. This parameter is now available as an optional parameter in the full set of scoped triggers and effects related to unit leaders (every/random/all/any_unit/navy/army_leader). By default is set to false, so you only need to use it if you want to scope to all the unit leaders belonging to a TAG, regardless of them being visible (unlocked) to the country or not.
This is the full list of effects and triggers that benefit from this parameter: every_unit_leader random_unit_leader every_army_leader random_army_leader every_navy_leader random_navy_leader all_unit_leader all_army_leader all_navy_leader any_unit_leader any_army_leader any_navy_leader
Now it is possible to input a variable as the tag parameter inside the targeted_modifier block, allowing us to store the appropriate country inside a variable and then apply the National Spirit targeting the appropriate country very easily!
And this is all for me, Ill see you soon in a future Developer Diary but in the meanwhile I wish you all a great summer!
[ 2023-09-13 13:03:45 CET ] [ Original post ]
Hey there, everyone, Carlo here. As Content Designers, and developers, we not only make content, but were always trying to find new tools to do our job better and faster. And since HoI4 is crazy moddable, these tools are available to modders too, these are some of the new things youll be able to do when making mods, starting with Joint Focus Trees.
How do you make a Joint Focus Tree?
Well, at its core, a JFT is a Shared Focus Branch, one where depending on conditions, has a set of member countries, and the completion of the focuses is shared between them, and different effects apply either to the country completing them, to the rest of the countries or to all of them equally.
After that its all Joint Focuses, and theyre different in a few ways. First thing youll notice is the text_icon parameter, well talk about later, but the SECOND thing youll notice is the joint_trigger section. Its a trigger that determines which countries will be considered part of the JFT and get their corresponding effects. In this case its checking if you have the alliance leader flag or you are in a faction with this country.
The other thing thats different from normal focus trees is theres 3 (THREE) different sections for Completion Rewards.
First one, regular old completion_reward does its effect in every valid country in the Joint Alliance, the same for everyone. Then theres completion_reward_joint_originator, that only applies the effect in the country that completed the focus. And finally the completion_reward_joint_member, which applies the effect on every valid member of the alliance that is not the country that completed the focus. Thats basically it. Its a simple system, but we hope itll be flexible enough to have a bunch of use cases and variations, specially since it doesnt need to be a faction! We used a faction as the most obvious use for it but you can make any amount of related or unrelated countries share the tree. Every country in a continent? Sure. Every communist country? Go ahead. Countries on both sides of a war? Cant stop you! I cant wait to see what you do with it.
Focus Title Background
In the previous point I mentioned a text_icon parameter, thats the way we are giving you the ability to change the background for the Focus titles. Its one of the features that were added to enhance the Joint Focus Tree, but can be useful for any kind of focus tree content..
It came about because we wanted a way to quickly differentiate normal focuses from joint focuses. At first we thought about just making them have the same framing on the focus icons but that proved Not ideal.
The biggest problem is that it immediately made every focus icon be too busy and hard to read.
Plus, when the whole tree was pentagons everywhere, it looked way too repetitive.
Eventually, we accepted that we couldnt solve this problem with art or design, and we were gonna have to resort to an extreme measure Talking to a programmer D= We barely survived, but after an arduous process we agreed to make a system to change the title background changeable. It was the best option; relatively simple to implement, noticeable, and we didnt need to make every icon from scratch. Of course there was still a bit of trial and error to get the look right.
Setting them up is relatively easy. First, you will have to set up the 4 GFX entries you set up in the nationalfocusview.gfx, in our case, most of the animations and masks work just fine so it was mostly copy-pasting.
Theres a new file called 00_titlebar_styles where you can add style entries and specify the GFXs for each state, and set one as default so you dont need to specify the style for every single focus..
And now you just use your new style with the focuses you want in the text_icon parameter. Theyre set on a focus by focus basis so you can go wild and do dumb stuff with any kind of focus!
Dynamic Focus Icons
Another feature that we added thanks to the Joint Focus Tree. You now can have the focus icons change depending on conditions. This is something Ive wanted for a long time but never found a big enough excuse to do it Until now. The reason we finally added it for the JFT is that we want to have the option of playing it as more than one ideology, while still giving you some thematic distinction. After all, a democratic alliance should have a very different look from one formed by monarchies and dictatorships.
How theyre set up is very simple. Instead of specifying a GFX, you can open brackets and enter a trigger and a value. First one to be true becomes the icon for that focus! Just remember to add the dynamic = yes parameter so its updated more easily.
Showing Event Option Tooltips
One of the things I hate the most when doing events is showing the effects of both sides of the events in tooltips. Usually, when we have an event option that sends another event to another country, we have to show you what will happen in your country, and in the other country, so you can better judge whats the right choice. This has always meant adding effect_tooltips and duplicating the other sides effects inside it, which is time consuming and annoying to maintain and keep track of.
Well not anymore! (Kind of). Weve added an effect called event_option_tooltip, that allows you to show the tooltip that option will display.
This is also very useful for those effects that go after the If They Accept tooltip.
It does have some limitations, like ignoring anything inside a FROM so you dont accidentally crash the game with an infinite loop if you have a show_event_tooltip on both sides, but its already been a time saver and we hope to improve on it in the future. .
Modifying the Effectiveness of Forts
You know, not every fort is built the same, but until now they were in HoI. To make it easier to represent just how bad and outdated fortifications were in Norway and Denmark we needed something extra, so we added a couple of percentual modifiers that change the attack penalty inflicted on the attacking enemy by forts: land_bunker_effectiveness_factor and coastal_bunker_effectiveness_factor.
Before, if we wanted to represent having bad forts, our only option was reducing their production speed, which numerically could make some sense but feels a bit off thematically. You can be very fast in making really bad forts and vice versa.
For example, if a fort normally inflicts a 15% penalty and you have a -50% value in land_bunker_effectiveness_factor, that penalty will be reduced to 7.5%. Forts are already plenty effective so were mainly using this to make them worse, but of course, there are exceptions here and there.
And thats it for me, but Mano de Zombi has a bunch of other stuff to show you! Mano de Zombi here! After returning from a sunny vacation to this Swedish deluge I really needed to go through some of the code support we've been getting lately in order to give meaning to my life and remind me of the things that I enjoy and that not even this weather can ruin for me. So here you have a selection of functionality, tools and improvements that have been added during the past months by our amazing coders: Scripted Loc can now be used in Dynamic Modifiers Your dynamic modifiers can now dynamically change name (previously we needed to create duplicates and swap the modifiers and it was really painful and ugly T_T) New Generator Parameters for create_wargoal effect We can now use an array as the generator in the effect create_wargoal, allowing us to set the generator states based on the world conditions by the time the effect is executed:
- You can use an already set array if you so desire:
- Or you can create your own array and add states based on whatever requirements you'd like:
New Functionality for CTRL + ALT + Click
Weve added more functionality for the (debug-only) hotkey CTRL+ALT+Click on certain UI elements. For those of you who might not know about this hotkey, this is an extremely useful tool for scripting and debugging: when used on a certain object in the UI, it will automatically open the file and lead to the line in which said object is defined, so you can immediately see the script behind it, and do whatever you need to do with it. Quick example: (with debug mode on) you can CTRL+ALT+Click on a focus and it will open the appropriate focus file and lead you to the line in which it is defined:
As a reminder, this could already be used in focus, events (clicking on any of the event options), decisions, ideas (National Spirits, Designers, Laws, Officer Corps Spirits), characters (advisors, country leaders, unit leaders), technologies and doctrines. Please forgive me if I forgot something, I can barely hear my thoughts on this rain Now, our amazing coders have fixed an issue with unavailable advisors not working with this (now they do!), and new functionality has been added so that we can now CTRL+ALT+Click on:
- Designer Modules in the Ship/ Tank/ Plane Designers
- Battalions in the Division Designer
- Production Lines and Equipment in the Production Tab
- Intel Agency Upgrades
- Operations and Phases
- MIOS and Traits
Improvements for Division Commanders.
We have improved a bit the way of scripting Division Commanders (Field Officers). Now you can define them with a localized name and with portraits, both in OOB files and inside the create_unit effect:
Parameter random_select_amount
This useful new parameter can be added to all the every_[scope] effects (every_character, every_state, every_other_country, etc.). The parameter takes an integer as value, and this value is the number of times the effect will run before breaking the for loop running behind the scenes. Previously, we had a few different ways of applying effects to, lets say, 3 random states, but all of them required an unreasonable amount of script and custom tooltips in order to make sure that the effects could not be applied to the same state twice, and they all generated very shitty tooltips. Now, the use of random_select_amount allows us to apply effects to a number of random scopes (states, characters, countries) in a very simple way with no possibility of choosing the same scope twice and generating a standard tooltip that indicates the actual states targeted by the effect:
Filter for including invisible unit leaders in effects & triggers
If you ever had the need to apply effects to all your land and navy officers, regardless of them being visible to the country or not (due to, for example, the country not having completed a focus yet), you will find the new parameter include_invisible pretty useful. This parameter is now available as an optional parameter in the full set of scoped triggers and effects related to unit leaders (every/random/all/any_unit/navy/army_leader). By default is set to false, so you only need to use it if you want to scope to all the unit leaders belonging to a TAG, regardless of them being visible (unlocked) to the country or not.
This is the full list of effects and triggers that benefit from this parameter: every_unit_leader random_unit_leader every_army_leader random_army_leader every_navy_leader random_navy_leader all_unit_leader all_army_leader all_navy_leader any_unit_leader any_army_leader any_navy_leader
Use of Variables as tag in targeted modifiers
Now it is possible to input a variable as the tag parameter inside the targeted_modifier block, allowing us to store the appropriate country inside a variable and then apply the National Spirit targeting the appropriate country very easily!
And this is all for me, Ill see you soon in a future Developer Diary but in the meanwhile I wish you all a great summer!
[ 2023-09-13 13:03:45 CET ] [ Original post ]
Hearts of Iron IV
Paradox Development Studios
Developer
Paradox Interactive
Publisher
2016-06-06
Release
GameBillet:
33.97 €
Game News Posts:
472
🎹🖱️Keyboard + Mouse
Very Positive
(220284 reviews)
The Game includes VR Support
Public Linux Depots:
- Hearts of Iron IV Linux [135.44 M]
Available DLCs:
- Hearts of Iron IV: Sabaton Soundtrack
- Hearts of Iron IV: Together for Victory
- Hearts of Iron IV: Death or Dishonor
- Hearts of Iron IV: Sabaton Soundtrack Vol. 2
- Hearts of Iron IV: Waking the Tiger
- Hearts of Iron IV: Man the Guns
- Unit Pack - Hearts of Iron IV: Axis Armor
- Music - Hearts of Iron IV: Radio Pack
- Hearts of Iron IV: La Résistance
- Unit Pack - Hearts of Iron IV: Allied Armor
- Music - Hearts of Iron IV: Allied Speeches Pack
- Country Pack - Hearts of Iron IV: Battle for the Bosporus
- Unit Pack - Hearts of Iron IV: Eastern Front Planes
- Music - Hearts of Iron IV: Songs of the Eastern Front
- Hearts of Iron IV: No Step Back
- Hearts of Iron IV - DLC Subscription
- Hearts of Iron IV: By Blood Alone
- Hearts of Iron IV: Arms Against Tyranny
- Country Pack - Hearts of Iron IV: Trial of Allegiance
- Hearts of Iron IV: Content Creator Pack - Soviet Union 2D
- Expansion - Hearts of Iron IV: Götterdämmerung
- Hearts of Iron IV: Expansion Pass 1
- Expansion pass 1 Bonus - Hearts of Iron IV: Supporter Pack
- Expansion Pass 1 Bonus - Hearts of Iron IV: Ride of the Valkyries Music
Victory is at your fingertips! Your ability to lead your nation is your supreme weapon, the strategy game Hearts of Iron IV lets you take command of any nation in World War II; the most engaging conflict in world history.
From the heart of the battlefield to the command center, you will guide your nation to glory and wage war, negotiate or invade. You hold the power to tip the very balance of WWII.
It is time to show your ability as the greatest military leader in the world. Will you relive or change history? Will you change the fate of the world by achieving victory at all costs?
Main Features:
Everyone will receive:
From the heart of the battlefield to the command center, you will guide your nation to glory and wage war, negotiate or invade. You hold the power to tip the very balance of WWII.
It is time to show your ability as the greatest military leader in the world. Will you relive or change history? Will you change the fate of the world by achieving victory at all costs?
Main Features:
- Total strategic war: War is not only won on land, sea and in the air. It’s also achieved in the hearts and minds of men and women.
- Authentic real-time war simulation: Let the greatest commanders of WW2 fight your war with the tools of the time; tanks, planes, ships, guns and newly discovered weapons of mass destruction.
- Assume control of any nation: Choose from the greatest powers striving for victory, or the small nations trying to weather the storm.
- Turn the world into your battlefield: Experience the full WWII timespan in a topographical map complete with seasons, weather and terrain. Snow, mud, storms can be both your strong ally and a ruthless enemy.
- Negotiate or force your will: Experience the advanced politics and diplomacy systems, form factions, engage in trade for resources and appoint ministers to your party.
- Intense Online Combat: Battle in both competitive and cooperative multiplayer for up to 32 players. Featuring cross-platform multiplayer.
- Give your nation a unique edge: Experience the flexible technology system, where all major powers get their own unique identity. Develop detailed historic tanks and planes through research and army experience.
Everyone will receive:
- Poland: United and Ready:
A Free DLC adds a unique focus tree for Poland, new 3d models for tanks and planes, 2d assets, and extra leader portraits for the ultimate in historical accuracy. - Forum Avatar
- Wallpaper
MINIMAL SETUP
- OS: OS: Ubuntu 20.04
- Processor: Intel Core 2 Quad Q9400 @ 2.66 GHz / AMD Athlon II X4 650 @ 3.20 GHzMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: ATI Radeon HD 5850 or NVIDIA GeForce GTX470 with 1GB VRAM / Latest available proprietary drivers from both manufacturers
- Storage: 2 GB available spaceAdditional Notes: Controller support: 3-button mouse. keyboard. and speakers are required. / Internet Connection or LAN for multiplayer. Up to 32 other players in multiplayer mode.
- OS: OS: Ubuntu 20.04
- Processor: Intel Core i5 750 @ 2.66 GHz / AMD Phenom II X4 955 @ 3.20 GHzMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: ATI Radeon HD 6950 or NVIDIA GeForce GTX570 with 2GB VRAM / Latest available proprietary drivers from both manufacturers
- Storage: 2 GB available spaceAdditional Notes: Controller support: 3-button mouse. keyboard. and speakers are required. / Internet Connection or LAN for multiplayer. Up to 32 other players in multiplayer mode.
GAMEBILLET
[ 6089 ]
GAMERSGATE
[ 3241 ]
FANATICAL BUNDLES
HUMBLE BUNDLES
by buying games/dlcs from affiliate links you are supporting tuxDB