
Discover how to build three fully functional games in Scratch, mastering essential game design skills through a hands-on, progressive journey. Experiment, problem-solve, and unleash creativity under guided instruction.
Set up your Scratch account on scratch.mit.edu by using the join option to create a username and password, confirm your email, and start your first project by clicking create.
Explore the Scratch editor interface, header settings, color modes, and project management options. Operate with sprites, costumes, sounds, backdrops, the stage, code blocks, and the backpack to build interactive projects.
Master Scratch block palettes to build scripts that control a sprite’s motion, looks, costumes, and sounds, using control, sensing, and event blocks.
Learn to use clones to create sprites; control them with when I start as a clone and delete this clone, and track with a global clone total and ghost effects.
Create Smacks of Moles, a whac a mole clone, in Scratch Saga, using custom sprites, broadcast messages between sprites, custom blocks, and sounds as score rises before time runs out.
Learn to create a hammer sprite in Scratch by painting a red rectangle as the head and a yellow line as the handle, adjusting size and layering.
Code the hammer sprite to follow the mouse pointer and swing on mouse down or the space key, using a forever loop and the or block.
Create and customize backdrops in Scratch by drawing a blue sky, rolling hills, and clouds, using the stage pane, rectangle tool, reshape tool, and layering to position moles later.
Create a mole sprite with three costumes—the hole, the top of the head, and the full head—and animate by cycling them to simulate popping up.
Animate the mole sprite by coding a random up-and-down pop using green flag, costume switches, and precise delays to create a looping mole animation.
Control sprite drawing order with scratch layers, keeping the hammer above mole sprites. Use the go to front layer block on the hammer to fix layering.
Learn to implement a mole smacking mechanic in Scratch Saga, allowing hits only when the mole is up, with hammer collision checks and resetting the hammer direction at the start.
Introduce a per-mole hurt flag to allow a mole to be hit only once, resetting after it hides, and switch collision to the hammer's color regions for precise hits.
Add hit effects to mole by using the set color effect to hue him red on hit, then apply whirl effect and reset with a clear graphic effects block.
Create a Pal sprite for the mole hit, broadcast a mole hit message, spawn and animate short-lived clones at the mole position, and manage front layer to keep visuals clear.
Learn to build a global hit moles list in Scratch, add each mole's x and y positions on hit, and use go to xy to spawn clones at those locations.
Fix the Pow clones by moving hit processing to the Pal sprite, using a forever loop that checks the hit moles list and creates clones when needed.
Create a global score variable and initialize it to zero on green flag; increment it by one when a mole is hit via the backdrop receiving the mole hit message.
Initialize a global timer variable at ten; decrease it every second in a forever loop; increase on mole hits; broadcast game over at zero; stop moles and hide the hammer.
Create and animate a game over screen and a play again button in Scratch, featuring text styling, drop shadow, hover effects, and a controlled restart sequence.
Restart the game by broadcasting a start game message and using a custom start game block to initialize all sprites, including when the play again button resets the stage.
Replace hard-coded values with global mole variables, set defaults for show factor and up/down pauses, apply them in startgame, and duplicate moles to manage stage layout.
Increase the difficulty of a whack-a-mole game by adjusting global mole variables at score milestones, using if-then blocks to tweak show factor, up pause, and down pause.
Create a star score indicator and a multi-digit score display with digit costumes and clones in Scratch, updating from the score variable via dynamic costume switching.
Move score and timer updates from the backdrop to the poor sprite clones to correctly reflect multiple mole hits, and run a continuous start game loop to adjust difficulty.
Enhance the timer display by replacing the score with a timer variable and centering multi-digit timer digits at the top of the stage.
Create flying stars by cloning the star sprite when a mole is hit, then move the clone to the mole, glide to the score, and grow before deleting.
Add sound effects to the game by assigning pop, oops, and collect sounds to player actions, the play again button, and star scoring, with random mole hit sounds for variety.
Cosmic Havoc is a shooter with a title screen and looping music; toggle music and effects. Shoot asteroids to rack up points, using screen wrapping and pickups that boost abilities.
Create a Scratch project named Cosmic Havoc with a solid black backdrop and a title screen, then broadcast start game when the green flag is clicked.
Design a spacecraft player sprite by creating multiple costumes with distinct colors and shapes, adding wings, a thruster, and a window, then switch between them from the title screen.
Move the player with arrow keys or wasd using a forever loop, calculating dx, dy, and dist, and normalize by dist so diagonal movement stays at one step.
Create speed x and speed y for the player, update position each frame from dx and dy, then smoothly decay and round speeds to stop without jerks.
Implement wraparound to instantly move the player to the opposite edge when approaching the left or right boundary, enabling access to pickups and dodging, by negating the x position.
Learn to create a laser sprite in Scratch, clone it to fire from the player with the space key, and implement a shoot delay using a variable.
Create asteroid sprites in Scratch by drawing circular shapes, coloring with light brown fill and dark brown outline, adding spots, duplicating for variety, centering, and preparing for spawning.
Spawn asteroids as clones starting at size 200 above the stage, with random x positions, then move downward and delete at the bottom using a big costume hack.
Learn to make asteroids move with variable speed and randomized directions, implement screen wrapping, and spin using sine and cosine calculations in Scratch by managing speed, dir, and spin variables.
Create laser and asteroid collision detection using touching blocks, delete clones on impact, wait for the next frame, and add asteroid health so they require multiple hits.
Set an asteroid health variable defaulting to three, reduce health on each hit, and stop hit script until destruction. Brighten at hit with 100 brightness and apply knockback with jiggle.
Explore asteroid fragmentation by shrinking the original and creating two clones to form three fragments, manage size and health, randomize attributes, and delete clones below a threshold.
Learn to add explosion flashes at asteroid splits or when they are destroyed, using a new effects sprite, radial gradients, and clones driven by an explosions list.
Learn to design particle effects for explosions, dust, fire, and smoke using Scratch costumes, clones, and custom blocks, with randomized direction and speed to create dramatic in-game visuals.
Add a collision check that destroys player when hit by asteroid, using is dead variable and stopping the script, then spawn explosions that fade sprite and emit fire or smoke.
Create a player hitbox by drawing a rectangle on a hitbox costume, positioned below other costumes. Switch to the hitbox during collision checks, then revert to the original before explosions.
Create a thruster flame by spawning clones that follow the player, shrink and color toward red as they move, and disappear on player death using Scratch sprites, clones, and broadcasts.
Create three pickup costumes: laser power up, shield, and bomb, for the player sprite, using ring shapes, glow effects, and gradients, then prepare for integration.
Spawn laser, shield, and bomb pickups by randomly creating clones at the top, setting costumes by type, and moving them downward until they reach the bottom or touch the player.
Implement a global laser power up time variable to activate three lasers for a set duration, counted in frames, after collecting a laser pickup.
Create a shield that makes the player invincible and destroys asteroids on contact, using a global shield time to track duration, resetting with shield pickups.
The bomb introduces a global bomb active variable and a growing bomb sprite that spawns clones to destroy asteroids on contact, activating when the bomb pickup is collected.
Explore the Scratch pen extension to draw with pen down and erase all, adjust pin color, size, and transparency, stamp costumes, and create drawing with the mouse pointer.
Add the pin extension and create a star sprite with a white-to-transparent radial gradient to form a three-layer parallax background by stamping stars at random positions on green flag.
Animate the stars teaches how to build a Draw Stars block that stamps stars from a position list and moves them with layer-based size and transparency in a forever loop.
Initialize a global score and award 1 point for asteroid hits, 2 for explosions, and 3 for pickups, then display the score at the top center using a timer digit sprite.
Create the start button for the Scratch Saga title screen by designing a gradient rectangle with text, implementing fade in/out, and wiring show title screen and start game logic.
Design the title-screen logo for Scratch Saga by building a white Cosmic Havoc logo with asteroids, add comet-style accents, then animate a sine-based tilt and synced fades on start.
Create a title screen costume switcher with left and right buttons, using global variables for player costume and total costumes, and a smooth transition for the player sprite.
Track the high score by comparing the current score to a global high score, display it on the title screen, and update digit clones with timed reveals.
Upload and assign sounds and music in Scratch Saga, including laser, whoosh, hit, explode, collect, fire, and start sounds, and implement looping music with volume and pan controls.
Create audio toggles for sound effects and music on the title screen with on/off costumes. Initialize with the green flag and use fade-in, hover grow, and click-to-toggle interactions.
Learn to toggle music and sound effects in Scratch by broadcasting on/off messages, adjusting per-sprite and clone volumes, and resetting to 100% on green flag.
Explore Glim's 2D platformer quest as Glim collects coins to reclaim his spaceship, facing enemies and obstacles, then confront Naydenov in a final showdown.
Learn to load and remix the Glimpse Adventure Starter Sb3 to build a four-level platformer, using pre-made sprites and costumes, parallax backgrounds, coins, health, enemies, and a boss fight.
Master a continuous game loop in Scratch that broadcasts update and check controls messages, uses x and y axis variables to move sprites and handle collisions.
Master scratch-based player movement by reading the x axis, setting acceleration, and using a custom horizontal movement block with speed x, friction, rounding, and gravity for smoother motion.
Implement a vertical movement system using speed_y and a global gravity set to -1.5, updating y by speed_y each frame and clamping at -140 with speed_y reset to zero.
Learn to implement a Scratch platformer jump using a jump force, in-air and jumping variables, and gravity, with hold-to-jump for higher heights and proper reset on landing.
Learn to keep a player on platforms by continuously checking collision with the level sprite and adjusting the y position using a custom move vertically block.
Fix level collisions by checking the top of the sprite, moving down when touching a solid, and moving up if hit from below, while handling d-based movement and horizontal collisions.
Switch to the normal hitbox costume before collision checks to ignore arms and helmet, then revert to Idle Zero after the check to allow closer level contact.
Fix a mid-air jump bug by adapting the in air variable in the vertical movement to allow jumping while falling, and introduce coyote time to jump near platform edges.
Manage player animation by tracking states (idle, walk, jump, fall, land, crouch, wall slide, slope slide) and animation frames, using state and anim frame variables and block-based updates.
Learn how to implement jump, fall, and land animations in a game character by switching states based on speed y and airborne status, with coyote time tweaks and timed landing.
Implement the crouch state triggered by the down key, lock horizontal movement while crouching, and prevent crouching in mid-air; switch to the crouch hitbox when crouching, and update hitbox accordingly.
Implement slope sliding in Scratch with a slope sensor, direction, and slope slide state. Slide down slopes, detect flat surfaces, handle left and right slopes, and enable jumping at bottom.
Enable wall sliding by detecting air and wall contact, override gravity for a slow slide, and enable jumps between adjacent walls.
Enable wall jumping by refining the wall slide logic, allowing jumps from walls, applying horizontal force to push off, and tracking wall jumping with a new variable.
Generate the levels teaches building each level from tile-based costumes, parsing names to derive level, row, and column, and cloning parts to form a scrolling grid using a level variable.
Create a scrolling level in Scratch using scroll x and scroll y as camera, and focal x and focal y as the player focus, converting world positions to stage coordinates.
Clamp scroll x and scroll y using max scroll x and max scroll y. Track max row and max column to set limits and enable camera follow, with edge rectangles.
Limit speed y to -20 in the handle vertical movement script to prevent falling through the floor. Reset speed x to zero when not in slope slide to stop sliding.
Broadcast start level to reset variables and initialize sprites before the game loop, manage clones with blank costumes, and restart when the player falls off the stage.
Switch levels with the L key, broadcasting finish level and cycling to the next or first level. Set starting positions, adjust scroll, and ensure the player faces right at level start.
Sort the layers shows how to manage z-ordering in Scratch by assigning layer types and a z orders list to draw sprites in the correct order from background to HUD.
Add environment objects by cloning level costume elements and positioning them with row and column indices, while removing unnecessary max scroll variables and ensuring proper back-layering.
Create a seamless scrolling background with multi-layer parallax in Scratch by cloning four background layers, adjusting positions, and applying layer-based scrolling speeds for x and y movement.
Add a bottom liquid sprite with water and lava costumes that scrolls with levels, reuse background scripts and set liquid z to two, water at -1.5 and lava at -0.5.
Enable god mode lets developers quickly move through a level by toggling invincibility with the g key, while converting mouse clicks to world coordinates and handling scroll to place objects.
Spawn and animate coin sprites across levels using four spinning costumes and a hitbox for collisions, then place coins per level with clones and world positions.
Track coins with the coins variable, reset to zero at level start, increment for coin clones, detect collisions with the player's hitbox to collect and remove coins.
Learn how to implement level exits in Scratch by activating flag or door exits after collecting all coins, adding color variants, costumes, and level-specific behavior.
Set up a game state to enable auto scroll, move the camera to the exit, then return focus to the player with pauses and a fade transition to next level.
Use a blackout sprite to fade the screen to black and back, with proper layer ordering and God mode based costume switching during level start.
Develop a locks and keys system in scratch saga by creating blue, green, and orange keys, tracking collected keys, and unlocking locks with collision and key-collected events.
Add a snail enemy that moves back and forth with a two-frame animation and hitbox, dies when jumped on, and harms the player on contact using clones and state logic.
Enable the player to bounce off a snail enemy using a broadcasted bounce player message, controlled by bounce dir and bounce force, with bounce back affecting horizontal movement.
Set up player health and max health as global variables, implement a hurt timer with invincibility, and flash the sprite during invulnerability after taking damage.
Set up a health and dead flag, detect death when health reaches zero or below, broadcast player died to restart with fade-out, honor god mode while resetting the ghost effect.
Learn to implement a responsive respawn system where the player's spawn position updates via spawn point clones, handling health, level restart, camera scrolling, and pause during respawn.
Scratch saga introduces the bee enemy, with a fly animation and hitbox, that swoops in half circles to guard items, using angle and delay with cosine motion.
Create a fly enemy using a fly sprite with a two-frame animation, a dead costume, and a hitbox, moving back and forth in the air.
Introduces a fish boss sprite with up, down, and dead costumes that jumps from water using a timer, with clones on level three and gradual stops at the start position.
Add jump pads to level three to boost jumps using a jump pad sprite with down and up hitboxes. Implement clone-based setup, collision handling, and a state-driven bounce.
Create the slope slide effect behind the player using a slope slide effect sprite, clone and position it to follow the player, then fade it out at slope end.
Create dust particles that appear when the player lands, using a dust particle sprite and multiple clones with randomized direction, size, speed, and ghost and brightness effects.
Create a top-right pause button and semi-transparent pause overlay with resume and quit options, controlled by clone scripts and game state to pause and resume gameplay.
Create a pause overlay in Scratch using clones for bg, panel, and buttons, manage visibility and costumes, and implement pause, resume, and quit actions.
Create a heart-based health hud by cloning heart sprites, positioning them, and switching costumes between full, half, and empty as the player's health changes.
Create a coin display using a coin counter sprite with digit costumes, icon and X costumes, and clones to show changing coins, updated from a coins variable with level-based visibility.
Set up the boss for level four, initializing health and a HUD bar, with rockets that chase the player; the player defeats it by jumping on its head multiple times.
Learn to make the boss fly by controlling speed, using a timer to switch between movement and shooting, and limiting movement within level boundaries with a bobbing idle animation.
Set up a boss that shoots rockets by checking rockets left and broadcasting shoot rockets. Create rocket clones with initial speed, direction, and boss-based positioning to fire upward.
Learn to make a scratch rocket clone seek the player by pointing toward player and moving with sine and cosine speed, with smooth rotation using rotate speed and modulo 360.
Trigger rocket explosions when the clone nears the player within distance of 120, deleting the clone and updating z orders, with a ready-to-explode timer and explosion spawning via a list.
copy and adapt clone scripts to trigger rocket explosions, animate explosion sprites through an eight frame sequence, manage z-order with front effect z, and create explosions when rockets are shot.
Learn to tune the boss fight by adjusting jump-based hit thresholds, health-based state changes, and speeds; implement hurt and dead states, flashing, and rocket explosions when the boss dies.
Detect the boss death by checking its y position, broadcast boss died, stop the game loop, and fade in the end screen using ghost effects and front-layer placement.
Create a boss health bar in Scratch by using icon, left, middle, and right pieces, cloning them only on the final level, and updating health with boss health.
Enable global music and sounds with on/off toggles and broadcasts, then implement play sound actions for jumps, hits, coins, and level outcomes across sprites.
Learn to manage Scratch music with a custom play music block, delivering happy music for levels one to three and boss music for level four, with pause and toggle controls.
Explore building a dynamic title screen in Scratch Saga, implementing god mode, start game flow, and interactive music, sounds, and button hover animations to launch levels.
Fix the green flag glitch by adding a second when green flag clicked block and moving the set volume block into that script, so the title screen background appears immediately.
Scratch Saga: a journey into game development shows how to create a text overlay with a show text variable, gating by god mode and the first and final levels.
Celebrate finishing the Scratch saga, from basics to three full games and mastering coding and game design. Keep creating, share with Scratch community for feedback, stay creative, and have fun.
Unlock your creativity and learn to code through game development with Scratch Saga: A Journey into Game Development! This course is designed for beginners, young coders, and anyone curious about game design. My name is Brandon, and I will be your guide on this step-by-step course, in which we'll create three complete games in Scratch, each one more exciting and complex than the last. You’ll learn how to bring your ideas to life in a fun, interactive way—no prior experience needed!
What You'll Learn
Throughout Scratch Saga, you’ll gain hands-on experience in game development while learning key programming concepts. Here’s what you’ll master along the way:
Scratch Basics: Understand Scratch’s block-based interface, and learn how to navigate the tools you’ll use to code, design, and animate.
Core Programming Concepts: Grasp the essentials like loops, variables, conditionals, and event handling in a visual, easy-to-follow format.
Character and Sprite Design: Create and customize characters and objects to bring your game’s story and interactions to life.
Animations and Movements: Learn how to animate characters, add smooth movements, and enhance gameplay with dynamic interactions.
Game Mechanics: Implement mechanics like scoring, leveling, and winning conditions, giving your games clear objectives and challenges.
Problem-Solving and Debugging: Tackle common coding issues and learn how to identify, troubleshoot, and fix errors in your code.
Game Design Principles: Discover what makes a game fun, how to balance challenge and playability, and how to keep players engaged.
Course Highlights
By the end of Scratch Saga, you’ll have created three fully functional games, gained a solid understanding of coding and game design, and developed the skills to bring your own game ideas to life. Plus, you’ll be ready to share your projects with others or dive into more advanced coding!
Get ready to embark on your journey into game development—join Scratch Saga today and start creating games from scratch!