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.
Author: Kelvin Sung, Jebediah Pavleas, Matthew Munson
Binding Type: Paperback
Publisher: Apress
Published: 12/04/2021
Pages: 741
Weight: 2.87lbs
Size: 10.00h x 7.00w x 1.52d
ISBN: 9781484273760
2nd EditionAbout the AuthorKelvin 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 AliasWavefront (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 projects, he coauthored publications in IEEE Computers and The Journal of Computing Sciences in Colleges (CCSC). When not working toward his graduate degree, he enjoys designing, building, and playing games of all kinds as well as adapting technology for improved accessibility.
Matthew Munson is a graduate student in the Computer Science and Software Engineering program at the University of Washington Bothell. He received undergraduate degrees in Computer Science and Software Engineering and Mechanical Engineering at the University of Washington Bothell in 2020. Matthew is interested in operating system development, networking, and embedded systems. As a research assistant Matthew used cloud computing to analyze years of audio data recorded by hydrophones off the Oregon coast. This data was used to study the effects of climate change and shipping noise on marine mammals. Currently, Matthew is working on a networked augmented reality library that focuses on allowing users to view the same virtual scene from different perspectives. Jason Pace has contributed to a wide range of games as a Producer, Designer, and Creative Director over 15 years in the interactive entertainment industry, from ultra-casual puzzlers to Halo. As a Designer Jason builds game mechanics and systems that start from a simple palette of core interactions (known as the core gameplay loop), progressively introducing variety and complexity to create interactive experiences that engage and delight players while maintaining focus on what makes each unique game fun.