Introduction: Why Make a Snowman Chase Snowflakes
Welcome to this interactive Scratch coding tutorial! If you’ve ever wanted to learn Scratch coding, build fun Scratch projects, and develop a Scratch game idea, there’s no better place to start than a charming winter game featuring a snowman chasing snowflakes. Creating a Scratch winter game with a snowman chasing snowflakes is more than just fun—it’s both a creative adventure and a powerful learning experience. Here’s why it’s such an ideal project:
- Immediate visual payoff – kids instantly see movement, scoring, and feedback.
- Foundational skills – covers Motion, Event, Control, Variable, and Sensing blocks.
- Scalable and remixable – start small, then add clones, animations, sound, and snowbanks.
- Engaging theme – a cute snowman and falling snowflakes capture students’ imaginations.
- Prepares you for full-fledged Scratch game development.
Whether you’re brand-new to Scratch coding or building a portfolio of interactive Scratch games, this tutorial gives you something polished to show off—and remix.
Follow along with the complete visual step-by-step in this YouTube video by Omaansh Aggarwal:
Project Overview: Step-by-Step
Here’s a high-level roadmap:
- Backdrop & sprites – set the scene.
- Snowman movement – responsive arrow key control.
- Snowflake animation – random gliding and resizing.
- Scoring mechanics – variables, sounds, and collision detection.
- Game structure & reset – clear start state and game loop.
- Enhancements – cloning effects, variable speeds, pen drawings, and more.
1. Getting Started: Backdrop & Sprite Selection
Open Scratch and create a new project.
a. Clean the Stage
- Remove the default cat sprite: click the trash icon.
b. Add a Winter Backdrop
- Click Choose a Backdrop → Search “winter”
- Select a snowy background that matches your theme.
c. Add Sprites
- Click Choose a Sprite → Search “snowman” – select it.
- Click Choose a Sprite → Search “snowflake” – add it to the Stage.
At this point, you have a snowman and an oversized snowflake—perfect as raw assets for development.
2. Prepare the Snowflake Sprite
a. Adjust Color
To make the snowflake visible against the winter sky:
- Select the Snowflake sprite.
- Enter the Costumes tab and use the Color Effect tool.
- Lighten or brighten until it stands out well.
b. Resize
Reduce the snowflake size to 30%:
- In the sprite toolbar, set Size → 30%.
These tweaks turn an oversized, lost snowflake into a clear, collectible object.
3. Code the Snowman’s Movement
The snowman needs to move up, down, left, and right using arrow keys.
Add these code blocks:
// Move right
when [right arrow] key pressed
change x by 10
// Move left
when [left arrow] key pressed
change x by -10
// Move up
when [up arrow] key pressed
change y by 30
// Move down
when [down arrow] key pressed
change y by -30
Tip: Adjust movement amounts (10 and 30) for faster/slower movement; keep consistent with your game’s feel.
4. Animate the Snowflake
Let the snowflake glide randomly across the screen for unpredictability:
when green flag clicked
go to x: -187 y: 66 // starting position
when green flag clicked
forever
glide 1 sec to random position
This script gives your snowflake unpredictable movement, making the game challenging and engaging.
5. Add Scoring with Variables, Sensing & Sound
To track how many snowflakes the snowman catches:
a. Create the coins
Variable
- Go to Variables → Make a Variable → name it
coins
b. Add Catch Detection
when green flag clicked
forever
if <touching [Snowman]> then
play sound [coin] until done
change [coins] by 1
wait 1 second
This block checks collisions continuously and updates the score accordingly.
c. Initialize Game State
Add this to ensure starting conditions are correct:
when green flag clicked
go to x: 0 y: 0
set [coins] to 0
Now your game starts clean with a fresh scoreboard and centered snowman.
6. Full Code Overlay
Here’s a consolidated version of both sprites’ scripts:
Snowman Sprite
when [right arrow] key pressed → change x by 10
when [left arrow] key pressed → change x by -10
when [up arrow] key pressed → change y by 30
when [down arrow] key pressed → change y by -30
when green flag clicked
go to x: 0 y: 0
set [coins] to 0
Snowflake Sprite
when green flag clicked
go to x: -187 y: 66
when green flag clicked
forever
glide 1 sec to random position
when green flag clicked
forever
if <touching [Snowman]> then
play sound [coin] until done
change [coins] by 1
wait 1 sec
7. Test It Out!
Click green flag to start. Use arrow keys to maneuver the snowman. Each time you catch the snowflake, you’ll hear a coin sound and see the score increase. Try catching it fast before it glides away!
Level Up: Enhancements & Remix Ideas
Take your game to the next level with these extensions:
1. Multiple Snowflakes (Cloning)
Use the Clone blocks for a snowfall effect:
when green flag clicked
repeat 5 // create 5 snowflakes
create clone of [myself]
...
when I start as a clone
set size to (random 20–40)
go to random position
forever
glide (random .5–2) secs to random position
if <touching [Snowman]> then
change [coins] by 1
play sound [coin]
delete this clone
2. Random Snowflake Sizes & Speed
Add realism by scattering flakes of various sizes:
set size to (random 20 to 50)
glide (random .5 to 2) secs to random target
3. Use Pen for Snowflake Art
Draw intricate snowflake patterns with Scratch’s Pen extension. Refer to BrightChamps tutorial: Snowflakes effect in Scratch
4. Snowfall Accumulation
Use clones and color detection to simulate piling snow at screen bottom. Ideal for advanced projects.
5. Thematic Sounds & Music
Add ambient winter sounds (“windchime”, “blizzard”) to boost immersion.
6. Score Target or Timer
Bring a finish line:
- Time-limited collection (30-second timer)
- Target score (first to 20 coins wins)
Use loops, timing blocks, and “broadcast” to manage win/lose states.
Extra Code Snippets & Screenshots
a. Facing Direction (Optional)
Flip sprite when moving:
when [right arrow] key pressed
switch costume to [right-facing]
change x by 10
when [left arrow] key pressed
switch costume to [left-facing]
change x by -10
b. Snowflake Gliding with Speed Variety
forever
set glideTime to (random .5 to 2)
glide glideTime secs to x:(random -240 to 240) y:(random -180 to 180)
c. Timer Display
when green flag clicked
set [timer] to 30
repeat 30
wait 1 sec
change [timer] by -1
if <timer = 0> then
stop [all]
Final Words & Next Steps
To follow along visually and ensure step-by-step comprehension, don’t miss the full walkthrough:
➡️ Watch the complete tutorial
You’ve just built—or will build—a polished, engaging Scratch snowflake game with a snowman as the main character. From beginner-friendly movement to scoring logic and polish tips, this guide covers:
- Basic to intermediate Scratch coding
- Block-based game logic and variables
- Creative remixing for winter-themed animations
Take the coding further:
- Create snowfall using cloning and pen drawings
- Add enemies or moving obstacles
- Introduce win/lose conditions and multiple levels
Share your work using your YouTube link and join Scratch studios for community feedback.
If this tutorial helped, please:
- Don’t forget to check out the full video tutorial by Kodex Academy here: Watch the full – Chasing the Snowflakes by Snowman – Step by step Scratch Game Tutorial
- Like, comment & share the video
- Visit kodexacademy.com
- subscribe to the Kodex Academy YouTube channel for deeper Scratch content.
Happy coding with Kodex Academy!