About the Beginner’s Guide to Arcade Games
A page for Educators & Parents
The Beginner’s Guide to Arcade Games introduces the most common types of code blocks used throughout MakeCode Arcade.
In this set of activities, students will create their very first set of digital games with MakeCode Arcade. This guide is intended for students who are new to MakeCode with little or no previous coding experience. Through step-by-step instructions, students will focus on projects from 3 different categories: Storytelling, Clicker Games, and Collector Games.
Designed for students between the ages of 11 & 15, this experience contains a total of 11 tutorials (approximating 145 minutes of instruction) spread over 5 sessions. At the end of each learning path, students receive a certificate of completion.
Minutes* | Game Type | Key Concepts | |
---|---|---|---|
Day 1 | |||
Get to Know Arcade (optional) | 12 | Intro | interface tutorial, basic blocks, events |
Make a Greeting Card | 10 | Story | art design, music |
Bigger Greeting | 10 | Story | art design, music, events |
Day 2 | |||
Joking Around | 30 | Story | storytelling, events |
Day 3 | |||
Clicker Game | 10 | Clicker | events, score, timer |
Grand Clicker | 10 | Clicker | animation, arguments, events |
Super Clicker | 7 | Clicker | projectiles, random numbers, events |
Day 4 | |||
Dino Hoard | 10 | Collector | loops, projectiles, random numbers |
Save the Baby Dinos | 12 | Collector | collisions, variables, timer |
Day 5 | |||
Traffic Dodger | 14 | Collector | projectiles, random numbers, variables |
Animate It! | 20 | Collector | art design, loops |
* Minutes are approximate, based on time to follow instructions as written. Providing extra time for creativity and debugging is encouraged.
Objectives
After completing the Beginner’s Guide to Arcade Games, students will have gained exposure to all the elements they need to successfully create their own arcade games using MakeCode Arcade.
Specifically, they will experience the following topics:
Computer Science Concepts
- Events and program control flow
- User input
- Loops
- Variables
- Events
Game Design Concepts
- Storytelling
- Sprites and Projectiles
- Design, Sounds, and Effects
- Coordinates
- Velocity
- Game Score
- Win/Lose Criteria
- Randomization
- Animation
Storytelling Path
In this learning path, students will learn how to use background images, music, and dialog boxes to build creative projects that send a message, tell a joke, or illustrate their thoughts.
1. Greeting Card
Activity | Greeting Card (10 min) |
---|---|
![]() |
Design a simple greeting card to send to friends and family. |
Blocks used | On Start [scene.setBackgroundImage(img`.`)] [effects.confetti.startScreenEffect()] [music.playMelody("", 120)] |
Solution option | Greeting Card Project |
2. Bigger Greeting
Activity | Bigger Greeting (10 min) |
---|---|
![]() |
This activity builds off the previous Greeting Card activity. Students will add text that is revealed with the press of a button. |
Blocks used | [controller.A.onEvent(ControllerButtonEvent.Pressed, function () {})] [game.setDialogFrame(img`.`)] [game.setDialogTextColor(0)] [game.showLongText("", DialogLayout.Bottom)] |
Solution option | Bigger Greeting Project |
3. Joking Around
Activity | Joking Around (30 min) |
---|---|
![]() |
This activity introduces students to characters and dialog, as they bring short jokes to life. |
Blocks used | [music.baDing.play()] [music.setVolume(20)] [game.splash("")] [sprites.create(img`.`).setPosition(0, 0)] [sprites.create(img`.`).startEffect(effects.spray)] [sprites.create(img`.`).setImage(img`.`)] [scene.cameraShake(4, 500)] |
Solution option | Joking Around Project |
Game Mod Ideas
After students complete Joking Around they can head back to the skillmap and click “SAVE TO MY PROJECTS”, which will open the game in a window with a full-featured toolbox. Here are some modifications they can try:
- Add a second sprite for a joke with more interaction
- Move sprites or change backgrounds each time the (A) button is pressed
- Modify your project to illustrate a poem
- Use what you’ve learned to illustrate a longer joke or story
Clicker Game Path
In this path, students will use event containers, sprites, and projectiles to create a simple “clicker” game that takes in user input and performs an action. Here, the user is challenged to click the (A) button as quickly as possible before time runs out.
1. Clicker Game
Activity | Clicker Game (10 min) |
---|---|
![]() |
Create a game that adds points for each click. |
Blocks used | [info.startCountdown(10)] [info.changeScoreBy(1)] [info.onCountdownEnd(function () {})] [game.over(true)] |
Solution option | Clicker Game Project |
2. Button Clicker
Activity | Button Clicker (10 min) |
---|---|
![]() |
This game builds off the last level, adding an animated sprite that toggles as you press and release the (A) button. |
Blocks used | [let mySprite = sprites.create(img`.`, SpriteKind.Player)] [controller.A.onEvent(ControllerButtonEvent.Pressed, function () {})] [let power = 2] |
Solution option | Button Clicker Project |
3. Clicking Superstar
Activity | Clicking Superstar (7 min) |
---|---|
![]() |
Building off the previous project, this level adds projectiles that take the form of stars spraying from the button with each press. |
Blocks used | [sprites.create(img`.`, SpriteKind.Player).startEffect(effects.spray, 100)] |
Solution option | Clicking Superstar Project |
Game Mod Ideas
After students complete Clicking Superstar they can head back to the skillmap and click “SAVE TO MY PROJECTS”, which will open the game in a window with a full-featured toolbox. Here are some modifications they can try:
- Move the A button to the lower left and add a B Button to the lower right
- Add a new sprite to the pedestal, make it something special!
- Change the theme from stars on the stage to birds in a tree
Collector Game Path
Students will work with sprite controller blocks, variables, and conditional statements to build a game where Mama Dino rushes to collect as many of her babies as possible while avoiding traffic.
1. Dino Hoard
Activity | Dino Hoard (10 min) |
---|---|
![]() |
Set an animated background for your hero sprite to travel as they search for baby dinos. |
Blocks used | [let mySprite = sprites.create(img`.`, SpriteKind.Player)] [controller.moveSprite(sprites.create(img`.`), 0, 100)] [let random = randint(0, 10)] [let projectile = sprites.createProjectileFromSide(img`.`, 0, 100)] [sprites.onOverlap(SpriteKind.Player, SpriteKind.Projectile, function (sprite, otherSprite) {})] [forever(function () {})] [sprites.create(img`.`).destroy()] |
Solution option | Dino Hoard Project |
2. Save the Baby Dinos!
Activity | Save the Baby Dinos! (12 min) |
---|---|
![]() |
Build on the previous activity to add points to your game as you collect dinos. |
Blocks used | [scene.setBackgroundColor(0)] [scene.setBackgroundImage(img`.`)] [effects.blizzard.startScreenEffect()] [sprites.create(img`.`).setStayInScreen(true)] |
Solution option | Save the Baby Dinos Project |
3. Traffic Dodger
Activity | Traffic Dodger (14 min) |
---|---|
![]() |
Take your game further with cars that subtract a life if you run into them. |
Blocks used | [sprites.create(img`.`).setKind(SpriteKind.Enemy)] [sprites.create(img`.`).y = 0] |
Solution option | Traffic Dodger Project |
4. Animate It!
Activity | Animate It! (20 min) |
---|---|
![]() |
Polish your game using animation to make your characters come to life! |
Blocks used | [info.changeLifeBy(1)] |
Solution option | Animate It Project |
Game Mod Ideas
After students complete Animate It! they can head back to the skillmap and click “SAVE TO MY PROJECTS”, which will open the game in a window with a full-featured toolbox. Here are some modifications they can try:
- Make the camera shake when the dino runs into a car
- Add another sprite that gives more time when collected
- Add a sprite that gives more lives when collected
- Change the scene from a dino on the street to a shark in the ocean
What’s Next?
After completing the Beginner’s Guide to Arcade Games, students move on to the following activities:
- Build a Space Explorer
- Scrolling Platformer