← All Articles
Scratch7 min read

How to Make Your First Game in Scratch: A Step-by-Step Guide for Beginners

A clear, step-by-step guide to making your first game in Scratch. Build a simple catch game from scratch, learn the core blocks, and have something playable today.

How to Make Your First Game in Scratch: A Step-by-Step Guide for Beginners

Almost every kid who tries Scratch wants the same thing within about five minutes: to make a game. Not a drawing, not a story, a real game they can play and beat. The good news is that you can build a genuinely fun one today, with no typing and no experience, and you will understand exactly how it works because you built every piece yourself.

We are going to make a catch game. A character at the bottom of the screen moves left and right, objects fall from the top, and you score points by catching them. It is simple enough for a first project and complete enough to feel like a real game. Follow along step by step, and by the end you will have something playable and, more importantly, you will understand the building blocks behind it.

Getting set up

First, go to scratch.mit.edu and click "Create." Everything happens in the browser, so there is nothing to download or install. You will see three main areas: the stage on the top right where your game runs, the sprite list below it showing your characters, and the big middle area full of colourful blocks you will drag into your code.

When you start, there is a cat sprite already on the stage. That cat is going to be our catcher. You can keep the cat or, if you would rather catch with a basket or a bowl, click the small sprite button to choose a different one. For your very first game, do not overthink the art. The cat is fine. We can always make it pretty later.

Step 1: Make the catcher move

A catch game is no fun if the catcher cannot move, so let us start there. We want the player to steer left and right with the arrow keys.

Click on your catcher sprite, then find the blocks you need. From the yellow Events category, drag out a "when right arrow key pressed" block. Snap a blue Motion block underneath it that says "change x by 10." In Scratch, x is the left-right position, so adding to x slides the sprite right. Then do the mirror image for the other direction: a "when left arrow key pressed" block with "change x by -10" under it.

Now click the green flag and press your arrow keys. The catcher should slide back and forth. That is your first working bit of game logic, and it took about thirty seconds. This is the rhythm of Scratch: small blocks, instant results.

Step 2: Create something to catch

Click the sprite button and add a second sprite to be the falling object. An apple, a star, a ball, anything. This is the thing the player will try to catch.

Now we make it fall. Click on your falling sprite and build this sequence. Start with a "when green flag clicked" block. Underneath, we want it to fall over and over, so wrap the next blocks inside a "forever" loop, which you will find in the orange Control category. Inside the loop, add "change y by -5," because y is the up-down position and subtracting from it moves the sprite downward.

Click the green flag. Your object should drift down the screen. Right now it only falls once and then sits at the bottom, which we will fix in the next step. But you have just created motion driven by a loop, which is one of the most important ideas in all of coding.

Step 3: Make it fall from the top, again and again

A real catch game needs objects to keep coming. So when the falling sprite reaches the bottom, we want it to jump back to the top and fall again, ideally from a random spot so the game is not predictable.

Inside that forever loop, add a check. From the Control category, drag in an "if then" block. The condition we want is "if y position is less than -150," roughly the bottom of the stage. You build that comparison using a green Operators block. Inside the "if then," place two Motion blocks: "set y to 150" to send it back to the top, and "set x to (pick random -200 to 200)" so it reappears in a different horizontal spot each time.

Now when you run the game, the object falls, resets to a random place at the top, and falls again, endlessly. The game is starting to feel alive. You have now used a loop, a conditional, and randomness together, which is genuinely impressive for a first project.

Step 4: Catch it and score points

This is the heart of the game: detecting a catch and rewarding the player. For that, we need a way to keep score, and in Scratch that means a variable.

Go to the Variables category and click "Make a Variable." Name it "Score." A little score display appears on the stage. Now we tell the program to add a point whenever the falling object touches the catcher.

Back in your falling sprite's forever loop, add another "if then" block. The condition this time is "if touching" and then select your catcher sprite from the dropdown. Inside that "if then," put two blocks: "change Score by 1," and then the same reset blocks from before, "set y to 150" and "set x to pick random -200 to 200," so the caught object immediately respawns at the top.

Click the green flag and play. Move your catcher under the falling object, and when you catch it, your score ticks up by one. You now have a real, scoring, playable game. Take a second to enjoy that, because you just built it from nothing.

Step 5: Make it your own

Here is where it goes from "a tutorial I followed" to "my game." This is the best part, and it is where the real learning happens, because now you are making decisions instead of copying steps.

Try speeding up the falling object by changing the -5 to a bigger number, and feel how much harder the game gets. Add a second falling object the player must dodge instead of catch, and subtract points or end the game if they hit it. Add a sound effect when you catch something, using the purple Sound blocks. Add a timer so the game lasts thirty seconds and challenges the player to get the highest score. Draw your own backdrop. Replace the cat with a character you designed.

Every one of those changes teaches something, and none of them feels like studying. That is the magic of building games. You are practising loops, conditionals, variables, and events over and over, but it feels like play because it is play.

What you actually learned

Look back at what you just did. You used events to respond to key presses. You used a loop to make something happen continuously. You used conditionals to check for catches and resets. You used variables to keep score, and randomness to keep the game fresh. Those five ideas, events, loops, conditionals, variables, and randomness, are not Scratch tricks. They are the core concepts behind every program ever written, including the apps on your phone and the games on your console. You met all of them in one fun afternoon.

That is exactly why Scratch is such a brilliant place to start coding. The ideas are real, the feedback is instant, and the result is something you genuinely want to play.

If your child loved building this and is hungry for more, the natural next steps are bigger games and, eventually, the move into text-based languages like Python. At MindLeap Academy, our live online classes guide kids aged 8 to 18 through projects exactly like this one and well beyond, with a real instructor on hand to help when they get stuck. You can book a free trial class and let your child build their next game with a teacher cheering them on.

See your child light up with code

Book a free 1-on-1 trial class with an expert mentor. No credit card, no commitment.

Book a Free Trial Class