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

Hardware and Software Matrix/Slitherine Games programmers revised the code at the NetPlay server end and cut the log in time down to 10 seconds. Since it had been 90 seconds, that made a big difference for debugging NetPlay. This should be acceptable for the released product too. What is done during that period is to verify the game’s serial number, log in to the lobby, list the other players who are logged into the lobby, log into the Seeking Opponent database, download the list of all entries in that database, and list all the replies to the first entry in the database. This gives the player a lot of information on his screen immediately after logging in, without him having to enter more commands.

The open items for Theme Engine remain unchanged: (1) scroll bars for the detailed map, and (2) its inability to display detailed listings of file directories (i.e., the dates and stuff when opening or saving a file).

Beta Testing I released versions 9.07.00 (22 fixes), 9.07.01 (1 fix), 9.07.02 (13 fixes), 9.07.03 (24 fixes), 9.07.04 (22 fixes), 9.07.05 (27 fixes), 9.07.06 (46 fixes), and 9.07.07 (8 fixes) to the beta testers in May. This is about my normal number of new versions (8) but 40% more that my typical number of fixes (163).

One reason there were so many fixes this month is that I was able to work with saved games from the beta testers that reproduced bugs immediately. That saved me the time and effort of trying to recreate the problems on my own. I am still running alpha testing for NetPlay, but the technical issues have been ironed out, so fixing those bugs involves working with the sequence of play rather than synchronization issues and queues. In particular, that means that the beta testers are able to find NetPlay bugs instead of me having to check every aspect of the game personally.

One point of my focus this month was to eliminate bugs in Production Planning (i.e., identifying who owns/controls the resources and factories and getting the former to the latter). There are a lot of detailed subtasks involved: mandatory fulfillment of trade agreements, convoy capacity, saving oil, and overseas routes. Since I hadn’t looked at these bugs seriously in over a year, they had accumulated to a count of 43. I reduced that to 19 and should be able to clean up the rest in the next week or two.

There seem to be a lot of minor details to straighten out. For instance, during the past month I added code so: • When the US successfully DOWs a major power, a message is now shown to all the other players stating the totals in each of the 4 US Entry Pools. • Bombers that fly naval air missions at extended range can now use extended range when returning to base. • Added a check for an off-city reinforcement so it can only be placed in its home country. This came up when a home city was adjacent to a different, but friendly, country (e.g., Vienna next to Czechoslovakia). • Excess overstacked naval units (just captured) in a damaged major port are destroyed by the owning player until stacking limits are met. • Relocated code for calculating the production multiple bonus for being attacked in your home country so it is applied even if all the attacking units are destroyed. • When Bessarabia is recovered by Rumania, a Hungarian fighter in Bessarabia was not being counted as having started the impulse in Rumania. Fixing this prevents the fighter from being destroyed because of foreign troop commitment limits. • Rail movement of factories to cities wasn’t counting the factories “on the move” to the city, with the result that more than 2 blue factories could end up in a city. • When Denmark is conquered, its territories become neutral. RAW doesn’t say what is to be done with naval units in those territories (e.g., Iceland). I decided to just leave them there. They can exit the port whenever they like but no additional units can arrive unless there is a DOW on the territory (which is now a minor country). • I added a data field and code so the negation of the movement point penalty for “In the Presence of the Enemy” only occurs if the friendly unit (which provides the negation) was present in the sea area from the beginning of the turn. CWIF had this coded as from the beginning of the impulse (perhaps a rule change from long ago)? • Foreign troop commitment limits should not be imposed on Commonwealth air units flying air missions into France. But it should be imposed on Finnish air units leaving Finland. • I corrected the flag image for Free France in the Production Planning form - it was wrong in 2 of the 3 places where the flag is displayed. • Placing partisan units on the map can be tedious because it is difficult to identify where they can be placed if there are only a couple of possible hexes. The program now identifies the first two eligible hexes for the player. • I added code so the Commonwealth has only half of their activity limits once the United Kingdom has been conquered. • I modified the bitmaps and labels for damaged oil resource markers so they state the resource’s hex. This lets the player choose which one to repair during production if there is more than one damaged oil resource. • I added code to fulfill the rule in of RAC 8.2.10, Swedish resources to Germany. The consensus of the beta testers was: IF Narvik = Allied AND Arctic Weather is Snow or Blizzard THEN Swedish Resources are lost. Note that for Germany to receive the Swedish resources they always need to be convoyed through the Baltic Sea.

Saved Games I continue to tweak the format for saved games (*.GAM). These are small changes, and some are merely me keeping everything neat (i.e., eliminating data fields that are no longer in use).

Map, Units, and Scenarios For this category there were a handful of minor corrections this month. In Decline and Fall, Albania was being shown as controlled by Italy, which isn’t part of that scenario, so we changed Albania to neutral. There was an Ethiopian reserve militia appearing in the Commonwealth reserve pool at the start of scenarios where the Commonwealth had liberated Ethiopia; we moved it to the Commonwealth force pool. I needed to add a missing French partisan to the setup list for Darkness Before the Dawn scenario.

I also updated the naval unit writeups with the latest from Rob Jenkins.

For the Fascist Tide scenario I modified the USSR resources and factories in the same manner as described below for Barbarossa. Also in Fascist Tide, the Commonwealth is suppose to get 3 non-oil resources and 3 factories from outside the playable map area. I simply converted these to 3 production points and ‘gave’ them to the Commonwealth comparable to how the bonus production points are given to the Commonwealth when using the optional rule Food in Flames. There are no restrictions on these 3 PP. I still have to write new code for dealing with the Transfer Pool in the half map scenarios Fascist Tide and Day of Infamy.

The only thing I spent significant time on under this heading was getting the resource and factory counts right for Barbarossa. What follows is my analysis and resulting implementation.

Analysis of German production From the scenario booklet: Germany receives 3 resources from Sweden that must be transported via the Baltic Sea to be useable, and 19 factories, 1 oil, and 14 other resources off the western map edge.

There are 20 factories in Germany on the Western European Map so 1 German factory is not usable. I made that the factory in Munich. Controlled by Germany on the Eastern European Map there are 3 non-oil resources, 3 oil resources, and 5 factories: Lodz, Breslau, Vienna, Bratislavia, and Bucharest. The Hungarian factory is available once Germany aligns Hungary and the Finnish resource once she aligns Finland. The Hungarian resource is available through a trade agreement before Hungary is aligned. Therefore, at the start of the scenario Germany should have 24 factories available for production.

There are 8 non-oil and 2 oil resources in Germany on the Western European Map so 1 oil resource is not usable and 6 non-oil resources have to be added. Germany receives 6 non-oil resources through trade: Hungary, Sweden (x3), Turkey, and Spain. She also gets 1 oil resource from an Iraqi trade agreement. Since it is easiest to modify resource counts using trade agreements, I eliminated the Iraqi trade agreement (minus 1 oil resource), increased the Spain agreement to 4 non-oil resources, added a new Bulgaria trade agreement for 1 resource, and include the 2 non-oil resources that Germany controls in Yugoslavia. This results in Germany getting 6 non-oil resources from outside of Germany. The subtraction of the Iraqi oil is offset by including both oil resources in Germany/Austria.

At the start of the scenario Germany has 5 oil resources: Rumania (x3) and Germany (x2); in addition she has 23 non-oil resources: 5 in the east (including the 2 in Yugoslavia), 8 in the west, and 10 in trade. So, if saving oil is possible, Germany should be able to keep 24 factories producing while saving 4 oil per turn.

Analysis of USSR production From the scenario booklet: The USSR has 4 factories, 6 oil, and 11 other resources off the eastern map edge. Furthermore, from Jul/Aug, the USSR receives 5 resources via Archangel (while not frozen) and/or Murmansk (Soviet player’s choice), if those ports are Soviet controlled.

There are 7 factories, 7 oil resources, and 12 non-oil resources controlled by the USSR on the Asian and Pacific Maps. Therefore the USSR factory total has to be reduced by 3, its oil resources by 1, and other resources by 1. I eliminated the non-oil resource west of Sverdlovsk (hex 88, 39), the oil resource in Perm, and the factories in Sverdlovsk and Perm.

At the start of the scenario there are 22 factories, 3 oil resources, and 8 non-oil resources controlled by the USSR on the Eastern European Map. So the USSR has 26 factories, 9 oil resources, and 19 non-oil resources available. That gives her 26 factories at full production while saving 2 oil (if that is permitted).

As for the 5 resources arriving starting with the Jul/Aug, I made the following decision (call me Winston). All 5 resources arrive in Archangel, if that is possible. If not, then they arrive in Murmansk, if that is possible. Otherwise they are lost for the turn. The player has no involvement in this decision (Churchill decides). Not all the beta testers were happy with this decision (they wanted the player to be able to decide exactly how many resources went to each city as stated in the WIF scenario booklet). But implementing that would require more specialized code and provide marginal benefit in this 5 turn scenario. I have more pressing concerns than the potential loss a 4 production points to the USSR (in the worst case).

Optional Rules I fixed a bug in reinforcements arriving in off-city hexes. But I still need to make one more modification to that code to fully solve the problem.

Game Engine Supporting NetPlay has caused me to acquire a better understanding of what the game engine has to do in each phase/subphase/sub-subphase/digression. There are four tasks within each of those simulation elements:

1. Determine which major powers need to make decisions - this is done separately by each player on his computer. In some phases, e.g., Weather, a representative major power is chosen for each player.

2. Each deciding major power makes decisions - this is done by the controlling player for each of his major powers and the results of his decisions are sent to the other players so all computers have identical data on the simulation/game state.

3. A major power terminates making decisions - this is done by the controlling player for each of his major powers and the results of his decisions are sent to the other players so all computers have identical data on the simulation/game state. This may be as simple as closing the weather report form.

4. One computer (MasterMWIF) makes the determination that the simulation element (e.g., phase) is over - upon doing so, MasterMWIF determines what simulation element occurs next and sends that information to all players so all computers have identical data on the simulation/game state.

Like most things having to do with programming, this is pretty obvious in retrospect. But before someone (in this case, me) has thought it out completely and in excruciating detail, it is a large ball of fog with several nasty bear traps embedded within.

Now when I think of debugging the sequence of play for NetPlay, I focus on each of these 4 tasks separately. Did each computer determine the deciding major powers? Are the decisions made by one major power being sent correctly to the other players? Is each major power’s end-of-phase command being sent to all the other players? Is MasterMWIF, and only MasterMWIF, making the decision when the phase is over and informing all the players? All die rolls and other random events are made by MasterMWIF. Obviously that introduces additional complexity at times.

I methodically went through the code for each of the 152 simulation elements checking #3 and #4. I was already pretty sure that #1 was working correctly. Most of the remaining bugs lie in the realm of #2. There are 550+ GRLs (Game Record Log) record types that are used to send data on the different WIF decisions to the other players. And each of those has 6 code segments that must be done as a series of steps. All tolled, there are 44,000+ lines of code devoted solely to task #2.

Player Interface Nothing new.

Internet - NetPlay I spent half the month working on NetPlay.

I have moving and undoing moves working correctly for land, air, and naval units. What I am currently trying to fix are the combat forms so both players receive the decisions made by the other player and the die rolls made by MasterMWIF. For instance, when a ground strike is conducted, both players need to see the results (right now only one of them does). In naval combat the use of surprise points has to be communicated to the other player (that isn’t happening). And in land combat, after the results have been determined for a combat, the attacking player’s computer isn’t being informed that the subphase has changed and he has things to decide (i.e., advance after combat).

None of the problems here are really nasty, although there are a few than snarl rather aggressively. Like all bugs I am working my way through them one at a time, a chair in one hand and a whip in the other.

The beta testers have been able to run through an impulse and advance into the next impulse. A bunch of stuff runs smoothly: • Setting up units in all the various places in the sequence of play where units get placed on the map. • All the declaration of war subphases. • Simple phases such as: lend lease, scrap units, weather, initiative, naval air, and air rebase.

A couple of the beta testers were able to complete the setup for Brute Force. They did that carefully, thoughtfully placing units on the map, as well as making good decisions for the other aspects of starting a game. It took them two and a half hours but they had no problems. In other words, NetPlay connections seem to be both stable and reliable.

PBEM Nothing new.

Artificial Intelligence (AI) Nothing new.

Player’s Manual Both the Players Manual and Rules as Coded are in the hands of the Matrix Games graphics person, who is doing the final layouts for how those will appear as PDFs and in print.

Tutorials and Training Videos I still have one bug to fix for the tutorial on Production (so production can be performed for multiple countries within the tutorial). Otherwise the tutorials are done.

I need to re-record the 6th and create the last three Training Videos: 10th, 11th, and 12th. The 6th (main form and drop down menus) needs redoing because I have seriously modified some forms since I recorded that video in December of 2009. The last 3 training videos are for naval movement, naval combat, and production/politics.

Historical Video, Music, and Sound Effects I now have all the files I need as WAV files. To those of you who provided information that let us find the Italian national anthem during the war years, thank you! When I get a day or two free, I’ll insert the calls into the sequence of play to activate these glitz elements.

Well, although I'm not into computer programming, I think that a *serious* AI for a game like WiF is simply impossible to create. Of course is not *absolutely* impossible in abstract, but is impossible in real life, at least for a Computer Game Company with a not unlimited budget. That said I'm happy because the objective set is now realistic. I'm only sad for the decades of work thrown from the window when it appeared clear from 1998 that to get a decent AI for this wargame a team of NASA scientist should work full time closely with a group of WiF players for a couple of years. No Nasa scientist/Players working together no AI. Facts speak for themselves. But today It's finally possible start dreaming a Computer WiF program *assisting* human players during their games. After too many years this is the longest step to the completion of the project.

Well, although I'm not into computer programming, I think that a *serious* AI for a game like WiF is simply impossible to create. Of course is not *absolutely* impossible in abstract, but is impossible in real life, at least for a Computer Game Company with a not unlimited budget. That said I'm happy because the objective set is now realistic. I'm only sad for the decades of work thrown from the window when it appeared clear from 1998 that to get a decent AI for this wargame a team of NASA scientist should work full time closely with a group of WiF players for a couple of years. No Nasa scientist/Players working together no AI. Facts speak for themselves. But today It's finally possible start dreaming a Computer WiF program *assisting* human players during their games. After too many years this is the longest step to the completion of the project.

Welcome to the forum.

My contract with Matrix Games says that I will do an AI Opponent. And I will.

Obviously, it's a false interpretation of the Maya's calendar, and in any case it was impossible for that people to imagine the exact day of the end of the word... There was even a movie (a very bad movie, IMNSHO...) about this doomsday, by Roland Emerich, called "2012"...

Well, although I'm not into computer programming, I think that a *serious* AI for a game like WiF is simply impossible to create. Of course is not *absolutely* impossible in abstract, but is impossible in real life, at least for a Computer Game Company with a not unlimited budget. That said I'm happy because the objective set is now realistic. I'm only sad for the decades of work thrown from the window when it appeared clear from 1998 that to get a decent AI for this wargame a team of NASA scientist should work full time closely with a group of WiF players for a couple of years. No Nasa scientist/Players working together no AI. Facts speak for themselves. But today It's finally possible start dreaming a Computer WiF program *assisting* human players during their games. After too many years this is the longest step to the completion of the project.

Rather pessimistic view, do you not think?

I'm glad Steve has replied to this, who I must say showed 'remarkable' self restraint, after all the hard work he has put into the project.

_____________________________

Our lives may be more boring than those who lived in apocalyptic times, but being bored is greatly preferable to being prematurely dead because of some ideological fantasy.- Michael Burleigh

We all know premature delivery does not do any good for any game. I do not think the Mayans even had December. If they had powers of prediction they would have seen the Spaniards coming and Mel Gibson too.

_____________________________

"Patriotism: Your conviction that this country is superior to all other countries because you were born in it." - George Bernard Shaw

We all know premature delivery does not do any good for any game. I do not think the Mayans even had December. If they had powers of prediction they would have seen the Spaniards coming and Mel Gibson too.

They would also, one would have thought,( with those superior predictive powers) be able to predict their own demise.

< Message edited by Empire101 -- 6/4/2012 11:19:06 AM >

_____________________________

Our lives may be more boring than those who lived in apocalyptic times, but being bored is greatly preferable to being prematurely dead because of some ideological fantasy.- Michael Burleigh

As outlined I'm not into computer programming. I just note that AH was unable to create a decent AI for its Third Reich pc game in ten years (their final product in 1996 was totally worthless, they had to simplify the already elementary 3R rules to finish the job and, even so, the Axis computer was unable to conquer France if faced to a non cooperative opponent) .Thus I think that the same problems found for computer 3R exist also in Computer WiF, but multiplied by 1000... Not everything is always possible in any case. A line in a contract cannot make the impossible doable.

I appreciate all the efforts and the passion here, and I will be the second purchaser of computer WiF if and when Matrix will publish it, (the first being my brother). That said I think (optimistically IMO) that a game without AI but fully knowing the rules is the best objective achievable.

Sorry for the intrusion in your discussions, after ten years this is my first appearance here, but I had to say my opinion on this topic. Best luck and get the job done Steve!

As outlined I'm not into computer programming. I just note that AH was unable to create a decent AI for its Third Reich pc game in ten years (their final product in 1996 was totally worthless, they had to simplify the already elementary 3R rules to finish the job and, even so, the Axis computer was unable to conquer France if faced to a non cooperative opponent) .Thus I think that the same problems found for computer 3R exist also in Computer WiF, but multiplied by 1000... Not everything is always possible in any case. A line in a contract cannot make the impossible doable.

I appreciate all the efforts and the passion here, and I will be the second purchaser of computer WiF if and when Matrix will publish it, (the first being my brother). That said I think (optimistically IMO) that a game without AI but fully knowing the rules is the best objective achievable.

Sorry for the intrusion in your discussions, after ten years this is my first appearance here, but I had to say my opinion on this topic. Best luck and get the job done Steve!

I did work on AI in 1976 when I was getting my MBA. I also joined the American Association for Artificial Intelligence the year it was founded (1980). While I haven't kept up my membership, there was a decade or so there where I was current on most aspects of AI. I co-managed a group of 30+ AI programmers (most with advanced degrees) at Boeing in the late 1980's. I also wrote the AIO for two war games in the mid-1980's for the Atari (in assembler - yuck!). My programmer experience goes back to 1968. In 1969 I wrote the AI for a 3-D tic-tac-toe (4x4x4) on an IBM 1130.

So when I say that I believe that I can create a decent AI opponent for MWIF, it is not idle blather. It is serious blather!

Basing your opinion on how the AI will be for WiF by comparing it to a product that is over 10 years old is a bit of a stretch I think and on top of that, computer 3rd Reich was for the most part, a dud.

Granted WiF is a far more complicated game than Third Reich ever thought about being, but then again, computers have improved how much since the mid 90's? Along with that, AI programing has also seen huge advancements as well.

I am not saying Steve is going to put together the mother of all AI's for this game nor am I saying it is going to be a dud. (I simply don't have any experience with any of Steve's other work to base a judgement on). I have played computer wargames all the way back to the early 80's and I have played a ton of them. Some had a fairly good AI while others were really bad. IMO, the two most important factors are the skill level of the programmer at doing AI's and also how much time they have to work on it.

Will the AI ever equal what a good human opponent can come up with? No. Will it give you a good enough game to be entertaining and help you learn the game in the process? I believe that to be entirely possible. The question will be when.

Just a friendly discussion - not meant to be condescending or to start a flame up

in Jan 1996, the top of the line processor was 150MHz - Today I am using a 4 core 3GHz machine --- that equates to 12,000 MHz. So the raw power of the computers today is 80 times more than in 1996.

Third Reich ran in DOS. So that is about 8MB of memory. Today I am using a computer with 8 GB - So the RAM is about 1000 times more powerful.

Disk drives?--- then --- 1 GB - now 1.5 TB - so that is 1500 times more powerful.

So you can argue that the machines are somewhere between 80 and 120,000,000 times more powerful (depending on how important the three categories are).

Most importantly, the programming tools have evolved to allow programmers to handle much more complicated tasks. Delphi 1 came out in 1995 and was probably not released until after development began. Delphi is on version 15 -- Embarcadero Delphi XE 2. It is truly amazing what can be done now with today's tools.

Not to mention the fact that the combined knowledge of how to go about solving problems like 'AI' has improved dramatically in the last 16 years. Theory has met practice and many things have gone from impossible to merely expensive.

Also, the biggest thing is that (IMO) Avalon Hill was would push products out the door before they were quite ready and then never have the money to support the patches. As painful as it has been for some, at least Matrix has given Steve the time to do things right.

From some of his writings here, I think I understand how Steve is going to go about it. As a professional programmer since 1983, I think it is likely that he will succeed.

_____________________________

Bridge is the best wargame going .. Where else can you find a tournament every weekend?

As outlined I'm not into computer programming. I just note that AH was unable to create a decent AI for its Third Reich pc game in ten years (their final product in 1996 was totally worthless, they had to simplify the already elementary 3R rules to finish the job and, even so, the Axis computer was unable to conquer France if faced to a non cooperative opponent) .Thus I think that the same problems found for computer 3R exist also in Computer WiF, but multiplied by 1000... Not everything is always possible in any case. A line in a contract cannot make the impossible doable.

I appreciate all the efforts and the passion here, and I will be the second purchaser of computer WiF if and when Matrix will publish it, (the first being my brother). That said I think (optimistically IMO) that a game without AI but fully knowing the rules is the best objective achievable.

Sorry for the intrusion in your discussions, after ten years this is my first appearance here, but I had to say my opinion on this topic. Best luck and get the job done Steve!

By the way, I'm his brother, and I fight with him over the AI of Wif a lot of times for several years... How you can read, in his opinion, it's impossible to do a decent AI for a game so complex. Waiting for to demostrate that he's wrong, I hope in any case for to have very soon a good WiF for human players, and I'm sure that it will happen this July, or this August, or... Big kisses The hoping Fulsere

Things that used to need an 'elegant' solution can now be done with brute force. In fact, AI is moving more and more towards that every day.

I think he can pull it off especially with his background.

As a developer, I'm going to guess that one of the biggest roadblocks to getting this done quickly has been of all things the game options. Having so many options creates a huge development and testing challenge. In fact this game has so many options its probably impossible to test them all. If you have 50 different options and they are all binary (true or false) that's 2^50 or 1,125,899,906,842,624 possible combinations!

If this game was just vanilla WIF or even WIF with all optional rules enabled it would have been much easier to develop and test than allowing this huge number of choices that he's implementing. Its really unheard of in wargaming AFAIK.

I never said that it's *technically impossible* to have a decent AI for WiF (see my first post). I'm saying that the effort needed for such a task is out of range for a Computer Game Company. In fact the WiF project started many years ago and it's still not complete. Matrix is one of the best Company of Computer Games and thus should make much better than AH that fired a dud after ten years of promises. But the task now is much more difficult, despite the higher tech level , the professional staff employed and the better tools at disposal nowadays. We'll continue to wait quietly, as we do from 2004 (?), life is long.

But please take my words not as a destructive criticism, but just as the humble opinion of a player that cannot remember a single title of a wargame that has also a close "Computer Version" with a working AI. (Exceptions : Chess, Advanced Civilization). Designers and Publishers usually prefer to start from scratch a brand new wargame rather then teach the Computer to play a simple already existing wargame. I think there's an obvious reason for this, and it is not a reason related with marketing. But, again, it's JMHO.