Shannon V. OKeets
Posts: 22095
Joined: 5/19/2005 From: Honolulu, Hawaii Status: offline
|
I had been thinking about this, so I wrote it up today - a little early. ======================== January 1, 2007 Status Report for Matrix Games’ MWIF Forum I decided to do a year in review rather than a monthly report for January 1st. Accomplishments of 2006 Map At the start of 2006 I had just received the first drafts of the bitmaps for the European map coastal hexes and river/lake hexsides. I was also working with drafts of the terrain bitmaps for individual hexes. No other work had been done on the graphics for the map. In 2006, we made the following enhancements to the map graphics: ∙ Terrain bitmaps finalized for individual hexes (which accommodate players who see colors differently). ∙ 80% (4000 out of 5000) of the coastal and river/lake bitmaps are finished. All that remains are 5 segments: southern Canada, the USA, Central America, and South America (2 segments). Drafts of the coast lines have been created for the remaining segments. ∙ Special bitmaps for the Qattara Depression added. ∙ Icons added for cities, ports, factories, and resources (required several iterations). ∙ Colors for rivers and lakes finalized (required several iterations). ∙ Straits hexsides bitmaps finalized. ∙ Arrows for land attacks bitmaps finalized. ∙ Alpine hexsides added (required several iterations). ∙ Fort hexsides added which are colored differently depending on ownership and whether they existed before or after September 1939 (required several iterations). ∙ Colors for country, sea area, and weather zone boundaries finalized (required several iterations). ∙ Colors, sizes, and outlines for map labels finalized. ∙ Weather overlays finalized (required many iterations). ∙ Rail lines and roads modified so they automatically curve along coast lines and from hex to hex. ∙ Sea boxes added for each side (Axis and Allied) for each sea area. The underlying data for the map received a lot of work as well, with Patrice Forno heading up the effort to improve its accuracy, information, and aesthetics. There were dozens of other forum members who contributed to this effort and the work is still on-going. In particular, Scandinavia and China were examined in excruciating detail, resulting in massive changes that took advantage of the additional refinements possible due to the new scale. All the rest of the world map also benefitted from improvements, often provided by forum members who were personally familiar with an area’s terrain. The USSR east of the Urals and the islands in the South Pacific underwent serious review and revisions as well. Japan is currently going through this process and the Americas are likely to be reviewed again once their coastal and river/lake bitmaps are finished. Patrice more than doubled the number of labels on the map, positioned icons within each hex, and routed the rail lines to keep them dry. I especially appreciate the job he did (is doing) as primary critic for the accuracy of the coastal and river/lake bitmaps. The programming in 2006 to support the improvements to the map included: ∙ Utility program to fragment large bitmaps into coastal and river/lake bitmaps for individual hexes. ∙ Logic for replacing old CWIF style graphics with coastal and river/lake bitmaps, if and only if those bitmaps are available. ∙ Enabling the addition of fragments of river/lake bitmaps that extend into hexes with no river/lake hexsides. This gives the lakes a ‘completed’ look. ∙ Enabling the positioning of icons at any of 25 positions within a hex rather than in fixed locations (e.g., previously the city icons were always in the center of the hex). ∙ Automation of the routing of rail lines and roads to make them curve around obstacles and transition smoothly from hex to hex. ∙ Depiction of fort hexes that indicate owner and time of creation. ∙ Depiction of linked alpine hexsides: elbows, u-turns, and y-joins. ∙ Depiction of weather bitmap overlays. ∙ Revisions to weather zones boundaries that overlap with sea areas and countries. ∙ Changes to map label depictions that depend on label size and zoom level. Units At the start of 2006 I had 4 prototypes of individual unit bitmaps (3 air and 1 naval). During the first half of the year we finalized over 2200 bitmaps for individual units. Besides the bitmaps for air and named naval units, there were also generic bitmaps created by country for anonymous naval units: convoys, submarines, task forces, amphibious units, naval transports, etcetera. The placement of numbers and text on the air and naval units required extensive tinkering to maximize the space available for the bitmap image, while simultaneously displaying all the necessary information clearly. Besides doing this for all the 60+ unit types it was also checked at all the different levels of zoom. Land units received almost as much attention as air and naval units, with detailed work on country colors, rendering of ‘NATO’ symbols and the addition of names finalized during the year. Once the high resolution bitmap graphics were done for the air and naval units, medium resolution bitmap images were added, with the player given the ability to switch back and forth between high and medium resolution. The advantage of medium resolution is that the numbers are larger and can be read even at low zoom levels. Still to be added are low resolution bitmap images for all unit types. The unit data was augmented by the addition of the units from Cruisers in Flames and Convoys in Flames. All of the unit data was reviewed for accuracy (again), and the units renumbered so the air unit numbers are 1 - 2000, the land 2001 - 4000, the naval 4001 - 6000, and special units 6001 - 8000. Data on less than a dozen units (the Warlords) remain to be added. During 2006 text descriptions for individual air units were finished and for most of the naval units as well. 20% of the land units were provided with writeups, including several paragraphs for each of the HQ units. Work on generating writeups for the rest of the named units continues with more than a dozen forum members contributing. I would like to thank all these volunteers for their fine contributions, with especial thanks to Grayshaft (air and HQ units), Terje (naval units) and Capitan (land units) for coordinating this work. The programming in 2006 to support the improvements to the units included: ∙ Utility programs to: (1) split rows of unit bitmaps into individual unit bitmaps, and (2) reposition the graphic image of an air or naval unit within the frame of the bitmap. ∙ Loading and displaying high and medium resolution bitmaps for air and naval units, with special code for handling generic naval units. ∙ Transitioning between high and medium resolution. ∙ Parameterization of offsets for land units to support displaying them at different zoom levels, particularly as lists of units on forms. ∙ Depiction of new unit types from Cruisers in Flames and Convoys in Flames. ∙ Loading and displaying text descriptions for all unit types. As part of this a simple parsing language was created for paragraphing the writeups. CWIF Conversion There were continuous modifications to CWIF code throughout the year. In addition to the changes mentioned above for the map and units, these are the other big changes during 2006: ∙ The start of program now has an opening screen with choices to start a new game, restore a saved game, or run through a tutorial. Previously the program started with a blank main form. ∙ Starting a new game has a single unified screen that presents the tasks of selecting mode of play, scenario, optional rules, and identifying the players and which major powers they will play. Previously these tasks had been spread out over 5 different forms and the player unable to go back and make changes once a form had been completed. ∙ The overall design of the player interface is no longer restricted to the main form. Instead, separate forms can be positioned anywhere on the Windows screen. Because of this, the global map, units under cursor panel, and other reference forms can be arranged on the Windows screen howsoever the player desires, rather than being restricted to the frame of the main form/application. ∙ Each Custom WIF component was drastically revised, which means it was separated into: (1) simple graphic depiction on the screen, and (2) the associated routines for processing player interactions with the graphics. This work was essential to support the new Delphi 2006 compiler, Theme Engine, and other commercially available software packages/libraries. ∙ The theme for the player interface was upgraded from circa Windows 98 graphics to a Theme Engine design with different color schemes for each of the 8 major powers. All the components were replaced with “new and improved” versions. ∙ Work was begun on redesigning the game engine. Game Interface As just mentioned above, the player interface changed dramatically during 2006. Specifically, the Start New Game form received a ton of work with innumerable revisions. From the overall layout of the form, through the colors and bitmaps for each sections, down to individual help paragraphs for each of the 80 optional rules, virtually none of this form as it existed at the start of year was the same by the end of the year. The Scrap form, Setup tray, Units Under Cursor panel, and the Units Review form were comparably hammered. These were reviewed and revised multiple times, often in response to feedback from the beta testers. Altogether there are 105 forms used in MWIF and 100 of them were completely converted to the new Theme Engine design. The last 5 have about 10 components that remain to be converted. New functionality added to the player interface during 2006 were the map views and screen layouts. Map views enable the player to ‘bookmark’ views of the detailed map and jump from one to another with a single click of the mouse. In combination with the different color schemes for each major power, the screen layouts enable the player to have the entire program look change depending on which major power is “on move” and/or for the task currently being performed. For example, this lets the player have different map views and forms visible during strategic bombing versus land or naval movement. Saved Games Completely new code was written and tested during 2006 for saving and restoring games. One major difference from CWIF is the use of a comma separated values file (CSV) for the saved game so that the information therein can be examined for accuracy during development and debugging. Internet - NetPlay Dan Hatchen designed and coded NetPlay for use in MWIF games over the Internet. I was unable to stabilize the main program code sufficiently during 2006 to integrate his NetPlay code into MWIF. Despite completing preliminary work on modifying the existing code to accommodate NetPlay, there was never a point in time when I could work on the integration task exclusively. MWIF Game Engine A massive amount of code (23,000+ lines) was written to support the creation of the game record log. Much of this code serves a dual purpose, and will be used to send messages to all the players: local, Internet, PBEM, AI Opponent, and AI Assistant. What remains to be done here is: (1) to place the calls to actually “write to the game record log” within the program at the appropriate locations, (2) to use the information in the game record log to change the game state (e.g., replay the game), and (3) design and code a player interface for replaying a game. About 5% of #1 has been done. In December I began work on implementing the new design for the game engine. This is based on the diagram I finalized in November for the program ‘flow’. In preparation for the redesign, I finally printed out a complete set of listings - 210,000 lines of code, with individual tabs for each of the 250 modules. Once completed, the full set of listings filled 15 binders and used 6.5 reams of paper. Beta Testing The first group of beta testers started work in February using version 1.00. A major upgrade to 2.00 was given to them in the late spring and a second major upgrade to 3.00 in October. For version 3.00 we added 5 new beta testers to return the headcount to 20. I had wanted to provide version 4.00 by the end of the year but it now looks like it will have to wait for the completion of the game engine redesign code. During 2006, the beta testers discovered hundreds of bugs, but I was only able to correct about half of them. Hopefully, the game engine redesign will enable me to solve the remaining problems, and new problems, in about 1/100th of the time it took me previously. One new feature added to 3.00 was a bug reporting system which the beta testers can use to either automatically email me when bugs occur or use it generate a text message to be email ‘manually’. Artificial Intelligence (AI) Not a whole lot was done on the AI Opponent (AIO) during 2006. With the assistance of some forum members I was able to flesh out strategic plans for all the major powers, with a very fine level of detail achieved for France and Italy. Other work takes precedence over the AIO tasks, though I try to give it some attention every month. Help System and Tutorials I designed and coded a system for displaying context sensitive help and was able to test this on the Start New Game form. For each of the 80 optional rules, the player can right click to bring up a full discussion of the optional rule. With the help of the forum members the text for each of the optional rules was critiqued for accuracy and clarity. Much of this effort was excellent training for the larger task of documenting the Rules As Coded (RAC). Besides writing a conceptual design for each of the 19 tutorials, 6 of the tutorials were completed, though in many cases they used draft screen shots. The code to support the 10 Introductory tutorials is completed but the code for the 9 Interactive tutorials has yet to be designed. Player’s Manual A draft table of contents for the Player’s Manual was completed. There are a dozen or so separate documents in existence that eventually will be incorporated into the Player’s Manual. Project Management I did my first detailed project plan in October and have more or less stayed on track against that to date. My estimation of my time required to complete MWIF product 1 is over 3000 hours. This works out to me completing my tasks in December 2007. David Heath translates that to a release at Origins in July 2008. At this point I am the bottleneck in the project schedule, but there doesn’t seem to be much more I can do about that. I calculate I have spent over 5000 hours on MWIF since I started in July 2005. I use 9 productive hours a day as my metric for scheduling tasks, with no days off. By productive, I mean after the 10 -15% for management has been accounted for. In reality I worked 10-12 hours a day on MWIF during 2006. Communications I monitored all the threads in the MWIF World in Flames forum daily, generated weekly status reports for David Heath and Erik Rutkins at Matrix, and posted monthly status reports to the forum on or around the first of every month. Personally, I try to answer every question posted in the forums, sent to me as a personal message, or sent via email. I do read everything, and I endeavor to assimilate and accommodate the different viewpoints and opinions into MWIF. People with whom I had extensive communication during the year were: Patrice Forno and Rob Armstrong. At different times of the year I worked closely with Graham Dodge, Dan Hatchen, Terje, Nils Andresen, and Claes Insulander. I kept in touch with Chris Marinacci and Harry Rowland, periodically bringing them up to date on the project. All of the beta testers communicated bugs reports, at a minimum, and oftentimes more than that. Because this is an almost completely volunteer group, people come and go as other demands are placed on their time. I can not say enough about how appreciative I am for the wonderful contributions made to MWIF by so many from such diverse backgrounds. For each little item in the game I have associations with people who suggested improvements that made the game better, or provided data/code that lessened the amount of work I had to do. To all, I say thank you for your help on MWIF during 2006. Tasks for 2007 Finish MWIF product 1.
_____________________________
Steve Perfection is an elusive goal.
|