When?

World in Flames is the computer version of Australian Design Group classic board game. World In Flames is a highly detailed game covering the both Europe and Pacific Theaters of Operations during World War II. If you want grand strategy this game is for you.

Moderator: Shannon V. OKeets

User avatar
Klingon
Posts: 33
Joined: Thu May 18, 2006 7:14 am

RE: When?

Post by Klingon »

ORIGINAL: Shannon V. OKeets

The top line of my monthly report gives an expected release date. So I believe I answer that question every month.
True, and believe you me, although I may not say much, I am definitely keeping an eye on this project. Your efforts are very much appreciated, Sir.

BTW... was there a June 1st update?

"That which does not kill me, had better run quickly."
Shannon V. OKeets
Posts: 22135
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: When?

Post by Shannon V. OKeets »

ORIGINAL: Klingon

ORIGINAL: Shannon V. OKeets

The top line of my monthly report gives an expected release date. So I believe I answer that question every month.
True, and believe you me, although I may not say much, I am definitely keeping an eye on this project. Your efforts are very much appreciated, Sir.

BTW... was there a June 1st update?

Yes, but it had a silly typo: the heading said May 1 instead of June 1. I have corrected that.
Steve

Perfection is an elusive goal.
User avatar
composer99
Posts: 2931
Joined: Mon Jun 06, 2005 8:00 am
Location: Ottawa, Canada
Contact:

RE: When?

Post by composer99 »

So we had two reports dated May 1.
 
I, in the meantime, am awaiting with bated breath for the July 1 report, which is coming out in mere days.
~ Composer99
User avatar
Klingon
Posts: 33
Joined: Thu May 18, 2006 7:14 am

RE: When?

Post by Klingon »

ORIGINAL: Shannon V. OKeets
Yes, but it had a silly typo: the heading said May 1 instead of June 1. I have corrected that.
Kewl; thanks, man. You rock!
"That which does not kill me, had better run quickly."
User avatar
Neilster
Posts: 2879
Joined: Mon Oct 27, 2003 1:52 pm
Location: Devonport, Tasmania, Australia

RE: When?

Post by Neilster »

ORIGINAL: Klingon

ORIGINAL: Shannon V. OKeets
Yes, but it had a silly typo: the heading said May 1 instead of June 1. I have corrected that.
Kewl; thanks, man. You rock!
Well...as much as a member of a barbershop quartet can, anyway. [:'(]

Cheers, Neilster
Cheers, Neilster
Shannon V. OKeets
Posts: 22135
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: When?

Post by Shannon V. OKeets »

July 1, 2007 Status Report for Matrix Games’ MWIF Forum

Accomplishments of June

Project Management
Origins 2008 is still the planned release date. I lost several days this month writing and issuing a Request for Proposal for a convention my barbershop group is hosting in Honolulu October 2008. The ground/bus transportation is for 7,000 person trips over a 3 day period, and that all seems to have been decided now (contract awarded 16 months in advance).

Communications
Nothing from Rob Armstrong this month.

I monitored all the threads in the MWIF World in Flames forum daily.

Patrice fixed the data file for who controls which hexes at the start of each scenario. He posted map views of his changes to the Scandinavia and China annual start lines to the forum for review and Wosung was very helpful (again) with information about the war in China.

I have yet to upload version 4.00 for the beta testers.

No communications this past month with: forum members heading up unit descriptions, Chris Marinacci, Harry Rowland, Dan Hatchen (NetPlay), or Richard Dazeley (AIO language).

Beta Testing
I fixed 3 difficult bugs that had been annoying me prior to my trip to Europe; that was a good day.

I read through all the entries written out to the game record log and discovered some bugs along the way. Those were easy to fix. Debugging the declaration of war code lead to a redesign of that phase into multiple subphases, as described below.

Units
Swastikas on the air unit depictions are very hard to make out, so after reflection I decided that changing them is irrelevant. In particular, ADG sells the board game versions of these counters with no trouble in Germany. Even under magnification, the swastikas just look like smudges; unless you know that historically they were swastikas, you wouldn’t know what the smudges represent.

Map
Nothing new. Rob still has a list of small changes to make to finalize the map.

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. I need to remember to call him early Hawaii time, since he is in Philadelphia (6 hour time difference).

Scenario Information
I corrected a few typos in the scenario setup data related to all the new units that were added for the optional rules for Cruisers in Flames and Convoys in Flames. There are still more to test, and I vary which country sets up first in each scenario so I can check that the setup data is ok for that country for that scenario (11 scenarios * 7 countries = 77 to test).

I need to revise the code for the declaration of Vichy France in order to test some of the later scenarios that start with Vichy France in existence.

I reviewed all the details/rules that are scenario specific and am in the process of making corrections to accommodate them all. For each scenario I have one full page of typed notes about what is unique for that scenario. I first started working on these back in October of 2005 and I am now trying to finish them up. Because each little item needs to be individually checked in the code to make sure it is processed correctly, it just takes time. Oh, and of course for those scenarios that had no code written for them in CWIF, I had to write some new procedures.

Player Interface
I pulled the Replacement Naval units decision off the setup form and gave it its own form. Likewise, I pulled the branch to the Air Reserve decision off the setup form as well. The latter is for assigning pilots to air units that are “in reserve” (i.e., do not have pilots). Both of these changes came out of my revisions to the Reinforcement Phase, which are described in more detail below.

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.

CWIF Conversion
CWIF used multiple methods/designs for ending a phase. Inserting the calls to the Game Record Log has been a major problem for me. In a nutshell, I haven’t been able to figure out the CWIF code: what the variables mean and what logic the program is following. After spending way too much time documenting what I could figure out and puzzling over the rest, I have decided to just replace these code segments with routines that I write from scratch.

Besides the obvious benefit of then having documented code that I understand, the rewrites also let me standardize the end of phase processing, so the same variable names and logic flow is used for all phases. Or almost so.

The problem is that WIF has a lot of different ‘types’ of phases. The setup phase imposes a strict order for the major powers to set up their units. That is dictated by the scenario setup data. But the reinforcement phase is quite different. All the major powers on one side go through the subphases of the reinforcement phase simultaneously, without waiting for each other to complete a subphase. Once all the major powers on one side have completed all the reinforcement subphases, then all the major powers on the other side do likewise.

The declaration of war phase is different from both the setup and reinforcement phases. DOW has a series of subphases that are performed by only one side (the phasing side). Each major power on that side needs to complete each subphase before any of the other major powers on the same side can go to the next subphase. Complicating it even more, some of those subphases may require players on the non-phasing side to make decisions in response to the DOW decisions by the phasing side. Those non-phasing player decisions include setting up reserve and attacked minor countries’ units.

So, when a major power ends a phase, what happens next? Well, it depends on the phase ‘type’. I have worked out the code for processing the three types of end of phase commands given above, but I know there are some more types remaining (e.g., production).

MWIF Game Engine
A lot of my time was spent here this month, modifying the end of phase processing, as described above.

I did a little design work on the supply line routines, but have set them aside until I get the DOW revision fully tested.

The game record log is coming along nicely. The test I made most recently 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 different 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.

Many other events are now being written out to the game record long too: initiative, weather, DOWs, aligning minors, captured ships, conquered countries, and so on. I have defined 460+ different types of event records, and though the code for writing out the game record logs is finished for all of them, placing the calls to them within the code is an ongoing task. Accompanying the placement of each call is the task to transfer the code for implementing the event/decision from its place in the CWIF code to the game record log event execution code.

Simply put, a player makes a decision, which is written out to the Game Record Log (GRL). At the same time, that GRL entry is sent to the other players. The decision maker’s computer executes the code in response to the decision just made, and all the other players’ computers execute the same code in response to the GRL entry. Internally, I label these SetGRL and UseGRL. All the SetGRLs are coded. As I insert calls to SetGRL into the code, I am transferring the decision/event response code into UseGRL routines.

The code for processing a major power’s end of phase command now writes out GRL entries (SetGRL) and UseGRL routines process those entries, effecting the decisions on everyone’s computer. That is all brand new code, written this month.

There are three ways that a player ends a phase/subphase: (1) he answers a simple question (e.g., do you want to reroll for initiative?), (2) he completes a form (e.g., assigning pilots to air units), or (3) he presses the end-of-phase button on the main screen (e.g., end of setup). Oftentimes, a phase/subphase is skipped without the player even being aware of it. For example, China can never declared war, so China never sees the DOW screen. At other times the player is simply informed that a phase has ended (e.g., the weather phase is performed internally by MWIF and the players shown the results).

As I was working on the end of phase processing code, I discovered that the DOW and Reinforcement phases needed to be completely redesigned to bring them into accordance with RAW. Most of their logic pieces are unchanged but the overall flow of the decision making has been replaced. MWIF now has subphases for both of those phases.

DOW SubPhases:
DspDOWMajor, DspDOWMinor, DspUSEntry, DspNeutralityPacts, DspReserves, DspSetupAttackedMinor, DspAlignMinor, DspSetupAlignedMinor, DspJapaneseOccupation, DspNone


Reinforcement SubPhases
RspAnnualAdds, RspScrap, RspReplacements, RspAirReserve, RspPlaceUnits, RspRemoveAir, RspDone.


These new subphases are taken directly from how they are written in RAW.

Saved Games
I made some changes here due to the addition of subphases for the DOW and Reinforcement phases.

Player’s Manual
Nothing new.

PBEM
I revised the setup order for all the scenarios when playing by email. That was to reduce the number of emails required at the beginning of the game. The changes are very minor in terms of their effect on game play and do not affect other modes of play at all (e.g., HeadToHead).

Historical Detail, Animations, and Sound
There was some discussion in the forum about music and sound, with some nice pieces of music proposed. Copyright issues are always a concern though.

Help System, Tutorials, and AI Assistant
The diagram I created for abstract supply lines will become part of the tutorial on supply lines. Before writing that tutorial I first want to get the new supply line determination code to work correctly so I can take screen shots to include in the tutorial.

Artificial Intelligence (AI)
I completed my edits on 6 of the 8 strategic plans for the AIO decision making for major powers. However, I haven’t even started typing in the details of the AIO language I wrote up while traveling. These edits are lower priority, though I would like to complete the latter so I can send it to Richard Dazeley.

Other
New appliances for the home. As a joint anniversary present to ourselves, we bought a new stove and dishwasher, replacing the original ones installed when the condominium was built 30 years ago. And being the romantic that I am, I gave my wife a new garbage disposal and toilet seat for her birthday (something both intimate and personal). For myself, I acquired a new shower curtain which is curved. If you haven’t seen these and are annoyed by having the shower curtain in your way, I highly recommend the upgrade. It provides your upper body with about double the effective width of a conventional bathtub when taking a shower.
====================================================================
June summary: Progress on the Game Record Log was substantial and the revisions to the DOW Phase, Reinforcement Phase, and end of major power phase were essential. Though all of that was part of debugging for the release of version 4.00, I still did not feel comfortable giving those untested changes directly to the beta testers.
====================================================================


Tasks for July

Communications
Continue monitoring the forum threads.

Map and Units
See how Rob is doing on the final touch ups for the map. Call Fernando.

Scenarios
Continue testing all scenario data (as part of other testing).

Optional Rules
Begin rigorous checking of all the optional rules to see which ones are already coded and which will require significant new code. [est. 30 hours]

Redesign of MWIF Game Engine
Debug recent changes to the MWIF game engine. Investigate the changes necessary for all the remaining end of phase commands, making the easy changes immediately and scheduling when to do the harder ones. [est. 30 hours]

CWIF Conversion
Convert from CWIF style internet formats to Game Record Log Formats. [est. 90 hours]
Test the new random number generator. [est. 1 hour]

Beta Testing
Upload version 4.00 once the game engine redesign is completed and Game Record Log event processing is stable. [est. 1 hour]

Player Interface
Revise the code for determining and displaying supply lines to units. [est. 20 hours]
Display the sequence of play on the screen so the player knows where he is within the SOP and what is coming up next. [est. 30 hours]

NetPlay
Get the bidding capability to function cleanly and modify other aspects of the Player Interface to support NetPlay. [est. 5 hours]
Incorporate the Indy10 code for the two player system into MWIF. [est. 30 hours]

Software Development Tools
Continue replacing old CWIF components with new ones from JEDI. [est. 10 hours]

AI Opponent
Type in the rest of my handwritten notes. [est. 5 hours]

Player’s Manual
Nothing planned for July or August.

Historical Detail, Animations, and Sound
Nothing planned for July or August.

Help System, Tutorials, and AI Assistant
Develop the Introductory Tutorial on supply lines and weather. [est. 20 hours]

Other
Matrix people are at Origins this month, which is where I expect to be this time next year. Things outside of working on MWIF should be quiet in July. The complete modernization of the kitchen will have to wait until next summer, after the release of MWIF. Shereen and I plan on fleeing the house for 2 weeks while the cabinets, floor, counter tops, and pantry are demolished and replaced with new. The timing is for MWIF royalties to pay for that.
================================================================
July summary: Try to give the beta testers 4.00. Finish coding unit supply calculations. Continue work on Game Record Log conversions to support NetPlay. Check out the optional rules to see what still needs to be done there.
================================================================





Steve

Perfection is an elusive goal.
User avatar
Neilster
Posts: 2879
Joined: Mon Oct 27, 2003 1:52 pm
Location: Devonport, Tasmania, Australia

RE: When?

Post by Neilster »

Artificial Intelligence (AI)
I completed my edits on 6 of the 8 strategic plans for the AIO decision making for major powers. However, I haven’t even started typing in the details of the AIO language I wrote up while traveling. These edits are lower priority, though I would like to complete the latter so I can send it to Richard Dazeley.
Ah, Richard Dazely and Neilster. The University of Tasmania connection. I'm really happy that I was able to get Richard involved in this project. When MWiF is released with a killer AI, feel free to PM me for details of how you can send me scads of cash in appreciation. [:'(] I'm not joking.

Cheers, Neilster
Cheers, Neilster
User avatar
composer99
Posts: 2931
Joined: Mon Jun 06, 2005 8:00 am
Location: Ottawa, Canada
Contact:

RE: When?

Post by composer99 »

What? Only 270 hours scheduled for MWiF this month? Slacking off, says I! [:D][:'(]
 
Considering that comes out to 9 hours a day for 30 days, it sounds like you'll have a lot on your plate. Keep up the good work. [:)][&o][&o][&o]
~ Composer99
macgregor
Posts: 999
Joined: Tue Feb 10, 2004 6:44 pm

RE: When?

Post by macgregor »

Steve- I just have to say I'm extremely impressed with your stamina to remain focused on what to me, appears to be such a monumental task of almost historic proportions. From what I'm reading on this AI, I think you've attacked it perfectly. Hopefully you're almost finished tweaking what you want the AI to do. This I know for you , and rightfully so, is the most important thing. I hear your programming mind working the details how to achieve this in your posts so I'm optimistic. I'm not too keen on employing the AI. However...

..." but sir, if you've defeated Hokanson's plan, you've defeated Hokanson". Hmmm....
Jeff Gilbert
Posts: 67
Joined: Sun Oct 02, 2005 1:03 am
Contact:

RE: When?

Post by Jeff Gilbert »

Excerpt from : composer99

... 270 hours scheduled for MWiF this month? Slacking off, says I!

... that comes out to 9 hours a day for 30 days ...

[begin sarcasm]
So, what are you going to do with the "extra" 15 hours each day? Sleep, eat, maintain a health relationship with your wife? Well, what about me?!? I've got needs too ... the need to get one of the first 100 autographed copies of MWiF at next years convention.
[end sarcasm]
really, I continue to look forward to your monthy reports and will continue to do so. Wonderful progress and wonderful communications with all of us .... my thanks.
Jeff Gilbert
US Army [Ret]
Palm Harbor, Florida, USA
Mistura
Posts: 6
Joined: Sat Jan 29, 2005 10:05 am

RE: When?

Post by Mistura »

I'm cheering for you all to finish this project. I think you will have withdrawal attacks when this is completed. [:)]  I'll be buying 2 copies of the game. 1 for my POOR/CHEAP friend. Man I wish I had a friend like me.[:D] The way my wife spends money I should be the poor guy. Keep up the GREAT job your doing, and take care.
Your views on life change forever when reality backhands you in the face.
Romulus68
Posts: 18
Joined: Wed Aug 02, 2006 5:09 pm
Location: West Virginia, USA
Contact:

RE: When?

Post by Romulus68 »

I haven't saw any talks on Dual-Core computer support?

This would be a great way to write a powerful AI with it thinking while you do your turn. This would eliminate long turn processing found in other games.

You are at 9 hours a day.....I think you can swing 10-11 hours a day to add in Dual-Core support. [X(]
Shannon V. OKeets
Posts: 22135
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: When?

Post by Shannon V. OKeets »

ORIGINAL: Romulus68

I haven't saw any talks on Dual-Core computer support?

This would be a great way to write a powerful AI with it thinking while you do your turn. This would eliminate long turn processing found in other games.

You are at 9 hours a day.....I think you can swing 10-11 hours a day to add in Dual-Core support. [X(]
I am not sure what you mean by Dual-Core support.

I plan on running the AIO in a separate thread, which perhaps is the same thing under a different name. The monitoring of the Internet (done by NetPlay) will run under a separate thread too.

Separate threads enable the computer to work on other tasks while the player is fumbling around at pathetically slow human rates of speed with the mouse and keyboard.
Steve

Perfection is an elusive goal.
Romulus68
Posts: 18
Joined: Wed Aug 02, 2006 5:09 pm
Location: West Virginia, USA
Contact:

RE: When?

Post by Romulus68 »

ORIGINAL: Shannon V. OKeets

ORIGINAL: Romulus68

I haven't saw any talks on Dual-Core computer support?

This would be a great way to write a powerful AI with it thinking while you do your turn. This would eliminate long turn processing found in other games.

You are at 9 hours a day.....I think you can swing 10-11 hours a day to add in Dual-Core support. [X(]
I am not sure what you mean by Dual-Core support.

I plan on running the AIO in a separate thread, which perhaps is the same thing under a different name. The monitoring of the Internet (done by NetPlay) will run under a separate thread too.

Separate threads enable the computer to work on other tasks while the player is fumbling around at pathetically slow human rates of speed with the mouse and keyboard.

Intel and AMD Dual Core processors. One processor with TWO brains. I'm surprised you haven't heard of these or it just didn't ring a bell when you read my post.
User avatar
Manack
Posts: 30
Joined: Mon Aug 29, 2005 4:47 am

RE: When?

Post by Manack »

ORIGINAL: Romulus68
Intel and AMD Dual Core processors. One processor with TWO brains. I'm surprised you haven't heard of these or it just didn't ring a bell when you read my post.

He said he was going to be using multi-threading, with the AIO having its own thread. I can't imagine any advantage in using dozens of complicated concurrent threads working in parrallel for any type of CPU load balancing purposes for MWiF.

The greatest benefit from multi-core processors to users won't hardly ever be from a single application having amazing multi-threading. But rather the gain from background threads such as those owned by the OS, anti-virus, drivers etc not stealing away those CPU time slices.
Shannon V. OKeets
Posts: 22135
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: When?

Post by Shannon V. OKeets »

ORIGINAL: Manack
ORIGINAL: Romulus68
Intel and AMD Dual Core processors. One processor with TWO brains. I'm surprised you haven't heard of these or it just didn't ring a bell when you read my post.

He said he was going to be using multi-threading, with the AIO having its own thread. I can't imagine any advantage in using dozens of complicated concurrent threads working in parrallel for any type of CPU load balancing purposes for MWiF.

The greatest benefit from multi-core processors to users won't hardly ever be from a single application having amazing multi-threading. But rather the gain from background threads such as those owned by the OS, anti-virus, drivers etc not stealing away those CPU time slices.

And this more or less explains my position on new technology. There is always something new being developed - indeed, you can identify different aspects of hardware and software that are in all the different life-cycle stages at any point in time. Some things are theoretical, some have had prototypes developed, others are new to the market place, most are well established, and there are always those that are showing their age or already obsolete. Writing code to support them all is quite difficult. Wirting code that optimizes for each of them as it is encountered in the purchaser's computer system is a truly daunting task.

I try to stay aware of what is going on, but I make no effort to master a new technology until I need it in a project. There is so much to learn that you can spend all your time learning without ever writing any actual code. I treat new jargon with little regard - it will change in another 6 months to something else. If I am using something in my work, I strive for complete mastery, for otherwise it tends to bite off large portions of my anatomy.[X(]

My interests are primarily in artificial intelligence, and that field has a ton of new literature published every month - impossible to keep up[:(].
Steve

Perfection is an elusive goal.
Romulus68
Posts: 18
Joined: Wed Aug 02, 2006 5:09 pm
Location: West Virginia, USA
Contact:

RE: When?

Post by Romulus68 »

ORIGINAL: Shannon V. OKeets
ORIGINAL: Manack
ORIGINAL: Romulus68
Intel and AMD Dual Core processors. One processor with TWO brains. I'm surprised you haven't heard of these or it just didn't ring a bell when you read my post.

He said he was going to be using multi-threading, with the AIO having its own thread. I can't imagine any advantage in using dozens of complicated concurrent threads working in parrallel for any type of CPU load balancing purposes for MWiF.

The greatest benefit from multi-core processors to users won't hardly ever be from a single application having amazing multi-threading. But rather the gain from background threads such as those owned by the OS, anti-virus, drivers etc not stealing away those CPU time slices.

And this more or less explains my position on new technology. There is always something new being developed - indeed, you can identify different aspects of hardware and software that are in all the different life-cycle stages at any point in time. Some things are theoretical, some have had prototypes developed, others are new to the market place, most are well established, and there are always those that are showing their age or already obsolete. Writing code to support them all is quite difficult. Wirting code that optimizes for each of them as it is encountered in the purchaser's computer system is a truly daunting task.

I try to stay aware of what is going on, but I make no effort to master a new technology until I need it in a project. There is so much to learn that you can spend all your time learning without ever writing any actual code. I treat new jargon with little regard - it will change in another 6 months to something else. If I am using something in my work, I strive for complete mastery, for otherwise it tends to bite off large portions of my anatomy.[X(]

My interests are primarily in artificial intelligence, and that field has a ton of new literature published every month - impossible to keep up[:(].

My reasoning was that the more advanced the AI the more CPU cycles were required for it to think. If you have an advanced AI that only thinks after you hit end turn, then you must wait while it thinks. With the Dual-Core's you could have it be thinking all the while the player is doing their turn. This means you can add more AI layers to have a deeper/stronger AI that doesn't force the player to wait 30 minutes between turns as it thinks.

I realize it adds complication, but i thought there were easy implementation steps already laid out by the Chip makers to add it into the programming more easily.

Again, this was just an idea to get a stronger AI without having long AI turn processing.

Looking forward to the finished game either way!!


morkin
Posts: 8
Joined: Thu Jan 12, 2006 9:18 pm

RE: When?

Post by morkin »

I really hate Honolulu being last time zone... [:(]

Where is desperately needed monthly update? Please... [&o]
Zeljko
Shannon V. OKeets
Posts: 22135
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: When?

Post by Shannon V. OKeets »

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.
User avatar
coregames
Posts: 470
Joined: Thu Aug 12, 2004 4:45 pm
Contact:

RE: When?

Post by coregames »

ORIGINAL: Shannon V. OKeets
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.
Steve
I am confused about this. Are you saying that in general only one secondary supply source can be used in any supply path? This is contrary to the RaW:

2.4.2
...

A secondary supply source of the tracing unit must be able to trace a supply path either to a primary supply source or via another secondary supply source. That other secondary source must also be able to trace a supply path either to a primary source or via another secondary source, and so on. There can be any number of secondary supply sources in this chain but it must end up at a primary supply source of the unit tracing the path.

Perhaps I am missing what you're trying to say here. Is it the end supply source that is tertiary, or are tertiary sources what the RaW refers to as 'secondary' sources along the way, culminating in the end source the unit is supplied by?
"The creative combination lays bare the presumption of a lie." -- Lasker

Keith Henderson
Post Reply

Return to “World in Flames”