As I gain experience in game design and preparing lesson plans, I realise that it is actually a lot more difficult to design games for beginner level coders than for advanced level coders. Advanced level game designers have a sufficient level of understanding of computer programming concepts and an ability to break down complex problems, making it possible to recreate traditional arcade games like Pac-Man, Space Invaders and Breakout. 

Meanwhile, beginner level game designers are limited with only the absolute fundamental concepts of computer programming, such as event blocks, if, touching, variable, switch background, and change costume. At this level it does not yet make sense to include concepts such as cloning, broadcasting, ‘make a block’ and complex mathematical or logic operations that are characteristic of more advanced games.

Excluding these concepts means that the games we create are still very simple. Simple games for beginners would only have one level. The broadcast block is used to create multiple levels or screens. 

Another example game design limitations when only using beginner concepts is that we won’t be creating physics engines that create games with gravity effects and calculate trajectory like Angry Birds. 

In our Simple Pac-Man game the ghost moves randomly about the screen, however in the original Pac-Man games the ghosts cannot travel through the walls. To create a ghost that automatically moves through the Pac-Man maze without passing through walls takes a bit more logic and a more complex algorithm than a ghost that just moves randomly around the screen passing through walls. The algorithm would have to consider the impact of walls and the choice that the ghost makes in where to move when it detects a wall. 

I came up with a list of three games which Scratch beginners can create using only the bare game elements, but are just as fun! It combines basic concepts of… upon which more complex games are based…

Forest of Danger

Forest of danger - a wonderful game for Scratch beginners
Forest of danger – a wonderful game for Scratch beginners

Forest of Danger is a simple game that teaches students how to move sprites around the screen in space. Sometimes we want sprites to move across the screen faster, other times slower and sometimes we simply want to make our sprite disappear and then reappear. In building this game “Forest of danger” we get to explore these differences, speeding up and slowing down travel of sprites as well as teleporting sprites instantaneously. 

How the game works: The player has to fly the bat across the screen to get to the orange. But avoid the falling lightning bolts. 

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

  1. Control the bat with arrow keys.
  2. Animate the bat so it looks like it is flying.
  3. In programming the lightning bolts you get to see the difference between the ‘go to’ blocks and the ‘glide’ blocks. 
  4. The lightning bolts start at the top of the screen and drop down. Start the lightning bolts at the top of the screen using the ‘go to’ blocks. Program the lightning bolts to travel downwards using the ‘glide’ block. 
  5. If the bat touches the orange, you win. You can program this by using the ‘if’ and ‘touching’ block. 
  6. If the lightning bolt touches the bat, game over. You can program this by using the ‘if’ and ‘touching’ block. 

Knight Collects the Coins in the Castle

Knight collects the coins in the castle - a fun game for Scratch beginners
Knight collects the coins in the castle – a fun game for Scratch beginners

The player is a knight in ‘Knight Collects the Coins in the Castle‘ (surprise!). The knight can be controlled with arrow keys to collect the coins (worth $1) and the money pouch (worth $5), and avoid the ghost that moves randomly around screen, otherwise, game over. You win when you collect all $10. 

This game is so simple, but it has so much potential. You can add more levels, different types of collectibles, power-up objects, more enemies, increasingly faster enemies, doors for the knight to walk through to get to the next level. Application of one’s imagination in Scratch is limitless. 

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

  1. How to control a sprite with arrow keys. This requires an understanding of the Cartesian coordinates. 
  2. How to program a sprite to move randomly around the screen by using the ‘pick a random number’ block and ‘turn degrees’ block.
  3. If the ghost touches the knight, then game over. 
  4. Use ‘hide’ and ‘show’ blocks to make sprites appear and disappear in the game as you need them. 
  5. Create a variable called “Money” or “Score” or whatever you like to store data. The data stored in this variable is the score value, i.e. how many points or dollars the player has collected in the game. 
  6. We can set the value of this variable to zero at the start of the game and then change the value by 1 every time the knight collects a coin and by 5 every time the knight collects the money pouch. We do this by using the ‘Set ‘___’ to _’ block and the ‘Change ‘___’  by _’ block. 
  7. We can use the ‘=’ operator block to determine when the player has $10 (or 10 points). If the ‘Money’ variable is equal to 10, then player wins, i.e. change the backdrop and stop all of the scripts. 

The Interview

The Interview is not a traditional game. But it teaches you to create conversations between the player and the computer game. It makes use of the ‘ask’ and ‘answer’ blocks and teaches you to use the ‘answer’ block in responses with the use of the ‘join’ strings block. By using ‘if-then’ and ‘if-then-else’ blocks you can create multiple options for responses. 

The Interview - a great game for Scratch beginners
The Interview – a great game for Scratch beginners

These skills allow you to create a commonly used feature in a game. For example you may have a game character that is a gatekeeper to the next level and only if you have a conversation with them and answer their questions correctly will you be allowed to pass into the next game level. This skill is a little bit tricky, but once your students learn how to create this game feature, they will be hooked. 

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

  1. Use the ‘ask’ block to request text input from the player. This text input is saved in the ‘answer’ block’.
  2. Use the ‘answer’ block to include the the player’s input in a string by using the ‘join’ string block. 
  3. This joined string, which includes the ‘answer’ block, can be displayed by using a ‘say’ block. 

The key to making Scratch beginners games fun is to keep it simple whilst practicing the fundamentals so that the student can build a strong foundation on understanding the basic building blocks. Practicing fundamentals does not mean boring exercises and drills. It includes fun sprite animations and engaging stories to add excitement i.e. the bat has to fly through a dangerous forest or a quiz from a gatekeeper who is stopping you from getting to the next level.