Computer Science 121 - Project 1

Concept Development

Fall 2009

Critical Dates

Project Description

  1. Introduction
  2. Project Overview
  3. Grading
  4. Project Details
  5. Rules and Submission

1. Introduction

In this project you will develop a computer game concept for our clients, Greg Orr and Joshua Yavor, who teach 6th grade social science at Hillside Middle School in the Kalamazoo, Michigan. This project will also start your introduction to formal project management skills as well as computer game design.

The class will be divided into teams of 3-4 students. Each team will develop an educational game concept targeted at one or more of the following student learning objectives, which were provided by our customer.

  1. Explain how historians use a variety of sources to explore the past (e.g. artifacts, primary and secondary sources including narratives, technology, historical maps, visual/mathematical quantitative data, radiocarbon dating, DNA analysis).
  2. Explain and use a variety of maps, globes and web based geography technology to study the world, including interregional, regional and local scales.
  3. Describe the importance of the natural environment in the development of agricultural settlements in different locations (e.g. available water for irrigation, adequate precipitation and suitable growing season).
  4. Explain the impact of the Agricultural Revolution (stable food supply, surplus, population growth, trade, division of labor, development of settlements).
We urge you to spend some time exploring game concepts before settling on one. For guidance we suggest you read about the Experimental Gameplay Project at CMU's Entertainment Technology Center.

The primary goal of this project is to give you real experience with the development of a concept, the gathering, organizing and prioritizing of requirements, and the development of a proposal for a software product. A secondary goal is to develop your abilities to intelligently plan a group endeavor, effectively manage it, and critically evaluate the completed effort.

2. Overview of project.

There are several major components to this project.

The following table describes the work processes and products that contribute to your team's grade for this project.

Component Description Type Due Date Points
Initial Concept Competitive Research wiki report Sun 9-6 15
Proposal pdf document Sun 9-13 30
Presentation slide presentation Sun 9-13 15
Customer Requirements Requirement Elicitation methodology Sun 9-20 40
Report wiki report Sun 9-20 20
Technology Assessment Research wiki report Sun 9-20 40
User Feedback on Concept and Assumptions Questionaire survey monkey Sun 9-20 5
User Feedback Plan wiki report Sun 9-26 20
Prototype paper/electronic Sun 9-26 35
User Test methodology Sun 9-26 20
Report wiki report Sat 10-4 20
Final Proposal Proposal pdf document Sat 9-26 100
Project Management Management Plan wiki 9/10 6
Management Effectiveness wiki ongoing 6
Project Documentation wiki ongoing 8
Post Mortem Analysis wiki Sun 10/4 16
Organization of Submitted Package wiki Sun 10/4 4

In addition to the Team grade, individuals will be graded on their contribution to the team's efforts:

Criterion Points
Work Share 40
Work Quality 40
Contribution to Team Score 40
On-Time Performance 40

3. Grading

This project is worth 560 points. Individual grades will be based on your team grade (400 pts. max) and your individual contributions (160 pts. nominal max).

Team grade: This is a team project and we will assign a team grade based on the point values ascribed to the various work products as detailed in the table above (and on a finer scale in the project descriptions below). This means that all of you should be concerned about the quality of all of the work products. Some of the assigned tasks are intrinsically whole-group activities. Many others, while in principle doable by one person, will probably have significant input from other team members.

Individual contributions: To determine individual contributions we will ask you to provide, for each work product, a contribution matrix, showing what fraction of the result was achieved by each member of the team. The team must agree on these numbers. In support of this computation, each individual will be required to keep a log of all work they did on the project. These logs can be consulted to come up with the contribution matrix ... but it should be recognized that hours worked may not be the sole (or even primary) determinant of contribution. (e.g. if person A spent 10 hours doing research that was found to be useless, and person B wrote the entire document on their own in four hours ... it might be reasonable to give person B 90% credit and person A 10% credit).

Primary author: Each major work product will typically have a primary author, who works up the basic organization and personally writes most of the prose. The author of a work product is expected to gather and synthesize tributary work from other team members. To be considered a primary author you must have personally written at least 2/3 of the text in case of a document or presided over a process. (Note, however, that since the whole team will be graded on the quality of each work product, it is only prudent for the entire team to review any high-value work product before it is submitted.)

In order to receive full points for quality, a team member must have been the primary author of a reasonable fraction of the team's work-products. No primary authorship, no quality points.

4. Project Details

Competitive Research

Identify games that target similar objectives/audience to yours and analyze their capabilities, strengths, and weaknesses. Then position your proposal against this field (i.e. why yours is better than anything that already exists). Examples of questions you want to ask about each game are:

  1. What is fun about this game? What is not?
  2. Is the genre/interface/scoring/difficulty particularly appropriate to the game's learning objectives?
  3. Does the game appeal to all members of your audience or are there gender/cultural/game-experience biases?
  4. What aspects of the game are particularly appropriate to your target demographic?
Develop a list of the 5-8 most important design objectives for your game. Rationalize your choices and discuss their relative importance. Describe how you will assess whether your game, when completed, would meet these objectives.

This report will be graded on:
Initial Concept Proposal
This short pdf document articulates your game concept. It should include
  1. High Concept Statement: Working game title, team members, and a 100-200 word description of the game
  2. Features: Bulleted list of important features (prioritized)
  3. Competitive analysis: Similar games with comparison to proposed game and how they compare to your game
  4. Overview: Player motivation, genre, target customer, hardware platform options, suitability for learning objective, major risks, unique selling points, design goals, concept art
  5. Other: Info you think is important
Here is an example high concept for the game Death Wish. You can find others on the web by googling "High Concept Document." Note: These samples are not focused on educational games; it is important that you address the suitability of your concept for the learning objective.

This proposal will be graded on:

Concept Introduction
This is a 5 minute slide presentation to give the clients a quick introduction to what you are talking about, before you start asking them questions about their needs. This is not a sales pitch! As we will discuss in our requirements lecture, it is crucial that we not contaminate the panel with our own thoughts. The purpose of a requirements elicitation is for us to get information from the customers. As such, the presentation should be limited to establishing a context for the questions to follow.

Note your presentation must be uploaded to the wiki on the date shown in the table above. The presentation with be given at the start of meeting with the customer requirements elicitation session.

This presentation will be graded on:

Customer Requirements Elicitation
In this ~30 minute teleconference with the customer you will gather information and development requirements.
  1. Briefly (in less than 60 seconds) introduce yourselves and the agenda
  2. Give your concept presentation
  3. Start with open-ended information gathering about the educational goals in question, how they pursue them, what problems they encounter, the gaming activities of students, their computer use, etc.
  4. Then move into more specific questions, following up on interesting points raised in the open-ended questions, and posing the more directly product-focused questions that you have come up with.
  5. Get their comments on information you have gained from other sources. Note: It is possible that, in the process of giving you their own requirements, the customers will actually touch on all of your own previously gathered requirents. If this is the case, when you get to that part of the agenda, specifically affirm that they have reiterated (or how they have changed) that prior input.
  6. Present a summary of the key messages you have gotten from them today, and give them the opportunity to correct/amend those.
  7. Thank them for their participation
Team roles:
In other words, all team members should play important parts in making this a success.

This process will be graded on the basis of:

Customer Elicitation Report
From the detailed minutes (which should be checked in to subversion) the scribe should prepare a summary report that synthesizes the information gathered. The report should include:
  1. When and where the session took place and who attended.
  2. Interesting information gained during the open-ended information gathering.
  3. Clear statements of significant new requirements that were suggested, along with an assessment of how important each is and why.
  4. Significant input on previously gathered requirements, affirming, refuting, or changing them.
  5. Any other useful results gained from the meeting.

This report will be graded on the basis of:

User Feedback: Plan, Prototype and User Test
Most software is designed to achieve specific goals (e.g. easy to use, fun to play, effectively teach and reinforce specific lessons) with people. Any plans are predicated on assumptions. There may be many basic things we don't know, and it is very difficult to reliably and accurately predict how people will respond to a new product. This makes early user feedback critical to validating any proposal. As part of developing and preparing your proposal, you will:
Questionaire
Some questions (e.g. available resources, abilities, and other problem constraints) are sufficiently objective that a great deal of information can be gained from a simple survey form. Surveys cannot take the place of open-ended interviews, but they are a cheap way to quickly and conveniently get feedback from a potentially large number of people. As you consider your questions and assumptions, divide them into things that are more suitable for a survey and things more suitable for an interview or a user-test.

You will take the questions that can be well answered in a survey, and prepare a survey-monkey survey, which we will have taken by (your choice) teachers and/or students.

The survey will be graded on the basis of:

Prototype
There are really three (highly inter-related) parts to the prototype:
  1. the plan for what needs to be investigated, and how
  2. the samples or prototype to which intended users can be exposed.
  3. a process for exposing users to the prototype and gathering feedback.

In developing the User Feedback Plan you will identify a small list of key design assumptions and concepts that need to be tested, and then come up with a practical means of getting feedback from students to validate the assumptions or answer the implied questions. These questions might range from experiences with particular user interfaces, to how well they are likely to learn lessons taught in games to how they a like the artwork, interaction and premise.

This plan will be graded on the basis of:

The User Feedback Prototype is a collection of things to which intended users (students) can be exposed to gauge their response. It may take the form of video clips, artwork samples, story-lines, interaction simulators or anything else that your users can respond-to in order to give you a sense of how they would respond to the game you propose to build.

The prototype itself will be graded on the basis of:

The User Feedback Gathering Process will be delivered to the teacher as a package, and carried out by the teacher, with a small number of students (e.g. 3-4) and should be performable (start to finish) in 20 minutes.


Video feedback may be available, but we have not yet ensured that.

The feedback gathering process will be graded on the basis of:


Note that whether or not students like or dislike your prototype will have no effect on your grade. The skill we are working on here is identifying, posing and answering questions from real users.

User Feedback Report
As with the customer requirements elicitation session, you will analyze the results of your user feedback tests, and write up a report on both the effectiveness of the process and the key results obtained.

This report will be graded on the basis of:


Note that your grade on this report will not be affected by how well the students liked your prototype or how well the process worked. You are being graded on your ability to analyze and learn lessons from the results.

Technological Assessment
In addition to figuring out how you can address a educational need, and what you want your game to be like, you also have to figure out how your are going to build it:
A competitive proposal is not merely one that paints a compelling picture. It must also have a high probability of being implemented. It is not reasonable to expect a preliminary proposal to include detailed designs or project plans, but it must include enough information to argue for its feasibility and viability:

Providing these assurances will involve some preliminary design, some research into available tools (e.g. game engines, digital art tools, programming languages), and some serious pondering of the likely risks. You will do the design, research, and analysis, and write up the results in a "Technological Assessment report". This report will be graded on the basis of:


Note that none of the above have correct answers, or can be found in authoritative sources. You will brain-storm, plan, research, analyze, debate, and ultimately estimate and guess. When dealing with incomplete and imperfect information, the methodology and rationale are every bit as important as the available data. Give thought to, and document these.

Final Proposal
All of the above work will culminate in a final proposal. The above tributary works are mostly matters of methodology and process. There is more art to the preparation of the final proposal. All of the previous steps have developed a great deal of information. The final proposal is the place where you will organize this information to make your case:
  1. this will address the pedagogical requirements
  2. this will be fun to play
  3. this is easily buildable with the available time and resources
  4. all of the likely problems are understood and tractable.

But your case will not be made by "emphatic assertion", but by the data you are able to gather from your competitive research, requirements development, user feedback, technological research, and preliminary project plans and risk analysis. A winning proposal is a compelling concept, backed up by good research, thorough analysis and a sound plan.

The Final Proposal should include the following sections:

  1. High concept statement (perhaps only 100-200 words)
  2. Key Features (what it will be like and how it will address the pedagogical requirements).
  3. Key requirements (necessary conditions for success).
  4. Competitive analysis
  5. Overview of game
  6. Rational for the game design (in terms of pedagogical goals and audience)
  7. Proposed project overview (architecture, tools and approaches), and rationale for these choices.
  8. Risk and Feasibility analysis (including proposed scheduling and staffing, key risks and plans for their mitigation).

The final proposals will be graded on the basis of:

And one of these proposals will be selected for implementation (by the entire class) in Project 2.

Management Plan
Most of the individual sub-tasks associated with this project can be done in a couple of hours by one or two people. But there are a great many of these tasks to be performed, and (you will discover) not a great deal of time in which to get them done. The only way you will succeed is if you have a plan (who is going to do what, when, and then who will do what with it) for the entire project.

Each team will prepare a task-breakdown, identify the dependency relationships between tasks, and owners for each sub-task, assign due-dates, and schedule regular reviews of both work-products and progress (to enable adequate time to deal with the problems that will happen). As your understanding of the problem evolves and you respond to unanticipated events, you will have to revise your plan. If deadlines are missed, or deliverables fail to pass review, the fact, as well as the causes and the plan to remedy them must be documented.

The living document that lays out the plan (du-jour), its progress, and its evolution over the course of the project is the Management Plan. It will be maintained in (one or more) wiki documents, and will be graded on the basis of:

Advice A good plan will ensure that all work is done before the due date, but allow people a reasonable amount of slack in when they have to do each particular task. An overly aggressive plan that people won't be able to achieve is no better than a realistic plan to get the work done late.

Experience has shown that vague plans are easier to create up-front, but create problems down-stream (when people turn out to have been unclear about exactly what they were supposed to do, by when, and in what form they were to deliver their output). Similarly if you do not specifically map out the dependency relationships among the tasks, you may find that your schedule is unrealistic, because it does not allow sufficient time for sequential tasks.

Management Effectiveness
A famous dictum of military tactics is that "No plan of battle has ever survived contact with the enemy". There is little reason to expect your plans to disprove that premise. As the project progresses, work will be found to be more complex than expected, new problems will be discovered, people will miss deliveries, and completed work will be found to be wanting. All this is just another day in the real world.

Management is responsible for monitoring progress, recognizing these problems promptly, and adjusting the plans to respond to them. Each team will receive a management effectiveness grade based on:

We will determine when work was done based on the dates of the final subversion check-ins.

Project Documentation
You should use trac to manage, maintain, and document your work. The team will receive a grade based on: Postmortem
This project is a learning exercise, and one of the major ways we learn is by analyzing past mistakes. You will, as a team, review all aspects of this project. One of you will then summarize that process into a post-mortem analysis report. . It should specifically address:

You will be graded on the basis of:

Note that if you make no mistakes, you will not be able to earn any points on the post-mortem. Fortunately, no teams have ever found it necessary to deliberately make mistakes in order to have something to analyze. Organization of the submitted package

A few points will be held aside for the overall organization and clarity of your submissions. If we have no difficulty finding the things we need to grade, and finding where you met the requirements you will receive full points. If we have to struggle to find needed information, or to figure out whether or not you have met the requirements, you will not be awarded these points.

5. Rules and Submissions

When you are done, create a message that includes:

And submit all of these things to me in an e-mail with the subject "cs 121 - Project 1".

The index of work products is a list of file names (within your team web site) that contain the work products to be graded. We could browse around and guess which ones you meant to submit, but you would probably prefer to point us directly at the ones that are meant to be graded. It would also be useful if you gave us pointers to the working documents that contributed to the ultimate deliverables, so that we can track their evolution and history.

Each student is entitled to three slip days. A late submission that is not redeemed with slip days loses ten percent of its value for each day late it is. Note that a slip-day is only good for one deliverable. If a design is one day late, and that delays the design review by a day, then you may find that you need two slip-days. Don't make the mistake of using up your slip-days too soon, because the pressures generally get tighter later in the course.

When a team needs to use slip-days, they need to decide who's days they are using. However you decide is OK with me, but we will be tracking the slip days per student. If will be using any slip days on this deliverable, tell me in advance that you will be doing so (so that I don't nag you about whether or not I lost your submission message).

Collaboration and Citation

This is a team project, but different individuals will have primary responsibility for different processes or work products (or different parts of a single work product or process). Each team will be working on a different type of product. You are free to talk your team members (and for that matter other teams) about the processes you are following. You may review your work products with your own team members, and revise them based on their feedback ... but ...

  1. If you are the primary author of a work-product, you must cite the source of text you did not write (if it is more than a sentence), or any information that did not originate within your team or from your interviews.

    You will be doing research to develop your product definition and requirements. I expect that many of the ideas for your product will come from this research. Cite all of your sources for each work product, and explain how each source contributed to your work products.

  2. You may not share any of your work products (other than as required for reviews) with members of other teams.