6: Game project

Summary

Students apply iterative project techniques to independently identify, deconstruct, design and create an interactive 2D game.

Using Python Pygame, design and develop code to create a 2D game. Document the process using an electronic workbook (OneNote) including guidelines for managing files, problem definition, design, algorithms, project plan, test plan and evaluation.

Project Brief Using Pygame Zero and Mu Editor, create a prototype 2D game that includes the following:

  • Functions
  • If statements
  • Variables
  • Sprites and a background image
  • Keyboard input
  • Collisions
  • Collectables
  • Score and Lives
  • Sounds

Assessment description

You will need to consider the following points as part of your individual digital solution. Use this template to document your development.

Problem definition

Describe Problems

Determining the nature and description of a problem to be solved.

  1. What is the aim of the game?
  2. What are the current game ideas?
  3. Identify the product client or clients (stakeholders). Who is the game for?

Constraints

Constraints describe the restricting factors we face when solving problems, and how we factor these into our planned solutions.

  1. Describe the limitations or restricting factors your solution may face.

Decompose Problems

Breaking a problem down into smaller, simpler problems that can be solved separately.

  1. What are the individual elements of the problem that can be solved separately to make the main problem more approachable/solvable?

Project Plan

Developing an approach or strategy to solve a problem or create a solution that considers the sources of data, resources available and potential timeframes or deadlines.

  1. Develop a project plan based on time-scale and resources and key features of the project deliverables.

Project Plan

TaskCompleted byCommentsCompleted
  1. What are the logical steps to manage data files for the project?

Design

Design algorithms captures the solution design we undertake to develop an automated solution to a problem.

  1. List the sprites and sounds to be used with references?
  2. Using a storyboard design how the game will look; label and annotate.
  3. Using a data dictionary define the components to be used in the game.

Component/Data Dictionary

Component TypeNamePurposeAttributes
(e.g. player, enemy, sound, collectable, background)(e.g. size, position, name)

Algorithm Flowchart/Pesudocode

  1. Design the algorithms for the game (draw.io)

Create the Game

  1. Develop the game and ensure you have the following items:
  • Functions
  • if statements
  • Variables
  • Sprites and a background image
  • Keyboard input
  • Collisions
  • Collectables
  • Score
  • Sounds

Validate and test

  1. Test your game using the testing plan.

Testing plan

FeatureTesting methodExpected resultStatus

End user testing

  1. Ask (at least two) other people to test your game and record their feedback and suggestions.

Final code

  1. A print screen or print out of your final program is required with a detailed summary of how the program works. Make sure you have labelled the different sections of your program and have used internal comments.

Screencast

  1. Record a screencast of your game working, demonstrating all of the features.

Evaluation

Evaluates the process and user experience and makes suggestions for improvement.

  1. Compare your initial storyboard design of your game to your final game and discuss the reasons for the changes/modification and how effective your game design is.
  2. Did you successfully meet your project aim and the requirements of the task? What evidence supports your position?
  3. Risk: If you did complete the project, explain the strategies you used to minimise the ‘risk’ of non-completion.
  4. Sustainability: During this project, there may have been times when you made changes to your design. Explain what changes you made and why you made the change?
  5. What feedback did you obtain from the Year 7/8 students (end users)? Did your project meet their needs? Did they make any suggestions for improvement? Why and how would you consider implementing these suggestions?
  6. Innovation & Enterprise: If you were to complete this project again, what improvements would you suggest and why?
  7. Explain what potential your solution (or similar solution) has for further innovation and enterprise.