Shannon V. OKeets
Posts: 22095
Joined: 5/19/2005 From: Honolulu, Hawaii Status: offline
|
August 1, 2007 Status Report for Matrix Games’ MWIF Forum Accomplishments of July Project Management Origins 2008 is still the planned release date. Communications I heard from Rob Armstrong and he is working on the map graphics for the last 10 hexes that can use slight modifications. Those are mostly cosmetic changes. I monitored all the threads in the MWIF World in Flames forum daily. Patrice and I have laid out what should be in the Introductory Tutorial for supply lines. More on that below. I almost got version 4.00 uploaded before the end of the month for the beta testers. Couldn’t quite pull it off, but it should be ready in the next few days. I heard from all the forum members heading up unit descriptions (Terje, Graham Dodge, and Jesper Pehrson) and hope to get revised lists from them for the 4.00 upload. No communications with Chris Marinacci, Harry Rowland, Dan Hatchen (NetPlay), or Richard Dazeley (AIO language). Beta Testing I fixed numerous bugs related to the sequence of play and finished most of the corrections for the new Declaration of War sequence. It has been difficult to nail down exactly what the rules are for DOW. That code is one thing I need the beta testers to look at critically. There are also the completed coastlines for the map and the thousands of names Patrice added for the beta testers to review. Units Nothing new here. I need to add the few remaining units: Warlords and City based Volunteers. I thought they were already in the CSV file but I didn’t find them there when I checked. There is quite a bit of code to support them already: reading the unit data in, displaying the units on the screen, and processing them as part of the scenario data. Map Nothing new. Rob still has a list of small changes to make to finalize the map. Patrice compiled a detailed list of minor items concerning the map. Once he sees version 4.00, I expect a lot of them to disappear. I haven’t heard from Fernando (the printer) about the test file (30% of the world map - a vertical stripe including Iceland, all of Europe, and all of Africa) I sent him. Someday I’ll remember to call him early Hawaii time. Scenario Information Nothing new here. I expect the beta testers to find a lot of problems once they get their hot little hands on 4.00. Optional Rules I went through all the code for the optional rules to assess where that stands. For the 81 optional rules, I have: 14 done, 2 mostly done, 43 that were part of CWIF but which I have not analyzed closely, 9 new ones started and 13 new ones not started at all. I consider an optional rule Done when I understand the code completely, have documented it, and have compared it to RAW to make sure it is in agreement. Of course it still needs testing by players. When I started this code review this month I was hoping to check off all those 43 from CWIF too as Done, but it was taking too much time. Instead, I’ll do them as I come to them in the sequence of play code review. For example, once I complete the new supply routines, there are 3 of those 43 that I can move to Done, since they concern supply lines and sources. Player Interface I did some work on the interface for NetPlay and coded up the logic for processing input from the players. This is pretty easy stuff since I do not intend to develop an entire email system for MWIF. The program will keep a file of messages in a simple ASCII format, and players will be able to use that as input into a more robust system (outside of MWIF) if they want to. I am specifically avoiding maintaining separate files by player names or other keywords. I am also not providing a capability for sending JPGs between players during a game (e.g., of screen shots or mock ups of tactical plans). Instead, players will have to send JPGs using conventional email. Internet - NetPlay I spent most of my time making modifications to support NetPlay this month. What has to happen is that each time a player makes a decision, that information is sent to the other players. In particular, when a major power ends a phase, all the other players need to be informed. MWIF performs this by writing entries to the game record log. A flag is set when an Internet game is started and when that flag is set, every entry written to the game record log is also sent to all the other internet players. As an aside, this is the same system for PBEM, except emails are transmitted instead of ‘live’ internet messages. I reviewed and tweaked the code for bidding over the internet and that is close to being ready for testing. It will serve as the test bed for basic NetPlay communication. There are over 460 GRL entry definitions, which I coded up last fall. Those only require a few tweaks for the first 3 of the 4 steps in the process of writing and reading them from disk. It is completing the code for the last step that I work on these days, where the effects of a decision are applied to the current game state. In simple terms, the decision itself is sent over the Internet and then the effect of the decision is applied to the copy of the game each player/computer is using. For example, when the weather changes, a simple string for the new weather is transmitted using NetPlay. But then the supply status for each unit on the map has to be updated, and sometimes units are destroyed (e.g., because the frozen lake on which they were sitting melted). CWIF Conversion I resumed work on the supply line routines and could have finished them by the end of the month, but diverted my efforts to version 4.00 instead. All that remains to be written are the search routines. Since I have done those before for other war games, I am not too worried about them. I am real happy with the new supply routine design. Not only has it passed a detailed review by the forum members for accuracy (i.e., does what the rules say it should do), I have also been able to add variables for the AI Opponent routines to measure the vulnerability of supply lines when on the offensive or defensive. I want to look into the overlap between using rail lines and connected sea areas for supply, resource routing, and transporting units. What I have in mind is that at start of play to determine each country’s rail network(s) - where a network consists of all the rail lines that are interconnected completely within a country. Along with the network itself, I will store the hexes that connect it to adjacent countries’ rail networks. This way, when a neutral country becomes aligned with a major power, I can merge the two rail networks into one for supply and moving units. First I need to read the rules carefully to make sure I understand how the networks work for the 3 types of transportation in WIF (supply, resource, & units). I already know that I will need special code for transporting the Swedish resources. The advantage of having all the rail networks known is that unless a country has been invaded, the program will know immediately which resources, factories, ports, and primary supply sources are part of the rail network, without having to search out a path for them repeatedly during game play. It is more complicated when a country has been invaded, but if you think about it, the vast majority of countries in WIF are never invaded. The DOW subphases touched on many aspects of rules and as I was forced to investigate sections of CWIF code I had never examined before, I reviewed, commented, and in some cases modified them. Most of the mods were to bring the code into line with: (1) changes in the sequence of play for the DOW subphases, (2) posting messages to NetPlay, and (3) centralizing the location of the routines. For the last, the finished version of the new module for Phase DOW is 1400+ lines of code. I have split the single form CWIF used for DOW into three separate forms: DOW Major Powers, DOW Minor Countries, and DOW Align Minor Countries. This matches the new/correct sequence of play where these decisions have to be made in that order. One of several tricky bits to making these mods was to enable each player to make decisions for the major powers that he controls, prevent players from making decisions for major powers they don’t control, and keeping everyone informed about decisions other players are making. Into this mix are the decisions that the program makes. For example, when each player terminates a subphase, all the other players are informed. But when the last player competes a subphase, the program intervenes and advances the sequence of play to the next subphase. All of this new code writes entries out to the Game Record Log, which means it will also send them to players over the Internet, when that mode of play is in use. Replacing the CWIF code with new code for NetPlay got confusing at one point, so I took time out to convert the Lending Phase first. The Lending Phase is vastly simpler to code, so I was able to work out the solution easily there, completing it in less than a day. Then applying the same design to the DOW Phase and its subphases was pretty straightforward. I also did the Choose Action phase as a separate module. The Choose Action phase was real easy to do. I wish they all were like that. I finished the rewrite of the Reinforcement Phase early in the month. I now have all but one of the phases in the first group done: drawing starting US Entry chits, Scrap obsolete units, Setup new scenario, Reinforcements, Lending resources, Initiative, Weather, DOW, and Choose Action. The DOW phase includes: (1) DOW on major powers and (2) minor countries, (3) DOW effects on US Entry, (4) Neutrality pact creation and renewal, (5) calling out and setting up Reserve units, (6) choosing a controlling major power for each attacked minor, (7) setting up attacked minor country units, (8) voluntarily aligning minor countries, and (9) setting up voluntarily aligned minor countries. The missing phase in this first group is Lend Lease of aircraft units prior to setting up units for a scenario. I did some work on that last month but it requires a brand new form. CWIF used a simplified and incorrect version of the Lend Lease rules. MWIF Game Engine The game record log is coming along nicely. The test I made in the middle of the month ran through the complete DOW phase for the first impulse (Section 9 of RAW) and generated 7600+ entries to the game record log. A lot of those entries relate to sorting out the units. First they are all read in, regardless of scenario, with all their attributes, and assigned to their respective countries. After the scenario and optional rules are selected, the units are processed again, removing those that are not needed (e.g., light cruisers if the optional rule Cruisers in Flames was not selected), and moving units into different pools: conquered, force pool, reserves, future force pool, etcetera. Saved Games I made some changes here due to the addition of subphases for the DOW and Reinforcement phases. Player’s Manual I transferred text I had written for the Tutorials into the Player’s Manual section that describes the tutorials. This is small stuff, but it was a nice break from debugging. Part of my reasoning here is based on bitter experience in other programming projects. The documentation (in this case the Player’s Manual) should be done is small easy-to-do pieces as the code is being written. If it isn’t, you are faced with a massive amount of text to write as the project nears completion - ugh. PBEM Nothing new here, but the work I am doing for separating each phase of the game into its own code module means that the changes to the sequence of play to support PBEM will be several orders of magnitude easier. Historical Detail, Animations, and Sound Nothing new. Help System, Tutorials, and AI Assistant I posted to the MWIF forum the first page of the Zones of Control tutorial. As mentioned above, Patrice and I have begun work on the Unit Supply tutorial. We have laid out every thing that has to be covered, the order in which it will be presented, and where screen shots will be used to communicate the rules. Right now we are waiting on me to finish recoding the supply lines routines so screen shots can be taken. I have decided to introduce the concept of a Tertiary supply source. Quite simply, a Tertiary supply source is a Secondary supply source that can not find a Railway Supply Path back to a Primary supply source. What I like about the term Tertiary supply source is that I can now say that only one Secondary supply source is permitted in a supply path, and that the only place a railway supply path can be used is between a Secondary supply source and a Primary supply source. This new word will likely be a shock to experienced WIF players, but please note that I am not changing the rules at all, and I believe this additional word will help new comers learn the supply rules faster. Artificial Intelligence (AI) I finished editing the AI strategic plan for France. It now contains all the comments and suggestions from hundreds of posts by forum members; and all those posts are within a well defined structure for the strategic plan. I made a couple more passes on doing the same for the Italians, and have completed the edits from my trip to Europe for all the major powers but Germany (which is 1/3 done). What I would dearly love to get time for is to type up my notes on the general data structure for storing strategic plans. I made those notes while in Europe and I have promised a coherent version of them to Richard Dazeley. After getting them typed in I want to compare then (again) to the current/polished strategic plan for France, looking for any necessary changes to make the AIO data structure align perfectly with the strategic plan structure. Other My quartet had our first paid gig last weekend, singing Happy Birthday and a few other songs to a group of 6 people at lunch. We thought we were doing it for free, but the lady slipped us $80 as we left. ==================================================================== July summary: Ironed out some bugs that I have been ignoring for months, so version 4.00 is close to being ready for beta testing. Successfully implemented the new system for each phase of the game having its own code module for 4 phases and made good progress on the 5th (Port Attacks). Kicked the can farther down the road on optional rules, supply lines, AIO strategic plans, and tutorials. ==================================================================== Tasks for August Communications Continue monitoring the forum threads. Map and Units Hopefully Rob will finalize the map. Call Fernando. Scenarios Continue testing all scenario data (as part of other testing). Redesign of MWIF Game Engine Continue to work through the sequence of play giving each phase its own module. [est. 60 hours] CWIF Conversion Continue converting from CWIF style internet formats to Game Record Log Formats. [est. 20 hours] Test the new random number generator. [est. 1 hour] Beta Testing Upload version 4.00. [est. 1 hour] Player Interface Finish the code for determining and displaying supply lines. [est. 20 hours] Display the sequence of play (SOP) on the screen so the player knows where he is within the SOP and what is coming up next. [est. 30 hours] Create a new design for placing convoys, then code it. [est. 30 hours] Create a new design for naval movement, then code it. [est. 40 hours] NetPlay Test the bidding capability using NetPlay. [est. 10 hours] Incorporate the Indy10 code for the two player system into MWIF. [est. 20 hours] Software Development Tools Continue replacing old CWIF components with new ones from JEDI. [est. 30 hours] AI Opponent Type in the rest of my handwritten notes. [est. 10 hours] Player’s Manual Nothing specific planned for August or September. Historical Detail, Animations, and Sound Nothing planned for August or September. Help System, Tutorials, and AI Assistant Continue work on the Introductory Tutorials for zones of control, supply lines, and weather. [est. 20 hours] Other We had our first script meeting for the Christmas show and are about 2 months ahead of where we were this time last year. Already laid out are the 6 scenes, characters, plot advancement through each scene, and 5 of the 9 songs. I’ll be writing the first pass on the dialogue over the next 2 weeks. The plot is that Rudolph retires and a replacement needs to be found. The elf in charge of RR (Reindeer Resources) wants the replacement to have 10 years of experience as lead reindeer pulling Santa’s sleigh, a PhD in Aerodynamics, valid passport and visas for every country in the world, and top secret security clearance (Santa’s Xmas eve flight is an obvious black ops). ================================================================ August summary: Give the beta testers 4.00 and respond to their onslaught of bug reports. Finish coding unit supply. Continue work on Game Record Log conversions to support NetPlay. Push the Introductory tutorials towards completion so I can start thinking about the Interactive ones. And rework the player interface for convoy placement and naval movement. ================================================================
_____________________________
Steve Perfection is an elusive goal.
|