Learn Programming with Angry Birds and Scratch
Build an Angry Birds-style game in Scratch, design characters and levels, program catapult controls and simple physics, and test scoring and collisions.
About this tutorial
Build an Angry Birds-style game in Scratch, design characters and levels, program catapult controls and simple physics, and test scoring and collisions.
What you need
Step by step
- 1
Step 1
Open Scratch and start a new project so you have a blank stage to build your game.
- 2
Step 2
Draw your bird slingshot and target ideas on paper so you know what to create in Scratch.
- 3
Step 3
Create or pick a bird sprite in Scratch and name it "Bird" so you can program it separately.
- 4
Step 4
Create a slingshot sprite and place it on the left side of the stage where the bird will start.
- 5
Step 5
Create target and block sprites and arrange them on the stage to make your first level layout.
- 6
Step 6
Make these variables: bird_vx; bird_vy; launched; score so you can control motion and track points.
- 7
Step 7
Program the bird sprite so it follows the mouse while you click and drag to pull it back on the slingshot.
- 8
Step 8
Program the bird sprite so when you release the mouse it calculates angle and power and sets bird_vx and bird_vy for the launch.
- 9
Step 9
Add a loop that runs while launched is true to move the bird by bird_vx and bird_vy and change bird_vy each frame to simulate gravity.
- 10
Step 10
Program collisions so when the bird touches a target the target hides and the score increases by a set amount.
- 11
Step 11
Program what happens when the bird falls off the stage or stops moving so it resets to the slingshot and launched becomes false.
- 12
Step 12
Playtest your level by launching the bird several times and fix any problems with aiming scoring or collisions.
- 13
Step 13
Share your finished Angry Birds-style game on DIY.org so everyone can see and try your creation.
Fun facts
How do you build an Angry Birds-style game in Scratch?
To build an Angry Birds-style game in Scratch, start a new project and create sprites for the bird, catapult, blocks, and targets. Use mouse-drag or click input to set launch angle and power, store velocity in variables, and apply gravity by adjusting y-velocity each frame. Move the bird by updating x and y with velocity, detect collisions using "touching" to break blocks and update score, and use broadcasts to reset, load new levels, and test physics and timing repeatedly.
What materials do I need to build an Angry Birds-style game in Scratch?
You need a computer or tablet that runs Scratch (scratch.mit.edu) or the offline Scratch app, a web browser, and a free Scratch account to save projects. A mouse or trackpad helps with drag controls, and the Scratch costume editor or simple image editor lets you design characters and backgrounds. Optional items: headphones for sound effects, a notebook for level sketches, and online tutorials for guidance. No special hardware is required.
What ages is this activity suitable for?
This activity is ideal for kids aged about 8ā14. Younger children (6ā7) can participate with adult help for sprite design and simple drag-and-release mechanics, while older kids (12+) can add realistic physics, cloning, and advanced scoring. The project introduces variables, events, loops, and conditionals, so adapt complexity to the childās coding experience and attention span for the best learning and engagement.
What are the benefits of making an Angry Birds-style game in Scratch?
Creating an Angry Birds-style game builds problem-solving, computational thinking, and basic physics intuition while encouraging creativity in art and level design. Kids learn coding fundamentalsāvariables, events, debuggingāand practice iterative testing and balancing. The project fosters persistence, logical reasoning, and communication if they explain or collaborate on design choices. Keep sessions short, celebrate milestones, and encourage reflection to reinforce learning.
Watch & Learn
Need help?
What can we use instead of the Scratch website or a mouse if they're not available?
If Scratch online or a mouse isn't available, install Scratch Desktop or use block-based alternatives like MakeCode or Tynker and adapt the click-and-drag step to keyboard arrow controls or a tablet touchscreen so the Bird sprite can still be pulled back on the slingshot.
My bird snaps back or won't launch after I release the mouse ā what should I check?
Check that your mouse-release script actually calculates angle and power and sets bird_vx and bird_vy, sets launched to true, and that your 'while launched' loop is running and updating bird_vy each frame to simulate gravity so the bird moves.
How can we change the project for younger or older kids?
For younger kids simplify by using the pre-made bird and slingshot sprites from the library, skip gravity and just move the Bird a fixed number of steps after releasing, and for older kids add angle/power math, realistic gravity using bird_vy, multiple target sprites that hide and change the score variable, and extra levels.
What are easy ways to extend or personalize our Angry Birds-style level?
Add sound effects when a target hides, give different target sprites different point values that change the score variable, create a visible power-meter sprite showing the calculated power before launch, and save/display a high-score before sharing the project on DIY.org.