Shannon V. OKeets
From: Honolulu, Hawaii
July 1, 2010 Status Report for Matrix Games’ MWIF Forum
Accomplishments of June 2010
I monitored all the threads in the MWIF World in Flames forum daily.
Hardware and Software
Theme Engine is still disabled. I rarely use the Delphi 2010 IDE/debugger any more, but I’ve become quite efficient using work-arounds. My work-arounds are inline diagnostic messages that let me track call sequences and variable values. I comment out the messages once I have fixed the problem (unless I forget).
I released versions 4.02.00 (24 bug fixes), 4.02.01 (20 fixed), 4.02.02 (20 fixes), 4.02.03 (14 fixes), 4.02.04 (3 fixes), and 4.02.05 (19 fixes) to the beta testers last month. I had left diagnostic messages active in version 4.02.03 which drove the beta testers crazy (every time they moved a unit the program reported its destination hex); hence the quick upload of a new version the next morning. The beta testers send me saved games for many of the bugs they discover so it is easy for me to reproduce them and for me to validate that I have corrected them after making changes.
The mods this month were to correct bugs in a variety of places in the sequence of play. Over the past 2 weeks I have been gathering some momentum, usually correcting all new bugs the beta testers have posted during the night by noon my time (Hawaii). Then I spend the afternoon and evening working on the backlog or writing new code.
I have these fully functional again. There had been sporadic glitches which seem to have been cleared up.
Map and Units
Added some small map changes from Patrice. I also renamed the Verz Cruz (sp) militia to Veracruz so it matches the city name on the map, enabling the program to know where to place it when it arrives. Rob sent me an update of the naval unit writeups.
Scenarios and Optional Rules
Added new code which finalizes the optional rule for changing when the game is over. The players can do this whenever they like, setting the last game turn anywhere from the current turn to Nov/Dec 1952.
With the help of the beta testers, I have finished the specifications for how the Unlimited Divisions optional rule works. Based on that discussion, Paul has volunteered to write up the rule for inclusion in Rules as Coded and the Players Manual. I’ll post more on that once I modify the form for reforming the divisions back into corps/armies.
MWIF Game Engine and CWIF Conversion
I completely rewrote the code for determining valid naval moves. The CWIF code had used recursion that was dependent on assembler routines. Since I had removed all assembler routines, I needed to create a new solution to the problem of determining which ports and sea areas were valid destinations for a naval unit. A Repeat ... Until structure served that purpose. This rewrite took me a week but it enabled me to correct some logic deficiencies and to fix some bugs reported last year in November and December. I had been in the midst of fixing those when I decided to upgrade to Windows 7, Delphi 2010, et al.
The new search routines look for a path that can not be intercepted by enemy units. This is very handy when returning to port, since you will rarely want to encounter enemy units at that time. CWIF always searched for the shortest path, even if it took the units through sea areas controlled by the enemy. Now don’t get me wrong, you can still take a shorter path through enemy controlled sea areas. For instance, that can happen if you want to reach a higher sea box section in a destination sea area. To do so, you specify the path for the naval units one sea area/port at a time using Ctrl Left Click. The new code is working well now. From a programming perspective, it is both simpler to understand and fully documented.
I added another piece of code to my rewrite of the supply routines: enabling HQs in a coastal hex to trace supply overseas without having to first find a land path to a port. I’ve gotten the code for tracing from tertiary to secondary supply sources mostly written but I haven’t activated it for testing yet (I like to reread code several times after I have written it to reassure myself that the logic is sound). Once I can get far enough ahead of the beta testers, who quickly report bugs when I upload a new version, I’ll finish the rest of my new supply routines and trash the old ones from CWIF (which are still in place and still execute all supply determination).
Created a new form for changing when the game ends. It is accessible when a new game is being started and also during play. In both cases it is accessed using a button on the Optional Rules Help form for Extended Game Play.
For the Unlimited Divisions optional rule I began work on modifications to the Pools form so it shows which divisions were created when a corps/army was broken down. As part of that, the location of each division is shown.
Internet - NetPlay
Removed the last of the CWIF code for Internet Play. That had been based on using Windows utility routines, while MWIF’s is based on a Delphi library for Internet communications. Because the old routines were interfering when playing Head-to-head, I went to the effort of cleaning up this loose end.
Artificial Intelligence (AI)
A few small changes to reflect changes in rules interpretations. Nothing important, but I want both Rules as Coded and the Players Manual to be as precise as possible.
Tutorials, Training Videos, and Context Sensitive Help
Historical Video, Music, and Sound Effects
Andy Johnson has the MWIF fan site looking good. My involvement in the fan site remains close to nil.
Harry Rowland answered a question posed by Patrice (on behalf of MWIF) about the use of fractional odds on the 1D10 Assault table. The question arose because there are gaps in the odds columns: 5:1, 7:1, and 10:1. So, what happens if the odds are 8.5:1? Harry’s answer was that there was a 50% chance of rounding up to 9:1, which is then reduced back to 7:1. This becomes important if there are other factors causing odds shifts - weather and snow units for example.
Perfection is an elusive goal.