This game development approach is based on standard industry practices and can be adapted for other programming languages and tools beyond Scratch - including Microsoft Arcade, Python, Unity, and mobile app design tools, such as App Inventor and Game Salad (paid). It can be heavily simplified for early childhood - creating games with Scratch Junior.
Integration
I typically teach game design on a cyclical (two-year) basis, alternating with digital storytelling/physical computing projects. Simple Scratch maze games in Year 4, Novel/Narrative Games in Year 6, and then again in Year 7 (focus on user interface design & arcade games). Game design can be integrated into most learning areas - e.g. create a game to teach a maths or science concept, or design a game based on a class novel or favourite story.
Physical Computing
Why not link game design with physical computing hardware? Design a game (or interactive poster) to use with the MakeyMakey? Or a game that responds to physical user input (e.g. movement) with the BBC Micro:Bit? Or in future, Year 7 and 8 students could use Kittenbot Meowbit to design and play arcade/platform games.
STEM Video Game Challenge
Do you have some students who might be interested in competing in a national game design competition? Check out https://www.stemgames.org.au/. The grand prize is a chance to attend PAX Aus, our national video game convention.
Start by sharing and discussing games similar to what you want your students to create. For example, look at some example maze games on Scratch. For arcade game design, take a look at traditional arcade games like PacMan and Space Invaders.
Identify Success Criteria
What does a good game look like?
What kind of game do students want to create? Story, Choose Your Own Adventure, Platform/Arcade, Maze?
What common features do you find in games? For example, levels, scoring, traps/obstacles, instructions page, etc.
Consider:
Purpose / Objective - What is the challenge?
Theme/Storyline
Characters
Player vs Enemies/monsters
Talk, move, jump, shoot, interact (touch), fly, and fall (gravity)
Game Mechanics (Scoring, deaths, levels, rewards)
User Interface (arrow keys, WASD, buttons, screens, levels)
Background and Setting
Animation, Music, and Sound Effects
Importance of Originality
It is not uncommon for students to remix and modify other Scratchers' projects. While this is an important part of the experimentation phase while learning visual programming, doing this for assessed projects makes it extremely difficult to assess students' actual knowledge and skills. In game design projects, it is advised that students be encouraged to start small, with realistic goals (i.e. someone new to visual programming will find it extremely difficult to do a 2 player racing game for their first game project). I also strongly reward originality and creativity in my marking criteria.
Game Design Planning Scaffolds
To plan their game, students can use one of the game design document shared below to plan out their game in more detail. This planning process may also include storyboarding, programming flowcharts, mind maps, sketches, and written user instructions.
I have learned that it is often easier for students to work through this process on paper, rather than using an online document.
Game Design Template (Middle Primary)
Scratch Planning Document example
Game Design Planner Template (Upper Primary, Early Secondary)
Worked Examples (Year 6)
Students will need time (often weeks) to build and code their games. Encouraging peer tutoring, the use of YouTube tutorials, Google CS FIRST Game Design, and Scratch/MakeCode Arcade tutorials will help students experiment with adding more complex features (e.g. levels, buttons, scoring) into their games.
Depending on the age level, you will need to model and explicitly teach some of the key skills you want students to demonstrate (e.g. use of IF/THEN conditions in Year 4/5, and variables in Year 6/7).
Students need to share their games with their target audience, seeking constructive feedback from their peers
Arethe user interface and instructions easy to follow and use?
Is the game fun and challenging to play?
Are there bugs or areas for improvement?
Does the game work well with a physical game controller, eg. a MakeyMakey?
The final step is a very important one, as students really appreciate the opportunity to share their creations with an authentic audience beyond their school walls. When publishing projects online through the Scratch community, remember to encourage students to include user instructions, and give credit for their use of other Scratchers' ideas.
Having students contribute their projects to a teacher-created Scratch Studio is a very useful way of organizing projects, and sharing with parents.
When submitting projects for assessment, students must ensure that their project is public on Scratch, before submitting a link through a Microsoft/Google Form.
Interested in taking this further?
Upper primary teachers may be interested in having students create supporting texts, such as marketing materials, advertisements, etc to promote their games to authentic audiences.
I recommend the use of explicit success criteria and/or a shared rubric to set your expectations for students' game projects, referring to the SCSA curriculum and the Scope and Sequence document to identify specific technical skills you expect students to learn and use in your specific year level.
Note: If students have used online tutorials to add advanced animation effects, e.g. gravity, or unexpectedly complex code in their projects, they must be able to explain how the code works - either verbally (to the teacher) or by including written comments in their code. Copying tutorials does not necessarily equate with students' understanding. (Lesson learned the hard way).
The following are example rubrics and assessment tools that you may find useful in developing your own assessments.
Student Self Evaluation / Reflection Questions
How did the project turn out compared to your original design idea?
Describe how you built your project a little a time. How did this help you?
What difficulties or problems did you encounter? How did you find and solve them?
Game Design Rubrics