11 Design: Project 2: Criterion A
Selecting a project
With the game development methods that Pygame brings, it is anticipated students will create a graphical project, most likely (though not necessarily) a computer game of some kind for Project 2. Either way, your intention is to showcase all you have learnt over the year with Python.
In considering project ideas, plan on having five weeks of class time dedicated for Criterion C. That’s 10 hours of in-class time plus whatever out-of-class time you wish to dedicate to the project. That time allowance should a guiding influence as to the expected scope/complexity of your project.
Task A1: Explain the problem
You will find a client who has “a need or problem” that they think can be solved through software. You can use a friend or family member to act as your client. This will form the basis of your research for Criterion A investigation phase.
To adequately address strand A1 you should:
- Identify a problem
- Identify for whom it is a problem, ie: your proposed client.
- Describe your proposed client (or target audience). What is relevant about them to the problem (their likes, lifestyle, demographics etc)
- Explain why the problem is a problem for the client.
- Explain why solving the problem is important to the client. What is the impact of the problem being solved or remaining unsolved?
Task A2: Identify your research
Now you have a problem to solve, it’s time to do some research into it so your solution can be as meaningful as possible.
To adequately address strand A2 you should:
- Identify research questions for further investigation. (Don’t create questions based on things you already know the answers to!)
- Prioritise your research questions using some form of scale to indicate those that are crucially important compared to those that are optional/nice-to-have in order to solve your problem.
- Justify each of your research questions by providing a rational for it’s inclusion and the level of priority you assigned.
Task A3: Get inspired!
Draw inspiration from existing software programs that you have access to or can research properly.
What has someone else made that solves (or attempts to solve, or partially solves) the problem? It could be the same problem or a similar problem. Their solution may work really well, or not at all. The idea is to learn from what others have tried before you.
To adequately address strand A3 you should:
- Ideally investigate at least 3 existing products for inspiration
- Identify and discuss the strengths of each product
- Identify and discuss the weaknesses of each product
- Identify and discuss what ideas you can take from each product.
- Include referencing/bibliography for your research
Some videos I think are really interesting and would make great research for your Criterion A: Juice it or lose it - a talk by Martin Jonasson & Petri Purho How the inventor of Mario designs a game
The list below can be a good starting point of other successful games that may be worth looking at. Research into the game and the person who built it. Find articles/videos containing interviews with the person, about the person, about the game.
- John Romero - Doom, Wolfenstien and Quake
- Shigeru Miyamoto - Mario, Donkey Kong
- Toru Iwatani - Pac man
- Sid Meier - Civilization, Railroad Tycoon and Pirates!
- Satoshi Tajiri - Pokémon
- Dave Jones - Lemmings, Grand Theft Auto, Body Harvest, Crackdown, AP8
- Gabe Newell - Half-life, Counter-strike, Portal, Left 4 dead
- Jason West - Call of duty
Some questions you may consider include:
- What did they draw inspiration and ideas from?
- The keys to successful game design?
- Pitfalls/challenges to successful game design?
- What importance did they place on the various aspects of a game (Characters, visuals, style, personality, story, sound) and why?
Task A4: Design brief
To adequately address strand A4 you should:
- Summarise the problem you are solving from A1 (only a couple of lines).
- Summarise what you learnt from your research in A3
- Based on what you have learnt, what guidance/advice would you recommend to any one else attempting to solve the problem you will seek to solve.