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

Developer Diary | Modding

Greetings all,

Today we have quite a number of items for the dev diary. We’ll be covering some new additions to the career profile system, followed by some new tools coming for modders in the Avalanche update.

To begin with, I’ll hand over to our designer on the career profile:



Hello!

Ingevar here with an update regarding new features coming to the Career Profile.
Since the release of Career Profile earlier this year we've been working on the next iteration that will bring more stats, non-ironman achievements, and some profile customization.

Let's look at it in detail.


Playthrough Overview

When BBA is released, every player will find the playthrough overview available in the ESC menu when playing the game.​
image1.png

This familiar window will contain some numbers for your current playthrough, including new stats and awards.


New Stats

We are adding more stats to track combat efficiency like the amount of offensive and defensive battles, the ratio between them, or the ratio of battles versus encircled divisions. We want these stats to be a better depiction of each player's playstyle and will continue to add more, so if you have any suggestions, please tell us in the comments.​
image6.png

Stats for Modded Games

Previously we gathered numbers only from the vanilla version of the game, but now we've added a separate set of data for games played with mods.

Both base game and modded games stats are working in single-player games, at least for now. We are looking into making MP counts as well, so stay tuned for future updates on that topic.​
image12.png

Awards

Awards are medals and ribbons: new kinds of in-game achievement that don't require you to play in Ironman mode.
image4.png

Medals have three grades: bronze, silver, and gold. Each grade is harder to get than the previous one, with the aim that bronze is something you can get just by playing the game, while gold will require a dedicated effort and might not be achieved from the first try even by the most experienced players.

Ribbons have no grades, but the difficulty is there for most of them.​
image14.png

Awards won't work with most mods, cause you can never predict what the mod changes and therefore if the award required any challenge at all.

At the same time, we know that mods are an essential part of the HoI experience, so together with the base feature, we're introducing support for modded awards.
Any modder will be able to use all existing UIs for creating a list of unique awards that can be tracked, awarded in the game, and then displayed in the Career Profile.


Profile Customization

Every grade of medal you get and every ribbon will also award you with some Career Points.

Career Points are used to unlock Profile Pictures.​
image2.png

Some Pictures are unlocked after you get one or two medals, but others will be available only to players who dedicate a substantial amount of effort to getting lots of gold medals.
image7.png

Friends
All this comes together in the last feature I'd like to show today.

We're adding a Friends list to the game. You'll be able to find it in the main menu when BBA is out.​
image5.png

Friends window will have all your friends from Steam or Xbox and for now will only be used as a shortcut to viewing each other's Career Profiles.

By default, every profile in the game will be viewable by all your friends, but you can choose to make it private, this option will be available right in the Career Profile window.


TL;DR

All these features will be released together with the avalanche update. So any player who has the base game will be able to access Playthrough Overview, Awards, set their Profile Pictures, or view the Friends list.

The story of Career Profile just starts here and we plan to add more awards, stats, and profile customization to the game based on the feedback we get from you.
Hope you like this when it's out.


Modding In-Game Achievements

One of our new features for modders is a system to support custom achievements.

The feature aims :​
  • to allow mods to define their own achievements​
  • to display them and their completion status in-game​
  • to save them when a player completes them so that they appear as achieved when starting a new game​
Hard limitations :​
  • the achievements will not be displayed on steam (or other stores)​
  • no way to know the completion rate among players​
We have joined forces with Red King and their career profile to present those achievements in the prettiest way. Also the new Ribbon system will allow modders to easily illustrate their achievement without any graphic skill ! Of course if you are a master of the 64x64p icon, you can emulate our classic achievement illustration.​

image9.png
The Awards screen with mod achievements. Icons or ribbons, the choice is yours.


image13.png


A sample of script to define achievements

Behind the scenes, these achievements are earned and stored based on the game’s modset. Modifying the modset should clear achievements, but if the modset remains constant, any achievements earned will be persistent to that combination of mods.


Unit Medals and Units

Arheo back now to go over some more details on the script accessibility for our new features.

As mentioned briefly last week, unit medals are being added in BBA. These are fully scriptable, and take a similar form to regular database objects you’ll be used to working with.

Since the modifiers that can be applied via medals take a different path to regular modifiers, the list of possibilities is somewhat shorter than in other modifier scopes.

We’ve added a list of options at the top of the medals file, though we’re open to future suggestions if you find yourselves in need of something new:​
image15.png

You’ll note that the leader modifier is unused in the vanilla game. This modifier will translate over to army generals if the leader is promoted, and exert effects on the entire army.

The one_time_effect field will run an effect in the unit scope, though you should be able to scope to a unit’s owner and run effects on a country from this block.

Working with units is, as previously mentioned, new to script in the avalanche update. For the time being, only army units are accessible through script, though this may be expanded upon in future updates. The following effects will be available to you:

random_country_division
every_country_division
random_state_division
every_state_division
reseed_division_commander
destroy_unit
add_history_entry
change_division_template
add_unit_medal_to_latest_entry #usually used in combination with add_history_entry, otherwise you may not guarantee a valid entry.
add_divisional_commander_xp

Combined with the following unit conditions:

any_country_division
any_state_division
division_has_majority_template
unit_strength
unit_organization
is_unit_template_reserves
division_has_battalion_in_template


Balance of Power

The Balance of Power feature is built in a way that makes it extremely flexible, and therefore probably very useful for modders. Any given country can only have one Balance of Power at any given time - but there’s nothing stopping you from having several that you switch between as things evolve.

The definition might seem a bit tricky at first, but that’s only because it is extremely flexible. It starts like this:​
image17.png

This example is from Ethiopia - you set the id of the Balance of Power, the starting position, and the two starting sides. The sides are defined further down, and you can replace them with other pre-defined sides using script. This means you can, instead of changing the entire Balance of Power, just replace one, or both, of the sides should you want to do that instead.

You also define a decision category as the Balance of Power category, meaning that you can script Balance of Power decisions the same way as you would script normal decisions. The will then appear in the Balance of Power UI. So basically anything you can do with decisions, you can do in the Balance of Power UI…

Each side is further divided into ranges with a min and max value, and a set of modifiers that are active when you are in this range. Again, the ranges are customizable, so you can have basically as many or as few as you like (within reason).​
image11.jpg


As you can see from this example you can also run effects when the range becomes active or when the balance shifts away from it.

You can also set/change the graphics of the side as you like:​
image16.jpg


What else? Well you have triggers based on the Balance of Power, so you can lock Focuses, decisions, events, or whatever behind the Balance of Power being at a certain level. You can modify the balance either with one off values or with a ticking score. And you can of course remove it altogether.

In all I expect to see some wonderful applications of this in mods going forward.


Peace Conferences

Peace conference modding has now become somewhat simpler, as well as being more consistent with the rest of the game’s scripting standards albeit at the cost of some rather verbose dotscoping chains.

Peace conferences now primarily work on a per-state basis, with the exception of ships and stacked bids (which due to technical limitations are not very accessible to script).​
image10.png

Every turn, each state will be subject to two evaluations for the country from whose perspective you are playing or viewing. The first evaluation will define the bidding cost per action type for a state, and the second will define the ai desire to bid on said state. These two values do not correspond, but are affected by each other.

In the entry above, this cost multiplier will be applied at point of bidding for a country that is either NOT puppeted, or is bidding for itself, to states which are their cores.

You can add categories here which will consolidate their values in the tooltip for that state during a peace conference. This cost multiplier will only work on bids of the ‘take states’ type, but multipliers can be made to affect any combination of bid types if treated as an array.

A state can be subject to multiple cost reductions, which stack multiplicatively.

The evaluation of AI desire works in a very similar way:​
image8.png


Instead of affecting the cost, this affects the ai’s subsequent evaluation of the cost when deciding what to bid on. Here, the AI is subject to a -75% desire to liberate tags that belong to the is_unlikely_country_tag scripted trigger. In short, it means the AI will prefer not to release certain wacky, wonderful tags. AI desire can also be subject to multiple modifier entries, and these will also stack.

The AI evaluates costs with a bucketed per-type approach, rather than simply bidding on the best cost*desire entries. This goes some of the way towards reducing bordergore, and effectively takes a sample of the desire of bids of the same type and target - France for example, would consider all Puppet Switzerland bids to be of the same value to try and avoid leaving holes.


Debugging Tools

We’ve expanded the options in our imgui during By Blood Alone, and now this handy air region tool will be in your hands:​
image3.png

You can access this with the console command imgui show air, followed by selecting an air region. This will give you up-to-date information on the details of the wings present in the area and their efficacy.



And that’s all for this week! Next week there will be a break in dev diaries, but tune in in two weeks for a round up on the technical situation and changes coming in the Avalanche update.

/Arheo​
 

Attachments

  • image7.png
    image7.png
    1,7 MB · Views: 0
  • image9.png
    image9.png
    84,5 KB · Views: 0
  • image13.png
    image13.png
    23,5 KB · Views: 0
  • 46Like
  • 21Love
  • 13
  • 2
Reactions:
That playthrough overview is so nice!! One thing that would be amazing to add is the location of the longest/largest battles.

And being able to filter per war, displaying the start and end time of the war. If you wanna go next level, have a graph of casualties, equipment losses etc over time through the war. And a timeline showest the largest battles. Then at the end of the war/game, allow you to see the same for other countries :D
 
  • 1Like
Reactions:
EaW is going to love the balance of power mechanics. So many of their nations have that kind of thing through dynamic spirits, and a more flexible system will be so useful for so many

OWB is going to love the acivevements part. They've had a mock-up already, and getting one that persists through playthroughs is probably going to make them rather content
 
Is it possible to add Meta Localisation like we already have Meta Effects ?
Localisation already allows for quite a lot. Depending on what you're thinking of doing, it's likely already possible between the regular localisation scripting and "scripted localisation" (that is choosing localisation keys via triggers).
 
This is a positive note. I intend to play with Improved AI or not at all, and possibly UI mods, so it is important that all single player content work with mods, to be worth purchasing.
 
  • 2Like
  • 1
Reactions:
If you bring something like this, what I'd LOVE to see is a system, where you can get permanent bonuses for a next playthrough!

I personally do not like the idea because it destroys the "challenge" of everyone starting under the same conditions, making "in-game challenges" less interesting. And I'm saying this as a cheater: I always play with mods and often use cheats. I do not think I remember even finishing a vanilla game.

That said, there is a very simple way to do what you are suggesting without really compromising the "vanilla" experience and that is adding a "trigger" to the game that can check your achievements/medals/player stats or other meta info. With that in the game, I think it should relatively easy for modders to implement what you are asking if they feel like it, and since modding is basically "to each their own" it shouldn't be much of an issue. I worry though that big mods will misuse that mechanic to turn their mods in grind fests or heaven forbids introducing pay-to-win features (not sure if this is possible, but I wouldn't exclude it).
 
  • 2
  • 1Like
Reactions:
I've been thinking about how cool it would be, if our achievements were in-game medals. Now they're a reality!
 
  • 1Like
Reactions:
thanks for this modding overview and profile part. Very interesting but I am playing mostly for achievement. What will the new achievement be in this dlc? Hope you or dev can show this? Or will it be replaced by career profile?
 
I personally do not like the idea because it destroys the "challenge" of everyone starting under the same conditions, making "in-game challenges" less interesting.


Of course, and I understand that! That's why I've said to make it "optional" so that if you want to have the vanilla feeling you can just disable these bonuses and play the game as usual.

But I'm currently at ~1.370 hours in this game and have played as nearly every nation and just personally would love to see a somewhat roguelike/rogue lite feature like this, to keep me interested in playing the game over and over again (besides all the new DLC content). Only playing to get some shiny medals and ribbons to "show off" isn't satisfying to me.

I just love games that give you permanent bonuses when you play them long enough and/or reach certain achievements. It's just a personal bias and seeing from the reactions my post received I either did not make the "optional" part clear enough or I'm just very alone with this preference :D
 
  • 1
Reactions:
Have ranks been renamed? I noticed in the divisional commanders diary that there were titles like “Marshal” instead of field marshal. Are we able to customize ranks now with scripting?

would love to get of US field marshals lol
 
Just think of the modding potential for Balance of Power. Heer vs. SS in Germany, army vs. navy in Japan, Democrats vs. Republicans in the USA...
 
  • 2
Reactions:
I personally do not like the idea because it destroys the "challenge" of everyone starting under the same conditions, making "in-game challenges" less interesting. And I'm saying this as a cheater: I always play with mods and often use cheats. I do not think I remember even finishing a vanilla game.

That said, there is a very simple way to do what you are suggesting without really compromising the "vanilla" experience and that is adding a "trigger" to the game that can check your achievements/medals/player stats or other meta info. With that in the game, I think it should relatively easy for modders to implement what you are asking if they feel like it, and since modding is basically "to each their own" it shouldn't be much of an issue. I worry though that big mods will misuse that mechanic to turn their mods in grind fests or heaven forbids introducing pay-to-win features (not sure if this is possible, but I wouldn't exclude it).

Well the opposite POV, from my side, the default game is too easy, and the default AI too stupid. So playing a default unmodded game would just be boring. It would be like playing chess with someone who only knows how to play checkers. And if I have to install mods to improve the UI or improve the AI, it would be kind of lack luster to lose the new content.

Which I guess I am in the minority because a lot of people play on easy or can't win the vanilla game, but it comes down to understanding or not understanding the game's systems.
 
The 'friend list' features seem kind of pointless when I can just open the Steam overlay for the same thing. Unless you guys are planning to leave the platform for your own. But the custom achievements are kinda neat, I suppose.
 
  • 2
Reactions:
Wow im pretty disappointed.
Instead of some meaningless player medals it would have been cool to finally see the possibility to create country templates, so I don't need to prepare my country over and over again, like the feature back in Hoi3 (currently it is extremly annoying if you play bigger nations over and over again, especially with navies).
I share the sentiment but this is a little too negative.

I think the new ribbons and medals are pretty neat. I am an OCD collector of achievements so I'm sure I'll enjoy this feature.

But I would rather Paradox prioritised similarly small, easy to implement QOL changes to the interface. Having country templates, heck Yes. Queueing up focuses and techs, that too. Saving templates between games, more of that thanks!

What I suspect has happened is one dev has a passion for ribbons and medals, so they used their unstructured dev time to create them. I think it's great Paradox let their devs do this, but telling us that this is why the feature was added would help manage our expectations.
 
  • 4
  • 1Like
Reactions:
Regarding divisional commanders, will it be possible, when promoted to an actual character, to turn them into a predefined character with established stats and traits?
Or can we have the character already made but "invisible" until the condition of promoting them from a division. And if so, what would be the ID for a divisional commander? The localised name of the general or the division itself?
 
  • 1
Reactions:
For example, the way it looks in the screenshot is that you define an ID and then two sections for the conditions. Does that mean that each achievement needs its own file?
There must be one file per mod. For instance, in the example, there are 2 achievements completed_with_icon and completed_with_ribbon.

And how is it going to look in-game? Accessible via the achievement window just like the vanilla achievements? Will they be visible still or not then?
It will be visible in the career profile menu, on the Award tab.

And is ironman mode a hardcoded requirement for custom achievements (for the button for example)?
Unlike Steam achievement, there is no hardcoded requirement. The only requirements are the ones modders will put in the possible trigger of their achievements.

Can we (modders) get a bit more in-depth info about the custom achievement stuff?
I intend to post a tutorial on the forum on release day.
 
  • 9
  • 1Love
Reactions:
There must be one file per mod. For instance, in the example, there are 2 achievements completed_with_icon and completed_with_ribbon.


It will be visible in the career profile menu, on the Award tab.


Unlike Steam achievement, there is no hardcoded requirement. The only requirements are the ones modders will put in the possible trigger of their achievements.


I intend to post a tutorial on the forum on release day.
Can I get an answer for this?

Is how war score is calculated moddable?
 
  • 1
Reactions:
There must be one file per mod. For instance, in the example, there are 2 achievements completed_with_icon and completed_with_ribbon.


It will be visible in the career profile menu, on the Award tab.


Unlike Steam achievement, there is no hardcoded requirement. The only requirements are the ones modders will put in the possible trigger of their achievements.


I intend to post a tutorial on the forum on release day.

Thanks for the answers :)
One question specifically for the second: Will it only be visible in the career profile menu? I was wondering if the custom achievements would also show up in game in the achievement window that you can (currently only in ironman mode) open via the small button at the top right.

1662044954991.png