Hello everyone, I hope you are enjoying playing Heart of Darkness. I thought I should do a little dev diary for our modding community and to highlight new things. Naselus of Pop Demand Mod fame and all-around nice guy did a little modder review of the game already here if someone wants more reading after my diary.
The two biggest new areas that are moddable are the new battle plans and the newspaper system.
Battle plans
All you need to start modding this system is referenced from battleplans\bp_settings.txt. It lets you add new drawing tools and icons if you want to add more ways of drawing plans or add more colors.
Newspapers
The newspaper system has extensive support for modding. Its a bit too big to explain in detail here, so if you are interested check out this post where I uploaded documentation for it.
You can not add new article types except for the basic ones (AI likes/dislikes/fears, peace/war, battle, crisis, decisions, goods, inventions, rebels, events and "fakes"). The last two are the ones you can use if you want to add something like a new type. By using events you can set up complex triggers, and fake articles also let you set up triggers and make chains of articles so you can write a series with follow-up articles.
Adding new paper headlines is also pretty easy. You need to make a new picture, or edit one we included and then script in where it should be used. Here is an example for how the communist paper is selected for France (from news_layout.txt)
AI control
We have added a ton of defines that let modders control the AI for things like peace deals and other stuff. To give you an idea here are most of the ones that affect the peace AI:
Colonial system
The new colony system isn't as moddable as the rest but there are despite this a lot of values to tweak. Everything about point generation can be changed and buildings can be scripted for how they generate points. Naval bases for example have this, letting you set per-level gains:
Factories
We have got two things here that are moddable. First of all the AI will now reserve slots for advanced factories for the end game, this is done through buildings.txt by marking factories with "advanced_factory = yes". In Heart of Darkness factories get local bonuses from being in areas where their input goods are available. This is fully scriptable like so:
War
Units have new stats, particularly ships that can be tweaked. You will find all other values concerning combat easily modifiable in defines.lua as well such as NAVAL_COMBAT_SELF_DEFENCE_CHANCE which decides how ships select targets. The new ticking warscore system is also moddable and you can now tweak wargoals to gain ticks from combat by adding tws_battle_factor to them and there is a new peace option 'po_remove_cores' that works when conquering to remove core claims.
There is also a lot more new stuff in defines to mod: mobilization speed, colonies, more naval combat things, RGO hiring rate, AI fleet sizes, crises, siege and recon effect and ratios, so dig in and hopefully we'll see some cool mods in the future!
3.02 Patch
Since I know people will ask, patch development is going well and we will have a public beta out soon(tm). 3.02 will also add a few more modding things, one which is the ability to base newspaper articles around major country decisions. We also have a whole bunch of new defines that let modders control stuff.
There will be a post-mortem diary in the future where I will be talking more patch details and general stuff about the project, so look forward to that!
ps.
Victoria II: Heart of Darkness Developer Diary Archive:
http://forum.paradoxplaza.com/forum...-II-Heart-of-Darkness-Developer-Diary-Archive
Victoria II: Heart of Darkness Interviews & Reviews
http://forum.paradoxplaza.com/forum...a-II-Heart-of-Darkness-Interviews-amp-Reviews
[video=youtube;DqWwJjRhb30]http://www.youtube.com/watch?v=DqWwJjRhb30[/video]
The two biggest new areas that are moddable are the new battle plans and the newspaper system.
Battle plans
All you need to start modding this system is referenced from battleplans\bp_settings.txt. It lets you add new drawing tools and icons if you want to add more ways of drawing plans or add more colors.
Newspapers
The newspaper system has extensive support for modding. Its a bit too big to explain in detail here, so if you are interested check out this post where I uploaded documentation for it.
You can not add new article types except for the basic ones (AI likes/dislikes/fears, peace/war, battle, crisis, decisions, goods, inventions, rebels, events and "fakes"). The last two are the ones you can use if you want to add something like a new type. By using events you can set up complex triggers, and fake articles also let you set up triggers and make chains of articles so you can write a series with follow-up articles.
Adding new paper headlines is also pretty easy. You need to make a new picture, or edit one we included and then script in where it should be used. Here is an example for how the communist paper is selected for France (from news_layout.txt)
Code:
case = {
trigger = {
or = {
and = {
is_culture_group = french
ruling_party_ideology = communist
}
and = {
civilized = no
part_of_sphere = yes
sphere_owner = {
is_culture_group = french
ruling_party_ideology = communist
}
}
and = {
civilized = no
is_vassal = yes
overlord = {
is_culture_group = french
ruling_party_ideology = communist
}
}
}
}
picture = "news/FRA_communist_newspaper_title.dds"
}
AI control
We have added a ton of defines that let modders control the AI for things like peace deals and other stuff. To give you an idea here are most of the ones that affect the peace AI:
Code:
PEACE_BASE_RELUCTANCE = 20, -- AI base stubbornness to refuse peace (always applied)
PEACE_TIME_MONTHS = 30, -- months of additional AI stubbornness in a war
PEACE_TIME_FACTOR = 0.6, -- after months of stubbornness the effect of time passed is multiplied by this
PEACE_TIME_FACTOR_NO_GOALS = 2.0, -- this extra time factor is applied after PEACE_TIME_FACTOR if we have no war goals
PEACE_WAR_EXHAUSTION_FACTOR = 0.5, -- AI willingness to peace based on war exhaustion
PEACE_WAR_DIRECTION_FACTOR = 1.0, -- AI willingness to peace based on who's making gains in the war
PEACE_WAR_DIRECTION_WINNING_MULT = 5.0, -- Multiplies AI emphasis on war direction if it's the one making gains
PEACE_FORCE_BALANCE_FACTOR = 0.3, -- AI willingness to peace based on strength estimation of both sides
PEACE_ALLY_BASE_RELUCTANCE_MULT = 2.0, -- Multiplies PEACE_BASE_RELUCTANCE for allies in a war
PEACE_ALLY_TIME_MULT = 1.0, -- Multiplies PEACE_TIME_FACTOR for allies in a war
PEACE_ALLY_WAR_EXHAUSTION_MULT = 1.0, -- Multiplies PEACE_WAR_EXHAUSTION_FACTOR for allies in a war
PEACE_ALLY_WAR_DIRECTION_MULT = 0, -- Multiplies PEACE_WAR_DIRECTION_FACTOR for allies in a war
PEACE_ALLY_FORCE_BALANCE_MULT = 0, -- Multiplies PEACE_FORCE_BALANCE_FACTOR for allies in a war
Colonial system
The new colony system isn't as moddable as the rest but there are despite this a lot of values to tweak. Everything about point generation can be changed and buildings can be scripted for how they generate points. Naval bases for example have this, letting you set per-level gains:
Code:
colonial_points = { 30 50 70 90 110 130 } #points at levels 1-6
Factories
We have got two things here that are moddable. First of all the AI will now reserve slots for advanced factories for the end game, this is done through buildings.txt by marking factories with "advanced_factory = yes". In Heart of Darkness factories get local bonuses from being in areas where their input goods are available. This is fully scriptable like so:
Code:
liquor_distillery = {
template = cheap_factory_template
input_goods = {
grain = 5
glass = 4
}
output_goods = liquor
value = 5
# bonus if we have glass or grain!
bonus = {
trigger = { has_building = glass_factory }
value = 0.15
}
bonus = {
trigger = { trade_goods_in_state = grain }
value = 0.1
}
}
War
Units have new stats, particularly ships that can be tweaked. You will find all other values concerning combat easily modifiable in defines.lua as well such as NAVAL_COMBAT_SELF_DEFENCE_CHANCE which decides how ships select targets. The new ticking warscore system is also moddable and you can now tweak wargoals to gain ticks from combat by adding tws_battle_factor to them and there is a new peace option 'po_remove_cores' that works when conquering to remove core claims.
There is also a lot more new stuff in defines to mod: mobilization speed, colonies, more naval combat things, RGO hiring rate, AI fleet sizes, crises, siege and recon effect and ratios, so dig in and hopefully we'll see some cool mods in the future!
3.02 Patch
Since I know people will ask, patch development is going well and we will have a public beta out soon(tm). 3.02 will also add a few more modding things, one which is the ability to base newspaper articles around major country decisions. We also have a whole bunch of new defines that let modders control stuff.
There will be a post-mortem diary in the future where I will be talking more patch details and general stuff about the project, so look forward to that!
ps.
Victoria II: Heart of Darkness Developer Diary Archive:
http://forum.paradoxplaza.com/forum...-II-Heart-of-Darkness-Developer-Diary-Archive
Victoria II: Heart of Darkness Interviews & Reviews
http://forum.paradoxplaza.com/forum...a-II-Heart-of-Darkness-Interviews-amp-Reviews
[video=youtube;DqWwJjRhb30]http://www.youtube.com/watch?v=DqWwJjRhb30[/video]
Last edited by a moderator: