Post feature RSS Darkest Hour - Dev Diary #22 - Countries Release and Rebel Systems

A new dev diary about rebels and releasing countries.

Posted by on

Darkest Hour - Dev Diary #22 - Countries Release and Rebel Systems

Follow us on:

Today, we’ll introduce to our the changes and improvements that we made to the countries release and rebel systems.

First of all, we got rid of some hard-coded limitations to the automatic release system:

  • all government types can release puppets (previously only Democracies were allowed to release countries);
  • puppets can be released at war too, but with reduced chance (previously that was allowed only in peace);
  • removed requirement that no Axis countries should exist;
  • fixed a bug preventing release of countries with Communist and Fascist intrinsic_gov_type (set in Revolt.txt). Such countries can be released from only by Communist and Fascist countries. Democratic countries (no intrinsic_gov_type set) can be released by any countries.

And then we started making a few changes:

  • AI can release as puppets only countries specified into its liberate list. Liberate chances are: 15% in peace, 10% in war, 5% for colonial countries;
  • removed dissent hit for the AI from country releasing;
  • only one country can be released at a time (checked every few days);
  • added new AI parameter – liberate_nation = { }. It is similar to liberate = { }, but determines which countries the AI is going to relieve from puppet status (give them independence);

These changes are optional, we've added a new parameter to misc.txt (“ai” section):

- Use new AI release rules – all countries can release puppets even when at war. 1 – Yes, 0 – No

Please note that now it is also possible to negotiate occupied, and not only owned provinces with your allies.

And now, let's take a closer look at revolt.txt. We've added a few useful parameters:

  • added countries list that can liberate that country (no other countries can liberate it): country = { TAG1 TAG2 … TAGx };
  • added a list of countries that prevent this country creation if any of those exist at the moment: NOT= { TAG1 TAG2 … TAGx };
  • added a parameter that prevent a country from being liberated (unless it revolts or is given independence by event): liberate = no;
  • added a list of claims that populates claimedprovinces list: claims = { PROV_ID …};
  • min = X: allows release if at least X provinces of minimum list are controlled by releaser country. By default (no entry or min = -1) it is equal to provinces in minimum list;
  • min_extra = X: allows release if at least X provinces of extra list are controlled by releaser country. By default (no min_ extra entry) it is 0;
  • value = X.X (0.0 – 1.25): used by the old release model (when no min or min_extra are defined). When “score” is above that value the country will be available for release. By default (no value) it is 0.51.

And now a few words about the country release logic. First of all, we kept the old release model which used a default score of 0.51. We've made this value moddable in revolt.txt and we've made a few change and bug fixes to improve this old release model:

  • new country capital is counted even if it is a core for the liberator (gives +25% chance for liberation);
  • non-controlled provinces can be used to trigger liberation even if all other provinces are cores for the liberator
  • a country will be available for liberation if it has at least 0.51 (can be changed in revolt.txt – see above) final score (claims, cores and current capital excluded). Capital province gives 0.25 and (available minimum provinces / total minimum) provinces gives the rest;
  • liberation takes into account liberator’s national and claimed provinces (these should not be transferred to the liberated country);
  • on liberation claimed by the new country provinces will be also seceded if these are not claims, cores or current capital of the liberator and if they are owned (not just occupied);

We decided to keep the old model for compatibility reasons, but we've also also introduced a new, more flexible model, based on the min and min_extraparameters that we added in revolt.txt.

  • if a country owns or occupies a province which is a core for one of its allies (and is not a core of a claim for the owner/occupier), it will automatically secede that province to its ally over time;
  • a country can be liberated if at least X provinces (where X is the min = X parameter set in revolt.txt) from it's minimum = {} list are owned or occupied;
  • no countries will be released if any of the provinces they need changed hands in the last XXX days (set in misc.txt);
  • if minimum list is empty, but extra is not, then extra list will be used in place of the minimum. Otherwise extra list is not used.
  • rebels still require all provinces in minimum = {…} list to be controlled by them to create the country and at least one province must be controlled for at least XXX days (set in misc.txt – this was hard-coded to 3 months);

We've also made quite a few changes to the rebel system. We've already introduced some of them before, but we're always working on this, so don't be surprised if we add a few more tweaks before the release.

  • rebels army composition - chance for infantry over militia: 0 - only militia, 100 - only infantry, 50 - 50%/50% and so on (new modifiers in misc.txt - mods section);
  • rebels army tech level, based on the available model in the country that controls the province (new modifiers in misc.txt - mods section):
    • -1: only model 1
    • 0: only the Latest model
    • other positive values: random model in the range from (latest model - THIS) to (latest model);

    So, for example if the controlling country has infantry model 6 as its most advanced model and in misc.txt we set value 2, the rebel unit will be assigned a random model in the range 4 - 6 (from latest model minus 2 models to the latest model). We hope it's clear enough, please ask if you have doubts.

  • revolt risk is now tied to province manpower: introduced max base (unmodified) revolt risk (optional, set in misc.txt);
  • higher chance to rebel next to rebellious province;
  • occupied provinces have higher rebel chance too;

It might be worth to mention here that we also fixed a bug with lost air units on civil war outbreak (destroyed all air fleets located on revolted provinces): air units will now switch side on air base captured by revolted/regular ID countries.

In the first Dev. Diary, we said that Darkest Hour is a game by fans for the fans and that we wanted to stay true to the community. Well, this week we've seen a few posts that supported the idea that partisan activity should be dependent on the terrain type. We liked the idea and we decided to make this completely moddable, to let you adjust the values to your heart's content.
Here's the complete list modifiers related to rebels that we've added to misc.txt (“mods” section):

- Rebels army min. STR on creation: 1.0-100.0 – 100.0 #100.0
- Rebels army max. STR on creation: 1.0-100.0- 100.0 #100.0
- Rebels ORG regain (including when in combat) - 0.2 #0.2
- Extra bonus for rebelling for every rebel controlled neighboring province - 5 #0
- Extra bonus for rebelling for occupied enemy provinces - 5 #0
- Extra rebel bonus for mountain terrain - 0 #0
- Extra rebel bonus for hill terrain - 0 #0  
- Extra rebel bonus for forest terrain -    0 #0
- Extra rebel bonus for jungle terrain -   0 #0  
- Extra rebel bonus for swamp terrain - 0 #0  
- Extra rebel bonus for deserts - 0 #0
- Extra rebel bonus for plains terrain - 0 #0  
- Extra rebel bonus for urban provinces - 0 #0
- Extra rebel bonus for provinces with Air or Naval bases - 0 #0
- Return rebellious province to the original owner after X months if there are no rebel armies into the province anymore. - 30 #1000000 (never)

So, to sum up the content of this Development Diary, what you really need to know is:

  1. we do not need events anymore to recreate post-war countries, the automatic release of nations can take care of that on its own;
  2. rebels are stronger now (infantry, latest models, organization regain, revolts spreading to neighbouring provinces, etc.);
  3. all is 100% moddable and fully optional. as always;

See you next week!

Darkest Hour Screenshot

Darkest Hour Screenshot

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.