| COMP 310 
		 Fall 2012
 | Lec38: Final Project 
		Milestone 1 prep | 
	
		|          | 
Today we will concentrate on issues that arose during students' Milestone 1 
work over the weekend and we willl nail down what common interfaces and for the 
Milestone 1 deliverables for the next class period.
	- All provided code now available
		- Carefully follow the directions for installing the WWJ libraries.
		
			- You may need to use the svn:ignore setting especially if you are running a 32-bit system 
			or have a different operating system from your partner!
 
- A WWJ demo app is available: simply check out the following project:
		
		https://svn.rice.edu/r/comp310/course/WWJ_Demo 
- There is a problem WWJ with Macs running OS 10.8 (10.7 too 
		perhaps)
			- The unreleased WWJ v2.0 seems to work, but it breaks the demo 
			code, which may mean changes to the supplied "map" package. 
			
 
 
- There are a couple of unresolved API questions:   See
		forum discussion.
- Milestone 1 requirements
		- The previously implicit requirement of a description of how your 
		game will work was explicitly added to the Milestone 1 requirements.
- What is the minimum required funcitonality for Milestone 1?
 
 
Milestone 1 Advice
	- Think simple!   
	Don't make your game too complicated.
- In terms of features, think in terms of priority and 
	expandability:
		- What are the base, "mission-critical" features that are absolutely 
		needed in order to play your game?   These are the highest 
		priority features.
- What features fall into the "if we could add this too, it would 
		be really cool" category?   These are lower priority 
		features.
- Architect your system so that adding additional features will 
		require a minimum of code modification.
		
- Think variant and invariant:    
		Implement the invariants first and then add the variants!
 
- Don't try to write the whole project at once!
		- Write small pieces at a time, testing each piece to make sure it 
		works BEFORE writing more pieces.
			- Write stub (dummy) code for 
			non-yet-developed pieces that have simple, hard-wired behaviors 
			-- this allows you to test other pieces of the system first and 
			minimizes the pain of trying to debug the full system which has a 
			million places and ways of going wrong.
 
- Don't be afraid to write something, "just to test out the idea", 
		even if you know you will eventually throw that code away -- you will 
		have learned valuable insight and experience, so the effort is well 
		worth the time.   
 
- START EARLY!!
- ASK FOR HELP WHEN YOU HAVE PROBLEMS!!
 
 
 
 
© 2012 by Stephen Wong