Learning HTML5 by Creating Fun Games
HTML is fast, secure, responsive, interactive, and stunningly beautiful. It lets you target the largest number of devices and browsers with the least amount of effort. Working with the latest technologies is always fun and with a rapidly growing mobile market, it is a new and exciting place to be.
"Learning HTML5 by Creating Fun Games" takes you through the journey of learning HTML5 right from setting up the environment to creating fully-functional games. It will help you explore the basics while you work through the whole book with the completion of each game.
"Learning HTML5 by Creating Fun Games" takes a very friendly approach to teaching fun, silly games for the purpose of giving you a thorough grounding in HTML5. The book has only as much theory as it has to, often in tip boxes, with most of the information explaining how to create HTML5 canvas games. You will be assisted with lots of simple steps with screenshots building towards silly but addictive games.
The book introduces you to HTML5 by helping you understand the setup and the underlying environment. As you start building your first game that is a typography game, you understand the significance of elements used in game development such as input types, web forms, and so on.We will see how to write a modern browser-compatible code while creating a basic Jelly Wobbling Game. Each game introduces you to an advanced topic such as vector graphics, native audio manipulation, and dragging-and-dropping. In the later section of the book, you will see yourself developing the famous snake game using requestAnimationFrame along with the canvas API, and enhancing it further with web messaging, web storage, and local storage. The last game of this book, a 2D Space shooter game, will then help you understand mobile design considerations.
What you will learn from this book
Understand why the open web is the best platform to develop for
Set up a local web development environment
Create DOM-based games such as a typography game using semantic HTML5 tags and CSS3 features
Use the new canvas element to create a 2D space shooter game
Discover writing portable code while developing a basic Jelly Wobbling Gravity Game
Create animations using RequestAninmationFrame while improvising the Snake game.
Make your games portable across desktop and mobile devices
Get started with WebGL for 3D game development, and with other upcoming HTML5 features and APIs
By teaching HTML5 by developing exciting games, the reader will see concrete applications for each of the concepts, and will also have a powerful deliverable at the end of each chapter – a fully functional game. We learn the various concepts using very abstract examples – how to model animals, foods, or fictitious machines. This makes learning and understanding a lot easier, and much more enjoyable.
Who this book is written for
If you are are looking to get a good grounding in how to use the new awesome technology that is HTML5, this book is for you. Basic knowledge of HTML and/or HTML5 is welcome, but optional. The book is a friendly and exciting reference for beginners.
Chapter 1, An Overview of HTML5, explains what HTML5 is, and how it fits into the
Open Web platform paradigm. It also introduces the three pillars of HTML5, namely
Chapter 2, HTML5 Typography, introduces the first game in the book, namely, a
DOM-based typography game. The main HTML5 features described in the chapter
include web forms, metadata, web fonts, transitions, animation, text shadow, box
shadow, window.JSON, and querySelector.
Chapter 3, Understanding the Gravity of HTML5, builds a basic jelly-wobbling gravity
game. This chapter includes a discussion of cross-browser support, polyfills, and
how to get around different API implementations among different browsers. The
main HTML5 features described in the chapter include web audio, SVG graphics,
and drag-and-drop.Chapter 4, Using HTML5 to Catch a Snake, creates a traditional snake game using the
new HTML5 canvas element, with its accompanying 2D rendering context. Other
HTML5 features described in the chapter include web workers, offline storage, and
Chapter 5, Improving the Snake Game, builds on the same game created in the previous
chapter, adding features such as window messaging, web storage, local storage,
session storage, and IndexedDB.
Chapter 6, Adding Features to Your Game, focuses the discussion on advanced HTML5
concepts, as well as the latest features. Although no game is built in this chapter, the
web development. The major features described in the chapter include WebGL, web
sockets, video, geolocation, CSS shaders, CSS columns, and CSS regions and exclusions.
Chapter 7, HTML5 and Mobile Game Development, concludes the book by building a
2D space shooter game completely optimized for mobile game play. The focus of the
chapter is mobile-specific considerations in web development, including a discussion
about the differences between desktop and mobile platforms. The major HTML5
features described in the chapter include media queries and touch events.