xxv
Introduction
Making games is hard.
Even most veteran game developers don’t fully grasp the scale of how dicult it is to weave together technology,
code, design, sound, and distribution to produce something that resonates with players around the world. As
industries go, game development is still fairly young, only really gaining traction in the early 1980s. is makes it an
even more dicult process, which, frankly, we’re still trying to gure out.
In 30 years of game development, we’ve seen the boom of console games, computer games, Internet bubbles,
shareware, social gaming, and even mobile gaming. It seems that every ve to eight years, the entire industry reinvents
itself from the core in order to adjust to the next big thing.
As hardware trends shift and user tastes change, modern game developers scramble to keep up, producing three
to four games in a single year (a feat unheard of in 2001, when you thought in terms of shipping two to three games in
your entire career). is rapid pace comes at a high cost: engineers often have to build entire virtual empires of code,
only to scrap them a mere six weeks later to design an entirely dierent gameplay dynamic. Designers churn through
hordes of ideas in a week in order to nd the smallest portion of fun that they can extract from any one idea. Artists
also construct terabytes of content for gameplay features that never see the light of day.
A lot of tribal knowledge and solutions get lost in this frantic process; many techniques, mental models, and
data just evaporate into the air. Tapping into the brains of game developers, cataloging their processes, and recording
their techniques is the only real way to grow as an industry. is is especially relevant in today’s game development
ecosystem, where the number of “indie” developers greatly outnumbers the “professional” developers.
Today we’re bombarded with messaging about how “it’s never been easier to make a game,” which is true to some
extent. e entry barrier to creating a game is pretty low; eight-year olds can do it. e real message here is what it
takes to make a great game. Success comes from iteration; you can’t just point yourself in a direction, move toward
it, and expect your game to be great. You have to learn. You have to grow. You have to evolve. Moreover, with less and
less time between product shipments, the overhead available to grow as a developer is quickly getting smaller and
smaller. Developers can’t do it on their own; they need to learn, ask questions, and see what everyone else is doing. As
a developer, you have to nd mentors in design, marketing, and distribution. You have to connect with other people
who feel your pain, and who are trying to solve the same problems and ght the same battles. Evolve as a community,
or die as an individual.
Making games is hard. at’s why we wrote this book; even the best of us must nd time to learn.
—Colt McAnlis
HTML5 has come a long way.
It might be hard to believe today, but getting publisher support for Pro HTML5 Programming, the book I
co-authored with Brian Albers and Frank Salim in 2009, and released as one of the rst books on the subject in 2010,
was quite hard. Publishers were just not sure if this new HTML5 thing had a future or if it was just a passing fad.
e launch of the iPad in April 2010 changed all that overnight and drove the curiosity and excitement about
HTML5 to a whole new level. For the rst time, many developers started to look seriously at the new features and
APIs, such as canvas, audio, and video. e possibility of many kinds of new web applications with real native feature
support seemed almost too good to be true. And, to a certain extent, it was.