Shannon V. OKeets
Posts: 22095
Joined: 5/19/2005 From: Honolulu, Hawaii Status: offline
|
quote:
ORIGINAL: undercovergeek any monthly update? I haven't missed one in the last 38 months. ================= September 1, 2008 Status Report for Matrix Games’ MWIF Forum Accomplishments of August Project Management Our current plans are to release MWIF product 1 in late March, 2009. There is still some uncertainty about that date, mostly related to NetPlay. Communications I monitored all the threads in the MWIF World in Flames forum daily and uploaded versions 10.01, 10.02, and 10.03 to the beta testers. Patrice make a few more adjustments to the map data which I will include in version 11.00. Dan was on vacation for last 2 weeks in August. Peter Skoglund continues to help with developing scripts for the AI Opponent. Jesper Pehrson sent me his latest and greatest on the land unit writeups, which I included in version 10.02. Nothing new from Andy Johnson on the naval unit writeups though he remains quite active as a beta tester. Michael Andersen finished all the ~70 default scrap lists, so new players can use a well thought out default list for each major power for each scenario. Now he is working on starting setups for convoy pipelines and the disposition of naval forces. Nothing new from Robert Nebel on the Test Scripts. No information from Matrix about getting a price on a printed copy of the map. No communications with Chris Marinacci or Harry Rowland. Hardware and Software Development Tools I have not installed ThemeEngine July/2007 - the status on this is unchanged from last month. Beta Testing I uploaded 10.01, 10.02, and 10.03 to the beta testers this past month. For the last two weeks I have been working on digressions which necessitate changing the content of the saved games. Because this will invalidate all previously saved games, I will number the version 11.00. It will include some map data changes that will also invalidate all the GAM files. Version 10.02 fixed some bugs and added the new feature Selectable Units List. I find this to be a great addition, since it displays exactly which air units are available to fly each mission when that phase of the game comes around. So far this is only in use for air units during air mission phases and the naval air phase, but after soliciting advice from the forum members I have a list of other places where this will be very useful: HQs for use with an offensive chit, HQs that can provide HQ support, Land units that can destroy factories, Air units available for naval air support (interception), HQs for reorganizing units, TRS’s for reorganizing units, Naval units capable of offensive and defensive shore bombardment, Units capable of invading, and Units capable of debarking from transports. In addition, I am already using the Selectable Units Form as part of Digressions, for units that need to be Relocated, Rebased, or Returned to Base. More about that below. Units, Map, and Scenarios Patrice continues to work on the map, fixing the weather zones for southern California so it rarely experiences snow. This is pure data and has no effect on the programming. His few relocations of cities in the US is likely to invalidate all the saved games. Optional Rules I made some small progress in the optional rules, cutting 10 hours off the estimated time to complete them. Player Interface After waiting for almost 3 years, I finally redid the Main form. It went through a half dozen major versions this past month but I am very happy with it now. I’ve removed some unused items, de-emphasized others, enhanced some, changed the colors and sizes of numerous elements, and repositioned them all (literally). Most of the items displayed can now be clicked on to bring up additional information, usually the standard help form for the topic. For example, if the player clicks on the current weather in a hex (e.g., Fine) the full weather report is shown including the probabilities of what it will be the next time the weather roll takes place. This design style, of letting the player learn more about a topic by clicking on the current status, is really sweet. It is obvious to the player, easy for him to remember, takes up zero real estate on the form, and is trivial to code. I drastically improved the information concerning the current Action Choice (e.g., Land vs Naval vs Air actions), which previously had only cryptic references. As a case in point, A:3 is now Air: 3, and land attacks are shown as Attacks: 4. When the program updated these was messed up too, so these are now always correct. Going along with that, once a major power has completed its phase of the game, its flag is changed to ‘faded’ in the displayed list of decision makers. When Germany finishes its naval moves, the Italian flag is shown, with all the relevant information for Germany replaced by that for Italy. This might seem obvious, but the processing sequence from CWIF was confusing. My conversions to a separate Phase module for each phase of the game has cleaned this up. A major change to the Main form was the inclusion of the Universal Data Panel. This enabled the removal of same from the Setup Tray and Units in Hex form. It took me a couple of passes but I think the Setup Tray is now the best that can be hoped for. It is long and low which minimizes its vertical footprint. Because monitors are wider than they are high, vertical space is more precious than horizontal. I’ve tied the Flyouts to the Universal Data Panel on the Main form. The Units in Hex form likewise has a low profile. Speaking of Flyouts, the player can now see all the units in a hex using the Flyouts (9 at a time) and select which units he wants to move by clicking on the unit depictions in the Flyouts. This is by far the easiest way to review what is in a hex and pick out the units you want to move. I have been a little chary in added features to the Flyouts, but I did enable selecting/deselecting all the naval units in a hex using Flyouts (double click on a naval unit) and then add or subtract individual units to that list. So, you can select all the naval units and then deselect the convoys, as a quick way to select all the naval combat units. The Selectable Units List enables the player to click beside any of the displayed units to have the map center on the unit. Clicking on the unit itself, “picks the unit up”, just as if the player had done so from the Flyouts or from the hex. I still need to add a popup that shows all legal destinations. My design specification is for a unit’s valid destinations to appear as a popup list if the player right-clicks beside the unit. Then the player can reposition the map on a destination by clicking on the destination name/label. If the player wants to move the unit to that destination, he simply clicks on the unit and the map is repositioned for him to drop the unit into the hex. The advantage here is that air units have a long range and is it quite common for the air unit’s hex and the target hex to not be visible at the same time. Zooming out is one solution but then the units and hexes are small, requiring precise control of the mouse to select the unit and its target hex. This way the player can keep the map zoomed in as he enters his choices for which air units move to which target hexes. Internet - NetPlay Dan feels he has coded himself into a corner with his NetPlay design and wants to go back to his original design which was less complicated. He’ll work on that in September. CWIF Conversion I bit the bullet and went through all the references to the ‘phase’ destroy units I inherited from CWIF. There were 168 references and I have cut that down to 86 so far. Eventually I will eliminate it entirely, replacing it with a Land Combat subphase. There were 23 places where the current phase of the game was changed to Destroy Units. I have been able to remove 21 of those so far, by replacing them with digressions to Scrap Units. Of the two remaining, OverStacking and Land Combat Casualties, I’ll convert the latter to a subphase of the Land Combat phase. Overstacking can be handled as a digression to Scrap Units. In trying to fix the bugs in Naval Interceptions I was forced to go back to RAC (Rules as Coded) documentation and lay out the ‘requirements’ with great precision. Given that understanding, I have built a new design using Digressions to accommodate Relocations, Overruns, and Returns to Base. Relocations are a common game device where a unit is moved from A to B without regard to any of the rules pertaining to movement - I call this ‘teleportation’. An example of Overruns is when naval units are forced to rebase to a friendly port; and lastly, during naval combat, units can be forced to Return to Base. All of these 3 new Digression types involve moving naval units, and both Overruns and Returns to Base are subject to Naval Interception. Once I have these 3 new digression types fully implemented, the code will be vastly easier to understand and I can go back to the original problem of fixing the bugs in Naval Interception. The best part of this is that the 3 new digressions will eliminate 3 more ‘phases’ from CWIF: ForcedRebase, ForcedNavalRebase, and ForceNearRebase. As part of the work I have been doing on digressions, I reviewed and revised the subphases for declaring Vichy France. This let me remove the phase SetupVichy by folding it into the Vichy phase as a subphase. I’ve included program documentation fragments at the end of this report to give you a better understanding of the work required to create Digressions and the Vichy subphases. MWIF Game Engine I finished converting the Ground Support, Rail Moves, and Land Moves phases to support NetPlay. There might be some bugs in Ground Support but the other 2 look pretty solid. I did a massive review and standardization on advancing from phase to phase and switching major powers within a phase. Together with the changes to the Player Interface described above, the program now smoothly transitions from one to another, keeping the player well informed as to where he currently is and what he is suppose to be doing. The big news here is that the code for the Rail Move phase is 3 pages long, and for the Land Move phase it is 4 pages long. This is compared to the 25 pages needed for each of the 7 air phases. I expect that most of the remaining phases that I need to convert (30+) will be less than 5 pages each and doable in a couple of hours each. Later in the month I converted the Factory Destruction and Liberation phases to support NetPlay and as predicted, each of these was less than 3 pages long. Saved Games I keep this functioning at all times though the beta testers have reported one problem I have yet to investigate. Player’s Manual Nothing was scheduled. PBEM Nothing was scheduled. Historical Detail, Animations, and Sound Nothing new. Help System and Tutorials After going through RAC carefully, so I could write the code for the digression correctly, I reviewed the diagrams I had created for the sequence of play. In several places I made edits, mostly for clarity, rather than of substance. Because these diagrams form the basis for the tutorial pages on the sequence of play, I now have the task of someday going back to the tutorial graphics and making those same edits. AI Opponent Peter Skoglund sent me his proposed setup script for the AI Opponent for Persia and is working on the same for: Iraq, Norway, Denmark, Portugal, and the Netherlands. Once I finish proof reading what he sent me for Persia, he should be able to finish the others quite quickly. Other The hospital next door continues to work on the roof and has put up scaffolding for applying stucco to al the walls. My quartet remains mired at 2 hours of rehearsal a month - quite depressing. For instance, our lead singer was in Reno for a few days and then Florida for a week. The navy has him inspecting their bases around the world. Now I was confused as to why the navy would even have a base in Reno, Nevada but after some thought I decided it would probably be of great benefit to the overall performance of the navy to have all naval personnel complete at least basic training in dealing with prostitutes and gambling. ==================================================================== August summary: Mostly work on the player interface and replacing ‘phases’ with digressions. The only thing I would like to do more than work on the AIO is to start testing NetPlay code. ==================================================================== Tasks for September Communications Continue monitoring the forum threads. Map and Units Make corrections to the map for version 11.00. Beta Testing Upload versions weekly. [est. 2 hours] Redesign of MWIF Game Engine Continue to work through the sequence of play giving each phase its own module. [est. 170 hours] CWIF Conversion Convert CWIF style internet formats to Game Record Log Formats. [est. 30 hours] Player Interface Finish the code for determining and displaying supply lines. [est. 10 hours] Complete the Task Forces forms. Implement Task Forces as a new “unit type”. [est. 30 hours in October] Create hex destination lists for air missions. [est 10 hours] Optional Rules Review, comment, modify, and create code for optional rules [est. 20 hours] NetPlay Implement the bidding capability using NetPlay. [est. 10 hours] Incorporate the Indy10 code for the two player system into MWIF. [est. 20 hours] Incorporate the multi-player (more than 2) system into MWIF. [est. 10 hours in October] AI Opponent Define LAIO variables with their supporting functions. Design the parser for LAIO. Create a few more rules as text and encode them for testing the parser. [est. 30 hours] Help System and Tutorials Nothing scheduled until December. Player’s Manual Nothing scheduled until November. Historical Detail, Animations, and Sound Nothing scheduled until December. Other I have been doing a lot of work scheduling the Pan Pacific Convention events (October 29th to November 2nd) that we are hosting for 800 barbershoppers in Honolulu. Planning is in pretty good shape at this point so I should be able to cut the time I have been spending on this to 10 hours in September. ================================================================ September summary: Keep the beta testers busy and respond to their bug reports. Continue work on Game Record Log conversions to support NetPlay for entire sequence of play. Make some progress on the optional rules. In other words, the exact same thing as last month. ================================================================
// ****************************************************************************
// Vichy subphases.
// ****************************************************************************
TVichySubPhase = (
vspControl, // RAC 17.2.
vspMoveNonFrenchLandAir, // RAC 17.3 para 1, by owning major power.
vspMoveNonFrenchNaval, // RAC 17.3 para 2, by owning major power.
vspMoveFrenchAtSea, // RAC 17.3 para 3, by Vichy controller.
vspMoveFrenchLandAirAxis, // RAC 17.3 para 4, by Vichy controller.
vspMoveFrenchNavalAxis, // RAC 17.3 para 4, by Vichy controller.
vspDestroyFrench, // RAC 17.3 para 5 (Allied player choice).
vspMoveFrenchLandAirAllied, // RAC 17.3 para 5, by Vichy controller.
vspMoveFrenchNavalAllied, // RAC 17.3 para 5, by Vichy controller.
vspProduction, // RAC 17.3 para 6, by Vichy controller.
vspSetup, // RAC 17.3 para 6, by Vichy controller.
vspMoveFrenchVichy, // RAC 17.3 para 7, by Vichy controller.
vspUnitControl, // RAC 17.3 para 8 - 11.
vspConquerFrance);
========================
// TDigression = (digRelocate, digOverrun, digReturnToBase, digScrapUnits,
// digNavalInterception);
// TDigression types are digressions from the main sequence of play that occur
// at different places in the sequence of play. Program branching logic is
// controlled by which digression return value is assigned.
//
// Digression return values are:
// 1 - Relocating units (teleportation) to the nearest legal hex. [RL]
// drOccupy: units relocated due to occupation; Axis - Eastern Poland;
// Allied - Greenland/Iceland and N. Ireland.
// drConquer: non-combatant units relocated due to Conquest or Surrender.
// drPeace: all units relocated - enforced peace in Rumania and Finland.
// drVichy: non-French land and air units relocated when Vichy Declared.
// 2 - Rebasing Overrun units (including 'effective' overruns where units are
// forced to rebase and naval units are given double their range). [OR]
// drOverrun: units overrun during Land Movement and Advance after Combat.
// drCollapseVichy: units overrun when Vichy Collapses.
// drPartisan: air and naval units overrun by arriving Partisans.
// drConquer: enemy naval units overrun due to Conquest or Surrender.
// drVichy: non-French naval units overrun when Vichy Declared.
// 3 - Returning units to Base. [RB]
// drLandCarrierPlane: carrier air units aborting to a carrier from
// air-to-air combat.
// drLandPlane: land based air units aborting from air-to-air combat.
// drNavalCombatAbort: naval units aborting voluntarily, or due to a combat
// result, from a naval interception combat.
// drReturnToBase: air/naval units returning to base at the end of the turn.
// drVichy: French units returning to base when Vichy Declared.
// 4 - Correcting overstacked hexes. [OS]
// drLiberation: stacking might be violated because liberated units have
// changed their relationship to the country that controls the
// hex they are occupying.
// 5 - Scrapping destroyed units. [SC]
// drOccupy: units relocated due to occupation have no hex to go to.
// drConquer: units relocated/overrun due to Conquest or Surrender have no
// hex to go to.
// drPeace: units relocated due to enforced peace in Rumania and Finland
// have no hex to go to.
// drLiberation: stacking might be violated because liberated units have
// changed their relationship to the country that controls the
// hex they are occupying, thereby destroying units.
// drVichy: units overrun/relocated/returned to base when Vichy declared
// have no hex to go to.
// drOverrun: overrun units destroyed outright/unable to rebase.
// drCollapseVichy: units overrun, when Vichy collapsed, unable to rebase.
// drPartisan: units overrun by arriving partisans destroyed outright/unable
// to rebase.
// drLandCarrierPlane: air units destroyed when unable to return to carrier.
// drLandPlane: land based air units returning from a mission destroyed when
// they have no hex to go to.
// drNavalCombatAbort: units aborting voluntarily, or due to combat result,
// from any naval combat, have no hex to go to.
// drReturnToBase: air/naval units destroyed when unable to return to base
// at the end of the turn.
// drCarpetBombing: units destroyed by carpet bombing.
// drAirCombat: units destroyed in air-to-air combat.
// drAntiAirCombat: units destroyed by anti-aircraft fire.
// drNavalCombatResults: units destroyed in naval combat.
// drLandCombat: units destroyed in land combat.
// drFactoryDestruction: synthetic oil units destroyed by land units.
// 6 - Naval Interceptions. [NI]
// drNavalMovement: naval units intercepted during naval movement - can stay
// at sea.
// drReturnToBase: naval units intercepted during return to base - must
// return to port within their normal range.
// drOverrun: naval units intercepted while rebasing due to overrun - must
// return to port with twice their normal range.
_____________________________
Steve Perfection is an elusive goal.
|