small medium large xlarge

3D Game Programming for Kids, Second Edition: Create Interactive Worlds with JavaScript


Cover image for 3D Game Programming for Kids, Second Edition

3D Game Programming for Kids, Second Edition

Create Interactive Worlds with JavaScript


You know what’s even better than playing games? Programming your own! Make your own online games, even if you’re an absolute beginner. Let your imagination come to 3D life as you learn real-world programming skills with the JavaScript programming language – the language used everywhere on the web. This new edition is completely revised, and takes advantage of new programming features to make game programming even easier to learn. Plus, new effects make your games even cooler. When you’re done, you’re going to be amazed at what you can create.

Printed in full color.

Ask the author questions! New online forum.

Choose Your Format(s)

  • $25.95 In Stock
    • Beta: What do I get?

  • Ebooks are DRM free.

  • Ebook delivery options.

  • The Paper Book will ship on 2018-07-02 (roughly).

About this Title

Pages: 340 (est)
Published: 2018-06-29
Release: B7.0 (2018-06-14)
ISBN: 978-1-68050-270-1

Jump right in! Start programming cool stuff on page 1. Keep building new and different things until the very last page. This book wants you to play. Not just play games, but play with code. Play with programming. Because the best way to learn something is to have fun with it!

This second edition is updated from start to finish to make it even easier to get started programming in JavaScript. Every example has been updated to make it easier, with new example games to explore and new 3D effects that make your games even more fun! Want a red donut? You can make hundreds of them, spinning around like mad. Want to create a star field? Make a hundred or a thousand stars. Make them red, green, or blue. Explosions? Fireworks? Planets? It’s up to you. And, using a code editor created especially for this book, you’ll program right in your web browser. You’ll see the results of your work and imagination right away – right next to the code that you just typed! Along the way, you’ll pick up a ton of programming knowledge, and dive in even deeper with some more advanced chapters.

Whatever you want to do, this book has your back. Best of all, you get to create awesome games and say, “I made this!”

What You Need

You need the latest version of the Google Chrome Web browser, available for free from You also need an Internet connection to access the ICE Code Editor the first time. ICE Code Editor will be loaded onto your computer, so you won’t need Internet access for later projects.

Contents & Extracts

This book is currently in beta, so the contents and extracts will change as the book is developed.

  • Project: Creating Simple Shapes
    • Programming with the 3DE Code Editor
    • Making Shapes with JavaScript
    • Creating Spheres
    • Making Boxes with the Cube Shape
    • Using Cylinders for All Kinds of Shapes
    • Building Flat Surfaces with Planes
    • Rendering Donuts (Not the Kind You Eat) with Torus
    • Animating the Shapes
    • The Code So Far
    • What’s Next
  • Debugging: Fixing Code When Things Go Wrong
    • Getting Started
    • Debugging in 3DE: The Red X
    • Debugging in 3DE: The Yellow Triangle
    • Opening and Closing the JavaScript Console
    • Debugging in the Console
    • Common 3D Programming Errors
    • Recovering When 3DE Is Broken
    • What’s Next
  • Project: Making an Avatar
    • Getting Started
    • Smooth Chunkiness
    • Making a Whole from Parts
    • Breaking It Down
    • Adding Feet for Walking
    • Challenge: Make the Avatar Your Own
    • Doing Cartwheels
    • The Code So Far
    • What’s Next
  • Project: Moving Avatars
    • Getting Started
    • Building Interactive Systems with Keyboard Events
    • Converting Keyboard Events into Avatar Movement
    • Challenge: Start/Stop Animation
    • Building a Forest with Functions
    • Moving the Camera with the Avatar
    • The Code So Far
    • What’s Next
  • Functions: Use and Use Again
    • Getting Started
    • Basic Functions
    • Functions that Return Values
    • Using Functions
    • Breaking Functions
    • Bonus #1: Random Colors
    • Bonus #2: Flight Controls
    • The Code So Far
    • What’s Next
  • Project: Moving Hands and Feet
    • Getting Started
    • Moving a Hand
    • Swinging Hands and Feet Together
    • Walking When Moving
    • The Code So Far
    • What’s Next
  • A Closer Look at JavaScript Fundamentals
    • Getting Started
    • Describing Things in JavaScript
    • Numbers, Words, and Other Things in JavaScript
    • Control Structures
    • What’s Next
  • Project: Turning Our Avatar
    • Getting Started
    • Facing the Proper Direction
    • Breaking It Down
    • Animating the Spin
    • The Code So Far
    • What’s Next
  • What’s All That Other Code?
    • Getting Started
    • A Quick Introduction to HTML
    • Setting the Scene
    • Using Cameras to Capture the Scene
    • Using a Renderer to Project What the Camera Sees
    • Exploring Different Cameras
    • What’s Next
  • Project: Collisions
    • Getting Started
    • Rays and Intersections
    • The Code So Far
    • What’s Next
  • Project: Fruit Hunt
    • Getting Started
    • Starting a Scoreboard at Zero
    • Giving Trees a Little Wiggle
    • Jumping for Points
    • Making Our Games Even Better
    • The Code So Far
    • What’s Next
  • Working with Lights and Materials
    • Getting Started
    • Emitting Light
    • Ambient Light
    • Point Light
    • Shadows
    • Spotlights and Sunlight
    • Texture
    • Further Exploration
    • The Code So Far
    • What’s Next
  • Project: Phases of the Moon
    • Getting Started
    • The Sun at the Center
    • Game and Simulation Logic
    • Local Coordinates
    • Multi-Camera Action!
    • Bonus #1: Stars
    • Bonus #2: Flying Controls
    • Understanding the Phases
    • Not Perfect, But Still a Great Simulation
    • The Code So Far
    • What’s Next
  • Project: The Purple Fruit Monster Game
    • Getting Started
    • Outline the Game
    • Adding Ground for the Game
    • Build a Simple Avatar
    • Add Scoring
    • Game Play
    • Improvements
    • The Code So Far
    • What’s Next
  • Project: Tilt-a-Board
    • Getting Started
    • Outline the Game
    • Bonus #1: Add a Background
    • Bonus #2: Make Fire!
    • Challenge
    • The Code So Far
    • What’s Next
  • Learning about JavaScript Objects
    • Getting Started
    • Simple Objects
    • Properties and Methods
    • Copying Objects
    • Constructing New Objects
    • The Worst Thing in JavaScript: Losing this
    • Challenge
    • The Code So Far
    • What’s Next
  • Project: Ready, Steady, Launch
    • Getting Started
    • The Launcher
    • Scoreboard
    • Baskets and Goals
    • Wind!
    • The Code So Far
    • Conclusion
  • Project Code
    • Code: Creating Simple Shapes
    • Code: Playing with the Console and Finding What’s Broken
    • Code: Making an Avatar
    • Code: Moving Avatars
    • Code: Functions: Use and Use Again
    • Code: Moving Hands and Feet
    • Code: A Closer Look at JavaScript Fundamentals
    • Code: Turning Our Avatar
    • Code: What’s All That Other Code?
    • Code: Collisions
    • Code: Fruit Hunt
    • Code: Working with Lights and Materials
    • Code: Phases of the Moon
  • JavaScript Libraries Used in This Book
    • Three.js
    • Physijs
    • Tween.js
    • Scoreboard.js
    • Sounds.js


Chris Strom is a relentless public learner, with more than 1,000 blog posts serving as research notes for his writing. His books include Dart for Hipsters, The SPDY Book, and Recipes with Backbone. He has more than ten years of experience programming in Perl, Ruby, JavaScript, and whatever his current obsession happens to be. Chris lives in Baltimore, Maryland with his wife, three children, and a goldfish named Martin Tanner.