Lavoisier S.A.S.
14 rue de Provigny
94236 Cachan cedex
FRANCE

Heures d'ouverture 08h30-12h30/13h30-17h30
Tél.: +33 (0)1 47 40 67 00
Fax: +33 (0)1 47 40 67 02


Url canonique : www.lavoisier.fr/livre/autre/build-your-own-2d-game-engine-and-create-great-web-games/descriptif_4557442
Url courte ou permalien : www.lavoisier.fr/livre/notice.asp?ouvrage=4557442

Build Your Own 2D Game Engine and Create Great Web Games (2nd Ed., 2nd ed.) Using HTML5, JavaScript, and WebGL2

Langue : Anglais

Auteurs :

Couverture de l’ouvrage Build Your Own 2D Game Engine and Create Great Web Games

Develop a 2D game engine that will give you the experience and core understanding of foundational concepts for building complex and fun 2D games that can be played across the Internet via popular web browsers. This book is organized so that the chapters follow logical steps of building a game engine and integrates concepts accordingly.

Build Your Own 2D Game Engine and Create Great Web Games isolates and presents relevant concepts from software engineering, computer graphics, mathematics, physics, game development and game design in the context of building a 2D game engine from scratch. In this edition, all the code is based on updated versions of JavaScript with HTML5 and WebGL2: you will analyze the source code needed to create a game engine that is suitable for implementing typical casual 2D videogames. You will also learn about physics and particle system. The discussion of physics component includes rotations and popular physical materials such as wood, mud, and ice. The discussion of particle component has popular presets such as fire, smoke, and dust. 

By the end of the book, you will understand the core concepts and implementation details of a typical 2D game engine, learn insights into how these concepts affect game design and game play, and have access to a versatile 2D game engine that they can expand upon or utilize to build their own 2D games from scratch with HTML5, JavaScript, and WebGL2.

What You Will Learn

  • Understand essential concepts for building 2D games
  • Grasp the basic architecture of 2D game engines
  • Understand illumination models in 2D games
  • Learn basic physics used in 2D games
  • Find out how these core concepts affect game design and game play
  • Learn to design and develop 2D interactive games

 Who Is This Book For

Game enthusiasts, hobbyists, and anyone with little to no experience who are interested in building interactive games but are unsure of how to begin. This can also serve as a textbook for a junior- or senior-level "Introduction to Game Engine" course in a Computer Science department.

Chapter 1:  Introduction

Sub-Topics

·         Introduction to the IDE

·         Development environment setup

·         Guide to use the book

·         References

 

Chapter 2:  Working with HTML5 and WebGL2

Sub - Topics

·         HTML5 canvas for drawing

·         Project organization

·         Elementary drawing with WebGL2

·         Abstraction with JavaScript objects

·         Working with shaders and controlling the color

 

Chapter 3: Transformation and World Coordinate

Sub-Topics:        

·         Renderable: encapsulating drawing

·         Transforming a renderable object

·         Encapsulating the transform operator

·         View and projection transform and the viewport

·         The camera

 

Chapter 4: Common Components of a Game Engine

Sub-Topics:

·         The game loop

·         Keyboard input

·         Resource management and asynchronous loading

·         Game levels and scene files

·         Scene objects

·         Audio support

 

Chapter 5:  Working with Texture, Sprites, and Fonts

Sub-Topics:

·         Texture mapping and texture coordinates

·         Drawing with sprite sheets

·         Sprite animations

·         Fonts and drawing of text

 

Chapter 6:  Behaviors and Collisions

Sub-Topics:

·         Abstraction of game objects

·         Elementary behavior: chasing

·         Collision between game objects

·         Per-pixel accurate collisions

                               

Chapter 7:  Camera Manipulations

Sub-Topics:

·         Basic camera manipulations

·         Manipulation with interpolations

·         Camera shake effect

·         Working with multiple cameras

·         Mouse input through the cameras

                               

Chapter 8:  Illumination and Shadow

Sub-Topics:

·         Ambient light

·         Point light sources

·         Multiple light sources and distance attenuation

·         Diffuse reflections and normal mapping

·         Specular reflections and materials

·         Directional and spot lights

·         Simulation of shadows

                               

Chapter 9:  Physics

Sub - Topics:

·         Physics engine and rigid shapes

·         Broad-phase collision detection

·         Collision information and separation axis theorem

·         Collision between rectangles and circles

·         Movement and symplectic Euler integration

·         Resolving collisions

·         Support for rotations

·         Physics engine presets: wood, mud, ice, and dirt

                               

Chapter 10:  Particle Systems and Stenciling

Sub-Topics:

·         Particles and effects

·         Particle emitters

·         Particle system presets: fire, smoke, snow, dust, and explosion

·         Stencils

 

Chapter 11:  Supporting Camera Background

Sub-Topics:

·         Tiling of the background

·         Motion parallax

·         Layer management

 

Chapter 12:  Building a Sample Game: From Design to Completion

Sub-Topics:

·         Game concept and design

·         Integrating a setting: layout and playable space

·         Additional elements: interaction model and audio

Kelvin Sung is a Professor with the Computing and Software Systems Division at University of Washington Bothell (UWB). He received his Ph.D. in Computer Science from the University of Illinois at Urbana‐Champaign. Kelvin's background is in computer graphics, hardware, and machine architecture. He came to UWB from Alias|Wavefront (now part of Autodesk), where he played a key role in designing and implementing the Maya Renderer, an Academy Award‐winning image generation system. At UWB, funded by Microsoft Research and the National Science Foundation, Kelvin’s work focuses on the intersection of video game mechanics, solutions to real‐world problems, and mobile technologies. Together with his students and colleagues, Kelvin has co‐authored five books: one in computer graphics (Essentials of Interactive Computer Graphics: Concepts and Implementations, A.K. Peters, 2008), and the others in 2D game engines (Learn 2D Game Development with C# , APress, 2013; Build Your Own 2D Game Engine; Create Great Web Games, Apress, October 2015; Building a 2D Game Physics Engine, APress, 2016; and Basic Math for Game Development with Unity 3D, Apress 2019).

Jebediah Pavleas is a graduate student in the Computer Science and Software Engineering program at the University of Washington Bothell (UWB) as well as an intern on the NExT Enable team at Microsoft Research. He is also the coauthor of the book Learn 2D Game Development with C#. He received a bachelor’s of science degree in 2012 and was the recipient of the Chancellor’s Medal for his class. During his time as an undergraduate, he took great interest in both computer graphics and games. His projects included an interactive math application that utilizes Microsoft’s Kinect sensor to teach algebra, a 2D role-playing game designed to teach students introductory programming concepts, and a web site where students can compete in various mini-games to control checkpoints around campus. Relating to these proj

Includes the details of effects and physics components that are essential to all game engines

Shows how the presented concepts support and inform game design technique

Source code can be downloaded from https://github.com/Apress/build-your-own-2d-game-engine-2e

Date de parution :

Ouvrage de 741 p.

17.8x25.4 cm

Disponible chez l'éditeur (délai d'approvisionnement : 15 jours).

68,56 €

Ajouter au panier