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, andice. 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.