There are so many exciting games you can make as advanced Scratch Coders. With breadth and depth in computer programming skills, the sky’s the limit with game design. You can add and develop whatever game feature tickles your fancy. You can use scrolling backgrounds, gravity effects, multi-levels, multi-players, heads up display with numerous metrics. You can even recreate classic arcade games like Space Invaders, Pac-Man and Breakout. Or why not try a basic web app version of Pokemon Go?

Creating these three games will for sure become a classroom favourite, and help students develop Advanced Level Scratch competencies such as cloning, broadcast and gravity effects. 

Car Race

Car Race is a great two-player, multi-track game. The players get to choose which of the three race tracks they would like to play. The two players get to play either the pink car or the blue car.  After choosing the race track you want, the game moves to that race track. The game counts down, “Ready, Set, Go!” Only now are the players’ control keys enabled. Players cannot control their cars until after the “Go!” signal. The cars need to stay on the grey race track. If the car touches the green ‘turf’ it crashes and explodes. The first car to get to the finish line (yellow line or dot) wins the game. 

Which computer programming concepts do we learn in building this game?

  1. Game introduction – players choice in race track using buttons and broadcast
  2. Creating buttons – using buttons to allow the player to make a decision
  3. Broadcast to choose race track – creating choice for multiple games within one game
  4. Broadcast to enable player control – controlling the start time for players so that players are not able to start racing before the ‘Go!’ signal
  5. Touching colour check – car crashes when it touches the green ‘turf’ or wins if it touches the yellow line or dot
  6. Car crash animation – using costumes to ‘crash’ the car
  7. Game design to mitigate cheating – preventing players from going backwards in a circuit to cross the finish line

Not Exactly Space Invaders

Not Exactly Space Invaders is similar to space invaders, where students learn (insert concepts here). The game only uses sprites available from the sprite library, so there is no need to download any images. You may want to draw your own sprites to recreate Space Invaders as close as possible. 

The pink arrow at the bottom of the screen can be moved left or right using arrow keys. Pressing the spacebar shoots arrows upwards from the original arrow location. Six blue balls move together randomly to the left, right and downwards towards the arrow. If you shoot and hit the blue ball, it explodes then disappears. If you shoot all six balls, you win. If a ball manages to touch the home arrow at the bottom of the screen, the game is over. 

You may want to add extra features like more blue balls, balls shooting bullets downwards or additional increasingly more challenging levels. 

Which computer programming concepts do we learn in building this game?

  1. Use clone blocks to create more arrows which shoot upwards. Cloning has three parts: (1) create clone, (2) when I start as a clone and (3) delete this clone.
  2. Create six blue balls which move together to the left, to the right and downwards. You can do this by programming the movement of a main ball, then moving the other 5 balls relative to the coordinates of the main ball. 
  3. When a cloned arrow shoots and hits a ball, the ball explodes, disappears and adds one point to the score.
  4. When the player shoots all six balls, you win. 
  5. When a ball reaches the home arrow, game over.

Image: 3 cloning blocks

Land the Helicopter

Land the Helicopter opens with an Introduction screen that explains the game to the player, “Land the helicopter onto the helipad. It’s similar in gameplay to Flappy Bird. Press the space key to keep the helicopter flying.” Press the “Start game” button to start the game. The game includes gravity effects, i.e. if the player does not press the space key, the helicopter will fall downwards. There are three levels to pass for the player to win the game. 

You can add more features to the game for example add gems to collect for points or objects to avoid. 

Which computer programming concepts do we learn in building this game?

  1. Create an introduction page with a button to start the game. Buttons work by using the ‘When this sprite clicked’ event block. 
  2. Create gravity effects for the helicopter but stop the downward movement when the falling sprite hits the helipad. Forever change the Y coordinate of the helicopter until the two sprites are touching (helicopter and helipad). You may want to design the game so that only the base of the helicopter touching the helipad is considered ‘landing the helicopter’. Otherwise if the rotor blades of the helicopter touches the helipad, the program may consider this as ‘landing the helicopter’.
  3. Keep the helicopter flying by pressing the space key i.e change the y coordinate. 
  4. If the helicopter gets to the bottom of the screen, game over. Use Y coordinates to determine when the helicopter has reached the bottom of the page.
  5. If the player lands the helicopter on the helipad in all 3 levels, the player wins. 
  6. Create 3 levels using broadcast.

From these three games, students who are looking for more challenging yet fun examples  can learn and apply Advanced Level concepts such as broadcast, cloning, gravity effects, multi-player games, and creating multiple levels or stages within one game.  Based on these concepts, students can proceed to creating more exciting games and storylines, and solving more complex problems.