This course will walk you through the major components of building GRITS, an HTML5 game. We’ll talk about how to take standard game development techniques, and use them to create high performance HTML5 applications.
At the end of this course, you’ll understand how to develop an HTML5 game. You will gain familiarity with HTML5 features such as 2D canvas and techniques for improving performance.
Knowledge of HTML, Javascript, and how the web works is necessary for this course. There is an optional lesson on the specific parts of Javascript and the DOM that you’ll need for this class as a refresher, but this is not an introductory course on Javascript.
See the Technology Requirements for using Udacity.
Optional HTML/Javascript crash course
Introduction to Canvas rendering
Atlases
Map rendering
Basic Input, handling events
The entity hierarchy
Box2D, and using external libraries
Adding sound
Asynchronous Loading

Colt McAnlis is a Developer Advocate at Google focusing on Performance and Gaming; Before that, he was a graphics programmer in the games industry working at Blizzard, Microsoft, and Petroglyph. He’s been an Adjunct Professor at SMU Guildhall, a UDACITY instructor, and a Book Author. Recently, he’s been teaching Android Devs the Zen of Performance. When he’s not working with developers, Colt spends his time preparing for an invasion of giant ants from outer space.
You can follow him on G+ (+Colt McAnlis) or Twitter (@duhroach)
Peter Lubbers is a Program Manager at Google in the Chrome Developer Relations team and lives and breathes HTML5. He is the co-author of Pro HTML5 Programming (Apress) and the founder of the San Francisco HTML5 User Group, the largest HTML5 User Group in the world. A native of the Netherlands, Peter served as a Special Forces commando in the Royal Dutch Green Berets. In his spare time Peter likes jumping out of planes, bungee-jumping, and running ultra-marathons.
Sean Bennett is a Course Architect at Udacity and is passionate about using the web to improve the quality of education available worldwide. Sean’s background is in web programming, and he likes to dabble in functional web programming. When he’s not working to improve education, Sean likes running, hiking, and preparing for the inevitable zombie apocalypse.
View more courses in Web Development
This class is self paced. You can begin whenever you like and then follow your own pace. It’s a good idea to set goals for yourself to make sure you stick with the course.
This class will always be available!
Take a look at the “Class Summary,” “What Should I Know,” and “What Will I Learn” sections above. If you want to know more, just enroll in the course and start exploring.
Yes! The point is for you to learn what YOU need (or want) to learn. If you already know something, feel free to skip ahead. If you ever find that you’re confused, you can always go back and watch something that you skipped.
It’s completely free! If you’re feeling generous, we would love to have you contribute your thoughts, questions, and answers to the course discussion forum.
Collaboration is a great way to learn. You should do it! The key is to use collaboration as a way to enhance learning, not as a way of sharing answers without understanding them.
Udacity classes are a little different from traditional courses. We intersperse our video segments with interactive questions. There are many reasons for including these questions: to get you thinking, to check your understanding, for fun, etc… But really, they are there to help you learn. They are NOT there to evaluate your intelligence, so try not to let them stress you out.
Learn actively! You will retain more of what you learn if you take notes, draw diagrams, make notecards, and actively try to make sense of the material.