Tuesday, December 29, 2020

Panzer SOLO: Latest Development Update

Today we'll cover a number of areas that I've been focusing on lately, including suppression recovery, ammunition availability, ammunition limits, the new battle map, a more useful spotted units area, the short halt command, as well as the implementation of the solo rule for identifying the most dangerous enemy unit.

Suppression Recovery

Let's start thing off with my implementation of "Suppression Recovery". When each turn has ended, any units that have "Suppression Off" counters will attempt to "Recover". The suppression recovery form appears for each unit and indicates any modifiers (such as "Command other than No Command"). in the screen below, we see that the Soviet ("Green grade") unit did not roll in the recovery range (highlighted in orange).

Suppression recovery failed. The unit will remain suppressed for the next turn.

Ammunition Availability

Ammunition availability dates (like HVAP, APCR) can only be used when they are available according to "Notes" section on the unit's data card (bottom of each card). Note the scenario date (July 1943) at the top middle in the screenshot below. The T-34 M44 unit card is displayed, but notice it's HVAP ammunition type is not listed. HVAP for this unit is not available until January 1944.

It's July 1943. HVAP is not available for the Soviet Tank until January '44.

Notice in the next screen (below), after changing the scenario date to January 1944 and reloading the scenario, HVAP is now listed in the unit's ammo listings on the unit card...

This scenario now takes place in November 1944, so HVAP is available for the T-34.

Ammunition Limits

Ammo Limits presented a bit of a logical challenge the way my code works, but it's done! You'll notice in the screen below that the T-34 has ammo limits (A:A5) indicated for its 76.2 mm L/43 main weapon. Normally, the T-34 has HVAP ammunition which is subject to ammunition limits. However it is too early in the war for HVAP, therefore no ammo limits apply in this case. This is indicated in the "Battle Box" window in the area called "Ammunition Limits". If the T-34 ammo limits indicated A:3, it's AP (armour piercing) ammunition would have been subject to ammo limits. 

No ammunition limits apply in this case.

In the next screen, we have a different scenario that takes place later in the war, making HVAP available to the T-34. The Soviet player has selected the HVAP ammunition against the German Panzer IV. Since the HVAP ammo is subject to ammunition limits (indicated by the "A" beside the HVAP ammo listing on the unit data card), our first roll for this FIRE command is to roll to check if ammo limits will apply for this shot. Since the T-34 has an indicated ammo limit of 3 for any "A" type ammunition (A:A3, indicated in the main weapon data on the data card), we need to roll 3 or less to avoid ammunition limits. The Soviet player rolls a 4, so ammo limits apply and will modify the upcoming "To Hit" number...

Unfortunately ammo limits apply to the Soviet player's shot.

You can see in the screen below, that the ammunition limits modifier is highlighted in the "AP Hit Modifiers" table below (Ammo Limit, Heat Haze). This modifier represents a shift of 3 rows down (not good) on the "AP Hit" table. Instead of moving only 3 rows down on the AP Hit table because of the Unit Company's "Green" grade (highlighted in orange), we actually end up moving 6 rows down. 3 rows down for the green unit grade, but then an additional 3 more rows down because of ammo limits. The result is a "To Hit" number of 20 (20% chance of hitting the target), instead of 35 (35% chance of hitting the target)...

Applied ammo limits affect this shot reducing our chances of hitting the target by 15%.

Battle Map

Moving on, I have implemented a "Battle Map" (screen below) that opens when a unit executes a FIRE command. The battle map focuses on the firing unit and the target unit and displays them in the window. This comes in useful when the 2 units aren't necessarily both viewable at the same time on the main map...

The "Battle Map" gives a better visual of the shot's firing and target units on the map.

In other developments, I have created a new "Spotted Unit" area where the player can view many more details of units that have been spotted by the player's selected unit. You'll notice in the screen below that the selected unit's data card for the Panzer III is displayed at the bottom left. To the right of the data card is the "Spotted Units Area", listing all units spotted by the Panzer III, including the top down graphic and relative size of the unit. Included in the details for each row are the range to each spot, the aspect angle relative to the selected unit, and any counters applied to each unit. Each column in the table can be sorted as well...

Note the counters (Damaged, Bail, Track, etc) displayed for each spot in the Spotted Units Area.

Short Halt

I have also added the logic for the SHORT HALT command. It was easy! Because I had already wrote the code for FIRE and MOVE commands, the logic for adding a SHORT HALT command was pretty basic... just add a FIRE and a MOVE command to the unit :)

Most Dangerous Enemy Unit

One of the more exciting blocks of code I've written so far, was the solitaire "Most Dangerous Enemy Unit" function. This function assesses each spotted enemy unit for a selected unit and calculates the how "dangerous" the enemy unit is to the selected unit. It takes into account a number of factors, including aspect angle, range, combat modifiers, ammunition penetration, defensive armour, chance of elimination, N-effect (for general purpose ammunition) and more!

Code, code, code. And more code.

I'll definitely be posting a video of most of the items covered today. Check back soon and until next time. I hope you enjoyed this update.


FeWolf said...

Looking forward to this, with all Insanity going on, this would be a nice retreat

8traxx said...

Agreed. This project actually helps to keep me focused and busy. Hopefully everyone else has a distraction or hobby to keep their minds occupied. So easy for some to feel helpless these days.

Jonathan Pettit said...

Neat stuff! I've recently re-discovered many board games of my youth and would love to play more wargames but it seems that solo versions are the only ones I have time for (due to COVID and a lack of interest in traditional wargames).