Shannon V. OKeets 
		  
		   
		     
		  Posts:  22095 
		  Joined:  5/19/2005  From:  Honolulu, Hawaii Status: offline
		   
		 | 
	  
	    
		 July 1, 2013 Status Report for Matrix Games’ MWIF Forum   	   Accomplishments of June 2013					   													   Hardware and Software	   	The open items for Theme Engine remain the same: minimizing the game generates a Mad Except error, trying to display detailed listings of file directories (i.e., the dates and stuff) when opening or saving a file does the same, and “rolling up a form” does too (the last occurs sporadically under Windows XP).  Rolling up a form minimizes the form to the size of the form’s top bar.   						   Beta Testing	   	In June I released 5 new versions to the beta testers: 10.04.03 (10 fixes), 10.04.04 (14 fixes), 10.04.05 (31 fixes), 10.04.06 (13 fixes), and 10.05.00 (10 fixes).  The number of new versions is close to my overall norm.  But the fixes (78) are well below my average for last year (116).  Something in the 70's appears to be my new average.        	Below is the summary of my Master Task List (MTL) as of July 1st.  My task list count stands at 93, up from 80 at the start of the month.  I remain more concerned about NetPlay than the other bugs.        	The latter jumped back up to 84 (from last month’s count of 63) but I am waiting on saved games from the beta testers for a half dozen of the new bugs.  Usually, once I get a saved game I can fix the problem in 30 minutes or less.  I proved this again to myself by fixing 15 of them in a day and a half last week.  I get upset when the count goes over 100 and I knock off a bunch of easy ones to bring the total back down.  The easy ones are scattered throughout the sequence of play and occur under very unusual circumstances.  Given a saved game for the weird situation, I’m able to fix these without too much effort.  As one example from many I could provide: the USSR declaring war on Italy while a neutrality pact with Germany exists, forces a Bulgarian (Bulgaria aligned to Italy) unit in Poland and an Italian unit in Turkey (Turkey aligned to Germany) to both relocate more than 3 hexes from the USSR.  That’s a digression that takes place in the middle of implementing all the DOWs by the Allies during the impulse.      	The beta testers also provided an influx of bug reports for supply in June.  Although I have saved games for virtually all of these, I’ve haven’t given them much of my attention.  They mostly have to do with not updating supply when circumstances on the map change.  I fixed a half dozen of them.  For the remainder, saving and restoring a game lets the beta testers get the supply status for all the units corrected.  Therefore, there’s no immediate hurry for me fix the supply bugs.  I’ll spend a day sometime this week on them and that should resolve nearly all of them.  By the way, many of them are duplicates.      	None of the other bugs in the sequence of play and non-sequence of play is of much concern to me.       	Graham has been helping me prioritize the order in which I fix bugs.  He has also been identifying for which ones I need saved games.  There seem to be a lot of high priority items!      NetPlay [9]			{1594, 1859}, 1785, 1826, 1827, {1913, 1914}, 1932, 1933, 1935, 1936      Sequence of Play [65]   Supply [14]: 			1070, 1956, 1997, 1998, 2025, 2030, 1999, 2004, 2027, 1982, 1988, 2033, 2038, 2041   Setup Phases [1]: 		1900   Reinforcements [1]:		2046	   DOW [1]:			2021							   Air Missions [4]: 		1611, 1890, 1925, 1996   Naval Movement [1]: 		1990   Naval Combat [11]: 		{874, 1531}, 1566, 1599, 1701, 1724, 1815, 1847, 1868, 1869, 1872, 1899   Land Combat Declaration [1]:	1995   Reorganization [3]:		1855, 1856, 1896   Use Oil [1]:			2042   Production Planning [15]: 	1107, {847, 961, 1347}, 326, 1644, 1671, 1825, 1862, 1863, 1864, 1893, 1895, 1973, 2006, 2014, 2020   Search Seizure [1]: 		409	   Reform Units [1]:		1851	   Vichy [4]:			1803, 1811, 2017, 2028					   Surrender [1]:			2009	   Liberation [3]:			891, 1919, 1980   Overstacked Digression [1]:	1931   Final Reorganization [1]:	1733   	   Non-sequence of Play [19]   Detailed Map [6]: 		1188, 142, 769,140, 1501, 2036   Player Interface [3]:		1901, 1920, 1922   Interactive Tutorial [1]:		2043	   Game Save/Restore [6]: 	695, 517, 110, 118, 1778, 1907   Theme Engine [3]: 		{1050, 568}, {1513, 1467, 966, 1455, 1573, 1655}, 1928   											   Saved Games						   	Done, except for 6 bugs.     								   Map, Units, and Scenarios	   	As I get additional unit writeups I add them to the collection.  Adam sent me a group in June.   				   Optional Rules	   	Nothing new.   					   Game Engine	   	I’m not doing anything special for the game engine code.  I’m just fixing bugs as they are found by the beta testers.								   					   Player Interface		   	This is done except for 6 bugs related to maintaining the beauty of the Detailed Map and 3 concerning different monitor configurations.   					   Internet - NetPlay			   	I spent most of June on NetPlay.  Many of my corrections do not show up on my task list as bug fixes.  For instance, I’ve been working on Port Attacks since March, slowly making progress through all the subphases.  That bug is still listed as one item on my task list, although I have corrected a dozen or more problems with the code so it will support NetPlay.  Like many of the NetPlay problems, once I get it running right for NetPlay, the beta testers find new problems with solitaire play and I have to go back and slice the conditional logic a little thinner.  I ran into this with the automatic declarations of war just a couple of days ago.        	As for Port Attacks, the following subphases seem ok: Combat Air Patrol, Attacker flies bombers with escorts, Defender flies interceptors, Attacker flies interceptors, Inclusion of submarines, Search rolls, Surprise points calculation, Surprise points usage (there are several places in the sequence of play where this is possible), Plotting antiaircraft fire by divisional AA units, Antiaircraft fire resolution, and Port attack on naval units (partially).  I’m pretty sure that return to base will work once I get that far since those routines work correctly for other air missions.  What I still need to debug is air-to-air combat and naval combat results.  I’m ignoring the former for the moment and focusing on getting the two sides to alternate choosing which unit is affected by the destroy/damage/abort results.  For port attacks, and naval air combat in general, the attacker chooses the first unit to suffer a result and then the defender decides the second.  They alternate thereafter.  Surprise points can also be used to change that order.  I’ve got the results of the first unit correctly determined, reported to the other player, and displayed on both computers.  But when it comes to the second unit, the second player’s combat form is not enabled for him to make his decision.  Each one of these subphases takes a lot of patience to get running perfectly.      	I’ve gotten through some of the naval movement interception code so it works for NetPlay.  However, there are a lot of logic branches depending on what the players decide and the die rolls.  Because these are handled as digressions from the normal sequence of play, the logic is quite complex.  For instance, naval units can be forced to move during the land movement phase (due to overruns), during the conquest phase, and during aborts from naval combats.  The main phases for moving naval units are the naval movement and return to base phases.  All of these different phases have their own set of rules as to what is and is not permitted.  I’ve got the code functioning well enough now that I can let the beta testers tell me what isn’t working with moving naval units in NetPlay.      	I also spent several days working on naval combat.  Naval combat has more subphases than any other phase of the game: 28.  Yesterday I discovered a bug in choosing the type of naval combat (i.e., naval air, surface, or submarine).  When one side declines to make the combat a naval air combat, the other side oftentimes gets to choose naval air.  Right now, the second side is not getting that opportunity.  The way debugging NetPlay goes, is that I test each of the main logic branches to see if the decision making is given to the right major power (or side) and that the forms and map update on both computers as the program works its way through the sequence of play.  This is quite tedious.  I have to take detailed notes when debugging NetPlay and do frequent saves on both computers.        	Without the notes I can easily forget precisely what happened.  Only by knowing what was being displayed on both computers and what actions were taken by each player can I determine where the program was in the code and thereby locate and fix any bugs.  The saved games are crucial because it can take a lot of effort to get both computers back to the exact point where a failure occurred.  So the cycle is:       1 - encounter a problem,    2 - record what happened and when,    3 - go back to a previously saved game,    4 - get to the point before the problem occurred and save the game,    5 - recreate the problem, this time taking good notes,    6 - read through the code to locate where the bug was generated and  put in some diagnostics    7 - restore the saved game before the bug   8 - recreate the bug and interpret the diagnostics   9 - fix the bug   10 - restore the game before the bug   11 - advance the game to make sure the fixes work and the game advances farther in the sequence of play   12 - encounter a new problem ...      	For non-NetPlay bugs the cycle is pretty much the same but since only one computer is running, most of the work is cut in half.  I also have over 3000 non-NetPlay saved games so I can recreate most normal game situations for  all 60 phases and most of the 80+ subphases.  But for NetPlay I have less than 100 saved games (they have to be identical on both computers).  I’m building up my collection, but it is less than 3% of what I have for non-NetPlay games.      PBEM	   	Nothing new.        Artificial Intelligence (AI)   	Nothing new.      Player’s Manual and Rules as Coded (RAC)   	I spent some time working with the woman doing Final Layout for RAC and the Players Manual.  She’s making progress on the PM and was up page 168 the last time she sent me a draft for proofreading.  I requested that I get the documents piecemeal rather than have them all arrive in one huge mass to be proofread ASAP!  I think you’ll like the result.  Most likely I’ll post a few sample pages in July, but I won’t do that until she tells me the PDFs are final and on their way to the printer.   										   Tutorials and Training Videos   	The Tutorials are done.  There was one bug reported for one of the interactive tutorials; I’m waiting on instructions on how to recreate that since the tests I ran executed without any trouble.  Nothing new on completing the training videos.   							   Historical Video, Music, and Sound Effects	   	Nothing new.      Web Site						   	Nothing new.				      Marketing   	Nothing new. 
			
								
			
			 
  _____________________________
 
  Steve      Perfection is an elusive goal.  
				  	
		  
		 |