Panzer, Modern & First World War Campaigns Version 4.05 Deep Dive

Hello everyone,

We would like to share more on the planned version 4.05 update.

As mentioned in our Quarter Two Update, the next title to be released from WDS will be Panzer Campaigns - Smolensk ’43. This will be the first title to be upgraded to the upcoming version 4.05 standard.

We have shared quite a bit of information regarding the update, but more has been added and we have been busy fielding questions on the WDS Forum. So we thought it worthwhile to share more with you all.

Below is the latest changelog with items highlighted in bold that have been added or enhanced since the Quarter Two Update.

Bug Fixes

  • Bug: Ski units will now use foot movement sound where there is no SNOW or FROZEN map condition.
  • Bug: Fixed Convert to Sub-Scenario.
  • Bug: Partisan units will no longer disrupt movement of units when in Travel Mode.
  • Bug: AI Hold Orders will now not be cleared after one turn.
  • Bug: AI Active Orders will now not be cleared after one turn.

Enhancements

  • Remove the Spotted icon from the Unit card and add "Spotted" as the first line on the Terrain Box.
  • Show Organization Enhancements (Alt-Q)
    • Is now a non-modal dialog and can be left open during play. It can be placed on a separate monitor if desired.
    • The ‘Show Organization’ (Alt-Q) will now both highlight the selected organization and move the map to centre on the selected formation/unit.
    • If an organization is highlighted on map (shortcut key ‘Q’) and then the Show Organization dialog opened (Alt-Q), the dialog will now expand the Org Tree to show the selected Organization.
    • Selecting units on map with the Show Organization Dialog open will update the dialog view.
    • Formations may show if they are ‘Not Present’ or ‘Reinforcements’ in the scenario being played.
    • Show Organization icon added to the toolbar.
  • The Jump Map (shortcut key ‘J’) is now a non-modal dialog and can be left open during play. It can be placed on a separate monitor if desired.
  • The Command Report (Alt-K) is now a non-modal dialog and can be left open during play. It can be placed on a separate monitor if desired.
  • The Parameter Data (shortcut key ‘F3’) is now a non-modal dialog and can be left open during play. It can be placed on a separate monitor if desired.
  • All non-modal displays can be placed on screen as desired and their positions and sizes will be remembered. Under Settings there is a ‘Clear Settings’ choice that will reset all display positions and sizes to default. Please note this resets all your settings as previously played.
  • Fatigue accumulation code is now based on ratio of losses to full strength.
  • Morale checking code. Determining whether morale checks are applicable is now based on ratio of losses to current unit strength.
  • Upgraded functionality for Armoured Trains.
    • Armoured trains cannot change into rail mode. They can only move deployed.
    • Armoured trains are exempt from the night move disruption rule. They normally would be exempt when in rail mode, but as they move deployed, they need to be set as an exception.
    • Armoured trains use the Artillery Hard Target Modifier in the PDT when firing into an adjacent hex only (usually a value of 2.5x). This is for both hard and soft fire. This represents the attached infantry and other close weapons such as MG’s.
    • Armoured trains have patrolling capability, just like infantry units. These were used for track protection and anti-partisan duties and adding this allows that.
  • Area Boundaries setting is now saved in the registry.
  • The spotting range for patrolling is now in the PDT.
  • A* Pathfinding added.
  • AI updates
    • Improvement to movement scripts including start and end turns.
    • Improvement to hold orders including start and end turns. Units are discouraged from leaving fortified hexes.
    • Changes to assault initiation and targets
    • Changes to night movement behaviour
    • AI offensive and defensive fire takes into account the state of the firing unit. Fatigued units will fire less with a priority to rest and recover.
    • Adjusted the behaviour of units directly attached to corps and armies.
    • ai file added to the Data directory. This controls common parameters used by the AI. Scenario specific AI files can be created and are selected through the scenario header dialog.
  • Wireless intercepts have been added. These will reveal HQ locations based upon radio direction finding and wireless analysis. Values in the PDT for each side determine the percentage chance and whether the report is detailed (the level of HQ – Division, corps etc) or generic. HQs that have been found can be targeted by both artillery and air units.
  • A new optional rule was added to prevent units with low ammo from firing.
  • Window Edge scrolling added (Settings\Scrolling).
    • This is to support multi-monitor support when using the new non-modal dialogs such as the Organization display.
    • To scroll using Window Edge, place the mouse cursor near the edge of the game window (not menus or unit boxes). The map should scroll in that direction.
    • The default area to determine scrolling is 48 pixels within the edge of the game screen. The active area can be adjusted to be larger or smaller by changing the value in Scrolling Buffer under the Scrolling menu.

Content Changes

  • Support the use of a colon in the Unit Component Name (to differentiate units but use the same picture).
  • Changed Editor icons to be like the Panzer Battles ones (coloured differently).
  • The Scenario Selection dialog has been updated to include artwork.
  • Tooltips added to Optional Rules dialog.

To explain these latest changes, further details are below.

Bug: AI Active Orders will now not be cleared after one turn. After further investigation of the AI code, we found that both the scripted Hold and Active Move orders were being cleared after a turn. When cleared, the AI reverted to the general AI, not scenario specific scripting. This had been mitigated to some extent as designers had put in repeat orders every couple of turns, but that was not enough to offset the clearing of scripted orders. The correction of the bug impacting both Hold and Active orders reduces the amount of scripting required in a scenario.

Enhancement: Show Organization Enhancements (Alt-Q). We received some great feedback from both the community and our testing team on additional features that could be added to this display.

  • Non-modal. This allows the display to be open during play and even placed on a separate monitor if desired.
  • We have lifted some code from Panzer Battles, where highlighting a unit (‘Q’) and then opening the Organization display (Alt – Q), expands the Organization tree automatically. It is much easier to see what formation an organization belongs to, select their parents or other supporting units. This selection can be made in the display and the chosen unit will be centred on the map and highlighted. Better still, if the organization highlight is on, any unit clicked on the map, will have the entry opened or refreshed on the Organization display.
  • We have also added some additional information in the Organization display. Not only will units show as ‘Not Present’, but units will be marked as ‘Reinforcements’ if entering later in the scenario.

The improvements with this display will allow players to both review and select units in different ways. Below is some examples of on-map selection and the equivalent in the Organization display.

The Panzer battalion has been selected and the Organization display has opened at the appropriate entry. You can see that other units in this division will be arriving as reinforcements in future turns, as indicated by *** Reinforcement ***

Clicking on-map on the regiment HQ (orange) in Roslavl, highlights all the units in Kav.Rgt.Mitte and also opens the unit entry on the Organization display. 

Either double clicking on the entry on the Organization display or selecting the cavalry unit on the map opens up the next level below the Kav.Rgt.Mitte. This dynamic updating allows you to quickly see related units or find subsidiary or superior formations. It is now much easier to find senior HQ's for example.

Enhancement: Jump Map (J). The jump map is now also non-modal. Leaving the jump map open allows you to easily select other map areas or see what part of the map you are currently on. The jump map and organization display help streamline play.

Enhancement: Command Report (Alt-K) and Parameter Data (F3). These displays can also be left open during play, but probably have less utility than the prior two.

All displays can be positioned where you like on screen. All, other than the Jump map can be resized. The game will remember your preferences and open them in the same spot when you next play. There is a Clear Settings selection under the Settings menu that resets the displays and all your choices held in registry. Use with caution!

Below is an example of a range of open screens during play. This is on a 34-inch monitor to show an example of the various displays on a larger screen. Any combination of displays can be open, as desired, allowing players to customise how they play. The displays on the right can be placed on another monitor if preferred.

Enhancement: The spotting range for patrolling is now in the PDT. We have been moving items that have been hard coded, out of the code and into the parameter file. Patrolling is nominally set at two hexes, but designers now have a choice to adjust this as required.

Enhancement: A* Pathfinding added. A* Pathfinding is one of the most used pathfinding algorithms. WDS has added it to a number of our series previously, and it will be included in these three series from version 4.05. John Tiller had used a different equation for movement, but in our tests, we have found A* to be superlative.

Below is an example of side-by-side movement of the same unit using the 4.04 current pathing and A*. A* resulted in the unit arriving a full turn earlier.

Version 4.04 is on the left, A* pathfinding on the right. This is the first turn, where both have moved a similar distance, but the A* turns north.

On the second turn, the traditional pathing gets stuck on a stream, while A* continues north and follows the railway.

On the third turn, A* arrives at the destination while the legacy movement is still a turn short.

Enhancement: AI Updates. AI improvements have been some of our most asked for changes. A lot of work has been done on the AI in the pre-twentieth century series (Musket & Pike, Napoleonic’s & Civil War Battles) and released in various updates over the last twelve months. Version 4.05 will be the first time we have tackled these three series.

Much of the work has been understanding what the 10,000+ lines of AI code do, and then ensuring it made sense. As further explanation, there is a general AI and specific AI behaviour due to scripting. The general AI runs an assessment at the start of each turn to basically decide whether it is defending or attacking. That depends broadly on which side owns what objectives and how many "points" one side has vs. the other. Having decided on defence or attack, formations are moved to (or held at) AI-determined destinations and on arrival deployed for attack or defence.

The general AI is designed to cater for a variety of "problems", but it doesn't have the situational awareness of a player. Hence the reason, designers add scripted orders into a scenario to get the AI to move to a specified destination or hold in place in its current location. The general AI also generates a set of orders internally, but the Scenario Designer's orders have priority over and replace these. Obviously, if there are none in the scenario file, then the internal ones are used. The scripts do not determine whether to engage the enemy or not, but rather where to move or hold. Firing at (indirect or direct) and assaulting enemy units is handled by those 10,000 lines of code.

As we have reviewed the code, we have found several issues, inconsistencies, or unconsidered situations. Following are some specific changes and associated rationale.

Active (movement) orders now have a start and end turn. With the bug that was clearing Active and Hold orders fixed, units will continue to use the same order every turn until it is replaced. An option to adding a second scripted order is to put an end turn in. When the end turn is reached, if there is no subsequent order then the general AI takes over that unit.

Hold orders also now have start and end turns. Previously Hold orders were just set and any subsequent order cleared them. Now units can be scripted to move to a destination then hold and then subsequently move again. Having start and end turns allows a range of permutations when determining what a unit will do. Units with Hold orders will choose to remain in any form of entrenchments if available. The previous code only prioritised pillboxes and bunkers. Units in trenches and improved positions were classed as available for tasks which tended to have them leave their positions.

Another enhancement is that orders can now be shown for the currently selected formation, rather than the mass of arrows usually shown. Below you can only see the orders for a single Tank Brigade - the currently selected order is shown in black.


Assault initiation and targets. Assaults were generally working, but there were exceptions. Units will now prioritize disrupted enemy units to assault. There are some other considerations in the decision tree, but a disrupted unit will be a prime candidate.

Night Movement Disruption. This section of code was written specifically for the First World War Campaigns. It included changes not just to movement, but retreat rules and a raft of other things. At a much later date, John Tiller migrated this code into Panzer Campaigns and Modern Campaigns. Unfortunately, the programming that had units decide whether to move at night or not, was never transferred. Units in First World War Campaigns worked as expected while the other two series had the AI wandering around disrupting units due to this rule. This normally resulted in the player finding AI controlled units that were both disrupted and fatigued due to not resting. The appropriate code has now been enabled.

AI offensive and defensive fire initiation. The AI has a tendency to fire at every opportunity, both offensively and defensively. This usually results in fatigued and disrupted units. There is now a weighting system that determines whether a unit should fire. Essentially, for each morale level below normal there is a reduction in the chance a unit will fire offensively or defensively. If one morale level down (the equivalent of being disrupted, or low ammo), then there is only 50%* chance a unit may fire, if two levels down, 25%* and if three levels, a 0% chance. The idea is the more fatigued or disrupted a unit is, the more it should be trying to rest and recover. This hopefully will reduce the frequency of low chance firing as well as speed up the game generally. * means these values can be changed by the scenario designer.

Behaviour of units directly attached to corps and armies. There was some weirdness in both the scripted orders and general AI when it came to units that did not have a subsidiary headquarters like a division. There has been some tweaks made that should ensure these assets have orders consistent with the owning corps or army.

Main.ai file. There is now a main.ai file in the data directory. This is a little like the PDT files that are used in scenarios and different ai files can be created for specific scenarios. This file contains the constants used by the general AI as well as some title or scenario specific values. For example, the values listed under the offensive and defensive fire initiation above are included in the main.ai file under the Medium and Low morale fire probability values. We won’t explain what all these values do now, but they can now be tailored by the designer as needed.

Enhancement: Wireless intercepts. Wireless intercepts (and SIGINT in Modern Campaigns) have been included in First World War Campaigns since East Prussia ’14 was published. After researching radio detection and other technologies used in World War 2, we felt there was a place for Wireless Intercepts in Panzer Campaigns. The PDT file has been updated to include a wireless intercept chance for each side and a new HQ reveal value. The HQ reveal value is a percentage chance that the size of HQ might be shown. This is based upon traffic analysis, with larger HQs being identifiable due to them normally sending and receiving more signals. You can see in the example below what the two possible states are for a found HQ.

In this first image, the HQ has been revealed to be a divisional HQ.

In this image, the HQ here has not been revealed and there is little information beyond the location.

We are currently testing in Smolensk ’43 for both sides to have a 10% chance of finding an HQ. For the HQ reveal values of 25% & 35% for the Soviets and Axis respectively, there is that chance any discovered HQ subsequently reveals its size. These values are placeholders while we test, but we have assumed that the Germans had better technology and programs in wireless interception.

Enhancement: Window Edge scrolling. With the inclusion of non-modal displays, we have catered for players that may want to have the various information dialogs on a second screen. If this is done with screen edge scrolling, then the game map will continue to scroll while on the secondary screen. We had previously implemented a solution for Window Edge scrolling in Panzer Battles, but after review, we decided this was less than optimal. Window edge scrolling as the name suggests, only scrolls when near the edge of the game window. The new solution activates scrolling when within a certain number of pixels of the game window edge. That means placing your mouse cursor near the edge of the window will scroll the map in that direction. The default number of pixels is 48, meaning that whenever the mouse is 48 pixels or less of the window border, the map will scroll. The number of pixels is configurable under settings, so the ‘sensitive’ border can be made larger or smaller as a player desires.

Enhancement: The Scenario Selection dialog has been updated to include artwork. As mentioned in our blog post on First World War graphical enhancements, we have implemented the Panzer Battles style selection screens. We are hoping to have at a minimum a few different splash screens when you start up the game.

Following are some examples.

Enhancement: Tooltips added to Optional Rules dialog. The optional rule dialog can be daunting when opened for the first time. We have added tooltips, so players get a short description of what each rule does without having to resort to the user manual.

That covers the additional items added since we published our Quarter Two Update. Do review that post to see the explanations of items not covered here. Please keep in mind everything we are showing you is currently work-in-progress and could change by the time we release it.

Some further comments on AI. This is our first pass of correcting issues demonstrated by the artificial ‘stupidity’. Fixing things such as night move disruption, will mean players will not be faced by disrupted and fatigued AI units the following morning. This alone will up the difficulty playing against the AI. Other changes should help game play, such as reducing the overall level of firing by the AI when fatigued. That said, we have a longer-term plan for the game AI.

We were fortunate to have Berto focused on the AI code for the twelve months prior to his passing. For those that might not be aware, Berto, beyond his WDS responsibilities was lead programmer for the Campaign Series Vietnam and Middle East titles. The AI engine he created for that series was lauded for its capabilities. Berto used that experience to craft an AI engine for WDS that we will look to enhance and integrate over time.

A lot of functional capabilities have been added to the engines such as timed objectives, with variable victory points per side and other items that can all be used to assist the AI to respond better to actions by both sides. Tying this together with an event engine will continue to expand the possibilities. We believe we have a range of ways to continue to improve game play overall.

There are other new tools and systems being built internally that will give us additional flexibility. We may share some examples with you soon.

A very big, public thank you to our fantastic lead programmer, Andy Edmiston and coder extraordinaire Nick Musurca who have bought all these new features and fixes to life. We, and the community are in your debt.

Do look forward to the upcoming Panzer Campaigns – Smolensk ’43 title, it’s a cracker!

More importantly, we plan to rollout the 4.05 update across all series after Smolensk releases. As mentioned in our FWWC graphical enhancements blog post as well as the new Certain Strike ’87 content for Danube Front ’85, this is one of the largest ever updates for these series. As the code base is very similar for Panzer Battles, we hope to migrate many of these enhancements across to that series as well.

If you have any more questions or thoughts, feel free to leave a comment on this blog post or head over to the WDS Forums.

Enjoy!


18 comments


  • Bill Menter

    I love the updates! The AI updates will really improve solo play.

    Something I’ve always wished for is the ability to rotate the board on the other compass points (east, south, west). Every time I play the Russians in WWI I wish I could see it from the East. Maybe someday!


  • Josh

    These additions plus the AI work will fuel my return to playing these games. I am excited.


  • Jeff

    Great jumping hornytoads! These changes are going to have great impacts!


  • Stefan Buss

    Happy times for us wargamers. Thank you, WDS, for all the work you are putting into the series.


  • Kara K. Keskin

    AI maintaining fortified positions and Hold orders now working will both be game changers in Solo play. Can’t wait for Smolensk ‘43. As always with Dani’s work, going to be a Day 1 purchase from me.


Leave a comment

Please note, comments must be approved before they are published

This site is protected by hCaptcha and the hCaptcha Privacy Policy and Terms of Service apply.