Lesson Plan
Game Design

Overview

In this activity, club members create a launcher game using key press events, clones, and variables. In this game, a player must launch and navigate a sprite across a screen of bouncing enemies.

Volunteer Focus

  • Try to talk with each club member individually while they're coding this project. Ask if they have any questions about the project, the club, or computer science in general.

Agenda Summary

This agenda is designed for a 60-minute lesson. To customize the agenda for clubs of a different length, visit www.cs-first.com/dashboard. and use the Agenda Timer.

Time (mins) Agenda Item
5 Introduction
3 View Showcase Projects
2 Transition to Computer Time
7 Watch Video 1 and Create
8 Watch Video 2 and Create
7 Watch Video 3 and Create
8 Watch Video 4 and Create
5 Watch Video 5 and Create
0 Choose Add-Ons and Create
2 CS First Reflection
4 Watch Wrap-Up Video
4 Share Projects
1 Select Showcases
4 Club Discussion

Topics Introduced

  • Cloning
  • Increasing game difficulty

Topics Reinforced

  • Variables
  • Keypress Events
  • Randomness
Introduction (5 minutes)
Directions Student Instructions
1. Greet members at the door as they arrive.
(Show script)

Hi [name]. Welcome back!

2. Ask members to pick up their passports, then sit at an empty computer and log in.
(Show script)

Everyone please pick up your passports and go to a computer. Sign in to CS First and Scratch. Once you have logged in, please turn off your monitors.

3. Once all members are seated and logging in to their computers, privately ask members who are sitting alone to move to a computer near other members.
(Show script)

Hi [name]. Today you’re going to need to be sitting near others to work on this project. Would you mind moving to a seat where you’ll be able to interact with other club members?

4. Use the silent signal to get member attention.
(Show script)

[Silent signal] I need everyone’s attention up here, please.

5. Have all members turn off monitors and remove headphones before starting. It is important that you enforce this rule or members will use the computers instead of interacting.
(Show script)

Everyone please turn off your monitors, so we can begin the introduction [wait for all members to turn off monitors].

6. Review previous club: Escape Game.
(Show script)

Can someone please raise their hand, and tell me what we worked on last club?

7. Introduce the activity: Launcher Game.
(Show script)

In this activity, you're going to build a "Launcher Game." You may have played other games that launch a character, for example, "Angry Birds." The Launcher Game, features a player who is launched through a sea of enemies. When the player touches the finish line, a new enemy appears. This game introduces cloning in Scratch, as well as a game development concept: increasing difficulty.

  1. Pick up your passport.
  2. Choose a computer.
  3. Log in to your computer.
  4. Turn off your monitor.
View Showcase Projects (3 minutes)
Directions Student Instructions
[For instructions on finding and selecting showcases, see the "Preparation" section of this club plan. Remember that club members can opt out of having their projects shown. If the selected club members do not want to showcase their projects, you may ask for one or two volunteers to show their projects.]
  1. Transition to showcase.
    (Show script)

    [Pointing at agenda] Before we begin programming this activity, let's view the member showcases selected at the end of last club. We will play each project, look at the code, and then applaud how awesome the project is. Let's look at the first project!

  2. Run first project and discuss.
    (Show script)

    Someone please raise your hand and tell me what types of blocks you think might be used in this project?

  3. Look at code by clicking the "See Inside" button.
    (Show script)

    Let's take a look at the code used in this project. [Show code and mention a few of the blocks used in the project.]

  4. Cheer and clap.
    (Show script)

    Wow! Amazing! That was a great project! Let’s give them a great big round of applause!

  5. Repeat steps for any additional projects.
  1. Enjoy projects from last club!
  2. Make some noise!
Transition to Computer Time (2 minutes)
Directions Student Instructions
  1. Introduce computer time.
    (Show script)

    [show agenda] Now, we're going to move into the computer time.

  2. Remind members to use a sticky note if they have a question. [optional]  
    (Show script)

    If you have a question during this time, ask your neighbors for help. If they can’t help you, put a sticky note on your monitor and, I will come help you.

  3. Remind members that at the end of this activity you will pick a few projects to share next club.
    (Show script)

    Remember that at the end of this activity we will pick a few people’s projects to show at the beginning of next club.

  4. Have members turn on monitors and navigate to CS First website.
    (Show script)

    Please turn on your monitors, go to the CS First website, and start watching the first video.

  5. If there are new club members, provide them with your club code and ask them to go to cs-first.com/go to get sign-in information.
    (Show script)

    If today is your first time in this club, please begin by going to cs-first.com/go. Click "Enter Club Code," then follow the directions to get a sign-in and password.

  1. Go to cs-first.com.
  2. Sign in with the username and password from your club pass.
  3. Start watching the first video.
  4. If it's your first day, welcome! Go to www.cs-first.com/go and click "Enter Club Code" to get started. Ask your Guru for your club's code.
Watch Video 1 and Create (7 minutes)
Directions Student Instructions
Check that members have opened the starter project. The Solution Sheet shows an example of a blank starter project.
(Show script)

I see that you've watched the first video and were able to get to Scratch. That's great! Next, open a starter project. To do that... [guide member to starter project link].

Check to ensure that members have signed in to Scratch by looking at the top right corner of their Scratch project editor. If you see their username, they are signed in. If you see a "Sign In" link, that member still needs to sign in. Members who haven't signed in will not be able to save their work.
(Show script)

I see that you haven't signed in. Please click sign in, and enter your sign-in information from your passport so that you can save your project.

  1. Open the starter project.
  2. Remix and Sign In
  3. Select a player sprite
Watch Video 2 and Create (8 minutes)
Directions Student Instructions
  • Club members will program the sprite to launch from a starting position. Watch for club members who may have difficulty setting an x, y position for their sprite using the "go-to" block.
  • Club members could possibly "lose" their sprite off the stage in this step. If you see this happen, a quick fix is to type the coordinates 0,0 into a "go to x, y" block, and click on the block. This will bring the sprite back to the middle of the stage.
  1. Select a Player 1 sprite and create an event that will happen when the spacebar is pressed.
  2. Add a "move" block to make the sprite move forward.
  3. Add a "repeat until" block to the stack.
  4. Add a "touching Finishline"  block as a condition.
  5. Set a starting position for your sprite with a "go-to" block.
Watch Video 3 and Create (7 minutes)
Directions Student Instructions
  • Watch the agenda and remind members where they should be at this point in the club session.
    (Show script)

    Looking at the agenda, you should now be on Video [X]. You should start watching that video soon, so you can finish this activity.

  • Help move members along individually who begin to fall behind.
    (Show script)

    Hi [name], I see that you are working on Video [X]. Remember that we have a certain amount of time for each video so you can finish your project! Take a couple more minutes to finish this one, then move to the next. I’ll come back and check on you in a little bit.

  1. Select the player 1 sprite and create events for the left and right arrow keys.
  2. Add two "turn" blocks to make the sprite turn left and right.
  3. Make the player 1 sprite turn smoothly by adding a "repeat until" block, a "not" block, and a "key pressed" block to each "turn" stack.
Watch Video 4 and Create (8 minutes)
Directions Student Instructions
Cloning too many sprites can slow down computers, and in some extreme cases, crash the browser. While this in no way damages a computer or a club member's project, it takes time away from coding. If you notice this is an issue in your club, stop the club for a moment and let members know that it can happen. Ask them to limit their clones to less than 20 (meaning only repeat the loop 20 times) so as to not crash the computer or browser. 
If club members don’t have questions, it is still important to walk around the classroom and interact with everyone. The self-paced nature of CS First clubs ensures that you have time to work individually with club members even when questions aren’t being asked. Consider asking club members: “Can you tell me about what you’re working on?”; “How are you doing?”; “Wow that’s interesting! How’d you make it do that?”; “What’s your favorite part of your program/game/project so far?”
 
  1. Add a sprite and resize it. 
  2. Make the new sprite bounce around the stage.
  3. Make the enemy sprite move in random directions.
  4. Make the enemy sprite clone itself.
  5. Arrange these blocks with parts of your existing block stack.
  6. Add "hide" and "show" blocks.
Watch Video 5 and Create (5 minutes)
Directions Student Instructions
Club members should watch the videos and build at their own pace. Some club members will work faster or slower than others. If you notice that club members are behind the times set by the agenda, work with them so that they’re able to finish the activity on time (the add-on selection page is not part of the core activity). Periodically, check for club members who are falling behind the agenda. Look at the video number on the CS First tab to determine where a member is in his or her project.
  1. Create a "score" variable for the player sprite.
  2. Use an if statement to add to the "score" variable.
  3. Add a "when green flag clicked" block and a forever loop to make the condition always happen after the flag is clicked. 
  4.  Add a "set score to 0" block to fix the bug that keeps the score from resetting.
  5. Make the new sprite bounce around the stage.
Choose Add-Ons and Create (0 minutes)
Directions Student Instructions
During this time, members customize their projects by trying some add-ons. Add-ons allow members to explore programming concepts and features as they follow the guidance and instruction in the videos.
  1. Walk around, and encourage members to try the add-ons that interest them.  
    (Show script)

    It looks like you've finished the core videos. That's great! Move to the next page to learn about different ways to customize your project.

  2. Help members navigate the add-ons menu.
    (Show script)

    "When you click "watch," the add-on will open. To go back to the add-on selection screen, click on the X at the top of the video."

  3. If you notice that members have not saved or shared their projects (You will see a "See project page" button in the top right corner of the project editor on projects members have shared.), encourage them to do so before they continue working on add-ons.
    (Show script)

    I see that you're working on the add-ons. Be sure to save your project, and click "Share" to make it available to the Scratch community.

  1. Click on any of the boxes to go to the Add-On Video.
  2. When you finish, come back to the Add-Ons Screen and try another Add-On!
CS First Reflection (2 minutes)
Directions Student Instructions
  1. Get everyone’s attention using the silent signal.
    (Show script)

    [silent signal] Can I have everyone’s attention up here, please?

  2. Ask club members to click the next arrow until they reach the reflection page, then to complete the reflection.
    (Show script)

    Now it's time for the CS First club reflection and wrap-up video. Click the 'next' arrow, and complete the reflection. Then, click the next arrow and watch the wrap-up video. While you do this, I'll walk around and hand out participation badges.

  3. Walk around, and ensure that club members are transitioning to the reflection page.
  4. Give out participation badges (stickers).
  1. Complete the CS First Reflection.
Watch Wrap-Up Video (4 minutes)
Directions Student Instructions
  1. Prompt club members to complete the club reflection, then move on to the wrap-up video.
    (Show script)

    After you've completed your reflection, click the 'next' arrow to watch the wrap-up video. While you're finishing these final steps, I'll continue to walk around and award the participation badges for this activity.

  2. Ask club members to write a shout-out for a clubmate. [optional] 
    (Show script)

    After watching the wrap-up video, write a positive note to a clubmate on your sticky note. Thank someone who helped you, or call out a great project. Once you've written a shout-out, come place it on the G+ board.

  3. Continue to circulate around the club, and pass out participation badges.
  4. When the Agenda Timer indicates that 30 seconds remain in this section, remind club members about the time.
    (Show script)

    You have thirty seconds remaining until we begin sharing projects.

Write a G+ shout-out!
Share Projects (4 minutes)
Directions Student Instructions
  1. Tell club members to return to Scratch, and click the "share" button.
    (Show script)

    [Silent signal] Please return to your Scratch project. If you haven't already, please name your project, and, if you’d like, share it by clicking the "share" button in Scratch. Sharing you project will allow any user on the Scratch website to view it. If you can't find the "share" button, ask a neighbor for help. Once you've shared your project in Scratch write a description that explains how to use it. Then, in one minute, we'll begin sharing projects with our neighbors.

  2. Ask the club to begin sharing their projects with the person or people sitting next to them.
    (Show script)

    Everyone please begin sharing your projects with the people sitting near you. During this time, I shouldn't see anyone working on their projects.

  3. Walk around and encourage club members who haven’t shared their projects (the share button will still be visible in the top-right corner of the screen) to do so. If club members don’t wish to share, that’s okay. Ensure that all club members are engaging in this social aspect of the club by either sharing their project with a neighbor, or talking to other club members about their project.
  1. Click the "Share" button in Scratch.
  2. Share your project with a neighbor.
Select Showcases (1 minutes)
Directions Student Instructions
  1. Display showcase selector on board (follow the link at the top of this club plan).
  2. Get everyone’s attention using the silent signal and request that club members turn off their monitors. Ensure that all monitors are turned off before beginning (club members won’t need to use their computers again during this club).
    (Show script)

    [Hand raised] Everyone please turn your monitors off and direct your attention up here.

  3. Transition to the showcase selector.
    (Show script)

    It's time to select showcases for next club. Let’s get excited!

  4. Run the showcase selector.
    (Show script)

    Here we go! Let’s press the "Choose a Showcase!" button and see who gets selected! And we have… CSF###!

  5. Using the club roster, find and say the names of the club members selected.
    (Show script)

    Wonderful! CSF### is...  [name]! I’m really looking forward to seeing [member names] projects next club.

  6. Remind members to share their project.
    (Show script)

    If you were one of the members selected, make sure that we'll be able to see your project by clicking the share button at the top of the project editor. If you didn't do that for this project, make sure you do it first thing at the start of next club.

  7. Tell members what to do if they don't want their project shown.
    (Show script)

    If you were selected, but you don't want your project shown next club, please see me after this club or before the beginning of next club.

 
  1. Enjoy projects from last club!
  2. Make some noise!
Club Discussion (4 minutes)
Directions Student Instructions
  • Briefly review and highlight some G+ posts that club members made.
    (Show script)

    Let’s look at some of the G+ shout-outs that club members received for their work during this activity. [Read a few G+ shout-outs aloud].

  • Lead whole-club discussion.
    (Show script)

    Finally, let’s discuss what you learned during this activity. [Read "discussion questions" below].

  • Preview next club.
    (Show script)

    Next club is on [day of next club (e.g. Monday)], and you will build [description of project].

  • Exit.
    (Show script)

    Once your headphones are wrapped up and your computers are shut down, we will all leave together. I look forward to working with you again next club!

Discussion questions:
  • What was your favorite part of the activity?
  • How did you use events in your project?  
  • How did you use randomness?  
  • What concept did you use to store the player's score? [variables]
Next club: Quest Game (RPG)
  1. Participate in discussion.
  2. Clean up computer station.
  3. Wrap headphones.
  4. If instructed to by your Guru, shut down computers.

After members have exited the room: