Game Development with Three.js

Game Development with Three.js
eBook: $17.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $47.98    Print cover: $29.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Develop immersive 3D games that anyone can play on the Internet
  • Learn Three.js from a gaming perspective, including everything you need to build beautiful and high-performance worlds
  • A step-by-step guide filled with game-focused examples and tips

Book Details

Language : English
Paperback : 118 pages [ 235mm x 191mm ]
Release Date : October 2013
ISBN : 1782168532
ISBN 13 : 9781782168539
Author(s) : Isaac Sukin
Topics and Technologies : All Books, Game Development, Open Source

Table of Contents

Chapter 1: Hello, Three.js
Chapter 2: Building a World
Chapter 3: Exploring and Interacting
Chapter 4: Adding Detail
Chapter 5: Design and Development
  • Chapter 2: Building a World
    • Geometries
      • 3D primitives
      • 2D primitives
      • Custom geometries
      • Text
    • Materials
    • A city scene
    • Lighting
      • Shadows
    • Renderers
    • Summary
  • Chapter 3: Exploring and Interacting
    • Keyboard movement and mouse looking
    • Clicking
    • Timing
    • First-person shooter project
      • Designing a map
      • Constructing a player
      • Player movement
        • Physical movement
        • Updating the player's movement and rotation
      • Player collision
        • Voxel collision
      • Bots
      • Bullets
      • Updating the game loop
    • Summary
  • Chapter 4: Adding Detail
    • Setting up CTF
    • Asset management
      • Loaders
      • Exporting to Three.js
      • Exporting from Three.js
      • Managing loaders
      • Mesh animation
        • Morph animation
        • Skeletal animation
    • Particle systems
      • Capturing the flag
      • Particles and Sprites
      • Particle systems
    • Sound
    • Renderer effects and postprocessing
    • Summary
  • Chapter 5: Design and Development
    • Game design for the Web
    • Performance
      • Bandwidth/network constraints
      • Level of detail
      • Rendering optimizations
      • Battery life and GPU memory
      • Performance-measuring tools
    • Networking and multiplayer
      • Technologies
      • Anticheating
    • Development processes
      • JavaScript best practices
      • Existing workflows and level development
    • Summary

Isaac Sukin

Isaac Sukin has been building games since he was eight years old, when he discovered that Nerf Arena Blast came with a copy of Epic Games' Unreal Editor. At 16, he became co-leader of the Community Bonus Pack team, an international group of game developers for the Unreal Engine that won 49 awards over the next few years. He started learning to code around the same time by developing an open source Facebook-style statuses system that thousands of websites have adopted. Since then, he has been increasingly drawn to interactive JavaScript on the web. He created an open source 2D game engine in early 2012 and then dove into Three.js. As of 2013, he is a senior, studying entrepreneurship and information management at the Wharton school at the University of Pennsylvania. He has worked for Twitter, First Round Capital, and Acquia among others, and was previously a freelance consultant and developer. He is also a founder of Dorm Room Fund, a student-run venture capital fund that invests in student-run startups. You can find him on GitHub and Twitter under the alias IceCreamYou or visit his website at He has previously published short stories and poetry, but this is his first book.
Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Game Development with Three.js +    Mahara ePortfolios: Beginner’s Guide =
50% Off
the second eBook
Price for both: $31.95

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Set up a Three.js scene representing a game world
  • Understand the types of Three.js components, including geometries, materials, lighting, cameras, and renderers
  • Interact with your games using the mouse and keyboard
  • Structure your worlds with various approaches to physical collision
  • Construct complex levels using several different methods
  • Extend the Three.js framework with custom game-specific classes
  • Gain insight into development processes and important design and performance considerations for web games
  • Achieve a basic understanding of multiplayer game networking

In Detail

The advent of WebGL and its inclusion in many browsers enabled JavaScript programs running in a web browser to access the GPU without a plugin or extension. Three.js is a next generation high-level library that makes it possible to author complex 3D computer animations that display in the browser using nothing more than a simple text editor. The development of these new tools has opened up the world of real-time 3D computer animations to a far broader spectrum of developers.

Starting with how to build 3D games on the web using the Three.js graphics library, you will learn how to build 3D worlds with meshes, lighting, user interaction, physics, and more. Along the way, you’ll learn how to build great online games through fun examples. Use this book as a guide to embrace the next generation of game development!

Moving on from the basics, you will learn how to use Three.js to build game worlds using its core components, including renderers, geometries, materials, lighting, cameras, and scenes. Following on from this, you will learn how to work with mouse and keyboard interactions, incorporate game physics, and import custom models and animations. You will also learn how to include effects like particles, sounds, and post-processing. You will start by building a 3D world, and then create a first person shooter game using it. You will then be shown how to imbue this FPS game with a “capture the flag” gameplay objective. With Game Development with Three.js, you will be able to build 3D games on the Web using the Three.js graphics library.


A step-by-step, example-based guide to building immersive 3D games on the Web using the Three.js graphics library.

Who this book is for

This book is for people interested in programming 3D games for the Web. Readers are expected to have basic knowledge of JavaScript syntax and a basic understanding of HTML and CSS. This book will be useful regardless of prior experience with game programming, whether you intend to build casual side projects or large-scale professional titles.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software