Available:*
Library | Call Number | Status |
---|---|---|
Searching... Hardwood Creek Library (Forest Lake) | 006.74 HAR | Searching... Unknown |
Searching... Park Grove Library (Cottage Grove) | 006.74 HAR | Searching... Unknown |
Bound With These Titles
On Order
Summary
Summary
Create games with graphics that pop for the web and mobile devices!
HTML5 is the tool game developers and designers have been eagerly awaiting. It simplifies the job of creating graphically rich, interactive games for the Internet and mobile devices, and this easy-to-use guide simplifies the learning curve. Illustrated in full color, the book takes you step by step through the basics of HTML5 and how to use it to build interactive games with 2D graphics, video, database capability, and plenty of action. Learn to create sports and adventure games, pong games, board games, and more, for both mobile devices and the standard web.
Learn to use the new HTML5 technology that makes it easier to create games with lots of action, colorful 2D graphics, and interactivity--for both the web and mobile devices Test and debug your games before deploying them Take advantage of how HTML5 allows for SQL-like data storage, which is especially valuable if you're not well versed in database management Explore creating games suitable for community activity and powerful, profitable games that require large amounts of dataWhether you want to build games as a fun hobby or hope to launch a new career, this full-color guide covers everything you need to know to make the most of HTML5 for game design.
Author Notes
Andy Harris taught himself programming because it was fun. He's a full-time computer science instructor at Indiana University-Purdue University at Indianapolis (IUPUI), where his courses include web development and game programming, and he's the bestselling author of HTML, XHTML CSS All-in-One For Dummies.
Table of Contents
Introduction | p. 1 |
About This Book | p. 2 |
What You Will Need | p. 2 |
How to Read This Book | p. 3 |
How This Book Is Organized | p. 4 |
Part I Building the Foundation | p. 4 |
Part II Basic Game Development | p. 4 |
Part III Diving Deeper | p. 5 |
Part IV The Part of Tens | p. 5 |
We Even Use the Internet Thingy! | p. 5 |
Icons Used in This Book | p. 6 |
Where to Go from Here | p. 6 |
Part I Building the Foundation | p. 7 |
Chapter 1 Playing on the Web | p. 9 |
Building the Framework | p. 10 |
Setting Up Your Workshop | p. 11 |
Web browsers | p. 11 |
A programmer's editor | p. 12 |
Graphics tools | p. 13 |
Audio tools | p. 14 |
Building Your First Game | p. 14 |
Building a Basic Page | p. 15 |
Dressing up the page | p. 19 |
Providing a link | p. 21 |
Beautifying the page | p. 23 |
Making a style reusable | p. 26 |
Building the next node | p. 28 |
Adding a sound effect | p. 30 |
Add another page for a victory | p. 33 |
Making it your own | p. 34 |
Chapter 2 Talking to the User | p. 35 |
Making an Interactive Form | p. 36 |
Adding JavaScript to Your Page | p. 37 |
Creating the custom greeting | p. 40 |
Making the magic happen | p. 42 |
A program where everyone knows your name | p. 44 |
Modifying the page itself | p. 48 |
Adding style to your forms | p. 49 |
Do it with style | p. 51 |
Creating a style for the form | p. 52 |
Outsourcing your JavaScript code | p. 53 |
Building the Word Story Game | p. 55 |
Designing the game | p. 56 |
Building the HTML foundation | p. 57 |
Adding the CSS style | p. 59 |
Writing the code | p. 60 |
Chapter 3 Coding Like a Pro | p. 63 |
Working with Variables | p. 64 |
You're just my type: Handling different data types | p. 64 |
Using a computer program to do bad math | p. 65 |
Managing data types correctly | p. 66 |
Making Choices with if | p. 68 |
Changing the greeting with if | p. 69 |
The different flavors of if | p. 71 |
Conditional operators | p. 71 |
Managing Repetition with for loops | p. 72 |
Setting up the web page | p. 73 |
Initializing the output | p. 74 |
Creating the basic for loop | p. 75 |
Introducing shortcut operators | p. 76 |
Counting backward | p. 77 |
Counting by fives | p. 78 |
Building While Loops | p. 79 |
Making a basic while loop | p. 79 |
Getting your loops to behave | p. 81 |
Managing more complex loops | p. 82 |
Managing, bugs with a debugger | p. 83 |
Sending Data to and from Functions | p. 86 |
Returning a value from a function | p. 88 |
Sending arguments to a function | p. 89 |
Using Arrays to Simplify Data | p. 90 |
Building the arrays | p. 91 |
Stepping through the books array | p. 93 |
Using the for ... in loop to access array elements | p. 94 |
Chapter 4 Random Thoughts: Building a Simple Game | p. 95 |
Creating Random Numbers | p. 95 |
Seriously, math can be fun | p. 98 |
Making the HTML form | p. 99 |
Writing the roll() function | p. 100 |
Building the Number Guesser | p. 100 |
Designing the program | p. 101 |
Building the HTML for the game | p. 102 |
Writing the CSS for the number guesser | p. 104 |
Thinking through the game's data | p. 106 |
Setting up the initialization routine | p. 107 |
Responding to the Button | p. 108 |
Part II Basic Game Development | p. 111 |
Chapter 5 Introducing simpleGame.js | p. 113 |
Using a Game Engine | p. 113 |
Essential game engine features | p. 114 |
Gaming on the web | p. 114 |
Building an Animation with simpleGame.js | p. 115 |
Building your page | p. 117 |
Initializing your game | p. 118 |
Updating the animation | p. 119 |
Starting from a template | p. 120 |
Considering Objects | p. 122 |
Making instance pudding | p. 122 |
Adding methods to the madness | p. 123 |
Bringing Your Game | p. 124 |
Checking the keyboard | p. 126 |
Moving the sprite | p. 127 |
Baby, you can drive my car | p. 130 |
Chapter 6 Creating Game Elements | p. 133 |
Building Your Own Sprite Objects | p. 133 |
Making a stock sprite object | p. 134 |
Building your own sprite | p. 134 |
Using your new critter | p. 136 |
Adding a property to your critter | p. 137 |
Adding methods to classes | p. 139 |
Sound Programming Principles | p. 141 |
Game Programming's Greatest Hits! | p. 144 |
Setting up bounding rectangle collisions | p. 144 |
Distance-based collisions | p. 147 |
It's All About Timing | p. 150 |
Chapter 7 Getting to a Game | p. 153 |
Building a Real Game | p. 153 |
Planning Your Game | p. 154 |
Programming On the Fly | p. 156 |
There seems to be a bug in this program | p. 158 |
Fly, fly! fly! | p. 159 |
Clearly, We Need an Amphibian | p. 159 |
Making a frog | p. 161 |
Adding a background | p. 162 |
Managing updates | p. 163 |
Combining the Frog and the Fly | p. 164 |
Building a library of reusable objects | p. 164 |
When Sprites Collide | p. 167 |
Collisions apply to the frog and the fly | p. 168 |
Resetting the fly - on the fly | p. 169 |
Working with Multiple Flies | p. 170 |
Adding the Final Touches | p. 174 |
Adding the timer | p. 177 |
Resetting the game | p. 178 |
Part III Diving Deeper | p. 179 |
Chapter 8 Motion and Animation | p. 181 |
Physics - Even More Fun Than You Remember | p. 181 |
Newton without all the figs | p. 182 |
Phuzzy physics | p. 183 |
Lost in Space | p. 183 |
Becoming a space cadet | p. 184 |
Building the space simulation | p. 185 |
Don't Be a Drag - Adding Drag Effects | p. 186 |
Drag racing | p. 186 |
Implementing drag | p. 188 |
Do You Catch My Drift? | p. 190 |
Burning virtual rubber | p. 190 |
Adding drift to your sprites | p. 192 |
Recognizing the Gravity of the Situation | p. 193 |
Adding rockets to your ride | p. 193 |
Use the force (vector), Luke | p. 195 |
Houston, We've Achieved Orbit | p. 196 |
Round and round she goes | p. 197 |
Decoding the alphabet soup | p. 198 |
This isn't rocket science | p. 199 |
Writing the orbit code | p. 199 |
Does This Car Come with a Missile Launcher? | p. 202 |
Projectiles in a nutshell | p. 203 |
It's time to launch the missiles | p. 203 |
Building a Multi-State Animation | p. 206 |
Chapter 9 Going Mobile | p. 211 |
Using HTML5 as a Mobile Language | p. 211 |
Don't you need a special language? | p. 211 |
HTML5 is a great compromise | p. 212 |
So what else do you need? | p. 213 |
Putting Your Game on a Server | p. 213 |
Using a control panel | p. 214 |
Uploading a page with a control panel | p. 216 |
Using an FTP client | p. 218 |
Making Your Game App-Ready | p. 220 |
Managing the screen size | p. 220 |
Making your game look like an app | p. 221 |
Removing the Safari toolbar | p. 223 |
Storing your game offline | p. 224 |
Managing Alternate Input | p. 225 |
Adding buttons | p. 225 |
Responding to the mouse | p. 228 |
Reading the Virtual Joystick | p. 231 |
Controlling an object with the virtual joystick | p. 234 |
Driving with joy(sticks) | p. 236 |
Using virtual arrow keys | p. 239 |
Tilting at windmills with the accelerometer | p. 240 |
Reading the tilt | p. 241 |
Calibrating the accelerometer | p. 243 |
Chapter 10 Documenting simpleGame | p. 247 |
Overview of simpleGame | p. 247 |
The Scene Object | p. 248 |
Primary properties of the Scene object | p. 248 |
Important methods of the Scene class | p. 249 |
The Sprite Class | p. 250 |
Main properties of the sprite | p. 251 |
Appearance methods of the Sprite | p. 251 |
Movement methods of the sprite | p. 252 |
Boundary methods of the sprite | p. 254 |
Collision methods of the sprite | p. 255 |
Animation methods of the sprite | p. 255 |
Utility Classes | p. 256 |
The Sound object | p. 256 |
The Timer object | p. 257 |
The virtual joystick | p. 258 |
The virtual accelerometer | p. 258 |
The game button | p. 259 |
Keyboard array | p. 260 |
Making the Game Engine Your Own | p. 260 |
Part IV The Part of Tens | p. 261 |
Chapter 11 Ten Great Game Asset Resources | p. 263 |
Dia Diagramming Tool | p. 263 |
GIMP - A Powerful Image Editor | p. 264 |
Ari's SpriteLib | p. 266 |
Reiner's Tilesets | p. 267 |
OpenGameArt | p. 268 |
Blender | p. 269 |
Audacity - Useful for Sound Effects | p. 270 |
Freesound.org | p. 271 |
SoundJay.com | p. 271 |
BFXR Incredible Eight-Bit Sound Effects | p. 272 |
InkScape | p. 273 |
Chapter 12 Ten Concepts Behind simpleGame | p. 275 |
Using the Canvas Tag | p. 276 |
Looking at a canvas | p. 276 |
Basic canvas drawing | p. 277 |
Creating an Animation Loop | p. 278 |
Angles in the Outfield | p. 280 |
Transformations in Canvas | p. 281 |
Coordinates inside coordinates | p. 281 |
Transforming an image | p. 282 |
Vector Projection | p. 285 |
Examining the problem | p. 286 |
Building a triangle | p. 287 |
Would you like sides with that? | p. 287 |
Solving for dx and dy | p. 288 |
Converting components back to vectors | p. 289 |
Using the Sound Object | p. 290 |
Reading the Keyboard | p. 291 |
Managing basic keyboard input | p. 293 |
Responding to multiple key presses | p. 293 |
Managing the Touch Interface | p. 294 |
Handling touch data and events | p. 297 |
Collision Detection | p. 298 |
Enabling bounding-box collisions | p. 298 |
Calculating the distance between sprites | p. 300 |
Boundary Checking | p. 301 |
Chapter 13 Ten Game Starters | p. 305 |
Lunar Lander | p. 306 |
The eagle has landed | p. 307 |
Producing a text console | p. 308 |
Enhancing the game | p. 309 |
Mail Pilot | p. 309 |
Building an "endless" background | p. 310 |
Improving the top-down racer | p. 312 |
The Marble-Rolling Game | p. 312 |
Managing dual input | p. 312 |
Building an array of obstacles | p. 314 |
Improving the marble game | p. 315 |
Whack-a-Mole | p. 316 |
Building a mole in a hole game | p. 316 |
Other features of the mole game | p. 318 |
Improving the mole game | p. 319 |
Jump and Run on Platforms | p. 320 |
Jumping and landing | p. 321 |
Coming in for a landing | p. 321 |
Making draggable blocks | p. 322 |
Improving the platform game | p. 323 |
Pong - the Granddaddy of Them All | p. 323 |
Building the player paddle | p. 324 |
Adding artificial stupidity | p. 324 |
Building a ball to bounce off boundaries | p. 325 |
Putting some spin on the ball | p. 326 |
Improving the Pong game | p. 327 |
I'm a Fighter, Not a Lover - RPGs | p. 328 |
Building the base Character class | p. 329 |
One does not simply build an ore | p. 331 |
We need a hero | p. 331 |
Improving the role-playing game | p. 333 |
Tanks - and You're Welcome! | p. 333 |
Tanks, turrets, and shells | p. 334 |
Building a bullet | p. 337 |
Improving the tank game | p. 338 |
Miles and Miles of Tiles and Tiles | p. 339 |
Creating a Tile object | p. 341 |
Building a map from tiles | p. 343 |
Updating the tiles | p. 344 |
Loading a tile map | p. 344 |
Improving the tile world | p. 345 |
Tic-Tac-Toe Is the Way to Go | p. 346 |
Creating the board | p. 347 |
Setting up the visual layout | p. 349 |
Checking for a winning combination | p. 350 |
Adding an AI | p. 351 |
Improving the tic-tac-toe game | p. 352 |
Index | p. 353 |