Shannon V. OKeets
From: Honolulu, Hawaii
March 1, 2006 Status Report for Matrix Games’ MWIF Forum
Accomplishments of February
A target date of summer 2006 is my best guess at this time (unchanged from last month).
Rob Armstrong is formally under contract. This past month he provided artwork for icons and bitmap examples for high resolution air and naval counters. He also made some revisions to the river and lake bitmaps for the European maps, (1) removing the anti-aliasing and (2) thickening the outlines so the images do not distort as much when zoomed out. Rob made a first pass on the Alpine hexsides too.
I monitored all the threads in the MWIF World in Flames forum daily. Members of the forum have been extremely helpful.
Graham Dodge, a.k.a., Greyshaft, has all 20 beta testers in their starting stalls, chopping at the bit.
Dan Hatchen is writing code for testing the design for Internet play. He has it working in a restricted environment and is modifying it to handle the conditions likely to be encountered in the real world.
Roger Feed has coded up a new random number generator - which I had yet to subject to analysis as to the evenness of distribution of numbers it generates. I do not expect any problems with that though. Roger is now processing the Cruisers in Flames and Convoys in Flames counter sheets, as provided by Patrice in Excel spreadsheet format, into CSV (comma separated values) files that can be read by MWIF.
I met with Claes Insulander (who lives in Honolulu) and discussed with him revising the Scandinavian portion of the map in accordance to the changes made by Nils Andresen. It shouldn’t be too difficult to do and Nils’ recommended changes are an improvement over the CWIF depiction of Scandinavia.
Another volunteer has offered to help with the game and is looking into creating write-ups for the naval units. We had 2 previous volunteers for this task who disappeared, but perhaps the third time is the charm.
I remain in email contact with Chris Marinacci about how CWIF works, though this has become less frequent.
I am in the throes of replacing the save and restore game routines. As of today I have added 4000 new lines of code and counting. My objective here is to understand perfectly what game data elements are saved and restored. As new features/code is added to the program, there will be additional variables that will have to be saved and restored. The CWIF code for this capability was scattered in dozens of different files (roughly 50). Because of their diffuse locations, it was very difficult to determine exactly what was being saved and restored, much less start making changes intelligently.
The single file I have now created is long (70+ pages when completed) but it is possible to print out the save and restore routines and place them side by side to see that they fit together “hand-in-glove” which is essential for them to work correctly.
Saving setups has been dropped from MWIF product 1. Conceptually there were several problems with how to do this and the forum members said they had no interest in the capability. The player can save the game at almost every point in the game. During setup just isn’t one of them.
No changes here, though one person has offered to do the extremely tedious task of typing in the data for the two remaining scenarios. Placement of commas and blanks has to be perfect or the data doesn’t load correctly.
Map and Units
The European map is ready for beta test. I have positioned all the icons and names to minimize overlap and maximum clarity. I also modified the rail line generation routines to smooth them out and avoid running into the various pools of water on the map. In making these changes I went back to my original design of 25 different set locations within each hex: the center plus 2 locations for each o’clock position. The clock positions are halfway and 2/3rds of the way from the center to the edge of the hexagon. Using these 25 locations, I control where the icons are placed in each hex using data from the “Named Locations” file. I also use them to route the rail lines around wet spots. This stuff works at all 8 levels of zoom.
Rob still need to do the artwork for some basic map elements: fortifications, straits, and Alpine hexsides. For the last, he and I worked out a design and he made a first pass at the graphics.
Rob sent over a first pass on the high resolution air and naval units and then a revised one later, without anti-aliasing. I coded up a preliminary system for loading and displaying them. Once I see how Rob wants to format the thousands of bitmaps, I will need to have them uniquely identified and linked to each specific unit. Patrice and Roger are waiting to perform that task, once Rob starts sending them over en-mass.
There are a few items that need to be worked out first though. For example, Rob does not have the latest and greatest images of the counter sheets in computer file format. Rob is in communication with Harry Rowland and should get them someday soon. Part of the reason for the delay is that Harry is moving from one side of the island they both live on (Australia) to the other, so things there are a bit at sixes and sevens.
I also have to work out with Rob, at the pixel level, exactly where the bitmaps leave off and the numbers written by the program begin. Since the different unit types have the graphic images placed differently (e.g., fighters versus bombers), this needs some care to get it right. The goal is to maximize the number of pixels available for the pretty pictures while keeping the numbers from obscuring/being obscured by the bitmap image. Details, details.
The save portion of this code is completed, but I keep making some small changes to it as I write the restore piece. Doing this task has certainly added to my understanding of all the various data structures CWIF used for different game elements. Every aspect of WIF seems to require creating and storing completely different data. When I find that two game elements can use the same data structure, I am instantly concerned that I am missing something. This task is essential, but really boring.
Made serious revisions to the Start of Game form. Modified the optional rules section so it is now up-to-date with the list of optional rules for MWIF product 1. That includes new default settings for newcomers to WIF, experienced WIF players, and personal preferences. There are an even 80 optional rules at last count. Reworked the scenario section of the Start of Game form and struggled to get the Players section to work correctly. That latter problem has been put aside for now, but will get attacked anew in March. Killed off a few bugs and made some small improvements to the routines for placing units on the map during setup.
Redesign of MWIF Game Engine
I have delayed this to give higher priority to those tasks needed for beta testing.
Help System, Tutorials, and AI Assistant
I completed the design document for the tutorials. The beta testers reviewed the Rules as Written (RAW) and marked it up for where changes will be needed for a comparable document for MWIF. I had titled that document Rules as Coded (RAC). The changes mostly have to do with the use of the unified world map and the replacement of the physical pieces of the board game (paper map, cardboard counters, and dice) with computer equivalents. Any changes to the rules themselves (and they are extremely few in number) have been provided as optional rules.
The beta testers are also discussing the user’s manual and we hope that the WIF-naive beta testers will give us a better understanding of what needs to be included for players who have had no previous exposure to WIF.
Artificial Intelligence (AI)
Work on this has been in hiatus because I have been focusing heavily on the map and the interface issues that are needed for beta testing.
Program and sing, an odd combination, but I have always been odd. Aside from the time I take out for quartet practice and singing in a barbershop chorus, I spend all my time on this game. We have our annual show coming up in May and I have to finish writing the dialogue for the script. For the past 3 years, I have been writing dialogue for our show and trust me, it is a real kick to hear thousands of people laugh at your jokes. I do not act, just sing. Other members of the chorus, and some outside talent, act in our shows and deliver the laugh lines.
February summary: good progress on graphics, but beta test wasn’t ready in February - rats!
Tasks for March
Continue monitoring the forum threads.
Map and Units
Get the rest of the map icons finalized and refine the high resolution bitmaps for the air and naval units. Sort out the rivers and lakes so they look good at all levels of resolution. Start Claes on revising Scandinavian portion of the map.
Finish replacing the Save and Restore routines. Thoroughly test the new random number generator.
Start the beta testers rigorously testing the rules to see if they perform in accordance with RAW.
Finish coding the restore game feature. And release the first beta test version.
Finish the changes to the Start of Game form.
Historical Detail, Animations, and Sound
Identify with whom at Matrix I should work to define exactly what will be included in the game for all of these.
Help System, Tutorials, and AI Assistant
Finalize the design for the help system.
Finish defining the relationship between the air, naval, and land unit values. Continue working on defining the value of individual hexes and a line of hexes (i.e., a front line).
Redesign of MWIF Game Engine
Formalize and finalize the game engine design so that integrating the Multiplayer Internet system can be done smoothly.
Software Development Tools
Develop an expanded version of the test program for Internet communications using Indy10 (multiple players over the Internet).
Multiplayer Internet [April]
Incorporate the Indy10 code for the new design for the multiplayer system into MWIF. This requires replacing the the CWIF calls to DirectPlay.
March summary: the beta testers will need something new to keep them amused in April.
Perfection is an elusive goal.