Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Andres Pagella, Chad Austin, John McCutchan, Don Olmstead, Tyler Smith, Takuo Ki
HTML5 Game Development Insights
Title Page
Contents at a Glance
Contents
About the Authors
About the Technical Reviewers
Introduction
CHAPTER 1: JavaScript Is Not the Language You Think It Is
Variables and Scoping Rules
JavaScript Typing and Equality
Inheritance the JavaScript Way
Conclusion
CHAPTER 2: Optimal Asset Loading
Caching Data
Data Formats
Asset Hosting
Effective Asset Grouping
Conclusion
Acknowledgements
CHAPTER 3: High-Performance JavaScript
About the Demo
Object Pools
Updating Only What’s Important
Warming Up the Virtual Machine
Conclusion
CHAPTER 4: Efficient JavaScript Data Structures
The Importance of Data Structures
Object Hierarchies
Arrays
Performance Data
ArrayBuffers and ArrayBufferViews
Complex Structures as Single ArrayBufferViews
Late Unpacking
Best Practices
Conclusion
CHAPTER 5: Faster Canvas Picking
Creating Pickable Objects
Basic Picking with Bounding Boxes
Faster Picking via Bucketing
Pixel Perfect Picking
Convex Hull Picking
CHAPTER 6: Autotiles
Shadows
The Abyss
Smooth Transitions
CHAPTER 7: Importing Flash Assets
Sprite Sheets
Vectorization
Cutout Animation
New Tools
Other Assets
Conclusion
CHAPTER 8: Applying Old-School Video Game Techniques in Modern Web Games
High-Performance Update Loops
Dirty Rectangles
Rendering Massive Grids
Displaying Animations in Extremely Large Viewports
Color Cycling
Conclusion
CHAPTER 9: Optimizing WebGL Usage
The Anatomy of a WebGL Call
Conclusion
CHAPTER 10: Playing Around with the Gamepad API
Draft Stage
Gamepad API Implementation
Demo Time: Hungry Fridge
Conclusion
CHAPTER 11: Introduction to WebSockets for Game Developers
Setting Up a WebSocket Connection
Sending and Receiving Data
The WebSocket API
Encoding Data
Using Socket.IO
Scaling and Reducing Overhead
Case Studies
Off-the-Shelf Solutions and WebSocket-likeProducts
Conclusion
CHAPTER 12: Real-Time Multiplayer Network Programming
Introduction
Case Study: FrightCycle
Conclusion
CHAPTER 13: The State of Responsive Design
Understanding the Problem at Hand
Getting the Screen Dimensions
Responsive Canvas
Responsive Layout
Responsive Content
Conclusion
CHAPTER 14: Making a Multiplatform Game
Case Study: Funfair Freak-Out
Control Method
Performance Testing
Interaction Design
Physics Engine
Audio
Asset Sizes
Interface Design
Maintenance
Conclusion
CHAPTER 15: Developing Better Than Native Games
The HTML5 Fullscreen API
Lowering the Resolution
Keeping Your Sprites Sharp
Unwanted Behaviors
Home Screen
Conclusion
CHAPTER 16: Mobile Web Game Techniques with Canvas 2D API
Why Canvas?
The Basis of Canvas
How to Gain Speed
Keeping Canvas Applications Stable
Profiling on the Real Devices
CHAPTER 17: Faster Map Rendering
The MAP Object
Fetch the Data from the Server
Loading a Tiled Map
Fast Canvas Rendering with Precaching
Draw!
Conclusion
CHAPTER 18: HTML5 Games in C++ with Emscripten
What is Emscripten?
How Emscripten Works
What is asm.js?
The Emscripten Toolchain
A Game Port
The Emscripten Platform
Predicting the Future
CHAPTER 19: Introduction to TypeScript: Building a Rogue-like Engine
What Is TypeScript?
Language Overview
Setting Up TypeScript
Creating Your Game Class
Drawing to Canvas
Handling Movement
Extending Your Engine
CHAPTER 20: Implementing a Main Loop in Dart
Sample Code
Interfacing with the Browser
Your First Main Loop and What’s Wrong with It
Quest for Determinism
User Input Processing
Conclusion
CHAPTER 21: Saving Bandwidth and Memory with WebGL and Crunch
The Goal
Browser-Supported Images
Memory Use
Compressed Textures
Loading DDS Files
Crunch
Emscripten
Workers
Notes on dxt-util.js
Conclusion
CHAPTER 22: Creating a Two-Dimensional Map Editor
List of Tiles
List of Sprites
Basic Tileset Configuration
Binding Sprites to Tiles
Map Field and Its Serialization to JSON
Camera
Renderer
Editor
Builder Window
Main Window
index.html with jQuery UI
Conclusion
CHAPTER 23: Automating Your Workflow with Node.js and Grunt
Automating Your Workflow
Conclusion
CHAPTER 24: Building a Game with the Cocos2d-html5 Library
What Is Cocos2d?
What Is Cocos2d-html5?
Understanding Cocos2d
Introduction to the Directory Structure
Introduction to the Tiled Editor
Getting Started on Built-in Examples
Setting Up Your First “Hello World” Project
Building the Tower Defence Game
Overview
Releasing a Cocos2d-html5 App to a Native App
Setting Up the Cocos2d JSB Environment
Learning More
How Active Is the Community?
What If I Have a Question?
Conclusion
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Title Page
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset