Building Retro Games: Pick a project
National Curriculum Links - Computing KS2
The content of this plan cover the following National Curriculum strands:
- design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts
- use sequence, selection, and repetition in programs; work with variables and various forms of input and output
- use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs
Why this? What does it build on?
This unit builds on the computer science units with a programming focus from Key Stage 1: Action algorithms and Programming direction (Year 1) and Programming with Scratch Jr and Programming with Logo (Year 2), as well as the Year 3 units Getting Started with Kodu and Animation with Scratch and Year 4 units Programming Scratch maze games, Kodu sports and Computational thinking - Alien contact.
Key programming concepts such as sequence, selection, repetition and working with variables are all covered in this unit, but a higher level of independence and creativity is demanded from students in these projects as they should, by this stage, have good experience of these coding concepts and programming with Scratch.
What comes next?
This unit is built upon in the Year 5 unit LEGO robotics, in which a variation of Scratch is used to control physical devices (robots) and learn about inputs and outputs. This gives students more depth and breadth to their programming knowledge as similar concepts can be applied as when controlling sprites on a screen, but with real-world physical outcomes. Getting started with the BBC micro:bit, (Year 6) and optional unit Getting started with Crumble also provide similar opportunities to control physical systems while widening their knowledge and experience of programming with other block-based coding languages, away from Scratch. Conditional formatting in Spreadsheet masters also applies similar principles as the conditions (selection) used when programming the games in this unit.
View our full curriculum map
Take a look at our full curriculum map to see how units across all year groups, from Year 1 to Year 6 link.
Unit Resources
How to use this unit of work
This unit of work assumes that the students will have had some prior Scratch experience. If they haven’t used Scratch before we would recommend trying one of these other units first:
Programming Scratch Maze Games, which teaches some Scratch basics while also making a really fun game, or
Animations with Scratch, which allows the creation of stories or nonfiction presentations by programming them as an animation.
The unit is made up of three projects for creating your own versions of classic retro video games: Pong, Snake and Space Invaders, but you choose how your students will tackle it:
STEP 1 - We would suggest you pick one of these projects to begin with and build it with your students, delving into the coding concepts that are covered in the teaching plan as you go. You can pick any of the projects. They are not designed to follow on from each other in any particular order.
Note - Some of the general teaching of coding concepts is repeated through the projects to allow for you using them in any order. Feel free to skip over (or briefly recap) those parts if you’ve already covered them in a previous project from this unit.
STEP 2 - Ask your students to take the game they have made and consider how they can improve and expand it. They can work on their own or with a partner if they’d benefit from some support.
STEP 3 - Give your students the time and opportunity to independently develop their games. You can of course support them through the process, but it should be about them using and applying the things they have learnt so far.
STEP 4 - If there’s time, repeat with one of the other projects!
Giving the children extra time to expand on the games that they make will help them develop their coding skills, as well as their resilience and understanding.
Suggested Software
Scratch:
- Online version can be found at scratch.mit.edu
- Offline versions can be downloaded for free, for a range of platforms at https://scratch.mit.edu/download
Key computing vocabulary for this unit
Abstraction - Removing unnecessary detail to help you solve a problem (a computational thinking concept)
Algorithm – an unambiguous procedure or precise step-by-step guide to solve a problem or achieve a particular objective. A set of instructions for achieving a goal or solving a problem.
Block – a ‘chunk’ of programming or a particular graphic block or piece found in a graphical programming language such as Scratch. Blocks linked together are called a script in Scratch. To find out what a block does, right-click on it, then select help from the pop-up menu.
Blocks Palette – (in Scratch) – the library of blocks in most graphical programming languages.
Command – a step or line of programming.
Coordinate (noun) - Cartesian coordinates are a set of values that show an exact position. In a 2D environment, such as on a graph, two axis are needed, each with an equal number scale. The X axis represents the horizontal position of a point, the Y axis represents the vertical position of a point. Coordinates in a 3D environment require a third axis (Z) which represents depth. Coordinates can be commonly used in coding to position objects (sprites in Scratch) within a program’s visual environment.
Costume – The costume is the appearance of a sprite on the screen. These are usually editable. A sprite can often have multiple costumes that are changed by programming the sprite.
Debug – to detect and correct the errors in a computer program.
Decomposition - Breaking a problem down into smaller parts (a computational thinking concept)
Execute – to follow a series of instructions. The computer or robot follows the instructions in order to complete the program.
Input – data provided to a computer system, such as via a keyboard, mouse, microphone, camera or physical sensors. Information which is received by the computer from a keyboard, mouse or sensor e.g. pressing the left mouse button or space bar creates an input.
Logical reasoning – a systematic approach to solving problems or deducing information using a set of universally applicable and totally reliable rules.
Output – the information produced by a computer system for its user, typically on a screen, through speakers or on a printer, but possibly though the control of motors in physical systems. Also an action performed by the computer e.g. switching on a light, moving a turtle or sprite across the screen.
Program – A sequence of instructions written to perform a specified task on the computer
Repetition (also known as ‘Loop’ or ‘Iteration’) – a programming construct in which one or more instructions are repeated, perhaps a certain number of times, until a condition is satisfied or until the program is stopped.
Script – (In Scratch) blocks are snapped together into stacks, called scripts. When you click on a script, Scratch runs the blocks from the top of the script to the bottom. You can program sprites and the stage using scripts.
Selection – ‘when things happen’ - A programming construct in which the instructions that are executed are determined by whether a particular condition is met.
Sequence – to place programming instructions in order, with each executed one after the other.
Sprite – A graphical object that can be controlled by programming.
Stage – (in Scratch) - the Stage is where you see your stories, games, and animations come to life. Sprites move and interact with one another on the Stage. The Stage is 480 units wide and 360 units tall. It is divided into an x-y grid.
Variables – a way in which computer programs can store, retrieve or change simple data, such as a score, the time left, or the user’s name.
Related units
Kodu – An independent project
About this unit: Give your class the opportunity to unleash their full creative and coding potential with this independent Kodu…
Getting started with a Crumble
About this unit: Explore the fantastic microcontroller that is the Crumble. Learn about inputs, outputs, electrical circuits and controlling LEDs…
Quiz time with Scratch
About this unit: A unit that takes the coding a bit further than previous game and animation projects. Investigate lists,…
Physical Computing with Raspberry Pi
About this unit: Build circuits and control LEDs with code. Learn how screens work, what binary code is and how…
Python Minecraft
About this unit: Learn Python by hacking Minecraft on a Raspberry Pi! Extend learning into a text based programming language.…
Lego WeDo – Mechanisms and Machines
About this unit: Combine computing with design and technology as you learn about a range of mechanisms and the motion…
LEGO Robotics
About this unit Introduce students to robotics with the awesome LEGO Robots! Control their movement with precise calculations and coding,…
Getting started with Kodu
About this unit: Introduce students to creating games with Kodu. Program your characters and design your 3D worlds to make…
Kodu Sports
About this unit: Three exciting projects to extend previous use of Kodu and give students an opportunity to create 3D…
Getting started with the BBC micro:bit
About this unit Introduce students to physical computing with a BBC micro:bit. Control the LED matrix and find out how…