Development Diary #26 - 1.02 Patch Development

  • Victoria 3 - Sign up now!

    The journey begins, sign up now and get a special in-game item when the game is released.


  • Crusader Kings III Available Now!

    The realm rejoices as Paradox Interactive announces the launch of Crusader Kings III, the latest entry in the publisher’s grand strategy role-playing game franchise. Advisors may now jockey for positions of influence and adversaries should save their schemes for another day, because on this day Crusader Kings III can be purchased on Steam, the Paradox Store, and other major online retailers.


    Real Strategy Requires Cunning
  • Crusader Kings II Expansion Subscription

    Subscribe to the CK II Expansion and enjoy unlimited access to 13 major expansions and more!


Inner Circle

----Darkest Hour Team---- ✪ ☭ ✠
89 Badges
May 26, 2007
3.584
485
  • Penumbra - Black Plague
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Europa Universalis III Complete
  • Knights of Pen and Paper +1 Edition
  • Legio
  • The Kings Crusade
  • Magicka
  • Majesty 2
  • March of the Eagles
  • Europa Universalis III Complete
  • For The Glory
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Rome Gold
  • Semper Fi
  • Sengoku
  • Sword of the Stars
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Victoria 2: A House Divided
  • Imperator: Rome Sign Up
  • Crusader Kings II: Sword of Islam
  • Arsenal of Democracy
  • Hearts of Iron II: Armageddon
  • Cities in Motion
  • Cities in Motion 2
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Hearts of Iron Anthology
  • Darkest Hour
  • Deus Vult
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations





Hello everyone and welcome to another Development Diary of Darkest Hour!

You may ask why we decided to write a new DD now, more than six months after the release of DH. Well, the answer is that we're always working on improving the game through Patches that add new triggers and commands, expand existing ones and in general add more Features/Bugfixes to the game. That's why this DD will focus on the new Features that you will see in the forthcoming patch 1.02, as there are quite a few of them.

It is now possible to change, to your own will, the upgrade between different models and even units! So for example, you can make militia 1936 upgrade to infantry 1936 instead of militia 1939, if so you wish. I think this can be useful especially for those mods that want to create a different world rather than focus on WWII (or WWI). And let's not forget that is also mean that ships can be upgradable too if you want.
Code:
  - Upgrade type and model can be specified in brigade/division files.
        For example to upgrade LArm-2 to ARM-2 add armor = 2 into the model = { } entry for L-Arm-2 in light_armor.txt:
        # 2 - Improved Light Tank
        model = {
            armor = 2 # Upgrade to ARM-2
            ……..
        }
    - This is optional and can be skipped. By default every unit/brigade is upgradeable to the next model of the same type with 2 exceptions:
        1. LArm-2 by default upgrades to ARM-2
        2. All ships by default do not upgrade
    - It is possible to specify upgrade to a model of the same type too.
        For example INT-4 can be set to upgrade to INT-7 directly and skip the two rocket interceptor models in interceptor.txt:
        model = { # Advanced Interceptor – 4
            interceptor = 7 # Upgrade to Basic Turbojet Interceptor – 7 directly
            ….
        }
    - It is also possible to forbid a specific model to be upgraded at all. To do that set its upgrade model to -2.
        For example INT-6 could be set as non-upgradeable event if there is INT-7 model:
        model = { # Improved Rocket Interceptor - 6
            interceptor = -2 # Forbid upgrading of that model
            …
        }
        model = { # Basic Turbojet Interceptor – 7
            ….
        }

One simple warning: upgrading to a different type of units (land/air/naval) can lead to problem, so beware and don't try to upgrade a garrison to a submarine! :D

But this is not the only change we made to the upgrading of units!

Code:
 Added new optional division/brigades models parameter: on_upgrade = yes/no(default). When set to “yes” current model’s upgrade_time_factor and upgrade_cost_factor modifiers will be used on upgrade to the next model instead of the default next model ones.

This is useful when combined with changes to the unit type (now allowed by the previous change). To expand the example we used above, if we decided to make Milita 1936 upgrade to Infantry 1936, the engine would normally calculate the cost based on the IC and time values of Infantry 1936. With on_upgrade = yes set on Militia 1936 model, you can make the IC and time of upgrade be based on the values written in the Miltia 1936 model. So for example you can set upgrade_cost_factor = 2, which means that upgrading Militia 1936 will take twice the IC necessary to build it.

Finally, units which are being reinforced (and that can be upgraded and are not set to not upgrade) now receive a little upgrade too during the reinforcement. There is a new modifier in misc.txt:
Code:
Reinforce to upgrade modifier. Values from 0.0 (divisions do not get extra upgrade progress on reinforcement) to 1.0 (1:1 ratio, 1% reinforce adds 1% to upgrade progress)

But that´s not all ;) We also added new division parameters which will affect units running out of Fuel and/or Supplies. Before we made those changes there was only a fixed -20% combat penalty to all units out of supply inside misc.txt. This was not enough for us so we implemented a better solution:

Code:
Added new optional unit model modifier - no_supplies_combat_mod. Combat penalty when out of supplies. Default value is set in misc.txt.
Added new optional unit model modifier - no_fuel_combat_mod. Combat penalty when out of fuel. Default value is set in misc.txt.
Added new optional unit model modifier - out_of_fuel_speed. Speed penalty when out of fuel. Default value is set in misc.txt.

New modifiers in misc.txt (“combat” section):
	- Combat Modifier: Default Supply Problems Mod – Air
	- Combat Modifier: Default Supply Problems Mod - Naval
	- Combat Modifier: Default Fuel Problems Mod - Land
	- Combat Modifier: Default Fuel Problems Mod - Air
	- Combat Modifier: Default Fuel Problems Mod – Naval

New combat modifier – Out of Fuel, definable in misc.txt (default per land/air/navy) and per model in unit files.

NOTE: These modifiers can be changed by event commands/techs too, as you can see:
Code:
Added commands to modify country specific unit modifiers:
- out_of_fuel_speed
- no_fuel_combat_mod
- no_supplies_combat_mod

The final changes we made with Divisions/Brigades are the already announced features of having up to 5 Brigades for Land/Air-Units enabled and the Custom Upgrade Paths (from the UI).
At the moment we are discussing whether we should give Infantry the possibility to carry 2 brigades in DH Full.

d09686f5.png

edfedb0a.png


The engine itself got some improvements too. During the last weeks, the Air AI got a major overhaul with many Bugs inside the Code fixed and the AI behaviour tweaked. As an example, the AI will now redeploy its wings away from airbases which are threatened by the enemy. Also, the AI will make a more efficient use of the Air Scramble Mission, so watch out ;).

As a side-effect of the changes in the Air AI, our Coder and Lead Developer Martin found and fixed a huge memory leak. Sometimes in long games, the engine used over 1.1GB of Ram for a single game. Now it´s usually between 300-350 Mb, which lead to an increase in the performance of the game! In addition to this, thanks to further optimizations the file size of savegames has been reduced a bit.

For the Modding Community, we expanded the Debug Logs with many checks for AI Files. They are activated as before from settings.cfg and will be stored inside the usual savedebug.txt:

Code:
Added more debug logs when extra logs are enabled (settings.cfg). Checked on file load 
When extra logs are set to 2 in settings.cfg, all *.ai files in ai and ai\switch folders for the current mod are logged on game start :

	- Check for invalid tech IDs in endgoal, preference and ignore sub-sections of technology section in AI files
	- Check for duplicated tech IDs in the same section in endgoal, preference and ignore sub-sections of technology section in AI files
	- Check for duplicated or invalid province IDs in invasion 'target' section
	- Check if all provinces in invasion 'target' section have beaches
	- Check for invalid province IDs in invasion 'staging_province' section
	- Check if all provinces in invasion 'staging_province' section are land provinces
	- Check for duplicated or invalid province IDs in admiral 'target' section
	- Check if all provinces in admiral 'target' section are naval
	- Check if all area names in admiral 'ignore' section are valid
	- Check for invalid province IDs in admiral 'core' section
	- Check if all provinces in admiral 'core' section are naval
	- Check for invalid province IDs in admiral 'base' section
	- Check if all provinces in admiral 'base' section have ports
	- Check if a country TAG is used more then once in a section
	- Check if invalid country TAG is used in a section
	- Check if a country TAG is used more then once in trade pref. 'favored' section
	- Check for invalid country TAGs in trade pref. 'favored' section
	- Check if a country TAG is used more then once in tech share pref. 'favored' section
	- Check for invalid country TAGs in tech share pref. 'favored' section
	- Check if a tech ID is used more then once in tech share pref. 'prioritized' section
	- Check for invalid tech IDs in tech share pref. 'prioritized' section
	- Check for invalid country TAGs in tech share pref. 'embargo' section
	- Check for invalid tech IDs in tech share pref. 'not' section
	- Check for duplicated country TAGs in 'max_front_ratios' section
	- Check for invalid country TAGs in 'max_front_ratios' section
	- Check for duplicated country TAGs in 'exp_force_ratios' section
	- Check for invalid country TAGs in 'exp_force_ratios' section
	- Check for invalid country TAGs in 'combat' section
	- Check for invalid country TAGs in 'resistance' section
	- Check for invalid country TAGs in 'protect' section
	- Check for invalid country TAGs in 'befriend' section
	- Check for invalid country TAGs in 'liberate' section
	- Check for invalid country TAGs in 'liberate_nation' section
	- Check for invalid country TAGs in 'no_exp_forces_to' section
	- Check for duplicated or invalid province IDs in 'target' section
	- Check if all provinces in 'target' section are land provinces
	- Check if a country TAG is used more then once in garrison 'country_priorities' section
	- Check for invalid country TAGs in garrison 'country_priorities' section
	- Check for duplicated or invalid province IDs in garrison 'province_priorities' section
	- Check if all provinces in garrison 'province_priorities' section are land provinces
	- Check for duplicated or invalid province IDs in garrison 'ignore' section
	- Check if all provinces in garrison 'ignore' section are land provinces
	- Check for duplicated or invalid province IDs in garrison 'area_multiplier' section
	- Check if all provinces in garrison 'area_multiplier' section are land provinces
	- Check for duplicated country TAGs in front 'enemy_handicap' section
	- Check for invalid country TAGs in front 'enemy_handicap' section
	- Check for duplicated country TAGs in front 'passivity' section
	- Check for invalid country TAGs in front 'passivity' section
	- Check for duplicated or invalid province IDs in front 'province_priorities' section
	- Check if all provinces in front 'province_priorities' section are land provinces
	- Check for invalid province IDs in construction 'AA_provs' section
	- Check if all provinces in construction 'AA_provs' section are land provinces
	- Check for invalid province IDs in construction 'coastal_fort_provs' section
	- Check if all provinces in construction 'coastal_fort_provs' section are land provinces with coasts
	- Check for invalid province IDs in construction 'radar_provs' section
	- Check if all provinces in construction 'radar_provs' section are land provinces
	- Check for invalid province IDs in construction 'air_base_provs' section
	- Check if all provinces in construction 'air_base_provs' section are land provinces
	- Check for invalid province IDs in construction 'naval_base_provs' section
	- Check if all provinces in construction 'naval_base_provs' section are land provinces with ports
	- Check for invalid province ID for construction 'nuclear_reactor_prov'
	- Check if province ID for construction 'nuclear_reactor_prov' is land province
	- Check for invalid province ID for construction 'rocket_test_prov'
	- Check if province ID for construction 'rocket_test_prov' is land province
	- Check for invalid province IDs in construction 'fort _provs' section
	- Check if all provinces in construction 'fort_provs' section are land provinces with ports
	- Check for invalid country TAGs in construction 'fort_borders' section
	- Check for invalid province IDs in construction 'IC_provs' section
	- Check if all provinces in construction 'IC_provs' section are land provinces
	- Log error if there is unknown string in military section
	- Log error if there is unknown string in upgrade section
	- Check for invalid country TAGs in spyprefs 'spyprefsdata' section

And here some additional Logs which were added:

Code:
   - Report for wrong command syntax (Missing = in statement.)
   - Report for invalid event picture – only when extra debug logs are enabled in settings.cfg
   - Seazones.txt - only when extra debug logs are set to 2 in settings.cfg
   - Report on missing tech year or tech picture - only when extra debug logs are enabled in settings.cfg
   - Report on incorrect format of text strings (missing or extra %) - only when extra debug logs are enabled in settings.cfg

We hope that this will greatly help all Modders out there. With those logs, we were able to track down many unseen Bugs inside the AI files and fixed them.

To coclude this Dev Diary, we are happy to announce, that there will be new 1933, 1940 and 1941 scenarios for DH Full in 1.02.
 

Kung Zog

Lt. General
27 Badges
Dec 19, 2010
1.362
143
  • Crusader Kings II
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Semper Fi
  • Rome Gold
  • King Arthur II
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis III: Chronicles
  • Darkest Hour
  • Cities in Motion
  • Stellaris
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Way of Life
  • 500k Club
  • War of the Roses
  • Warlock: Master of the Arcane
  • Victoria 2
  • Europa Universalis IV
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sword of Islam
  • Magicka
Massive patch. Impressive!
 

korodikrisz

Banned
57 Badges
Jul 19, 2011
751
13
  • Europa Universalis IV: Res Publica
  • Darkest Hour
  • Europa Universalis III Complete
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Cities: Skylines
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris Sign-up
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Europa Universalis IV: Mandate of Heaven
  • Steel Division: Normand 44 Sign-up
  • Cities: Skylines - Parklife
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Ancient Relics
  • Stellaris: Distant Stars
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife Pre-Order
  • Stellaris: Galaxy Edition
  • Europa Universalis IV
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Pillars of Eternity
  • Hearts of Iron IV: La Resistance
  • Stellaris: Lithoids
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Common Sense
  • Stellaris
  • Crusader Kings II
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Divine Wind
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Call to arms event
  • Heir to the Throne
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Third Rome
Do you plan allowing limitless timeframe in DH full?
 

necAnt

Recruit
13 Badges
Jul 22, 2010
7
0
  • Hearts of Iron Anthology
  • Arsenal of Democracy
  • Crusader Kings II
  • Darkest Hour
  • Deus Vult
  • Europa Universalis III: Chronicles
  • Europa Universalis IV
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Hearts of Iron III Collection
  • Sword of the Stars
  • Victoria 2
  • 500k Club
I hope for you that evrything will work as planed. I like all your ideas, let´s hope that you can give us an running patch soon.
thanks lads and gents, great work.
 

Pasha

Field Marshal
2 Badges
May 26, 2005
2.575
283
  • Darkest Hour
  • 500k Club
This is great news. I like the idea of limiting land divisions to just 2 brigades.
 

Easy1

Banned
15 Badges
Feb 5, 2009
2.189
5
  • Arsenal of Democracy
  • Darkest Hour
  • Europa Universalis III Complete
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III Collection
  • Victoria: Revolutions
  • Supreme Ruler 2020
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • 500k Club
  • Achtung Panzer
  • Hearts of Iron IV Sign-up
  • Hearts of Iron IV: Cadet
  • Knights of Honor
Three new scenarios. Great!
 

Rotten Venetic

Field Marshal
6 Badges
Jun 10, 2006
4.289
10
  • Darkest Hour
  • Europa Universalis III: Chronicles
  • Europa Universalis IV
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III Collection
  • 500k Club
Those divisions with 5 brigades look scary as hell. Possible to restrict this ability to events / certain countries?
 

lu1234

Recruit
15 Badges
Jun 21, 2008
9
0
  • Darkest Hour
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Iron Cross
  • Semper Fi
  • Sword of the Stars II
  • 500k Club
  • Hearts of Iron IV Sign-up
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
I think land unit default set to 2 brigades is OK, but let user can modify up to 5 (max.) in misc.txt would be good !!
 

Gwax23

Colonel
57 Badges
Oct 9, 2010
1.030
5
  • Hearts of Iron II: Armageddon
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Supreme Ruler 2020
  • Semper Fi
  • Rome Gold
  • Victoria: Revolutions
  • Iron Cross
  • Heir to the Throne
  • Hearts of Iron III
  • For The Glory
  • Divine Wind
  • Darkest Hour
  • Europa Universalis III Complete
  • Arsenal of Democracy
  • Crusader Kings II
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Stellaris
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Jade Dragon
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Stellaris: Galaxy Edition
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Ancient Relics
  • Europa Universalis III Complete
  • Imperator: Rome - Magna Graecia
  • Europa Universalis III Complete
  • Stellaris: Lithoids
  • Crusader Kings III
  • Hearts of Iron IV: La Resistance
  • Victoria 2
  • 500k Club
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris: Galaxy Edition
Awesome! Great update cant wait. Good work.

DH is the best WW2 strategy game out there IMO.

These new scenarios will be great.
 

Ethan194

Colonel
53 Badges
Jan 28, 2011
1.009
18
  • Crusader Kings II: Charlemagne
  • Stellaris: Synthetic Dawn
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Europa Universalis IV: Mare Nostrum
  • Semper Fi
  • Rome Gold
  • Hearts of Iron III
  • For the Motherland
  • Knights of Honor
  • Stellaris: Apocalypse
  • Crusader Kings II
  • Europa Universalis III: Chronicles
  • Darkest Hour
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Holy Fury
  • Steel Division: Normandy 44
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Crusader Kings III
  • Stellaris: Humanoids Species Pack
  • Stellaris: Megacorp
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV
  • Victoria 2
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Stellaris
  • Crusader Kings II: Reapers Due
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
Is the dh team planing on relesing all the old scenarios from hoi2 and then relesing new dh only scenarios after?