SitePoint
  • Premium
  • Library
  • Community
  • Jobs
  • Blog
LoginStart Free Trial
HTML5 Games: Novice to Ninja
HTML5 Games: Novice to Ninja
Notice of Rights
Notice of Liability
Trademark Notice
About Earle Castledine
About SitePoint
Who Should Read This Book?
Acknowledgments
Conventions Used
Supplementary Materials
Game Design
A Brief History
Games and JavaScript
Enough Talk; Let’s Make Games
Get Ready!
DOM vs Canvas vs WebGL
Plain Ol’ DOM
Canvas API
Game Engines vs Reinventing the Wheel
Quick, Draw
The Loop
User Input
Creating Your Game Library
A Space Shoot-’em-up
Game Over
An Unexpected Proposition
De-boilerplating Our Prototypes
Sprites with Zing !
An Unexpected Assignment
Sprite Sheets & Animation
The Animation Manager
Tile Maps
Scrolling Maps with a Camera
Screens & Game Life Cycle
Leveled Up
Colliding with Things
Procedural Level Generation
Colliding with Maps
AI: The Bots Strike Back
Pathfinding
Enemies alive
Jump Everybody, Jump
Fixing Our Time Step
Triangles and Vectors
Building a Vector Library
The Need for Speed (and Direction)
Billiard Ball Physics
Polar Coordinates
Physics Libraries
Old-school Techniques
Audio on the Web
An Asset Manager
Sound Production
The Web Audio API
Post Production: Mixing and Mastering
Fade to Silence
Screen Effects
Animations, Tweens, and Easing
Particle Effects
Camera Tricks
Platformer Tricks
More Tiles
Dialogs and Screen Transitions
Designing Levels with a Level Editor
Got Game
Debugging
Profiling
Speeding Up Your Code
Speeding Up Rendering
Getting on Devices
Getting on the Stores
Releasing to the World

Community Questions