Game Makecode Arcade
Beginner
60 mins
Teacher/Student led
+75 XP
What you need:
Chromebook/Laptop/PC or iPad/Tablet

Space Shooter

Get ready to build your own space-themed game with MakeCode Arcade! In this lesson, you'll create a spaceship, dodge and shoot asteroids, and programme exciting gameplay features. Start your coding adventure now!
Learning Goals Learning Outcomes Curriculum Mapping Teacher Notes Lesson Files

Teacher Class Feed

Load previous activity

    1 - Introduction

    Welcome to the Space Shooter game creation lesson! In this exciting course, you will learn how to create your very own space-themed game using MakeCode Arcade. You will control a spaceship that needs to dodge and shoot asteroids. Ready to start your space adventure? Let's dive in!


    2 - Create a new Arcade project

    Go to the arcade.makecode.com website and create a new project.

    3 - Create your spaceship sprite

    In this game you will control a spaceship that has to dodge and shoot asteroids that come flying at it.

    Add the following code to create the spaceship sprite and use the sprite editor to design your spaceship. It should point towards the right as that's where the asteroids will be coming from.

    Rename your sprite to spaceship.

    let spaceship = sprites.create(img`
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . d d d . . . . . . . . 
        . . 2 2 2 1 1 1 d d . . . . . . 
        . . 2 4 4 1 1 1 1 1 d d . . . . 
        . 2 4 4 5 1 1 1 1 1 1 1 d d . . 
        2 4 4 5 5 1 1 1 1 1 1 1 1 1 d d 
        2 2 4 4 5 1 1 1 1 1 1 1 d d . . 
        . 2 2 4 4 1 1 1 1 d d d . . . . 
        . . 2 2 2 d d d d . . . . . . . 
        . . . . 2 d d . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        `, SpriteKind.Player)



    4 - Control the spaceship

    Now add the following new code to control the spaceship with the arrow keys and set it so that it cannot go off the screen.

    let spaceship = sprites.create(img`
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . d d d . . . . . . . . 
        . . 2 2 2 1 1 1 d d . . . . . . 
        . . 2 4 4 1 1 1 1 1 d d . . . . 
        . 2 4 4 5 1 1 1 1 1 1 1 d d . . 
        2 4 4 5 5 1 1 1 1 1 1 1 1 1 d d 
        2 2 4 4 5 1 1 1 1 1 1 1 d d . . 
        . 2 2 4 4 1 1 1 1 d d d . . . . 
        . . 2 2 2 d d d d . . . . . . . 
        . . . . 2 d d . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        `, SpriteKind.Player)
    controller.moveSprite(spaceship, 150, 150)
    spaceship.setStayInScreen(true)
    
    Make sure each block has the spaceship variable selected in it.

    Click on the + on the move with buttons block and put in vx 150 and vy 150 to set the velocities for the x axis and y axis.
    Once you've added the code test that you can move your spaceship around with the joystick (or the arrow keys on your keyboard).

    5 - Set the number of lives

    Now let's set the number of lives that the player will start with.

    Add the following new code:

    let spaceship = sprites.create(img`
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . d d d . . . . . . . . 
        . . 2 2 2 1 1 1 d d . . . . . . 
        . . 2 4 4 1 1 1 1 1 d d . . . . 
        . 2 4 4 5 1 1 1 1 1 1 1 d d . . 
        2 4 4 5 5 1 1 1 1 1 1 1 1 1 d d 
        2 2 4 4 5 1 1 1 1 1 1 1 d d . . 
        . 2 2 4 4 1 1 1 1 d d d . . . . 
        . . 2 2 2 d d d d . . . . . . . 
        . . . . 2 d d . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        . . . . . . . . . . . . . . . . 
        `, SpriteKind.Player)
    controller.moveSprite(spaceship, 150, 150)
    spaceship.setStayInScreen(true)
    info.setLife(3)
    
    Notice that there's 3 hearts on your screen that represent the number of lives.

    Unlock the Full Learning Experience

    Get ready to embark on an incredible learning journey! Get access to this lesson and hundreds more in our Digital Skills Curriculum.

    Copyright Notice
    This lesson is copyright of Coding Ireland. Unauthorised use, copying or distribution is not allowed.
    🍪 Our website uses cookies to make your browsing experience better. By using our website you agree to our use of cookies. Learn more