Solidifying core concepts and introducing structured thinking
Managing collections of data with lists
Creating your own blocks for cleaner, organized code
Controlling game flow using states
Introducing artificial intelligence for enemies
Creating and managing multiple objects dynamically
Introducing physics for realistic mechanics
Exploring powerful Scratch extensions
Making games feel complete and professional
Building a complete, original game from start to finish
βBuilding on what you know to create something amazing.β
Welcome to Level 2 of the Certified Scratch Expert course!
In Level 1, you learned the basics β how to make sprites move, change, speak, and interact. You created animations, stories, and simple games. You learned about loops, conditions, and variables.
Now it's time to go further. In Level 2, we will explore advanced topics like lists, custom blocks, game states, enemy AI, and Scratch extensions. But before we dive into new things, let's review what you already know.
Think of this module as your "warm-up" before the big race. We will revisit the key concepts from Level 1 and make sure you are ready for the advanced challenges ahead.
Imagine you are Chidi, a young coder in Lagos. You completed Level 1 and created some cool games. Now you are ready for Level 2.
You open Scratch and see the familiar interface. You remember how to make sprites move, how to use loops, and how to create variables. You feel confident.
Your teacher gives you a challenge: "Create a game with multiple levels, enemies that chase the player, and a high score system."
You know you can do it because you have a strong foundation. You review what you learned and get ready to build something amazing.
Definition: Motion blocks move sprites. Looks blocks change their appearance.
Why important: These are the most basic building blocks of any Scratch project.
Simple explanation: Motion is like walking; looks is like changing your outfit.
Real-life example: A dancer moves (motion) and changes costumes (looks).
School example: A student walks to the front of the class and changes their posture.
Home example: A person moves around the house and changes clothes.
Nigerian example: A dancer performs a traditional dance with different steps and changes costumes.
Motion and Looks:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Motion: move 10 steps, turn, glide β
β Looks: say, think, switch costume, size β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Sound blocks add audio. Events blocks start your code.
Why important: Sound makes projects engaging. Events make them interactive.
Simple explanation: Sound is like music; events are like a starting signal.
Real-life example: A doorbell (event) triggers a sound (sound).
School example: A bell rings (event) and students go to class (action).
Home example: An alarm clock rings (event) and you wake up.
Nigerian example: A market vendor shouts (sound) to attract customers (event).
Sound and Events:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Sound: start sound, play sound until done β
β Events: when green flag clicked, key pressedβ
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Loops repeat blocks of code.
Why important: Loops save you from writing the same code many times.
Simple explanation: It's like a dancer who keeps dancing without stopping.
Real-life example: A washing machine repeats the same cycle.
School example: A teacher repeats the same lesson for different classes.
Home example: You eat breakfast every day β that's a loop!
Nigerian example: A drummer repeats a rhythm.
Loops:
βββββββββββββββββββββββββββββββββββββββββββββββ
β forever β repeats forever β
β repeat 10 β repeats 10 times β
β repeat until β repeats until condition β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Conditions make decisions β "if this happens, do that".
Why important: Conditions make your code smart and responsive.
Simple explanation: It's like a traffic light β if red, stop; if green, go.
Real-life example: If it rains, take an umbrella.
School example: If you finish your work, you can play.
Home example: If the food is ready, eat; otherwise, wait.
Nigerian example: If the market is crowded, go later.
Conditions:
βββββββββββββββββββββββββββββββββββββββββββββββ
β if β runs code if true β
β if-else β runs one code if true, another β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Variables store values β like scores, names, or lives.
Why important: Variables remember things so you can use them later.
Simple explanation: It's like a box where you put something and take it out later.
Real-life example: A savings account stores money.
School example: A grade book stores student scores.
Home example: A shopping list stores items you need to buy.
Nigerian example: A market woman remembers her prices (variables).
Variables:
βββββββββββββββββββββββββββββββββββββββββββββββ
β set score to 0 β sets the value β
β change score by 1 β changes the value β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Broadcasting sends messages between sprites.
Why important: It allows sprites to communicate and coordinate.
Simple explanation: It's like a walkie-talkie β one sprite says something, and others hear it.
Real-life example: A teacher announces a fire drill β everyone hears it.
School example: A student tells the class a message.
Home example: A parent says "Dinner is ready!"
Nigerian example: A town crier announces news.
Broadcasting:
βββββββββββββββββββββββββββββββββββββββββββββββ
β broadcast "win" β sends the message β
β when I receive "win" β responds β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Game states are the different phases of a game β start, play, win, game over.
Why important: Game states organize the flow of your game.
Simple explanation: It's like the chapters of a book β each chapter is a state.
Real-life example: A sports match has states β before, during, after.
School example: A lesson has states β introduction, teaching, practice.
Home example: A meal has states β preparing, eating, cleaning.
Nigerian example: A wedding has states β ceremony, reception, after-party.
Game States:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Start β Play β Win / Game Over β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Custom blocks are blocks you create yourself.
Why important: They let you reuse code and keep your project organized.
Simple explanation: It's like creating your own tool β you can use it again and again.
Real-life example: A recipe β you can use it to cook the same dish many times.
School example: A formula in math β you can use it for different problems.
Home example: A cleaning checklist β you can use it every week.
Nigerian example: A traditional recipe passed down in a family.
Custom Blocks:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Define jump β your own block β
β Use it like any other block β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Structured programming means organizing your code in a clear, logical way.
Why important: Organized code is easier to understand and fix.
Simple explanation: It's like organizing a bookshelf β books are easier to find.
Real-life example: A well-organized kitchen β you know where everything is.
School example: A well-organized notebook β you can find notes easily.
Home example: A tidy room β you can find things quickly.
Nigerian example: A market where goods are organized by type.
Structured Programming:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Use custom blocks for repeated actions β
β Keep code clean and organized β
β Use comments to explain your code β
βββββββββββββββββββββββββββββββββββββββββββββββ
Why important: Reviewing by building helps you remember.
Steps:
Nigerian example: A game where you collect Nigerian flags.
| Concept | Level 1 | Level 2 |
|---|---|---|
| Variables | Basic use (score, lives) | Lists and advanced data |
| Blocks | Built-in blocks | Custom blocks (My Blocks) |
| Game flow | Simple start/stop | Game states (start, play, win) |
| AI | Simple reactions | Enemy behaviors and AI |
| Extensions | Not used | Pen, music, video sensing |
Great job! You have reviewed the fundamentals:
You are now ready for the advanced topics in Level 2!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Motion | A. Repeats actions |
| 2. Loop | B. Moves sprites |
| 3. Variable | C. Stores data |
| 4. Condition | D. Makes a decision |
(Answers: 1-B, 2-A, 3-C, 4-D)
Scenario: A student wants to create a game where a character moves and collects stars. They want to add a score and a win condition.
Question: What concepts from Level 1 would they use? List the blocks.
In groups of 4, each person explains one Level 1 concept to the group. Discuss how you have used it before.
Build a simple game that uses motion, looks, events, loops, conditions, variables, and broadcasting. Save your project.
Create a game where a character collects 5 items. Use a variable for score, a condition for winning, and broadcasting for the win message.
Write a short reflection on what you reviewed and how you have used these concepts before. Include examples.
In Module 2, we will explore Lists β Advanced Data Management. You will learn how to store and manage collections of data like high scores, inventories, and card decks.
Think about a game that uses a list β like a card game or a shopping list. We will learn how to build these in Scratch!
You have completed Module 1 β you are ready for Level 2! π
βManaging collections of data like a pro.β
In Module 1, we reviewed the basics of Scratch β motion, looks, events, loops, conditions, and variables. Now it's time to learn something new and powerful: lists.
Think of a variable as a single box that holds one thing β like a score or a name. A list is like a shelf with many boxes, each holding a different item. You can store many things in a list β high scores, inventory items, card decks, and more.
Lists are one of the most important tools in programming. They let you manage collections of data easily.
In this module, we will learn what lists are, how to create them, and how to use them in your games and projects. Let's get started!
Imagine you are going to the market in Lagos. Your mother gives you a shopping list: rice, beans, tomatoes, onions, and pepper. You take the list and buy each item one by one.
That list is like a Scratch list! It holds many items, and you can add, remove, or change them. If you forget to buy something, you can add it later.
In this module, we will learn how to create lists in Scratch β just like your shopping list, but for games!
Definition: A list is a collection of items stored together.
Why important: Lists let you manage many pieces of data easily.
Simple explanation: A variable is one box; a list is a shelf with many boxes.
Real-life example: A shopping list β you can add, remove, and check items.
School example: A class list β all the students' names.
Home example: A to-do list β tasks you need to complete.
Nigerian example: A market vendor's inventory β items they have in stock.
List vs Variable:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Variable: score = 5 β
β List: [rice, beans, tomatoes, onions] β
βββββββββββββββββββββββββββββββββββββββββββββββ
Why important: You need to create a list before you can use it.
How to create:
Nigerian example: A student creates a list called "gameScores".
Why important: You need to add items to your list.
How to add:
Nigerian example: A game adds the player's score to a high scores list.
Why important: You may need to remove items β like when an item is used.
How to remove:
Nigerian example: A card game removes a card from the player's hand when played.
Why important: Sometimes you need to update an item.
How to change:
Nigerian example: A game updates the player's score in a high scores list.
Why important: You need to read items from your list.
How to get:
Nigerian example: A game checks if a player's name is in the high scores list.
Definition: Searching means checking if an item is in the list.
Why important: You might want to see if a player's name is already in a list.
How to search:
Nigerian example: A game checks if a player's name is already in the high scores list.
Definition: Looping through a list means checking every item one by one.
Why important: You can process all items in a list.
How to loop:
Nigerian example: A game displays all high scores in a list.
Why important: Knowing when to use lists vs variables saves time.
| Lists | Multiple Variables |
|---|---|
| Many items | Few items |
| Dynamic (can grow/shrink) | Fixed |
| Easy to loop through | Hard to loop through |
| Example: high scores | Example: score, lives |
Nigerian example: A game uses a list for high scores and variables for score and lives.
Why important: High scores are a common use for lists.
Steps:
Nigerian example: A game shows the top 5 scores on a leaderboard.
Why important: Games often have inventories.
Steps:
Nigerian example: A game where a player collects different fruits.
Why important: Card games need decks and hands.
Steps:
Nigerian example: A simple card game like "Whot" or "Poker".
Great job! You have learned about lists:
You can now manage collections of data in your projects!
Match the term with its description.
| Term | Description |
|---|---|
| 1. List | A. A single value |
| 2. Variable | B. A collection of items |
| 3. Add | C. Remove an item |
| 4. Delete | D. Insert an item |
(Answers: 1-B, 2-A, 3-D, 4-C)
Scenario: A student wants to create a game with a high scores leaderboard. When a game ends, the player's score is added to the list, and the top 5 scores are displayed.
Question: How would you use a list to implement this?
In groups of 4, each person creates a list for a different purpose β one for high scores, one for inventory, one for a shopping list, and one for a to-do list.
Create a list called "fruits" with 5 fruits. Add, remove, and change items. Display the length of the list.
Create a simple game that uses a list for high scores. When a game ends, add the score to the list and display the top scores.
Create a project that uses a list for inventory. Let the player collect items and display the inventory.
In Module 3, we will explore Custom Blocks β Reusable Code. You will learn how to create your own blocks to make your code cleaner and more reusable.
Think about a task you repeat often in your code β we will learn how to turn it into a custom block!
You have completed Module 2 β you are now a list master! π
βCreating your own building blocks.β
In Modules 1 and 2, we reviewed the basics and learned about lists. Now it's time to learn one of the most powerful features of Scratch: custom blocks.
Custom blocks are blocks you create yourself. They let you reuse code, make your projects cleaner, and save you time. Think of them like your own special tools β once you make them, you can use them again and again.
Imagine you are building a house. Instead of making each nail from scratch, you have a hammer and nails ready. Custom blocks are like that β they are your coding tools.
In this module, we will learn how to create custom blocks, add inputs to them, and use them to simplify our projects. Let's start building!
Imagine you are a carpenter. You have a toolbox with many tools β a hammer, a saw, a screwdriver. Each tool is used for a specific job. When you need to build something, you use the right tool.
Custom blocks are like your toolbox. You create blocks for specific tasks β like a "jump" block or a "shoot" block. Then, whenever you need that action, you just use your block instead of writing the same code again.
This is the power of custom blocks β they make you a more efficient coder!
Definition: Custom blocks are blocks you create yourself to reuse code.
Why important: They save time, reduce errors, and make code cleaner.
Simple explanation: It's like creating your own tool β you can use it whenever you need.
Real-life example: A recipe β you use it many times to cook the same dish.
School example: A math formula β you use it for different problems.
Home example: A cleaning routine β you follow the same steps each week.
Nigerian example: A traditional dance move β you repeat it in different dances.
Custom Blocks:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Define jump β
β repeat 10 β
β change y by 5 β
β end β
β Use it like any other block! β
βββββββββββββββββββββββββββββββββββββββββββββββ
Nigerian example: A game uses a "jump" block for the player, and it works perfectly every time.
Why important: You need to know how to create your own blocks.
How to create:
Nigerian example: A student creates a block called "dance".
Definition: Inputs are values you can pass to a custom block.
Why important: Inputs make your blocks flexible and powerful.
How to add inputs:
Nigerian example: A "move distance" block takes a distance input.
Why important: You need to know how to use the blocks you created.
How to use:
Nigerian example: A game uses the "jump" block whenever the player presses space.
Steps:
Nigerian example: A platformer game uses a "jump" block.
Steps:
Nigerian example: A space shooter uses a "shoot" block.
Steps:
Nigerian example: A game uses "updateScore" to change the score.
Why important: Some actions need more than one input.
How to create:
Nigerian example: A "move to" block takes x and y inputs.
Why important: Combining custom blocks with lists is powerful.
How to use:
Nigerian example: A game uses custom blocks to manage a high scores list.
Why important: Organized code is easier to understand and fix.
Tips:
Nigerian example: A game has blocks like "initGame", "playerMove", "checkCollision".
Why important: You can reuse blocks in multiple projects.
How to reuse:
Nigerian example: A student reuses a "dance" block in different animations.
| Without Custom Blocks | With Custom Blocks |
|---|---|
| Repeated code everywhere | One block, used many times |
| Hard to fix errors | Fix in one place |
| Messy code | Clean, organized code |
| Slow to code | Faster coding |
Great work! You have learned about custom blocks:
You can now create your own coding tools!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Custom block | A. A value passed to a block |
| 2. Input | B. A block you create yourself |
| 3. My Blocks | C. Storage for blocks |
| 4. Backpack | D. Category for custom blocks |
(Answers: 1-B, 2-A, 3-D, 4-C)
Scenario: A student is creating a game with many actions β jumping, shooting, and collecting items. The code is becoming messy and hard to fix.
Question: How can custom blocks help organize this game?
In groups of 4, each person creates a different custom block β one for movement, one for scoring, one for jumping, and one for shooting. Combine them into one project.
Create a custom block called "greet" that takes a name as input and says "Hello, name!".
Create a simple game with at least 3 custom blocks β one for movement, one for scoring, and one for jumping. Share your project.
Create a project that uses custom blocks to organize code. Write a short reflection on how custom blocks helped.
In Module 4, we will explore Game States and Structured Game Flow. You will learn how to control the flow of your game using states like start, play, win, and game over.
Think about a game you like β it probably has a start screen, a play state, and a game over screen. We will learn how to build that in Scratch!
You have completed Module 3 β you can now create your own blocks! π
βControlling your game like a director.β
In Modules 1-3, we reviewed the basics, learned about lists, and created custom blocks. Now it's time to think about the flow of your game.
Every good game has a structure β a start screen, a play state, and a win or game over screen. This is called game states. Game states control what happens at each stage of your game.
Think of a movie β it has an opening, a middle, and an ending. A game is the same. Game states let you organize your game into clear stages.
In this module, we will learn how to create and manage game states in Scratch. Let's become game directors!
Imagine you are a movie director. Your movie has three parts β the beginning, the middle, and the end. Each part has different scenes, characters, and actions.
In a game, you are the director. You decide what happens at the start, during the game, and when the game ends. Game states are like the chapters of your movie.
By using game states, you can create a smooth, professional game that players will love.
Definition: Game states are the different phases of a game β start, play, win, game over.
Why important: Game states organize the flow of your game.
Simple explanation: It's like the chapters of a book β each chapter is a state.
Real-life example: A sports match has states β before, during, after.
School example: A lesson has states β introduction, teaching, practice.
Home example: A meal has states β preparing, eating, cleaning.
Nigerian example: A wedding has states β ceremony, reception, after-party.
Game States:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Start β Play β Win / Game Over β
βββββββββββββββββββββββββββββββββββββββββββββββ
Nigerian example: A game with a start screen, levels, and a win screen feels professional.
Why important: You need to know which state the game is in.
How to track:
Nigerian example: A game uses "gameState" to show the right screen.
Why important: The start screen is the first thing players see.
Steps:
Nigerian example: A game starts with "Welcome to Lagos Adventure".
Why important: Players need to know how to play.
How to add:
Nigerian example: A game shows instructions in English and Pidgin.
Why important: This is where the action happens.
Steps:
Nigerian example: In "play" state, the player controls a character and collects items.
Why important: Winning feels rewarding.
Steps:
Nigerian example: A game says "Congratulations! You collected all the flags!"
Why important: Losing is part of the game.
Steps:
Nigerian example: A game says "Try again! You can do it!"
Definition: Transitions are how you move from one state to another.
Why important: Smooth transitions make your game feel professional.
How to transition:
Nigerian example: A game fades from the start screen to the play state.
Why important: Broadcasts make state management cleaner.
How to use:
Nigerian example: A game broadcasts "levelComplete" to move to the next level.
Why important: A structured game is easier to build and play.
Steps:
Nigerian example: A complete game with start, play, win, and game over states.
| Without Game States | With Game States |
|---|---|
| Messy code | Organized code |
| Hard to control flow | Easy to control flow |
| No clear start/end | Clear start and end |
| Confusing for players | Professional experience |
Great work! You have learned about game states:
You can now create professional, well-structured games!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Game state | A. Moving from one state to another |
| 2. Transition | B. A phase of a game |
| 3. Start | C. The main action of the game |
| 4. Play | D. The opening screen |
(Answers: 1-B, 2-A, 3-D, 4-C)
Scenario: A student is creating a game with a start screen, gameplay, and a win screen. They want to add a "Game Over" screen when the player loses.
Question: How would you implement these game states?
In groups of 4, each person designs a different game state for the same game β one does start, one does play, one does win, and one does game over. Combine them.
Create a game with at least 3 states: start, play, and win or game over. Save your project.
Create a complete game with start, play, win, and game over states. Add instructions and a "Play Again" button.
Create a game with structured game states. Write a reflection on how states helped organize your code.
In Module 5, we will explore Enemy Behaviors and Simple AI. You will learn how to create enemies that chase, patrol, and react to the player.
Think about a game with enemies β how do they move and behave? We will learn how to make them smart!
You have completed Module 4 β your games are now structured! π
βMaking your enemies smart and challenging.β
In Modules 1-4, we learned the foundations of Level 2 β lists, custom blocks, and game states. Now it's time to make your games more exciting with enemies!
Enemies make games challenging and fun. But enemies that just move in a straight line are boring. In this module, we will learn how to create smart enemies that chase, patrol, and react to the player.
This is called Artificial Intelligence (AI) β making enemies behave like they are thinking. We will learn how to create different enemy behaviors and make your games more engaging.
Let's make your enemies smart!
Imagine you are playing a game. You are a hero, and there are enemies that want to catch you. Some enemies move back and forth (patrol). Some enemies chase you (chase). Some enemies wait and then attack when you get close.
These enemies feel alive because they have AI. They are not just moving randomly β they are responding to you.
In this module, we will learn how to create enemies like these. Let's make your game more challenging!
Definition: AI (Artificial Intelligence) in games is code that makes characters behave in smart ways.
Why important: AI makes games challenging and fun.
Simple explanation: It's like giving enemies a brain β they can think and react.
Real-life example: A robot that follows you.
School example: A classmate who reacts to what you say.
Home example: A pet that comes when you call it.
Nigerian example: A market vendor who approaches you when you look at their goods.
AI in Games:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Patrol β moves back and forth β
β Chase β follows the player β
β Attack β attacks when close β
β Idle β waits and watches β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Patrol means moving back and forth between two points.
Why important: Patrol is the simplest and most common enemy behavior.
How to create:
Nigerian example: A guard walking back and forth.
Definition: Chase means following the player.
Why important: Chase is more challenging and exciting.
How to create:
Nigerian example: A lion chasing a gazelle.
Definition: Random means moving in random directions.
Why important: Random movement is unpredictable.
How to create:
Nigerian example: A fly moving randomly.
Definition: Sensing means detecting the player.
Why important: Enemies need to know where the player is.
How to sense:
Nigerian example: A guard who sees you and starts chasing.
Steps:
Nigerian example: An enemy chases the player.
Steps:
Nigerian example: An enemy patrols back and forth.
Definition: A state machine is a way for an enemy to switch between different behaviors.
Why important: State machines make enemies more realistic.
States:
Nigerian example: A guard who waits, then chases, then attacks.
Steps:
Nigerian example: An enemy with idle, chase, and attack states.
Definition: Attack means doing damage to the player.
Why important: Attack is the climax of enemy behavior.
How to create:
Nigerian example: An enemy bites the player.
Why important: Clones let you have many enemies.
How to use:
Nigerian example: A game with 5 enemies chasing the player.
Why important: AI works with lists, custom blocks, and game states.
Example:
Nigerian example: A complete game with smart enemies.
| Behavior | Description | Difficulty |
|---|---|---|
| Patrol | Moves back and forth | Easy |
| Chase | Follows the player | Medium |
| Attack | Damages the player | Hard |
| Idle | Waits | Easy |
Great work! You have learned about enemy behaviors and AI:
You can now create challenging and fun enemies for your games!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Patrol | A. Follows the player |
| 2. Chase | B. Moves back and forth |
| 3. Attack | C. Damages the player |
| 4. Idle | D. Waits |
(Answers: 1-B, 2-A, 3-C, 4-D)
Scenario: A student wants to create a game where enemies patrol and chase the player when they get close.
Question: How would you implement this with a state machine?
In groups of 4, each person creates a different enemy behavior β one patrols, one chases, one attacks, and one is idle. Combine them into one game.
Create a simple game with one enemy that chases the player. Save your project.
Create a game with at least two different enemy behaviors (e.g., patrol and chase). Use a state machine for one enemy.
Create a game with enemies that use AI. Write a reflection on how you created the enemy behaviors.
In Module 6, we will explore Spawning Systems and Object Management. You will learn how to create and manage multiple objects dynamically.
Think about a game where objects appear and disappear β like falling stars or enemies. We will learn how to manage them!
You have completed Module 5 β your enemies are now smart! π
βCreating and managing objects dynamically.β
In Modules 1-5, we learned about lists, custom blocks, game states, and enemy AI. Now it's time to learn how to create and manage objects dynamically β spawning them when needed and deleting them when they are no longer needed.
Think of a game where enemies appear (spawn) at random times, or where objects fall from the sky. These objects need to be created, managed, and removed efficiently.
In this module, we will learn how to use cloning and timing to create spawning systems. We will also learn how to manage object lifetimes and use object pooling for performance.
Let's learn how to spawn and manage objects like a pro!
Imagine a game where stars fall from the sky, and the player has to catch them. The stars appear (spawn) at random times and positions, and they disappear when they reach the bottom or are caught.
This is a spawning system. The stars are created dynamically, and they are managed automatically. Without a spawning system, you would have to add every star manually β which would be impossible!
In this module, we will learn how to create systems like this in Scratch.
Definition: A spawning system creates objects (like enemies or items) during the game.
Why important: Spawning systems make games dynamic and interesting.
Simple explanation: It's like a factory that produces objects on demand.
Real-life example: A vending machine that dispenses items when you press a button.
School example: A teacher handing out worksheets to students.
Home example: A parent giving snacks to children.
Nigerian example: A market vendor restocking items as they sell.
Spawning System:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Factory β creates objects on demand β
β Objects β enemies, items, power-ups β
β Timing β when and how often to spawn β
βββββββββββββββββββββββββββββββββββββββββββββββ
Nigerian example: A game where enemies keep appearing until the player wins.
Definition: Cloning is creating copies of a sprite.
Why important: Cloning is the easiest way to spawn objects in Scratch.
How to use:
Nigerian example: A game spawns enemies using clones.
Why important: Timing controls how often objects appear.
How to control:
Nigerian example: Enemies spawn every 2 seconds.
Definition: Random spawning means creating objects at random positions and times.
Why important: Random spawning makes games unpredictable and exciting.
How to create:
Nigerian example: Stars fall at random positions and times.
Definition: Lifetime is how long an object exists before being deleted.
Why important: Deleting objects keeps your game running smoothly.
When to delete:
Nigerian example: A falling star is deleted when it reaches the bottom.
Why important: Too many clones slow down your game.
How to delete:
Nigerian example: Enemies are deleted when they touch the player.
Definition: Object pooling means reusing objects instead of creating new ones.
Why important: Object pooling improves performance.
How to use:
Nigerian example: A game reuses bullets instead of creating new ones.
Definition: Wave spawning means creating groups of objects at once.
Why important: Waves create patterns and challenges.
How to create:
Nigerian example: A game spawns 5 enemies at a time in waves.
Why important: Custom blocks make spawning code cleaner.
How to use:
Nigerian example: A game uses "spawnEnemy" to create enemies.
Why important: Spawning and AI work together.
How to combine:
Nigerian example: A game spawns enemies that chase the player.
| Method | Description | Performance |
|---|---|---|
| Cloning | Create copies of a sprite | Good |
| Object pooling | Reuse objects | Best |
| Manual | Add objects manually | Poor |
Great work! You have learned about spawning systems:
You can now create dynamic games with spawning systems!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Spawn | A. Remove an object |
| 2. Clone | B. Create an object |
| 3. Delete | C. A copy of a sprite |
| 4. Pool | D. Reuse objects |
(Answers: 1-B, 2-C, 3-A, 4-D)
Scenario: A student wants to create a game where enemies appear (spawn) at random positions and chase the player. When the enemies are caught, they disappear and new ones spawn.
Question: How would you implement this spawning system?
In groups of 4, each person creates a different spawning system β one with random timing, one with random positions, one with waves, and one with object pooling.
Create a simple spawning system that spawns objects every 3 seconds. Save your project.
Create a game with a spawning system β falling stars, enemies, or items. Use random positions and timing, and delete objects when needed.
Create a game with a spawning system. Write a reflection on how you managed the objects.
In Module 7, we will explore Physics and Motion Systems. You will learn how to add gravity, velocity, and collision physics to your games.
Think about a game where characters jump or objects fall β we will learn how to make them move realistically!
You have completed Module 6 β you can now spawn and manage objects! π
βMaking your games move like the real world.β
In Modules 1-6, we learned about lists, custom blocks, game states, enemy AI, and spawning systems. Now it's time to learn about physics β how objects move and interact in the real world.
Physics makes games feel realistic. When a character jumps, it goes up and then comes down. When a ball is thrown, it follows an arc. These are all physics.
In this module, we will learn how to add gravity, velocity, acceleration, collision detection, and bounce physics to your games.
Let's make your games move like the real world!
Imagine a game where a hero jumps from platform to platform. When the hero jumps, they go up and then come back down. This is gravity at work.
When the hero throws a ball, it follows an arc β up and then down. This is projectile motion.
In this module, we will learn how to create these realistic movements in Scratch. Let's make your games feel real!
Definition: Physics in games is the simulation of real-world motion β gravity, velocity, and collisions.
Why important: Physics makes games realistic and fun.
Simple explanation: It's like making your game obey the laws of physics β things fall, bounce, and move realistically.
Real-life example: A ball falling to the ground.
School example: A pendulum swinging.
Home example: A toy car rolling down a ramp.
Nigerian example: A mango falling from a tree.
Physics in Games:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Gravity β pulls objects down β
β Velocity β speed and direction β
β Acceleration β changing speed β
β Collision β objects hitting each other β
β Bounce β objects bouncing back β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Gravity is a force that pulls objects down.
Why important: Gravity makes games feel realistic.
How to implement:
Nigerian example: A character falls when they jump.
Definition: Velocity is speed in a specific direction.
Why important: Velocity controls how fast and where an object moves.
How to implement:
Nigerian example: A character moves left and right with velocity.
Definition: Acceleration is the rate of change of velocity.
Why important: Acceleration creates smooth motion.
How to implement:
Nigerian example: A car speeding up and slowing down.
Why important: Jumping is a core game mechanic.
Steps:
Nigerian example: A character jumps and falls back down.
Definition: Collision detection is checking if two objects are touching.
Why important: Collisions trigger events β like damage or collecting items.
How to detect:
Nigerian example: A player collects a coin when touching it.
Definition: Collision response is what happens when objects collide.
Why important: Response makes collisions meaningful.
How to respond:
Nigerian example: An enemy disappears when hit.
Definition: Platformer physics is used in platform games β jumping, falling, and landing on platforms.
Why important: Platformers are one of the most popular game genres.
How to implement:
Nigerian example: A game where a character jumps between platforms.
Definition: Projectile motion is the path of an object thrown into the air.
Why important: Arcs are used for throwing, shooting, and jumping.
How to implement:
Nigerian example: A ball thrown in a game follows an arc.
Definition: Bounce physics makes objects bounce when they hit the ground.
Why important: Bouncing is common in games β balls, enemies, and players.
How to implement:
Nigerian example: A ball bounces on the ground.
Definition: Friction slows objects down. Damping reduces bounce height.
Why important: Friction and damping make motion more realistic.
How to implement:
Nigerian example: A ball stops rolling due to friction.
Why important: Physics works with AI, spawning, and game states.
Example:
Nigerian example: A complete game with realistic physics.
| Without Physics | With Physics |
|---|---|
| Objects move in straight lines | Objects move realistically |
| No gravity | Gravity pulls objects down |
| No bouncing | Objects bounce |
| Unrealistic | Realistic |
Great work! You have learned about physics and motion:
Your games will now feel realistic and responsive!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Gravity | A. Speed and direction |
| 2. Velocity | B. Pulls objects down |
| 3. Collision | C. Objects touching |
| 4. Bounce | D. Rebound |
(Answers: 1-B, 2-A, 3-C, 4-D)
Scenario: A student wants to create a platformer game with jumping, gravity, and bouncing enemies.
Question: How would you implement the physics for this game?
In groups of 4, each person creates a different physics system β one for gravity, one for bouncing, one for projectiles, and one for platformer physics.
Create a simple game with gravity and jumping. Save your project.
Create a platformer game with jumping, gravity, and collision detection. Add at least one platform.
Create a game that uses physics (gravity, velocity, collision). Write a reflection on how you implemented the physics.
In Module 8, we will explore Scratch Extensions. You will learn how to use pen, music, video sensing, and text-to-speech extensions.
Think about a project that could use pen or video sensing β we will learn how to use them!
You have completed Module 7 β your games now have realistic physics! π
βExpanding your creative toolbox.β
In Modules 1-7, we learned a lot about Scratch β lists, custom blocks, game states, AI, spawning, and physics. But did you know that Scratch has extensions that add new features?
Extensions are like extra tools for your toolbox. They let you do things that are not possible with the standard blocks β like drawing with a pen, making music, controlling a robot, or using your camera.
In this module, we will explore some of the most useful Scratch extensions: the Pen, Music, Video Sensing, and Text-to-Speech extensions.
Let's expand your creative toolbox!
Imagine you are a creative coder in Lagos. You want to create a project that draws beautiful patterns, plays music, and responds to your hand movements. But you don't know how to do it in Scratch.
Then you discover Scratch Extensions! You add the Pen extension to draw patterns, the Music extension to play melodies, and the Video Sensing extension to control the project with your hand.
Your project becomes interactive and magical. This is the power of extensions!
Definition: Extensions are add-ons that give Scratch new features.
Why important: Extensions let you do things that are not possible with standard blocks.
Simple explanation: It's like adding new tools to your toolbox.
Real-life example: A carpenter adding a new saw to their toolbox.
School example: A student using a calculator for math.
Home example: A chef using a new kitchen gadget.
Nigerian example: A tailor using a new sewing machine attachment.
Scratch Extensions:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Pen β draw and create graphics β
β Music β play melodies and beats β
β Video Sensing β camera interaction β
β Text-to-Speech β spoken words β
β Micro:bit β control robots β
βββββββββββββββββββββββββββββββββββββββββββββββ
Why important: You need to know how to add extensions.
How to add:
Nigerian example: A student adds the Pen extension to draw patterns.
Definition: The Pen extension lets you draw on the stage.
Why important: You can create graphics, patterns, and art.
Key blocks:
Why important: You can create geometric shapes and patterns.
Steps:
Nigerian example: A student draws a square, triangle, and circle.
Why important: Patterns are beautiful and fun to create.
How to create:
Nigerian example: A student creates a colorful mandala pattern.
Definition: The Music extension lets you play musical notes and create melodies.
Why important: You can add music to your projects.
Key blocks:
Nigerian example: A student plays a simple melody.
Why important: Melodies make projects more engaging.
Steps:
Nigerian example: A student plays a Nigerian nursery rhyme.
Definition: The Video Sensing extension lets you use your camera to interact with projects.
Why important: You can control projects with your movements.
Key blocks:
Nigerian example: A student controls a game by waving their hand.
Why important: Motion-controlled games are fun and interactive.
Steps:
Nigerian example: A game where a character moves left and right with hand movements.
Definition: The Text-to-Speech extension reads text aloud.
Why important: You can add voice to your projects.
Key blocks:
Nigerian example: A project says "Welcome to Nigeria!".
Why important: Extensions can be combined for amazing projects.
Example:
Nigerian example: A project that draws patterns and plays music when you wave your hand.
Nigerian example: A student uses a Micro:bit to control a Scratch project.
| Extension | What It Does | Use |
|---|---|---|
| Pen | Draws on the stage | Art, patterns |
| Music | Plays musical notes | Melodies, sounds |
| Video Sensing | Uses camera | Motion control |
| Text-to-Speech | Reads text aloud | Voice, narration |
Great work! You have learned about Scratch extensions:
You can now create projects with advanced features!
Match the extension with its description.
| Extension | Description |
|---|---|
| 1. Pen | A. Reads text aloud |
| 2. Music | B. Draws on the stage |
| 3. Video Sensing | C. Plays musical notes |
| 4. Text-to-Speech | D. Uses the camera |
(Answers: 1-B, 2-C, 3-D, 4-A)
Scenario: A student wants to create a project that draws a rainbow pattern, plays music, and responds to hand movements.
Question: What extensions would you use? How would you combine them?
In groups of 4, each person explores a different extension and creates a small project. Share your projects with the group.
Create a project that uses at least one extension. Save your project.
Create a project that uses the Pen extension to draw a colorful pattern. Add music using the Music extension.
Create a project that uses an extension of your choice. Write a reflection on how the extension helped your project.
In Module 9, we will explore Game Design and Polish. You will learn how to make your games look and feel professional.
Think about a game you have created β how can you make it look better and be more fun to play?
You have completed Module 8 β you can now use Scratch extensions! π
βMaking your games look and feel professional.β
In Modules 1-8, we learned how to build games with lists, custom blocks, game states, AI, spawning, physics, and extensions. But there is one more step β polish.
Polish is what makes a game feel complete and professional. It's the difference between a game that looks homemade and one that looks like it was made by a pro.
In this module, we will learn how to add polish to your games β sound effects, visual feedback, user interfaces, difficulty balancing, and playtesting. Let's make your games shine!
Imagine two games. Game A is fun but has no sound, no visual effects, and a confusing interface. Game B has exciting sounds, cool effects, and a clear interface. Which game would you rather play?
Game B is polished. It feels professional and complete. In this module, we will learn how to make your games like Game B.
Definition: Game design is the art of creating fun and engaging experiences.
Why important: Good design makes games enjoyable.
Simple explanation: It's like designing a playground β it should be fun and safe.
Key principles:
Nigerian example: A game about Lagos should be fun, clear, and rewarding.
Good Game Design:
βββββββββββββββββββββββββββββββββββββββββββββββ
β Fun β keep players engaged β
β Challenge β not too easy, not too hard β
β Feedback β show what's happening β
β Clarity β clear rules and goals β
β Reward β feel good when you win β
βββββββββββββββββββββββββββββββββββββββββββββββ
Definition: Sound effects are short audio clips that provide feedback.
Why important: Sound makes games more immersive.
How to add:
Nigerian example: A game plays a cheer sound when you score.
Definition: Background music plays continuously during the game.
Why important: Music sets the mood and keeps players engaged.
How to add:
Nigerian example: A game plays upbeat Afrobeats music.
Definition: Visual feedback shows players what is happening.
Why important: Feedback helps players understand the game.
How to add:
Nigerian example: A sprite flashes when hit.
Definition: UI shows information like score, lives, and menus.
Why important: UI helps players understand the game state.
How to design:
Nigerian example: A game shows "Score: 10" and "Lives: 3".
Definition: A health bar shows how much health the player has.
Why important: Health bars help players know when they are in danger.
How to create:
Nigerian example: A game has a health bar that decreases when hit.
Definition: Difficulty balancing means making the game challenging but not too hard.
Why important: Balanced games keep players engaged.
How to balance:
Nigerian example: A game gets harder as the player's score increases.
Definition: Progression means the game gets harder over time.
Why important: Progression keeps players interested.
How to implement:
Nigerian example: A game has 5 levels with increasing difficulty.
Definition: Polish is the small details that make a game feel complete.
Why important: Polish makes games look professional.
Examples:
Nigerian example: A game has a custom title screen and instructions.
Definition: Playtesting means having others play your game and give feedback.
Why important: Playtesting helps you find problems and improve.
How to conduct:
Nigerian example: A student asks classmates to play and provide feedback.
Definition: Iterative improvement means making small changes and testing again.
Why important: Iteration leads to better games.
Steps:
Nigerian example: A student improves their game based on feedback.
Why important: A polished game is more enjoyable and shareable.
Final steps:
Nigerian example: A student shares their polished game on Scratch.
| Unpolished | Polished |
|---|---|
| No sound | Sound effects and music |
| No visual feedback | Visual effects |
| No UI | Score, lives, health bar |
| No title screen | Title screen and instructions |
| No playtesting | Playtested and improved |
Great work! You have learned about game design and polish:
Your games are now polished and professional!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Polish | A. Having others play your game |
| 2. Playtesting | B. Small details that make a game professional |
| 3. UI | C. Shows information to the player |
| 4. Balancing | D. Adjusting difficulty |
(Answers: 1-B, 2-A, 3-C, 4-D)
Scenario: A student has created a game but it feels unfinished. There is no sound, no visual feedback, and the difficulty is too easy.
Question: How would you polish this game?
In groups of 4, each person takes a different aspect of polish β one adds sound, one adds visual effects, one designs the UI, and one balances difficulty. Combine them into one game.
Identify three things you can polish in a game you have created. Make the improvements and save your project.
Take a game you have created and polish it. Add sound effects, visual feedback, a UI, and a title screen. Share your polished game.
Conduct a playtest of your game with at least 2 people. Write a reflection on the feedback and what you improved.
In Module 10, we will complete the course with Capstone Project β Complete Game Development. You will use everything you've learned to create a complete, polished game.
Think about a game you want to create β we will plan, build, and polish it in the next module!
You have completed Module 9 β your games are now polished! π
βPutting everything together to create your masterpiece.β
Congratulations! You have reached the final module of the Certified Scratch Expert Level 2 course. You have learned so much β lists, custom blocks, game states, AI, spawning, physics, extensions, and polish.
Now it's time to put it all together. In this capstone module, you will plan, create, and finalize a complete, polished game from start to finish.
Think of this as your "final exam" β but it's fun! You will use all the skills you learned to create something you can be proud of. You will be a Certified Scratch Expert Level 2!
Let's create your masterpiece!
Imagine you are a young game developer in Nigeria. You have been learning Scratch for months, and now you are ready to create your own complete game.
You plan your game β a platformer with enemies, power-ups, and multiple levels. You use lists for high scores, custom blocks for actions, game states for flow, AI for enemies, spawning for objects, physics for jumping, and extensions for polish.
You test your game, get feedback, and improve it. Finally, you share it on Scratch. People play your game and love it. You feel proud of what you created.
This is your capstone project β your chance to create something amazing!
Definition: A capstone project is a final project that shows everything you have learned.
Why important: It demonstrates your skills and gives you a portfolio piece.
Simple explanation: It's like a final exam β but instead of a test, you create a game.
Real-life example: A student creates a game for a coding competition.
School example: A final project for a computer class.
Home example: A game you share with your family.
Nigerian example: A young coder creates a game about Nigerian culture.
Capstone Project = Showcase of Skills
βββββββββββββββββββββββββββββββββββββββββββββββ
β Planning β Creating β Testing β Sharing β
βββββββββββββββββββββββββββββββββββββββββββββββ
Why important: The right idea motivates you and shows your skills.
Ideas for games:
Nigerian example: A student creates a game about Nigerian wildlife.
Definition: A game design document (GDD) is a written plan for your game.
Why important: A GDD keeps you organized and focused.
What to include:
Nigerian example: A student writes a GDD for a game about Lagos.
Why important: A clean project makes coding easier.
Steps:
Nigerian example: A student creates a project called "Lagos Adventure".
Why important: Core mechanics are what make your game work.
How to build:
Nigerian example: A student builds a character that moves and jumps.
Why important: Advanced features make your game more exciting.
What to add:
Nigerian example: A game uses cloning to spawn enemies.
Why important: Polish makes your game look professional.
What to add:
Nigerian example: A game adds Afrobeats music.
Definition: Testing means playing your game to find problems. Debugging means fixing them.
Why important: Testing makes your game better.
How to test:
Nigerian example: A student tests their game with classmates.
Definition: Playtesting is having others play your game and give feedback.
Why important: Playtesting helps you see what you missed.
How to conduct:
Nigerian example: A student asks classmates for feedback.
Why important: Final polish makes your game ready to share.
Steps:
Nigerian example: A student adds a title screen with the game name.
Why important: Sharing lets others play and enjoy your game.
How to share:
Nigerian example: A student shares their game on the Scratch website.
Why important: Reflection helps you see how far you have come.
Questions to ask:
Nigerian example: A student writes a reflection on their coding journey.
| Good Game | Great Game |
|---|---|
| Basic mechanics | Polished mechanics |
| No sound | Sound and music |
| No instructions | Clear instructions |
| Bugs | Bug-free |
| Not shared | Shared and played |
Congratulations! You have completed the capstone module:
You are now a Certified Scratch Expert Level 2 β go create amazing games!
Match the term with its description.
| Term | Description |
|---|---|
| 1. Capstone | A. Fixing mistakes |
| 2. Debug | B. A final project |
| 3. Polish | C. Making a game look professional |
| 4. GDD | D. A game design document |
(Answers: 1-B, 2-A, 3-C, 4-D)
Scenario: You have been asked to create a game for your school's open day. The game should be fun, easy to learn, and showcase your skills.
Question: What game would you create? How would you plan, create, and share it?
In groups of 4, share your capstone game plans. Give each other feedback and suggestions for improvement.
Write a Game Design Document for your capstone game. Include the title, goal, characters, controls, scoring, and end condition.
Create your capstone game. Use all the skills you learned in the course. Share your game with the class.
Complete your capstone game. Write a reflection on your process β what you learned, what was challenging, and what you are proud of.
You have completed all ten modules of the Certified Scratch Expert Level 2 course. You have learned:
You are now a Certified Scratch Expert Level 2 β ready to create amazing games and share them with the world.
π You are a Scratch Master! π
Thank you for your dedication β go create something amazing!