November 1, 2010 Status Report for Matrix Games’ MWIF Forum
Accomplishments of October 2010
Project Management
I monitored all the threads in the MWIF World in Flames forum daily.
I have attached a JPG of the current version of the spreadsheet I created to visually track what has been done and what needs to be done. When I get all (or most of) the pale blue items transformed into dark green, I will return to working on more interesting things: new code for optional rules, PBEM, NetPlay, and AIO. If you want to know why MWIF has taken so long, count the number of dark green cells.
Hardware and Software
I reinstalled Theme Engine, which appears to be functioning correctly. When I first upgraded Theme Engine for Win7, it was a disaster. It added bitmap graphics to every button so they could be animated. Because MWIF is close to tapping out Windows graphics resources, the addition of thousands of new bitmaps for buttons caused out-of-memory errors at random places in the code. That was when I was lucky enough to get an out-of-memory error instead of some other mysterious program crash. The reason it works now is because I removed all (over 1000) TTeButtons in MWIF and replaced them with TTeSpeedButtons, which do not have animation capabilities (i.e., no bitmaps).
In the process of getting MWIF to work with Win7 I replaced all the assembler code with Pascal code (I did that back in the spring). That took some time and had to be done very carefully. My motivation for making that conversion was the number of anomalous crashes I saw that pointed to the failure occurring in the assembler code. I don’t see those crashes any more, though I can’t be certain that the assembler code was entirely to blame. On the other hand, I still don’t see those crashes after having reinstalled Theme Engine - pointing the finger of guilt more ominously at the removed assembler code.
After reinstalling Theme Engine I recompiled the MWIF custom library routines to make sure they used the most recent Theme Engine object modules.
I still need to convert the main menu and popup unit menu from standard Windows style to Theme Engine.
Beta Testing
I released versions 5.03.02 (22 fixes), 5.03.03 (27 fixes), 5.03.04 (19 fixes), 6.00.00 (26 fixes), and 6.00.01 (22 fixes), to the beta testers last month. The change in numbering from the 5.xx to 6.xx numbering was because of the reinstallation of Theme Engine. This totals 5 new versions and 116 fixes, which is slightly over my previous 3 month average for fixes (111).
Besides the normal wide range of bug reports, I spent significant time improving the Production Planning form. As the beta testers hammered on it, more flaws in the code were revealed. In particular, keeping all the pieces of the form synchronized was difficult (e.g., the resource list, the filters, the route table, the default settings table, the maps, and the various radio button group boxes). Its looking solid now but I still have a bunch of mostly minor complaints from the beta testers to investigate.
This month I went through a lot of old bug reports, tracking down all the pieces related to them and trying to reproduce them. There can be 3 pieces: a post by a beta tester, an emailed MadExcept report from the beta tester, and a saved game received a beta tester. I keep a master file of bug reports and tying all three of these inputs together isn’t always easy. My reward for this housework was the elimination of ~20 bug reports that were no longer valid (they had been fixed at some time over the past year).
Fatal errors occur occasionally, but I can fix them quickly.
Saved Games
Saving and restoring games is stable though I continue to make revisions to the format from time to time. Old saved games can still be restored going back to version 0.0.12.00.
Map and Units
Rob sent me updates of the naval unit writeups. Patrice sent me some minor changes to the unit data (to correct the spelling of Italian ship names).
Scenarios and Optional Rules
Added code to impose limits on the number of saved build points that can be used from a hex. This is a rare rule but it can be important when Murmansk gets cut off from the rest of the USSR. CWIF did not impose any limit; but MWIF now conforms to RAW. Corrected CWIF code for tracking whether a neutral major power can save an oil point. To do this I needed to create a new variable to be written out to the saved game. The rule the program enforces is that a neutral major power (e.g., the USA and the USSR) can only save one additional/new oil point per turn.
Starting writing code for the USSR-Japan Compulsory Peace optional rule. The program now identifies when the players can invoke that rule. Implementing it (changing hex control and forcibly relocating units) still needs to be coded.
MWIF Game Engine and CWIF Conversion
I updated some CWIF code concerning US Entry Options. That code appears to have been written for an older version of the rules. I reviewed the code for all those rules since I had found some that were obsolete.
I standardize the Weather phase so it has its own module. Only the Setup phase is scattered about in several different modules, with the logic flow non-standard (as inherited from CWIF). All the other 59 phases of the game have their own modules. However, there are two new phases to be added to the sequence of play - discussed next.
Having gotten Production Planning running smoothly, I discovered that finalizing those decisions before the phases for units staying at sea/returning to base presented problems. According to RAW, players should be able to make adjustments after the latter phases have occurred. Furthermore, I found the CWIF had no code for enabling players to effect Search and Seizure. After a short discussion with the beta testers, I decided on adding two more phases to the sequence of play. The new sequence of play is:
.
.
• Preliminary Production Planning
• Stay At Sea A
• Stay At Sea D
• Return To Base A
• Return To Base D
• Use Oil
• Final Reorganization
• Break Down
• Final Production Planning (new)
• Search and Seizure (new)
• Naval Repair
• Production
.
.
From a programming point of view there is no difference between the two production planning phases. We wanted to give the players an opportunity to plan their use of resources (e.g., oil) and routes to destinations before making the decisions about units staying at sea or returning to base. The second production planning phase let’s the player make adjustments after perhaps losing convoys that got tangled up in naval combats during the return to base phases. Most of the time, the players will have nothing to do in the second production planning phase and will just click on Ok - Done.
Search and Seizure, according to RAW, occurs during the Production Phase. In reality it occurs before production decisions are made, since events during Search and Seizure can reduce the number of build points available for production. Therefore, I have made it a separate phase - of its very own. By the way, the Naval Repair phase occurs only when playing the Guadalcanal scenario and takes the place of the Production phase.
Player Interface
I added code to track from which carrier a carrier air unit originates when it flies an air mission to a land hex (e.g., a ground strike). When one of these units is aborted, the program returns it to its carrier of origination automatically - which saves the player the trouble of figuring it out. Because a carrier can not be damaged when one of its carrier air units flies those missions, making the return automatic is ok. During naval air combat making the return automatic isn’t possible; since the carrier might have been destroyed in the combat.
Modified the Player Interface Settings so players can elect to skip the Peace phase every turn. According to RAW, a player may sue for peace at the end of each turn. I’ve never heard of someone doing such a thing, but the rules say it should be permitted. Therefore I have added a mandatory phase to ask each major power that is at war whether they want to sue for peace. That will get very tedious very quickly. Hence the new player interface setting for skipping the phase/question. Since I was making changes to this anyway, I merged two separate forms (Disable CAP Phases and Disable Phases) so all three settings concerning disabling phases appear on a single form.
I streamlined the process of loading units from coastal hexes by eliminating a form. This had always bothered me (as a player) and when a beta tester reported some bugs with how it executed, I took the opportunity to rewrite (and simply) the code.
Added a button to the Setup Tray so a player can see his reserves with a single mouse click. This is useful when setting up Germany and France, where holes are often left in the front line - to be filled by reserves when they arrive in the second impulse. Obviously this is a minor issue but it only took 20 minutes to code and test.
Internet - NetPlay
Nothing new.
PBEM
Nothing new.
Artificial Intelligence (AI)
Nothing new.
Player’s Manual
I updated the Rules as Coded PDF, which is now on version #35. These were clarifications for: Colon’s access to the Gulf of Panama, US Entry options, and that MWIF has the Commonwealth occupy the Faeroes Islands at the start of some scenarios. Those islands aren’t shown on the WIF FE maps, so we based this decision on the historical occupation.
I revised the text for the Production Planning form based on small changes to how that form looks and is used. Having reinstalled Theme Engine I retook several dozen screen shots of forms that have changed over the last 6 months. After some minor editing for the changes for Disabled phases, and descriptions of modified forms, the current PDF of the draft Players Manual is now 363 pages long. That includes screenshots for all the sections; I threw in a screenshot at the beginning of a few sections which had been pure text.
Tutorials, Training Videos, and Context Sensitive Help
I took the changes I made to the Players Manual and converted the text into help messages that can be called up during game play. This mostly concerned Production Planning, which is a dozen pages in the Players Manual. That text is available with the click of the Help button on the Production planning form. That’s very useful because that form has a lot of moving parts and how to use them all isn’t intuitively obvious to the casual observer.
Historical Video, Music, and Sound Effects
Nothing new.
Marketing
The MWIF fan site still looks very good.
Andy Johnson (who did the work to develop the MWIF fan site from nothing) has health problems and is unable to continue maintaining it. We are looking for someone to volunteer to take it over. The site is not part of Matrix Games, but some of the material on the site is copyrighted by Matrix Games and/or Australian Design Group, so there are restrictions on what can be shown and made available to the general public.
Communications
Nothing new (that can be reported).
