Project 3:
Milestone C

CSE 481p, University of Washington, Spring 2018


 

Overview

Work in your project groups to further develop the game based on your wicked problem. Then create a report and short presentation addressing the issues below.


 

General Progress Report

Include the following:

  1. Your names: List the names of your team members.
  2. Game Title: Either use the same name as you did in Milestone B, or explain the need for the change and give the new name.
  3. Changes Since Milestone B: Describe any alternations of the plans you laid out in Milestone B.

Discussion of Game Elements

  1. Learning Curves: Briefly describe the expected learning curve for your game. Will it be gradual, or will a large effort be required at the beginning? Plot expected effort as a function of time. Next plot the amount of knowledge needed as a function of time. Finally, plot the expected about of knowledge acquired by the player in the game, as a function of time. Explain your rationale for these graphs.
  2. How Knowledge Will be Conveyed: How will players acquire the knowledge needed to play your game? Will they learn it directly in the game through textual prompts? Will they learn by trial-and-error exploration? Or will they be expected to access external materials such as websites before or during their play sessions?
  3. Embedded Game Structures: Note that you are not required to support multiple roles. However, you must fully answer this question whether or not you will have multiple roles. (Answer part a, then either b1 or b2, and then either c1 or c2.) (a) Do you plan to support more than one role? (b1) If not, what second role could you imagine in your game, and how would that role work? (b2) If so, what are your multiple roles? (c1) If the second role is competitive with your game's first role, describe a possible embedding of the Prisoner's Dilemma in your game. (c2) If the role is not competitive but collaborative, then describe "complementary affordances" (additional operators available only to the new role that empower the players in the second role to contribute to solving the wicked problem in a manner that is not redundant with what players in the first role can do).
  4. Scoring or Indicators of Progress: Describe how players will know if they are making progress towards solving your wicked problem in the game. Some games include multiple indicators such as score, health level, empowerment level, game level, etc. Which of these would you consider to be meaningful if incorporated into your game? Do you consider these to be state variables or simply properties of states that could be computed on demand? For example, distance to the goal is not inherently a state attribute, but might be computed by finding a shortest path from the state to a goal state.

 

Implementation Considerations

  1. Initial State: Your working code should display the initial game state, at least in a textual form (such as from the __str__ method as shown in class on Monday, May 22. If you have a visualization of it, you can include that.
  2. Operators: Make your final decision about what operators will be in your game. Describe the set of operators in the current version of the game, and then explain how you will implement the remaining operators.
  3. Specification of the Current Working Code: Explain the functionality of your code in its current state. At a minimum, it must at least compile without errors and display the initial game state. If you have implemented any functionality in addition to these, then please describe that.
  4. Specification for Your Upcoming "Working Prototype" Code: What additional features, bug-fixes, and other changes to the code to you envision for your Milestone D working prototype? Remember that at Milestone D you should have a complete and functioning game.


 

Presentation

For Milestone C, please prepare a SHORT presentation involving 3 slides. One slide should be a revised timeline slide, which is an update of the timeline or map slide from Milestone B. Put an asterisk ("*") next to each item on the timeline that is different from what it was at Milestone B.

Your second slide should be a list representing the BACKLOG of your Scrum right after Milestone B.

Your third slide should be a list representing the BACKLOG of your Scrum here at Milestone C. (What code changes and features remain to be performed or added before Milestone D?)


 

Actual Second Working Code

The last required item for Milestone C is Python code that corresponds to what you specified for "Second Working Code" above. Make sure this is set up on Nicto in a folder named SZ_ALPHA. There should be a subfolder named according to your game. Within the subfolder should be both a game-formulation file (e.g., OurWickedGame.py) and a corresponding visualization file (e.g., OurWickedGame_SVG_VIS_FOR_BRIFL.py). This code should work correctly with SZ001.py, so that when started from within the game code folder, a command such as the following will correctly start a session:

../SZ001.py OurWickedGame 5555
Then anyone playing the game would point a browser to
http://nicto.cs.washington.edu:5555
and sign in, choose a role, etc.