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)
Greeting Card thumbnail 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)
Bigger Greeting thumbnail 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)
Joking Around thumbnail 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)
Clicker Game thumbnail 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)
Button Clicker thumbnail 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)
Clicking Superstar thumbnail 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)
Dino Hoard thumbnail 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)
Save the Baby Dinos thumbnail 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)
Traffic Dodger thumbnail 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)
Animate It! thumbnail 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