pla<orm-style game which you can later add your own levels, powers and characters to. Feel free to improve on my art

Similar documents
In this project we ll make our own version of the highly popular mobile game Flappy Bird. This project requires Scratch 2.0.

Ghostbusters. Level. Introduction:

Create Your Own World

In this project you ll learn how to create a times table quiz, in which you have to get as many answers correct as you can in 30 seconds.

Whack-a-Witch. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code

In this project you ll learn how to create a platform game, in which you have to dodge the moving balls and reach the end of the level.

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

Create a game in which you have to guide a parrot through scrolling pipes to score points.

In this project you ll learn how to create a game in which you have to save the Earth from space monsters.

Clone Wars. Introduction. Scratch. In this project you ll learn how to create a game in which you have to save the Earth from space monsters.

Flappy Parrot Level 2

Introduction to Turtle Art

Brain Game. Introduction. Scratch

Create a Simple Game in Scratch

Memory. Introduction. Scratch. In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

In this project you ll learn how to create a game, in which you have to match up coloured dots with the correct part of the controller.

Create Your Own World

Introducing Scratch Game development does not have to be difficult or expensive. The Lifelong Kindergarten Lab at Massachusetts Institute

Add in a new ghost sprite, and a suitable stage backdrop.

Game Making Workshop on Scratch

Alright! I can feel my limbs again! Magic star web! The Dark Wizard? Who are you again? Nice work! You ve broken the Dark Wizard s spell!

AIM OF THE GAME GLACIER RACE. Glacier Race. Ben Gems: 20. Laura Gems: 13

Explore and Challenge:

GAME PROGRAMMING & DESIGN LAB 1 Egg Catcher - a simple SCRATCH game

Fish Chomp. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code

Creating Computer Games

ChatBot. Introduction. Scratch. You are going to learn how to program your own talking robot! Activity Checklist. Test your Project.

Scratch for Beginners Workbook

CISC 1600, Lab 2.2: More games in Scratch

STEP-BY-STEP THINGS TO TRY FINISHED? START HERE NEW TO SCRATCH? CREATE YOUR FIRST SCRATCH PROJECT!

Fireworks. Level. Introduction: In this project, we ll create a fireworks display over a city. Activity Checklist Follow these INSTRUCTIONS one by one

Let s start by making a pencil, that can be used to draw on the stage.

Open the Tech Toys Scratch project. Your club leader will give you a copy of this project, or you can open it online at jumpto.cc/toys-go.

Programming with Scratch

2D Platform. Table of Contents

BEGINNER APP INVENTOR

Lost in Space. Introduction. Scratch. You are going to learn how to program your own animation! Activity Checklist.

Step 1 : Earth and Mars Orbit the Sun

Part II: Number Guessing Game Part 2. Lab Guessing Game version 2.0

A. creating clones. Skills Training 5

How to do automatic horizontal background scrolling in Scratch

Scratch Programming Lesson 13. Mini Mario Game Part 4 Platforms

Project 1: Game of Bricks

You are going to learn how to create a game in which a helicopter scores points by watering flowers in the city.

INTERACTING SPRITES MODULE 3: INVESTIGATION 1. Anima9ng Sprites

G54GAM Lab Session 1

Assessment. Self Assessment. Teacher Assessment. Date Learning Objective(s) Achievement or. NC Level: Game Control Student Booklet P a g e 1

GameSalad Basics. by J. Matthew Griffis

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading)

An Introduction to ScratchJr

Copyright 2017 MakeUseOf. All Rights Reserved.

1 Shooting Gallery Guide 2 SETUP. Unzip the ShootingGalleryFiles.zip file to a convenient location.

Starting from LEARNER NOTES edited version. An Introduction to Computing Science by Jeremy Scott

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. Kinect2Scratch Workbook

Parallax Scrolling Tutorial Created in Drogheda by Seamus Minogue and updated for Clonakilty CoderDojo 15/06/2012 PARALLAX SCROLLING

Princess & Dragon Version 2

Overview. The Game Idea

Game Maker Tutorial Creating Maze Games Written by Mark Overmars

SAMPLE CHAPTER

Tutorial: Creating maze games

a. the costumes tab and costumes panel

More Actions: A Galaxy of Possibilities

Chief Architect X3 Training Series. Layers and Layer Sets

Lesson 2 Game Basics

Let s start by making a pencil that can be used to draw on the stage.

Game Design Curriculum Multimedia Fusion 2. Created by Rahul Khurana. Copyright, VisionTech Camps & Classes

Ada Lovelace Computing Level 3 Scratch Project ROAD RACER

Cato s Hike Quick Start

Pong Game. Intermediate. LPo v1

Defend Hong Kong s Technocore

Rock Band. Introduction. Scratch. In this project you ll learn how to code your own musical instruments! Activity Checklist.

GAME:IT Junior Bouncing Ball

iphoto Getting Started Get to know iphoto and learn how to import and organize your photos, and create a photo slideshow and book.

Installation guide. Activate. Install your TV. Uninstall. 1 min 10 mins. 30 mins

Tutorial: A scrolling shooter

Installation guide. Activate. Install your Broadband. Install your Phone. Install your TV. 1 min. 30 mins

5.0 Events and Actions

Module 2, Lesson 3 Webinars That Convert The Pre-Webinar Phase Five Free Strategies To Boost Webinar Registration

GIMP Simple Animation Tutorial

Lesson 1 Getting Started. 1. What are the different ways you interact with computers?

This little piece here I created is some of the scraps and then samples I was making for today s show. And these are wonderful for doing like

Lesson 8 Tic-Tac-Toe (Noughts and Crosses)

Pong! The oldest commercially available game in history

Kodu Game Programming

Getting Started with Osmo Words

In this project you ll learn how to code your own musical instruments!

Unit 5: What s in a List

Adding in 3D Models and Animations

Welcome to the Break Time Help File.

The Joy of SVGs CUT ABOVE. pre training series 3. svg design Course. Jennifer Maker. CUT ABOVE SVG Design Course by Jennifer Maker

Useful Tips To Earn With ClixSense. A Complete Guide to start your Earning with ClixSense Today!

1hr ACTIVITY GUIDE FOR FAMILIES. Hour of Code

Lead Fire. Introduction

CAN I TELL YOU ABOUT LONELINESS?

PLANETOID PIONEERS: Creating a Level!

This is an excerpt of

Girls Programming Network. Scissors Paper Rock!

Where's the Treasure?

Unit 6.5 Text Adventures

Audacity 5EBI Manual

Transcription:

SETTING THINGS UP Card 1 of 8 1 These are the Advanced Scratch Sushi Cards, and in them you ll be making a pla<orm-style game which you can later add your own levels, powers and characters to. Feel free to improve on my art Because you re learning Scratch and not how to build a physics engine (code that makes things behave at least a lifle like the real world e.g. not falling through floors), you ll be starjng with a project I ve created that already has the basics of movement, jumping and detecjng pla<orms built in. You should take a quick look at it including the details on the other side of this card, since you ll be making some changes to it later, but you don t need to understand everything it s doing. 2 The first thing you ll need to do is to get a copy of the code from h"p://dojo.soy/ advanced-scratch You can download this code by clicking See Inside, then the File menu and then Download to your computer and then open it in Scratch on your computer. You can use it directly in Scratch in your browser by just clicking See Inside and then Remix.

SETTING THINGS UP Card 1 of 8 3 The physics engine of the game has a variety of pieces in it, some of which work right now and some of which don t. You can find out which by running the game and trying to play it. You can lose lives, but nothing happens when you run out. Also, the game has only got one level, one type of thing to collect and no enemies. You re going to fix all of that, and a bit more! For now, take a look at how the code is put together. It uses lots of more blocks, which are great for splicng your code up into pieces so you can manage it beder. It s like having a block made up of a lot of other blocks, which you can give some basic instruceons to. The main game forever loop calls the main-physics block to do a whole lot of stuff! Keeping them separated like this makes it easy to read the main loop and understand what happens when, without worrying about how it happens. 4 Now look at reset game and reset character and noece: They do predy normal things secng up variables, making sure the character rotates properly reset-game calls reset-character you can use a more block inside another more block! reset-character gets used in two different places, but to change it you only have to change the code of the more block in one! This can save you a lot of work and help you avoid mistakes.

LOSING THE GAME Card 2 of 8 1 You may have no,ced that the lose more block on the Player Character sprite is empty. You re going to fill this in and setup all the pieces needed for a nice Game Over screen. First, complete the lose block: Stop the physics and other game scripts on the Player Character Tell all the other sprites that the game is over, by broadcasting a message so they can change based on that Move the Player Character to the centre of the screen and have them tell the player the game is over 2 Now you need to make sure all the sprites know what to do when the game is over, and how to reset themselves when the player starts a new game. Don t forget that any new sprites you add may need code for this too! Start with the easy ones, the PlaJorms and Edges sprites both need code for appearing when the game starts and disappearing at game over.

LOSING THE GAME Card 2 of 8 3 Now, for something a li2le more tricky! If you look at the code for the Collectable sprite, you ll see it works by cloning itself. That is, it makes copies of itself, which follow the special when I start as a clone instrucbons. We ll talk more about what makes clones special when we get to the card about making new and different collectables, but for now what you need to know is that clones can do almost everything a normal sprite can, including receiving broadcast messages. Let s look at how the Collectable sprite works: Make the original collectable invisible Setup the control variables. We ll come back to these later. This createcollectables variable is the on/off switch for cloning This creates clones if create-collectables is true, and does nothing if it s not 4 Now what you need to do is setup a block like the ones you had on the Edges and PlaNorms sprites on the Collectable sprite. The only difference is you re also seong the create-collectables variable to false so that no new clones are created. NoBce how you can use the variable to pass messages from one part of your code to another!

POWERUPS Card 3 of 8 1 On the last card you saw the collectable I created. It s a star that just adds one point when you grab it. That s pre:y boring. On this card, you re going to create a new collectable, but you re going to do it in a way that makes adding more collectables easy, so you can invent your own powers and bonuses and really make the game your own! 2 Add a new costume to the Collectable sprite for your new power-up. I like the lightning bolt, but pick whatever you like. 3 NoGce that I ve already included some pieces to make this easier for you with the collectable-type variable and the pick costume more block. You re going to need to improve on them though. collectable-type is passed to pick-costume when it s called, where it becomes type and can be used inside the more block 4 First, you need to set the collectable type. It s just a number, used to tell the program what costume, rules etc. to use for the collectable. You re going to want to pick it at random, to keep things interesgng. This example gives a 1/50 chance: Pro Tip! There can be a different value set as the collectable-type for each clone. Think of it like creagng a new copy of the variable on the main collectable sprite with the value that was in collectable-type the instant that clone was created. One of the things that makes clones special is that they cannot change the values of any variables they start with. They are effecgvely constant values.

POWERUPS Card 3 of 8 5 Great! Now you re se/ng a different value for the collectable type, but none of the code knows what to do with it yet! First, just teach the pick-costume more block to set the new costume when it gets the new type, like this (using whatever costume you picked): 6 Now you need to decide what the powerup will do. We ll start with something simple: giving the player a new life. On the next card, you ll make it do something cooler. 1 Go into more blocks and Make a Block. Expand the oplons seclon and add a number input. Name the block reactto-player and the number input type 2 Make the react-to-player block either give the same points prize that the star is already giving, or increase the player s lives, depending on the type of powerup. 3 Update the when I start as a clone code to replace the points increase with a call to react-to-player, passing collectable-type. Stars slll boost points but the new powerup adds lives.

SUPER POWERUPS! Card 4 of 8 1 Now that you have a new powerup working, it s Cme to make it do something cool! How about making it rain powerups for a few seconds, instead of just giving out an extra life? To make that work, you need to create another piece of code that you can start while the react-to-player block finishes running. The way to make this happen is to use the broadcast block to send a message to another piece of code inside this sprite. Let s call it collectable-rain, since that s basically what it does! 2 Create this block on the collectable sprite. This block just sets collectable-frequency to a very small number (change it to different values, see what happens!) and then waits a second and changes it back to 1. This doesn t look like it should do much, but if you think about what s happening during that second, the when (green flag) clicked code is scll running, and the repeat un7l loop in it is looping. Look at the code in that loop: Instead of pausing the code here for a second, it s only pausing for one millionth of a second, meaning that the loop will run many more Cmes than normal because of the smaller value of collectable-frequency. This means that the code is going to create a lot more powerups in that second than it normally would. Can you think of any problems that might cause? There ll be a lot more lightning bolts what if I kept catching them?

SUPER POWERUPS! Card 4 of 8 3 Now you have that broadcast block ready, but it s not being used yet. This next part s easy. Just update react-to-player to look like this, so it broadcasts collectable-rain when the player touches a type 2 powerup. Get Creative! Based on this card and the previous one, you can now make as many powerups as you want! What about one that gives out 20 Fmes the usual number of points, adds three lives, or maybe means the player can t run out of lives while it s on? Come up with some and see if you can make them!

ADDING SOME COMPETITION Card 5 of 8 1 Your game works and now you can collect points, get special powers from powerups and lose. We re ge:ng somewhere! Maybe it d be fun to add some compe??on though what about including a character who moves around a lible, but you can t touch? Like the enemies in the tradi?onal plaeormer games (like Super Mario) we re being inspired by here. Well, first, pick your enemy and add their sprite. Because our character is a cat, I chose a dog. There are lots of other sprites you could add though. I also renamed the sprite to Enemy just to make things clearer for me. Resize the sprite to the right size and place it somewhere appropriate to start. Here s what mine looks like: 2 Write the easier code first: Setup the block for the game over message, so the enemy will disappear when the player loses the game.

ADDING SOME COMPETITION Card 5 of 8 3 Now you need to write the code for what the enemy does. You can use mine from this card, but don t be afraid to add more! What if they teleport around to different pla=orms? Or what if there s a powerup that makes them move faster, or slower? If you just drag the go to block and don t change the x & y values, they ll be the values for the current locahon of the sprite! The enemy will turn around when they get to the end of the pla=orm! 4 The next thing you ll need is for the player to lose a life when they touch the enemy. You need to make sure they stop touching really quickly, though, since otherwise the touching code will keep running and they ll keep losing lives. This code is the way I did modified the Player Character sprite s main block, though feel free to try to improve on it! Here s the new code. It hides the character, moves them back to their starhng posihon, reduces lives by one and, aper half a second, makes them re-appear.

LEVEL 2 Card 6 of 8 1 What you re going to do on this card is add a new level to the game that the player can get to just by pressing a bu9on. Later, you can change it so they need a certain number of points, or something else, to get there. 2 First, create a new bu9on sprite by either adding it from the library or drawing your own. I did a bit of both and came up with this: 3 Now, the code for this bu9on is kinda clever; it s designed so that every Eme you click it, it will take you to the next level, how ever many levels there are. The highest level The lowest level Add this to your bu9on sprite The level the player is on right now These all need to be set by the programmer, so if you add a third level, don t forget to change max-level! This uses broadcasts to tell the other sprites which level to display, and to clear up the collectables. 4 Now you need to get the other sprites to respond to those broadcasts! Start with the easy one: clearing all the collectables. If you just tell them to hide, all the exiseng clones will. So add this to the collectable sprite: Since one of the first things any new clone already does is show itself, that means you don t even have to worry about turning this off for them!

LEVEL 2 Card 6 of 8 5 Now to switch the pla/orms sprite! You can design your own new level later, if you like, but for now let s use the one I ve already included (you ll see why on the next card!). You just need this code to take the messages sent out by joining the level- and the current-level variable and use them to change the pla/orms costume. 6 For the Enemy sprite, you just need to make sure it disappears on level 2 (or move it to another pla/orm!), like this: 7 Finally, the player character needs to separate out the coordinates from the reset character more block, so the character goes to the right place, and call the first level when the game starts. Set starmng coordinates and call resetcharacter Use variable starmng coordinates instead of fixed x and y cordinates Use the broadcast of the min-level to reset the character and game

MOVING PLATFORMS Card 7 of 8 1 The reason I asked you to use my version of level 2 is the gap you might have no8ced in the middle. You re going to create a pla=orm that moves through that gap, that the player can jump onto and ride. 2 First, you ll need the sprite for the pla=orm. You can create this by adding any sprite, naming it Moving-Pla=orm and using the costume customisa8on tools in the costumes tab to make it look like the other pla=orms (use vector mode). 3 Time to start adding some code! Begin with the basics: To make a never-ending set of pla=orms moving up the screen, you ll need to clone the pla=orm at some sort of interval. I picked 4 seconds. You also need to make sure that there s an on/off switch for making the pla=orms, so they don t show up on level 1. I m using a variable called create-pla=orms.

MOVING PLATFORMS Card 7 of 8 4 The clone s code is simple: Move up to the top of the screen, slowly enough for the player to jump on and off, and then disappear. 5 You need to make the pla@orms disappear/reappear based on the level changing and on the game over event. 6 Now, if you try to actually play the game, the Player Character falls through the pla@orm! Any idea why? It s because the physics code doesn t know about the pla@orm. It s actually an easy fix: Go through the code on the Player Character sprite and replace every touching Pla.orms with an OR operator, where you check for either touching Pla.orms OR touching Moving Pla.orm

WHAT NEXT? Card 8 of 8 1 You ve got a game now! But there s s3ll a lot more you can do with it! Here s a few ideas to get you started: High Scores! Keep a list of the names and scores of people who ve go>en high scores in the game! You ll need to use the ask block to the get their name. New Powerups! Try adding some new powerups. For example: - Immunity to enemies - More lives - Bigger player character - Smaller player character Scrolling Levels! Can you figure out how to make the levels scroll along, so the player character can move through them from les to right? Or at least look like that s what s happening? Completing Levels! Right now, the levels never end. What if, instead of pushing a bu>on, you needed a certain number of points to get to the next level? Play With Physics! Try changing some of the values in the physics engine, like the gravity, jump height, x-speed and y- speed. How do they change the game? Can you use them to make powerups? More Levels! Add more levels! Make be>er art! By using the stage background, make the game look cooler while s3ll keeping plaqorms easy to work with as a coder. Sound Effects! This game is totally silent right now! Try adding background music and sound effects using the blocks in sound! Secrets! Think of secret bonuses, cheat codes and other easter eggs you could hide in the game for players to discover. Try to code some of them! Different Characters! Let the player pick a character. Make them different in things like size, how high they jump, maybe even how many lives they have and points they get from collectables!

WHAT NEXT? Card 8 of 8 Tell us what you thought! Go to h"p://dojo.soy/advanced-scratch-end and let us know if you had fun with these Sushi Cards and what you d like to see in future!