Computer Science 121 - Project 1
Concept Development
Fall 2009
Critical Dates
- High concept proposal due end of day Sunday 9-13
- Game proposal end of day Saturday 9-26
Project Description
- Introduction
- Project Overview
- Grading
- Project Details
- 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.
-
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).
-
Explain and use a variety of maps, globes and web based geography technology to study the world, including interregional, regional and local scales.
-
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).
-
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.
There are several major components to this project.
- Initial concept proposal
You will develop a preliminary game concept and present it to the client.
- Requirements Analysis
You will gather and analyze customer requirements.
- Competitive Analysis
You will research existing products in this area,
position your proposal against this field, and develop a competitive value proposition.
- Preliminary User Feedback
You will prepare a questionaire to gather basic
information, and prototype that can be used to gauge likely user response.
- Technological Challenges and Resources Analysis
You will prepare a preliminary analysis
of the technical challenges and effort associated with your proposal and identify existing tools
that can help you to meet those challenges.
- Final proposal
You will combine all of the above into a final proposal (what will be built, why it will be effective,
how it will be built, what it will take to build it). One of these final proposals will be selected
to be implemented as project 2.
- Project Management
All of the above will be planned, managed, documented, and
reviewed in a post-mortem.
The following table describes the work processes and products that contribute
to your team's grade for this project.
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 |
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.
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:
-
What is fun about this game? What is not?
- Is the genre/interface/scoring/difficulty particularly appropriate
to the game's learning objectives?
- Does the game appeal to all members of your audience or are there gender/cultural/game-experience
biases?
- 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:
- 40% the thoroughness of your research (did you find the related products),
- 20% the credibility of your assessments of their strengths and weaknesses,
- 20% the degree to which you identify and focus on key design elements,
- 10% the degree to which you can formulate your goals in measurable ways,
- 10% the cogency of your arguments for how/why your product will be better.
Initial Concept Proposal
This short pdf document articulates your game concept. It should include
- High Concept Statement: Working game title, team members, and a 100-200 word description of the game
- Features: Bulleted list of important features (prioritized)
- Competitive analysis: Similar games with comparison to proposed game and how they compare to your game
- Overview: Player motivation, genre, target customer, hardware platform options, suitability for learning
objective, major risks, unique selling points, design goals, concept art
- 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:
- 25% the clarity with which your game is described (I know what it is and what it will do for me).
- 15% the extent to which I get some sense of what it will be like to play the game.
- 25% I can see how it will achieve my educational goals (which means it must do so).
- 25% I can see why it will be fun
- 10% how good an impression it makes (polished and professional).
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:
- 20% its length: 3-6 minutes
- 40% its effectiveness in establishing context (the clients understand what
learning objectives are to be addressed, in what general approach).
- 20% the extent to which it does not otherwise contaminate or prejudice the
clients.
- 10% how effectively it stimulates interest in the product, making them
eager to provide input.
- 10% how good an impression it makes (polished and professional).
Customer Requirements Elicitation
In this ~30 minute teleconference with the customer you will gather information and development requirements.
-
Briefly (in less than 60 seconds) introduce yourselves and the agenda
-
Give your concept presentation
-
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.
-
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.
-
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.
-
Present a summary of the key messages you have gotten from them today,
and give them the opportunity to correct/amend those.
-
Thank them for their participation
Team roles:
- Moderator: Leads the meeting, discussions, etc.
- Scribe: Takes notes
- Others:
The moderator and scribe will typically be too busy to actually
think about and process what is being said in real time.
Other team members should
- Distill long
discussions into punch-lines for the summary.
- Keep track of points
that need further clarification before we are done.
- Check off comments that relate
to previously suggested requirements, and maintain
a list of requirements that still require validation.
- Watch the agenda and the clock,
and help the moderator keep to the agenda and
make sure that nothing is missed (because it is very
difficult to think while talking).
In other words, all team members should play important parts in making this a success.
This process will be graded on the basis of:
- 35% the extent to which you are able to adhere to the process (which will be described,
in the reading, given to you in writing, and demonstrated in class).
- 50% the extent to which you are able to obtain useful information from the clients
about their needs and perceptions in this area.
- 15% the extent to which you are able to validate and clarify prior
assumptions and questions about requirements.
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:
- When and where the session took place and who attended.
- Interesting information gained during the open-ended
information gathering.
- Clear statements of significant new requirements that
were suggested, along with an assessment of how important
each is and why.
- Significant input on previously gathered requirements,
affirming, refuting, or changing them.
- Any other useful results gained from the meeting.
This report will be graded on the basis of:
- 15% form (capturing who, when where, topic)
- 30% completeness (all key points captured)
- 20% understanding what the customer said (correctly, and deeply)
- 20% the analysis of this information and distillation of requirements
- 15% the clarity, organization and readability
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:
- develop a list of basic questions that you need to know the answers
to in order to validate your approach.
- develop a questionaire (for teachers and/or students) to gather
basic information.
- develop a list of key assumptions that should be tested in order
to gauge the likely acceptance and success of the proposed
educational game.
- develop samples and/or prototypes of proposed key game
elements, that intended users can watch or interact with.
- develop a process (to be carried out by the teachers in
Kalamazoo) for exposing the students to your prototype
and gathering their feedback.
- deliver the prototype and evaluation process to the teachers,
get back the student responses, analyze them, and prepare a
report on the results.
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:
- 40% on having identified and posed key questions to be investigated.
- 40% on the drafting of appropriately targetted survey questions
to probe those issues.
- 20% on the simplicity and professionalism of the survey.
Prototype
There are really three (highly inter-related) parts to the prototype:
- the plan for what needs to be investigated, and how
- the samples or prototype to which intended users can be exposed.
- 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:
- 25% how effectively you identified and posed key questions
or assumptions to be investigated.
- 25% how viable an approach you came up with for answering/testing
those key questions.
- 10% how well the approach is likely to gage how well they will
enjoy the game.
- 30% how effective the approach is likely to be in getting meaningful
answers to those key questions.
- 10% clarity, organization, readability.
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:
- 50% how effectively it elicits feedback on the intended questions.
- 20% how effectively it gives the intended users a sense of what the game will be like.
- 20% was appropriate technology used to create the needed simulations.
- 10% does it create a good impression.
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.
- instructions for the teacher on how to administer the test.
- a description of how the evaluation or play-test will be run.
- an introduction to be read to the students by the teacher.
- the prototype/samples to be evaluated.
- a questionnaire or process for gathering feedback.
- a means for returning that feedback to you.
Video feedback may be available, but we have not yet ensured that.
The feedback gathering process will be graded on the basis of:
- 20% ease of administration (usability of the package by the teacher)
- 20% clarity of the student instructions (they knew what was expected of them)
- 20% organization of the activities and use of time
- 20% effectiveness and practicality of feedback gathering process
- 20% did you get meaningful feedback on the key questions
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:
- 10% form (capturing who, when where, topic)
- 30% completeness (all key results captured)
- 30% understanding what lessons learned were (correctly, and deeply)
- 10% the analysis of this information and distillation into requirements
- 10% completeness and insightfulness of the assessment of the plan, prototype, and process.
- 10% clarity, organization and readability
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:
- what would the major pieces of the implementation be?
- what special technology would be required to build each?
- what skills would be required to build each?
- roughly how much work would be involved in building each?
- what problems could reasonably be anticipated in such an implementation?
- how might each of those problems be addressed?
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:
- it must be buildable (start to finish), by about 15 students in about
seven weeks.
- its construction must be achievable with available tools.
- it can require no expertise that cannot be found or developed
in the students of this course.
- major risks must be identified and addressed.
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:
- 10% plausibility of the basic design
- 20% completeness of the technological needs assessment (figuring out what
pieces you need and what is involved in each)
- 20% thoroughness of the technological research (identifying resources).
- 10% completeness of the skill set requirements.
- 10% plausibility of the preliminary work estimates, and the
soundness of the basis for those estimates.
- 10% thoroughness in identifying key risks, and the methodology
that was used to develop the list of key risks.
- 20% soundness of suggested approaches, and the rationale for
their selection.
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:
- this will address the pedagogical requirements
- this will be fun to play
- this is easily buildable with the available time and resources
- 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:
- High concept statement (perhaps only 100-200 words)
- Key Features (what it will be like and how it will address the pedagogical requirements).
- Key requirements (necessary conditions for success).
- Competitive analysis
- Overview of game
- Rational for the game design (in terms of pedagogical goals and audience)
- Proposed project overview (architecture, tools and approaches), and rationale for these choices.
- 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:
- 10% the clarity and persuasiveness of the "high concept statement".
- 10% the clarity and persuasiveness of the value proposition implied by the key features.
- 10% the clarity, prioritization, and provenance of the key requirements.
- 10% the clarity, depth, authoritativeness, and cogency of the competitive analysis.
- 15% the clarity of the game description and design (we understand what it will do),
and the persuasiveness of the rationale for these decisions.
- 10% the reasonableness of the basic design and technology decisions,
and the clarity and persuasiveness of the rationale for these decisions.
- 10% the reasonablness of the suggested project size and resource requirements,
and the soundness/plausibility of the basis for those estimates.
- 10% the thoroughness of the risk analysis and the adequacy/soundness of
the proposed solutions.
- 10% the overall clarity and persuasiveness of the proposal.
- 5% polish (it makes a good impression).
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:
- 40% good use of time and resources (work apportioned reasonably over the available time)
- 20% specificity of plan (clear responsibilities: who, what, when)
- 20% provisions for early detection of problems, and time to deal with them
- 20% degree to which it is maintained over the course of the project
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:
- 30% how well (we can ascertain that) progress was tracked
- 10% how quickly (we can ascertain that) issues were identified
- 20% how effectively (we can ascertain that) they were responded to
- 20% the fraction of external deliverables that were on-time
- 20% the fraction of internal deliverables that were on-time
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:
- 30% is the full history of every work product in subversion
- 20% have tickets been used to track deliverables
- 20% are there minutes from all meetings
- 20% are all key decisions documented (both what and why).
- 10% is all of the above reasonably organized (i.e. can we find stuff).
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:
- the concept definition, research, and brainstorming activities
- the customer requirements elicitation planning, execution, and results analysis
- the user feedback planning, execution, and results analysis
- the organization and creation of the final proposal
- the overall project as an educational exercise.
You will be graded on the basis of:
- 50% whether or not you meaningfully discuss each of the required activities.
- 25% whether or not you identify all of the important incidents.
- 25% the extent to which you are able to derive useful lessons
(and good future advice) from those experiences.
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.
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).
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 ...
- 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.
- You may not share any of your work products (other than as required
for reviews) with members of other teams.