Hello Scratch!
Learn to program by making arcade games
Gabriel Ford, Sadie Ford, Melissa Ford
  • MEAP began August 2016
  • Publication in October 2017 (estimated)
  • ISBN 9781617294259
  • 325 pages (estimated)
  • printed in color

Hello, Scratch! is a how-to book that helps parents and kids work together to learn programming skills by creating new versions of old retro-style arcade games with Scratch. The book begins with an introduction to the basic Scratch workspace, the art editor, and the most common computer science concepts you'll use in all of your projects, along with interesting exercises centered on the games. The game chapters are broken into two manageable parts with the first, shorter section focusing on background and prep, and the second, longer section focusing on coding. You'll also learn to make art for your games, including backgrounds and sprites (the game pieces) in a pixel art style directly in the Scratch editor. By building games, you not only create fun finished products, but you'll learn important programming skills along the way. By the time you're done, you'll be able to create your own games and understand the basics of computer programming and game design.

Table of Contents detailed table of contents

Welcome to Making Games in Scratch

1.1. 0.1 What Is Scratch?

1.2. 0.2 And What Are Retro Games?

1.3. 0.3 What Type of Games Will You Learn How to Make?

1.4. 0.4 How to Use This Book

1.5. 0.5 The Offline Editor

1.6. 0.6 Words You Need to Know

1.7. 0.7 About the Authors

1.8. 0.8 Dedication

1.9. 0.9 Are You Ready to Start Programming?

Part 1

1. Getting to Know Your Way Around Scratch

1.1. Building Your First Program

1.1.1. Getting Started

1.1.2. Moving the Cat

1.1.3. Changing a Block

1.1.4. Continuing a Step

1.1.5. Adding a New Sprite

1.1.6. Trying Unknown Blocks

1.2. Navigating Your Way Around the Screen

1.2.1. Meeting the Grey Toolbar

1.2.2. Meeting the Block Menu

1.2.3. Meeting the Sprite Zone

1.3. Wrapping Up the Tour

1.3.1. Play in the Workspace

1.3.2. What Did You Learn?

2. Becoming Familiar with the Art Editor

2.1. Making Your First Drawing

2.1.1. Learning About Pixels

2.1.2. Using Art Tools to Make a Sprite

2.1.3. Making Your Own Cat, Pixel by Pixel

2.2. Making Your First Backdrop

2.2.1. Navigating to the Backdrop Art Editor

2.2.2. Making Your First Backdrop

2.3. Wrapping Up the Tour

2.3.1. Play in the Workspace

2.3.2. What Did You Learn?

3. Meeting Scratch's Key Blocks Through Important Coding Concepts

3.1. Starting a Program with the When Flag Clicked block

3.1.1. Finding Your Program's ON Switch

3.1.2. Scripting with the When Flag Clicked block

3.2. Setting Location with X and Y Coordinates

3.2.1. Finding the Sprite's Location with X and Y Coordinates

3.2.2. Scripting with the Change X by 10 block

3.3. Using a Conditional Statement

3.3.1. Finding Conditions to Set in Your Game

3.3.2. Scripting with the If/Then block

3.4. Making Loops

3.4.1. Finding Places to Use Loops

3.4.2. Scripting with the Forever Block

3.5. Using Variables

3.5.1. Finding Uses for Variables

3.5.2. Scripting with the Variable Block

3.6. Using Booleans

3.6.1. Finding Uses for Booleans

3.6.2. Scripting with Touching Blocks and Booleans

3.7. Cloning Sprites

3.7.1. Finding Sprites to Clone Mid—Game

3.7.2. Scripting with Cloning Blocks

3.8. Broadcasting Messages

3.8.1. Finding a Message to Broadcast

3.8.2. Scripting with the Broadcasting Block

3.9. Learning in Action

Part 2

4. Designing a Two—Player Ball—and—Paddle Game

4.1. Prepping the Background While Meeting the Color Wheel

4.1.1. Making the Breakfast Room Background

4.1.2. Meeting the Color Wheel

4.2. Prepping the Main Sprites

4.2.1. Making the Complementary Egg Sprite

4.2.2. Making the Retro—Style Egg Sprite

4.2.3. Making the Greyscale Pan Sprite

4.3. Prepping the Odds and Ends

4.3.1. Making the Wall Sprites

4.4. Preparing to Code

4.4.1. Play in the Workspace

4.4.2. What Did You Learn?

5. Using Conditionals to Build a Two—Player Ball—and—Paddle Game

5.1. Preparing to Program

5.1.1. Missing Sprites

5.1.2. Deleting a Sprite

5.1.3. Preparing the Stage

5.2. Programming the Cast Iron Pans

5.2.1. Making a Paddle Movement Script

5.2.2. Duplicating the Paddle Movement Script

5.3. Programming the Egg

5.3.1. Making a Starter Script

5.3.2. Making an Egg Movement Script

5.3.3. Making a Bounce Script

5.3.4. Making a Right—Side Boundary Detection Script

5.3.5. Duplicating the Boundary Detection Script for the Left Side

5.3.6. Making a Game Ending Script

5.3.7. Making a Reflection Script

5.4. Programming Odds and Ends

5.5. Troubleshooting Your Game

5.5.1. Fixing Layering Issues

5.5.2. Fixing a Glitching Egg

5.6. Learning in Action

5.6.1. Play With the Code

5.6.2. What Did You Learn?

6. Designing a Reflex Testing Game

6.1. Prepping the Background and Learning About Light

6.1.1. Making the Garden Background

6.1.2. Moving the Light Source

6.2. Prepping the Main Sprites

6.2.1. Making the Salad Bowl

6.2.2. Making the Carrot

6.3. Prepping the Odds and Ends

6.3.1. Making the Bottom Barrier

6.4. Preparing to Code

6.4.1. Play With the Game

6.4.2. What Did You Learn?

7. Using Cloning to Build a Reflex Testing Game

7.1. Preparing to Program

7.1.1. Missing Sprites

7.1.2. Preparing the Stage

7.2. Programming the Salad Bowl

7.2.1. Making a Bowl Movement Script

7.3. Programming the Carrot

7.3.1. Making a Cloning Script

7.3.2. Making a Clone Movement Script

7.3.3. Making a Project Stopping Script

7.3.4. Making a Scoring Script

7.4. Programming the Odds and Ends

7.4.1. Making a Positioning Script

7.5. Troubleshooting Your Game

7.5.1. Checking Your Scripts

7.5.2. Fixing Layering Issues

7.5.3. Carrots Falling Off the Screen

7.6. Learning in Action

7.6.1. Play With the Code

7.6.2. What Did You Learn?

8. Designing a Fixed Shooter

8.1. Prepping the Background and Learning About Proportion, Scale, and the Rule of Thirds

8.1.1. Making the Nighttime Backdrop

8.1.2. Figuring Out Scale and Proportion

8.1.3. Learning the Rule of Thirds

8.2. Prepping the Main Sprites

8.2.1. Making the Wizard

8.2.2. The Golden Ratio and the Focal Point

8.2.3. Making the Ghost

8.2.4. Making the Wand Sparks

8.3. Prepping the Odds and Ends

8.3.1. Making the Barrier Line

8.4. Preparing to Code

8.4.1. Play With the Game

8.4.2. What Did You Learn?

9. Using Conditionals to Build Your Fixed Shooter

9.1. Preparing to Program

9.1.1. Missing Sprites

9.1.2. Preparing the Stage

9.2. Programming the Wizard

9.2.1. Making a Movement Script

9.2.2. Making a Life Deducting Script

9.2.3. Making a Game Ending Script

9.3. Programming the Ghosts

9.3.1. Making a Positioning Script

9.3.2. Making a Cloning Script

9.3.3. Making a Movement Script

9.4. Programming the Sparks

9.4.1. Making a Positioning Script

9.4.2. Making a Cloning Script

9.4.3. Making a Movement Script

9.4.4. Making a Clone Deletion Script

9.5. Programming the Odds and Ends

9.5.1. Making a Positioning Script for the Line

9.5.2. Making a Scoring Script for the Background

9.6. Troubleshooting Your Game

9.6.1. Checking Your Scripts

9.6.2. Sprites Not Centered

9.6.3. Eliminating Blocks

9.7. Learning in Action

9.7.1. Play With the Code

9.7.2. What Did You Learn?

10. Designing a One Player Ball—and—Paddle

10.1. Prepping the Background and Learning About Texture

10.1.1. Making the Grass Backdrop

10.1.2. Examining Texture

10.2. Prepping the Main Sprites

10.2.1. Making the Shoe

10.2.2. Making the Ball

10.2.3. Making the Net

10.3. Prepping the Odds and Ends

10.3.1. Making the Scoreboard

10.3.2. Making the Barrier Line

10.4. Preparing to Code

10.4.1. Play With the Game

10.4.2. What Did You Learn?

11. Using Variables to Build Your One Player Ball—and—Paddle

11.1. Preparing to Program

11.1.1. Missing Sprites

11.1.2. Preparing the Stage

11.2. Programming the Shoe

11.2.1. Making a Movement Script

11.3. Programming the Ball

11.3.1. Making a Set—up Script

11.3.2. Making a Cloning Script

11.3.3. Making a Movement Script

11.3.4. Making a Shoe Detection Script

11.3.5. Making a Net Detection Script

11.3.6. Making a Ball Deduction Script

11.4. Programming the Net

11.4.1. Making the Cloning Script

11.4.2. Making a Ball Detection Script

11.5. Programming the Odds and Ends

11.5.1. Making a Scoreboard Hiding Script

11.5.2. Making a Scoreboard Showing Script

11.5.3. Making a Line Positioning Script

11.5.4. Making a Line Deduction Script

11.5.5. Making a Line Game Ending Script

11.6. Troubleshooting Your Game

11.6.1. Center Your Sprites

11.6.2. Tweak the Code

11.7. Learning in Action

11.7.1. Play With the Code

11.7.2. What Did You Learn?

12. Designing a Simple Platformer

12.1. Prepping the Backgrounds

12.1.1. Making the Open Sand Backdrop

12.1.2. Making the Hole in the Sand Backdrop

12.1.3. Making the Water Ditch Backdrop

12.2. Prepping the Main Sprites

12.2.1. Making Beachy Buffy

12.2.2. Making the Sandcastle

12.2.3. Making the Crab

12.2.4. Making the Vine

12.3. Prepping the Odds and Ends

12.3.1. Making the Side Barrier Lines

12.4. Preparing to Code

12.4.1. Play With the Game

12.4.2. What Did You Learn

13. Using X and Y Coordinates to Make a Simple Platformer

13.1. Preparing to Program

13.1.1. Missing Sprites

13.1.2. Preparing the Stage

13.2. Programming Beachy Buffy

13.2.1. Making a Movement Script

13.2.2. Making a Falling Velocity Script

13.2.3. Making a Falling Script

13.2.4. Making a Jumping Script

13.2.5. Making a Positioning Script

13.2.6. Making a Life Deduction Script

13.2.7. Making the Background Changing Script

13.2.8. Making the Zipline Dismount Script

13.2.9. Making the Two-Part Vine Grabbing Script

13.3. Programming the Sandcastle

13.3.1. Making a Show or Hide Script

13.3.2. Duplicating the Show or Hide Script

13.4. Programming the Crabs

13.4.1. Tweaking the Show or Hide Script

13.4.2. Making a Movement Script

13.5. Programming the Vine

13.5.1. Making a Starter Script

13.5.2. Making a Positioning Script

13.5.3. Making a Movement Script

13.6. Programming the Odds and Ends

13.6.1. Making a Line Positioning Script

13.6.2. Making a Previous Backdrop Script

13.6.3. Making a Next Backdrop Script

13.7. Troubleshooting Your Game

13.8. Learning in Action

13.8.1. Play With the Code

13.8.2. What Did You Learn?

14. Making a Single-Screen Platformer

14.1. Prepping the Backgrounds

14.1.1. Making the School Backdrop

14.2. Prepping the Main Sprites

14.2.1. Making the Clock

14.2.2. Making the Door

14.2.3. Making the Desk

14.2.4. Making the Teacher

14.2.5. Making the Kindergarteners

14.3. Preparing the Code

14.3.1. Play With the Game

14.3.2. What Did You Learn

15. More Simulated Gravity in a Single-Screen Platformer

15.1. Preparing to Program

15.1.1. Missing Sprites

15.1.2. Combining the Kindergarteners

15.1.3. Preparing the Stage

15.1.4. Download the List

15.2. Programming Ms. Finebean

15.2.1. Making a Movement Script

15.2.2. Making the Jumping Script

15.2.3. Making a Falling Velocity Script

15.2.4. Making a Falling Script

15.2.5. Making a Desk Detection Script

15.3. Programming the Kindergarteners

15.3.1. Making a List Adding Script

15.3.2. Making a Cloning Script

15.3.3. Making a Movement Script

15.3.4. Making a Game Stopping Script

15.3.5. Making a Pause Movement Script

15.4. Programming the Desks

15.4.1. Making a List Adding Script

15.4.2. Making a Cloning Script

15.4.3. Making a Movement Script

15.5. Programming the Clocks

15.5.1. Making a Cloning Script

15.5.2. Making a Timer Script

15.5.3. Creating a Movement Script

15.5.4. Making a Pause Movement Script

15.6. Programming the Door

15.6.1. Making a Cloning Script

15.6.2. Creating a Game Stopping Script

15.7. Troubleshooting the Game

15.8. Learning in Action

15.8.1. Play With the Code

15.8.2. What Did You Learn?

16. Designing a Racing Game

16.1. Prepping the Backgrounds

16.1.1. Making the Ocean Backdrop

16.2. Prepping the Main Sprites

16.2.1. Making the Mermaid

16.2.2. Making the Turtle

16.2.3. Making the Jellyfish

16.3. Prepping the Odds and Ends

16.3.1. Making the Retry Button

16.3.2. Making the Barrier Line

16.4. Preparing to Code

16.4.1. Play With the Game

16.4.2. What Did You Learn?

17. Using Booleans to Build Your Racing Game

17.1. Preparing to Program

17.1.1. Missing Sprites

17.1.2. Combining the Animals

17.1.3. Preparing the Stage

17.2. Programming the Mermaid

17.2.1. Making the Movement Script

17.2.2. Making an Animation Script

17.2.3. Making a Hiding Script

17.2.4. Making a Distance Script

17.3. Programming the Animals

17.3.1. Making a Hiding Script

17.3.2. Making a Cloning Script

17.3.3. Making the Movement Script

17.3.4. Making the Zigzag Script

17.4. Programming the Odds and Ends

17.4.1. Making a Retry Button Showing Script

17.4.2. Making a Retry Button Game Resetting Script

17.4.3. Making the Line's Game Ending Script

17.5. Troubleshooting Your Game

17.6. Learning in Action

17.6.1. Play With the Code

17.6.2. What Did You Learn?

Part 3

18. Becoming a Game Maker

18.1. Sharing Your Work

18.1.1. How to Share Your Projects

18.1.2. How to Become a Scratcher

18.1.3. How to Follow Scratchers

18.1.4. How to Write Comments

18.2. Remixing Projects

18.2.1. How to Remix Someone Else's Project

18.2.2. How to Use Your Remix Tree

18.3. Using the Forums

18.3.1. How to Read the Forums

18.3.2. How to Post on the Forums

18.4. Jumping to Other Languages

18.5. Diving into Game Making

Appendix A: Cheat sheet

About the Technology

In the future, there are going to be millions of jobs with no one to fill them if more kids don't learn how to code. So why aren't more kids learning to program? Some think it's too hard, and others don't have parents who can help them because they don't know programming themselves. Learning to code with a tool like Scratch, an open source programming platform maintained by MIT, and having fun goals, like writing games, just might make a difference. That's where this book comes in.

What's inside

  • Getting to know Scratch
  • Making sprites run across the screen using X and Y coordinates
  • Simulating gravity using conditional statements
  • Tracking points in a game with variables
  • Cloning sprites during a game
  • Learning how to make scripts speak to one another in a game
  • Making seven exciting, retro-style games in Scratch

About the reader

This book is for kids and their parents who want to learn to program while creating games. No programming experience needed!

About the authors

Melissa Ford is the author of numerous works of fiction and non-fiction, including Writing Interactive Fiction with Twine (Pearson, Spring 2016). She is the Blogging and Social Media editor at BlogHer, a contributor at GeekDad, and the interactive fiction mentor at her local computer club.

Sadie and Gabriel Ford (Melissa's children), are 12-year-old twins and a formidable art and coding team. Sadie's favorite retro game is Astrosmash, and Gabriel's is Snafu. When not writing, Sadie draws and reads. Gabriel's game, PartiBlu, was featured by the Scratch team on the front page in Winter 2015.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $34.99 pBook + eBook + liveBook
MEAP eBook $27.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks