The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

How to build Star Hunter
Welcome to your first Scratch game:
Star Hunter, a fast-paced, underwater
treasure hunt. Just follow the simple
steps in this chapter to build the
game, then challenge a friend to beat
your score.

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Ektra Academic, 2021-01-05 21:31:36

Star Hunter

How to build Star Hunter
Welcome to your first Scratch game:
Star Hunter, a fast-paced, underwater
treasure hunt. Just follow the simple
steps in this chapter to build the
game, then challenge a friend to beat
your score.

Keywords: Scratch 2.0

Star
Hunter

30 S T A R H U N T E R

How to build Click this icon to Type in the name The score shows
Star Hunter make the game fill of your game. how many stars
your screen. you’ve collected.
Welcome to your first Scratch game:
Star Hunter, a fast-paced, underwater Star Hunter
treasure hunt. Just follow the simple
steps in this chapter to build the by Octoblaster99 (unshared)
game, then challenge a friend to beat
your score. Score 0

AIM OF THE GAME An underwater
backdrop image
The aim of this game is to collect as
many gold stars as you can. Use the cat sets the scene.
to collect the stars, but watch out for
deadly octopuses. You’ll need to move
quickly to succeed. The main sprites
in the game are shown below.

◁ Cat
Move the cat around the
screen with your computer
mouse—the cat sprite follows
the mouse-pointer.

◁ Octopuses
The octopuses patrol the seas
but they swim more slowly
than you. If you touch one,
the game is over!

◁ Stars
These appear one at a time
in random places. Touch a star
to score a point.

HOW TO BUILD STAR HUNTER 31

Click the green flag GAME CONTROLS
to start a new game.
Use a computer mouse
Collect stars or touchpad to control
to score points. this game.

Click the stop sign
to end a game.

Don’t touch the octopuses!
There are three octopuses and
they move in different ways.

◁ Under the sea
Star Hunter is set in the deep
sea, but you can change the
backdrop to anything you like,
from outer space to a picture
of your bedroom.

Ready?
Let’s code!

You play the game as a cat.
Move your computer mouse
to move the cat.

32 S T A R H U N T E R

Building scripts

Like any Scratch program, Star Hunter is made by joining
colored blocks like the pieces of a jigsaw puzzle. Each block
is an instruction that tells a sprite what to do. Let’s start by
programming the game’s main sprite: the cat.

1 Start Scratch and choose either “create” or Clicking the
“New Project”. You’ll see a screen like the one buttons here
below, with the cat sprite in place. In the reveals different
middle is a set of blue instruction blocks. sets of blocks.

SCRATCH File ▾ Edit ▾ Tips

Star Hunter Scripts Costumes Sounds

by Octoblaster99 (unshared)

Motion Events x: -126
Looks Control y: 96
Sound Sensing
Pen Operators
Data More Blocks

move 10 steps go to mouse-pointer ▾
turn 15 degrees
x: 153 y: -61 turn 15 degrees
point in direction 90 ▾
Sprites New sprite: point towards ▾ Drag your chosen blocks
go to x: 0 y: 0 here to build a script.
go to mouse pointer ▾
glide 1 secs to x: 0 y: 0

Stage Sprite 1

1 backdrop

New backdrop:

Backpack

2 We’ll program the cat to move Choose blocks 3 Now select the yellow Control
wherever the player moves the from the list in button and look for a “forever” block.
computer mouse. Click on the “go to the middle.
mouse-pointer” block and drag it to
the right part of the screen—the Scripts Costumes Sounds
scripts area.
Motion Events
go to mouse-pointer ▾ Click Control Looks Control
to reveal the Sound Sensing
Some blocks include yellow blocks. Pen Operators
a drop-down menu. Data More Blocks

The blue Motion wait 10 secs
blocks control the way repeat 10

sprites move.

forever

Drag the
“forever” block to

the scripts area.

GAME PROGRESS 1 4 % 33

4 Drag it to the right and drop it over 5 Next, select the brown Events button. Look for
the blue block. It will wrap around a block with a green flag. Drag it to the right and add
it like this: it to the top of your script. Read through the script
and think about what each block does.
forever
go to mouse-pointer ▾ when clicked This block starts the
game when you click
forever the green flag.

go to mouse-pointer ▾

6 Now look at the top right Click the You can stop the This block makes the
of the stage—you’ll see green flag script by clicking the cat move with the
a green flag. Click this to to play. red stop button. player’s mouse-pointer.
run your script.
This block makes the
block inside it repeat
over and over again.

SCRATCH File ▾ Edit ▾ Tips

Star Hunter Scripts Costumes Sounds

by Octoblaster99 (unshared)

Motion Events x: -126
Looks Control y: 96
Sound Sensing
Pen Operators
Data More Blocks

move 10 steps when clicked
forever

go to mouse-pointer ▾

turn 15 degrees

turn 15 degrees

point in direction 90 ▾

point towards ▾

go to x: 0 y: 0

x: 153 y: -61 go to mouse pointer ▾

Sprites New sprite:

glide 1 secs to x: 0 y: 0

Bravo!

Stage Sprite 1

1 backdrop

New backdrop:

Backpack

7 Move your mouse and watch what ▷ Well done!
happens. If you followed all the
steps, the cat will move with the You have created your first
mouse-pointer around the stage. Scratch project. Let’s add some
more things to the project to
build a game.

34 S T A R H U N T E R Type the sprite’s
name here.
8 The cat is called “Sprite1”. Let’s fix that. In the sprites
list, select Sprite1 (the cat) and click on the blue “i”
in the corner to get more information about the
sprite. Change the name to “Cat”.

Click here to Cat direction: 90°
bring up the
information x: 84 y: -69 Cat
pop-up box. rotation style:
can drag in player: The new
Sprite 1 show: name appears.

Setting the scene

At the moment, the stage is just a boring white
rectangle. Let’s create some atmosphere by
adding scenery and sound effects. To change
the scenery, we add a “backdrop” image.

9 To the left of the sprites list is a Star Hunter
button to add a picture from the
backdrop library. Click it and look for by Octoblaster99 (unshared)
“underwater2”. Select the image and
click “OK”. The backdrop will now fill
the stage.

The backdrop is just
decoration and doesn’t

affect the sprites.

Stage Click this icon
to open the
1 backdrop backdrop
library.
New backdrop:

GAME PROGRESS 2 9 % 35

Sound effects Delete
sounds here.
Now we’ll add a bubbling sound to the cat sprite
to make it sound like we’re underwater.

10 Highlight the cat in the sprites list and 11 Look for “bubbles” in the 2
then click the Sounds tab above the library. You can preview
blocks palette. Click the speaker icon to
choose a sound from the library. sounds by clicking the play

symbol. To load a sound

into the game, click the

Scripts Costumes Sounds speaker icon and then “OK”. bubbles
Now you’ll see bubbles in 00:04.08

your list of sounds.

New sound: Use a sound from This is how long
your computer. the sound lasts.

Record a sound You can add
sounds to the stage as
Choose a sound
from the library well as to sprites.

Sounds tab

12 Click the Scripts tab and add the when clicked Click Sound in the
following script to the cat sprite, but forever blocks palette to find
leave the old script in place because this block.
you need both. The new script repeats
the bubbles sound. The “play sound ... play sound bubbles ▾ until done
until done” block waits for the sound to
finish before letting it start again. Run
the game to hear the sound effect.

EXPERT TIPS Blocks run from top The “forever” block makes
to bottom. the program return to the
Loops start of the block.
clicked
A loop is a section of code that when
repeats over and over again. The
“forever” block creates a loop that forever
carries on forever, but other types
of loop can repeat an action a fixed play sound bubbles ▾ until done
number of times. Loops are very
common in almost all computer
programming languages.

36 S T A R H U N T E R This block runs the Motion blocks are dark
script when the blue and control the
Add an enemy game begins. way sprites move.

The game needs an enemy to make things more
interesting. Let’s add an octopus with a deadly
sting. The octopus will patrol the stage, moving
left and right, and the player will have to keep
out of its way or the game is over.

13 To add a second sprite to the 14 Add the following script to when clicked
project, click the icon shown the octopus sprite. To find
below to open up the sprite the blue blocks, click on forever
library. Choose the octopus Motion in the blocks
and click “OK”. palette. The two Motion move 10 steps
blocks used here make the
New sprite: octopus move left and if on edge, bounce
right across the stage.

Click here to open
the sprite library.

The octopus sprite will The “forever” This block stops
appear in your sprites list. block repeats the octopus from

everything moving off the
inside. edge of the stage.

Octopus

15 Now run the script. The octopus will patrol left and 16 Choose the middle option and run the
right, but you’ll notice it’s upside down half the project. The octopus should now stay right
time. We can fix this by changing the way the sprite side up and facing forward all the time. You
turns around when it changes direction. Highlight can adjust its starting position on the screen
the octopus and click the blue “i”. In the pop-up by dragging it with the mouse.
box, there are three options after “rotation style”.
Star Hunter
The middle option makes
the sprite flip sideways by Octoblaster99 (unshared)
when it bounces.

Octopus direction: 90°

x: 84 y: -69
rotation style:
can drag in player:
show:

The left option makes The right option makes
the sprite turn upside the sprite bounce
down when it bounces. without turning round.

GAME PROGRESS 4 3 % 37

Collisions then

So far the octopus and cat move through each other This block detects
without anything happening. We need to add a collision.
a script to make them stop moving when they collide. then
Collision detection is very important in computer games.

17 Highlight the octopus and drag if touching Cat ▾ ?
a yellow “if then” block to an empty
part of the scripts area. Now add mouse-pointer
a pale blue “touching” block to the
top of the “if then” block. Click the edge
drop-down menu and choose “Cat”.
This script will help the octopus Sensing blocks Cat
detect the cat. are pale blue.

18 Choose Control in the blocks palette if touching Cat ▾ ?
again, and add a “stop all” block to stop all ▾
the middle of the “if then” block. This
will stop all action if the octopus is
touching the cat, ending the game.

19 Now add the “if then” blocks you’ve built This block EXPERT TIPS
to the octopus’s main script, placing it ends the game
carefully after the blue Motion blocks. when the “if then”
Also, add a “wait 0.5 sec” before the loop. sprites collide.
Run the project and see what happens. You make decisions every day.
If it’s raining, you might use
when clicked The “wait” block adds a an umbrella. If it isn’t, you don’t.
slight delay before the Computer programs do the same
octopus starts moving. thing by using what programmers
call conditional statements, such
wait 0.5 sec as “if then”. When Scratch reaches
an “if then” block, it runs the blocks
forever The “stop all” block only inside only if the statement is true.
move 10 steps runs if the answer to
if on edge, bounce the question in the Octopus touching cat?
“touching” block is yes.
True False
if touching Cat ▾ ? then

stop all ▾

Stop the sprites Keep going

38 S T A R H U N T E R

More enemies

Let’s add more enemies to the game, but to make things
more challenging, we’ll make them move in different
directions. We can tell each sprite exactly which way
to go by using a block that works like a compass.

20 Add a purple “set size” block to the top of the 21 To change the octopus’s direction, click on
octopus’s script, after the “when clicked” block. Set the window in the “point in direction” block
the octopus’s size to 35% to make the game a bit and type 135 in place of 90. This will make
easier. Then add a blue “point in direction” block. the octopus move diagonally.

Click in this window point in direction 135 ▾
and type 35 to set the
when clicked octopus’s size to 35%. (90) right
(–90) left
wait 0.5 sec Type 135 into this
window.

set size to 35% (0) up
point in direction 135 ▾ (180) down

This number tells the The drop-down
octopus which direction menu gives you
four quick options.
to set off in.
22 Now we can duplicate our octopus to create more
EXPERT TIPS enemies. Right-click on the octopus in the sprites
list (or control-click if you have a Mac) and choose
Directions “duplicate”. Copies of the Octopus sprite will appear
in the sprites list, named Octopus2 and Octopus3.
Scratch uses degrees to set direction. You Each will have a copy of the first octopus’s script.
can choose any number from –179° to
180°. Negative numbers point sprites left;
positive numbers point them right. Use
0° to go up and 180° to go straight down.

–90° moves a 0° Sprites This menu appears
sprite straight if you right-click
to the left. on a sprite.

–90° 90° Cat Octopus info
duplicate
180° 180° moves a Choose “duplicate”. delete
sprite straight save to local file
down.

GAME PROGRESS 5 7 % 39

23 To make the octopuses move in different directions, 24 If it’s too hard to stay alive, make the
change the number in the “point in direction” block for octopuses slower by lowering the
each new octopus. Leave the first Octopus sprite’s number of steps in their “move” blocks
direction as 135, but set Octopus2 to 0 and Octopus3 to two. Remember to change the
to 90. Run the project and try to avoid all the enemies. script for all three octopus sprites.

Changing this number adjusts
the octopus’s speed.

move 2 steps
if on edge, bounce

25 For more variety, let’s make one when clicked Type –179 in the
of the octopuses set off in a first window.
random direction. To do this, we
use a green “pick random” block. set size to 35%
This is Scratch’s way of rolling a
dice to generate a random point in direction pick random –179 to 180
number. Choose Operators in
the blocks palette to find the wait 0.5 sec Type 180 in the
block and add it to the first forever second window.
octopus’s script. Run the project
a few times to see the octopus move 2 steps
choose different starting if on edge, bounce
directions.

if touching Cat ▾ ? then

stop all ▾

EXPERT TIPS 2

Random numbers when clicked
say pick random 1 to 6
Why do so many games use dice?
Dice create surprises in a game This block picks a random
because they make different things number from 1 to 6.
happen to each player. A random
number is one you can’t predict in
advance, just like the roll of a dice.
You can get the cat to say a random
dice roll using this simple code.

40 S T A R H U N T E R

Collecting stars

In many games, the player has to collect valuable
items to win points or to stay alive. In Star Hunter,
we use gold stars as underwater treasure that the
player has to collect. We’ll use random numbers
again to make each star appear in a new place.

26 Click the “choose new sprite” symbol in the sprites
list and choose the “Star1” sprite from the library.

Sprites New sprite: Click this symbol
to open the sprite
library.

Star1 Cat Octopus Octopus2 Octopus3 The Star1 sprite will
Star1 appear in your
27 Add the following script to Star1. This script will make the star
move to a random new location whenever the cat touches it. The sprites list.
green blocks create random numbers called coordinates, which
Scratch uses to pinpoint locations on the stage. The “if then” block
checks whether the cat
is touching the star.

when clicked then The “go to” block only
forever touching Cat ▾ ? runs if the answer to
the question is yes.
if
y: pick random –150 to 150
go to x: pick random –200 to 200

The “forever” block repeats Type the numbers shown
the blocks inside it. here into the green blocks.

28 To see the star’s coordinates change when it Star1: x position 60
moves, choose Motion in the blocks palette and Star1: y position 78
put ticks by “x position” and “y position”. Now run
the game: you’ll see the star’s x and y coordinates
update each time the cat makes it move. Untick
both boxes before you carry on.

GAME PROGRESS 7 1 % 41

EXPERT TIPS Star Hunter

Using coordinates by Octoblaster99

To pinpoint a location on the stage, Scratch y
uses numbers called coordinates. These 180
work just like graph coordinates, with x
numbers for horizontal positions and (x:–100, y:100) 120
y numbers for vertical. To find the 60
coordinates for a spot on the stage, just
count the steps across and up from the –240 –180 –120 –60 0 (x:180, y:50) x
center of the stage. Positive coordinates –60 60 120 180 240
are up or right, negative coordinates are
down or left. Every spot on the stage has –120
a unique pair of coordinates that can be
used to send a sprite to that position. –180 (x:90, y:–130)
(x:–190, y:–150)
The x axis is longer than
the y axis and extends
from –240 to 240.

29 You can add a sound effect that plays Insert the “play sound” block into
when the cat touches a star. First Star1’s existing script, then use
make sure that the star is selected in the drop-down menu to choose
the sprites list, then click the Sounds which sound to play.
tab above the blocks palette. Click the
speaker symbol to open the sound
library. Choose “fairydust” and click
“OK”. Now add the pink “play sound”
block to the star’s script and choose
“fairydust” in the drop-down list.

if touching Cat ▾ ? then

play sound fairydust ▾

go to x: pick random –200 to 200 y: pick random –150 to 150

42 S T A R H U N T E R 7 69

Keeping score

Computer games often need to keep track of vital
statistics such as the player’s score or health. We
call these changing numbers “variables”. To keep
track of the player’s score in Star Hunter, we’ll
create a variable that counts the number of stars
the player has collected.

30 With any sprite selected, choose 31 A pop-up box appears asking you to
Data in the blocks palette. Click on give your variable a name. Type “Score”
the button “Make a Variable”. in the box. Make sure the option “For
all sprites” is selected and hit “OK”.

Scripts Costumes Sounds

Motion Events Click here to New Variable
Looks Control create a new Variable name: Score
Sound Sensing variable.
Pen Operators For all sprites For this sprite only
Data More Blocks
OK Cancel

Make a Variable This option makes the
Make a List variable available for
every sprite.

32 You’ll see a new set of blocks appear, including 33 The score counter will appear in the
one for the score. Make sure the box next to it is top left of the stage but you can drag
checked to make the score appear on the stage. it anywhere you like.

Make a Variable Star Hunter

Score by Octoblaster99 (unshared)

set Score ▾ to 0 Score 0
change Score ▾ by 1
show variable Score ▾ You can use the
hide variable Score ▾ mouse to move the

score display.

GAME PROGRESS 8 6 % 43

34 We want the score to start at zero and increase by one each
time the cat touches a star. Select the star sprite and add
the two orange Data blocks below to its script.

when clicked Add this block to set the score
to zero at the start of a game.
If you use the offline
set Score ▾ to 0 version of Scratch, don’t
forget to save your work
forever
from time to time.

if touching Cat ▾ ? then Add this one to make the
change Score ▾ by 1 score increase when the
play sound fairydust ▾ cat catches a star.

go to x: pick random –200 to 200 y: pick random –150 to 150

35 Now click the green flag to Hey, I’m X
run the script and see what years old!
happens when the cat
collects each star. See if you Big deal, I’m
can collect 20 stars without Y years old!
bumping into an octopus.

EXPERT TIPS

Variables

A variable works like a box that you can store
information in, such as a number than can
change. In math, we use letters for variables,
such as x and y. In computer programming,
we give variables names such as “Score” and
use them for storing not just numbers but
any kind of information. Try to choose a
name that tells you what the variable is for,
such as “Speed” or “Score”. Most computer
languages won’t let you put spaces in the
names of variables, so a good tip is to
combine words. Instead of using “dog speed”,
for instance, type “DogSpeed”.

44 S T A R H U N T E R

Better enemies

Now we have a working game, we can test it and experiment with
changes that make it easier, harder, or—most important—more fun.
One way to make the game more interesting is to make the three
octopuses do different things.

36 Right-click the script for Octopus2 and select “delete” 37 Run the project and see how the
to remove it. Replace it with the following script. This game plays. You’ll probably find it
will make the octopus chase the cat. hard to escape the octopus because
it moves quickly. To slow it down,
when clicked change the number of steps to two.

set size to 35% This block starts move 2 steps
wait 0.5 sec the chase.
forever This number
then controls the
point towards Cat ▾ octopus’s speed.
move 5 steps
Drop the “Score”
if touching Cat ▾ ? block into the
circular window in
stop all ▾ the “move” block.

Score The octopus will
move the same
38 You can make the game get harder as you play. move 2 steps number of steps
Select the original octopus sprite and click Data as the score.
in the blocks palette. Drag the “Score” block
into the octopus’s “move” block. Now try the steps
game. The more points you get, the faster the
octopus swims.

move Score

39 If it gets too hard too quickly, we can make things The green block divides the
more gradual. Choose Operators in the blocks score by 3 to make the octopus
palette and find the small green “divide” block. speed up more gradually.
Rearrange the “move” block so it looks like the
image below. Type “3” in the second round window.

move Score / 3 steps

GAME PROGRESS 100% 45

40 Now we’ll make Octopus3 patrol in a regular pattern. To do this, The two scripts
we’ll use a new Motion block that makes it glide smoothly from are separate in
point to point, rather than moving in steps. Replace the script the scripts area.
for Octopus3 with the following two scripts. These run at the
same time, one checking for collisions and the other moving the
octopus around its patrol route.

Scripts Costumes Sounds

Motion Events when clicked
Looks Control
Sound Sensing forever x: –126
Pen Operators y: 96
Data More Blocks glide 3 secs to x: 0 y: –150

glide 3 secs to x: 200 y: 100

glide 3 secs to x: –200 y: 100

move 10 steps when clicked Type these
turn 15 degrees numbers into the
turn 15 degrees set size to 35% “glide” blocks.
point in direction 90 ▾
point towards ▾ wait 0.5 sec then
go to x: 0 y: 0
go to mouse-pointer ▾ forever
glide 1 secs to x: 0 y: 0
if touching Cat ▾ ?

stop all ▾

41 Now run the project Star Hunter I feel like I’m
and watch Octopus3. swimming in
It should swim in a by Octoblaster99 (unshared)
repeating triangle circles...
pattern. Score 0

To change the shape
of the triangle, try

different numbers in
the “glide” blocks.

46 S T A R H U N T E R LINGO

Hacks and tweaks Bugs

You’ve built a fun game, but that’s just the A bug is an error in a program. The
beginning. Scratch makes it easy to change first computers made mistakes
and adapt games as much as you want. You when real insects, or bugs, got in
might find bugs that need fixing, or you might their circuits. The name stuck.
want to make the game harder or easier. Here Today, programmers often spend
are some suggestions to get you started. as much time finding and fixing
bugs as they do writing code in
▽ Debug Octopus2 the first place.
If Octopus2 ends up in the top-right corner at the end
of a game, it can trap the player in the next game and
end it too quickly. This is a bug. To fix it, you could drag
the octopus away from the corner before starting, but
it’s better to use a script that moves it automatically.
Insert a “go to” block at the start of the script for
Octopus2 to send it to the center of the stage.

Star Hunter

by Octoblaster99 (unshared)

Octopus2 can
trap the player
in the top-right
corner.

when clicked Add this block to make △ Fine-tuning
Octopus2 start in the
center of the stage. The best games have been carefully tested to
make sure they play well. Test every change
go to x: 0 y: 0 you make and get friends to play your games
to see how well they work.

HACKS AND TWEAKS 47

▽ Different colors ▽ Flashing colors
Make your octopuses different colors
by using the “set color” block from You can make an octopus change color continually
the Looks section. Place it under the to create a flashing effect. Add the script below to
“set size” block at the start of the script. any octopus. Try experimenting with different
numbers in the “change color” block.
set color ▾ effect to 50
when clicked Change this
Try setting this number number to make
anywhere from –100 to 100 to colors change
faster or slower.
see the full range of colors.
forever
Hey! Turn me back
into a cat! change color ▾ effect by 25

△ Scuba diver ▽ Play with size
You can change how easy the game is by adjusting
To make the underwater theme more the size of the sprites. Change the number in the
convincing, replace the cat with a diver. octopuses’ blue “move” blocks to alter their speed.
Click on the cat in the sprites list, then Change the purple “set size” blocks to make sprites
open the Costumes tab and click on the larger or smaller. Fine-tune the numbers until the
sprite symbol to open the library. Load game is just hard enough to be fun.
the costume called “diver1”.
set size to 50%

when clicked ◁ Swimming animation

forever To add a professional touch to Star set size to 100%
Hunter, animate the octopuses
next costume so that they look as if they’re
swimming. Add this script to an
wait 0.1 secs empty part of the scripts area for
each octopus to make them switch
between two different poses.


Click to View FlipBook Version