HTML5 game development insights /
HTML5 Game Development Insights is a from-the-trenches collection of tips, tricks, hacks, and advice straight from professional HTML5 game developers. The 24 chapters here include unique, cutting edge, and essential techniques for creating and optimizing modern HTML5 games. You will learn things suc...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Berkeley, CA :
Apress,
2014.
|
Colección: | Expert's voice in game development.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- At a Glance; Introduction; Chapter 1: JavaScript Is Not the Language You Think It Is; Variables and Scoping Rules; Declaration Scoping; Declaration Hoisting; JavaScript Typing and Equality; Base Types; Numbers; Strings; Booleans; Objects; Arrays; null; undefined; The typeof Operator; The instanceof Operator; Type Coercion; Equality Checking; Truthiness; Inheritance the JavaScript Way; Prototypical Inheritance; this; Conclusion; Chapter 2: Optimal Asset Loading; Caching Data; HTTP Caching; HTTP Caching Example; Loading HTTP Cached Assets; Client-Side Storage; Memory Caching.
- Data FormatsTexture Formats; Audio Formats; Other Formats; Asset Hosting; Server Compression; Geolocating Assets; Using a Content Distribution Network; Effective Asset Grouping; Grouping Using Tar Files; Conclusion; Acknowledgements; Chapter 3: High-Performance JavaScript; About the Demo; Object Pools; How to Make an Object Pool; Pool Structure; Recyclable Objects; Requesting a Free Object from the Pool; Returning Objects to the Pool; Iterating on a Pool; Using an Object Pool; Updating Only What's Important; Culling for Simulation; Culling for Rendering; Warming Up the Virtual Machine.
- Your Code Will Be Compiled and Optimized on the FlyDeoptimizations; Rev Up the Engine; Benchmarking; Digging Deeper; 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; Defining a Sprite Prototype; Representing Objects; Basic Picking with Bounding Boxes; Caveats; Faster Picking via Bucketing; Caveats.
- Pixel Perfect PickingLoading Pixel Data; Testing a Mouse Click; Results and Caveats; Convex Hull Picking; Generating the Convex Hull; Doing Picking Against the Convex Hull; Caveats; Moving Forward; Chapter 6: Autotiles; Shadows; The Abyss; Smooth Transitions; Chapter 7: Importing Flash Assets; Bruno Garcia, co-founder, 2DKit; 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; Calling requestAnimationFrame; Bottlenecks in an Update Loop; Dirty Rectangles.
- Rendering Massive GridsDisplaying Animations in Extremely Large Viewports; Color Cycling; Conclusion; Chapter 9: Optimizing WebGL Usage; The Anatomy of a WebGL Call; How WebGL Works; Building the Renderer; Debugging WebGL Usage; Using Extensions; Vertex Array Objects; Draw Buffers; Instanced Arrays; WebGL 2; Rendering the Scene; Frustum Culling; Rendering Order; Batching; Conclusion; Chapter 10: Playing Around with the Gamepad API; Draft Stage; Browser Support; Supported Devices; Gamepad API Implementation; Project Setup; Connecting the Gamepad; Prefixes; Detecting Disconnection.