Introduction to Game Development, the new game development textbook from Charles River Media, is a comprehensive introductory text penned by over two dozen of the most respected experts in the industry, including Noah Falstein, Noel Llopis, Eric Lengyel, Sue Bohle, Kathy Schoback, and many more. Weighing in at almost a thousand pages, this hard-covered text covers every major aspect of game development, from design to programming to visual arts and the business of gaming, and presents the material with a structural elegance that's appropriate for an introductory course on game development.
This is quite likely the most thorough textbook of its kind ever published, and the book sets a new standard for academic texts in the field. As editor and contributor Steven Rabin says in his introduction, the book is an unparalleled tome of knowledge and wisdom on the subject of game development, and given the scope and depth of the material – as well as the astounding knowledge of its authors – this is our new top choice for a foundational game development textbook.
The book is in fact modeled after IGDA's guidelines for a first-year game development curriculum, and covers four broad areas of study: general game studies, game programming, art/asset creation, and business/management. These four areas are broken into seven basic units in the book, which are further sub-divided into forty individual chapters, each penned by an author who is an expert in that particular field.
Each chapter includes an initial overview of its content, a presentation of the core material, references to related content on the companion CD-ROM, and a concise end-of-chapter summary, as well as a series of additional exercises that can either be used in class or assigned as homework. These exercises – which range from fuzzy challenges such as designing menu systems and organizing development teams, to more technical math, programming, and physics problems – should provide educators with more than enough supplemental material to round out a full academic year, and are one of the most valuable aspects of the text.
General Summary of Content
The material itself is golden – some of the most useful pages on game development available for academic use. The scope is broad, but each chapter is nevertheless explored in depth, making for a text that is sound in both breadth and specificity.
Here's a broad overview of the seven main sections of the textbook.
Part 1: Critical Game Studies. Easing the audience into the vast world of modern day video gaming, the textbook begins with several broad overviews of gaming in the world today. The first of these is a brief history of video games, covering the evolution of the major genres, platforms, publishers, and developers of the last several decades. The second covers the sociology of games, including audience demographics, societal reactions to sex and violence, and the emergence of online communities. The last addresses ludology – the academic study of games – and highlights the issues and individuals central to this rapidly growing field.
Part 2: Game Design. The section on game design contains a high-level overview of the theories, processes, and design considerations that form the foundation of game creation. The first game design chapter explores the nature of fun, and examines ideas such as game structure, game flow, and the role of choice in generating an entertaining interactive experience. The second chapter delves into the specifics of actually designing a game, from high-level conceptualization and design documentation, to specific topics such as interface design, play mechanics, platform modifications, and performance testing.
Part 3: Game Programming – Languages and Architecture. The book contains three full units on game programming, the first of which covers programming languages and architectural schemes common to gaming. These chapters examine programming teams and processes, common game programming languages (including the object-oriented C++ and Java, a number of scripting languages, and the increasingly popular Flash MX), and fundamental concepts in computer programming. There are also chapters on debugging for games, game architecture design, and memory and I/O systems.
Part 4: Game Programming – Math, Collision Detection, and Physics. In the second unit on programming, the authors explore some of the more technical aspects of programming for games. The mathematics chapter examines the most common areas of math used in game development – geometry, applied trigonometry, vectors and matrices, and transformations – while the chapter on physics covers general physical concepts, real-time game physics, rigid body simulations, and particle systems. There's also a chapter devoted entirely to collision detection and collision resolution.
Part 5: Game Programming – Graphics, Animation, AI, Audio, and Networking. The last of the three programming sections takes a look at the technical foundations supporting the industry's high-level artistic disciplines. The chapter on graphics covers graphics programming fundamentals, rendering primitives, textures, lighting, and the hardware rendering pipeline, while a related chapter on character animation explores the technical basis for physical motion, including animation playback, animation blending, motion extraction, mesh deformations, and inverse kinematics. Next up are a number of chapters on artificial intelligence, covering the general use of AI in games, common AI techniques, game agents, finite state machines, promising AI techniques, and the complex field of pathfinding algorithms. There are also chapters on audio programming and networking/multiplayer programming.
Part 6: Audio Visual Design and Production. The book next moves into the artistic aspects of game development, specifically in terms of audio and visual design. Topics in this meaty section include general visual design principles, such as graphic design, color theory, and user interfaces; 3D modeling, including polygonal modeling, NURBS, subdivision surfaces, and advanced modeling topics; the creation of 3D environments; 2D textures and UV texture mapping; surface effects, which includes concepts such as vertex shading, alpha channeling, bump mapping, and compositing; CG lighting; key-framed, motion captured, and simulated animation; cinematography for games; and audio design, including audio fundamentals, basic implementation strategies, sound design, music, voice-over work, and the business of game audio.
Part 7: Game Production and the Business of Games. The last section of the book addresses the “real-world” aspects of the game industry, covering the domains of producers, attorneys, and game business professionals. The first of these chapters discuss the stages of a game development project, the structure of a production management chain, the economic network formed by developers, publishers, platform holders, and consumers, and the critical relationship between publishers and developers. The remaining sections cover game marketing, intellectual property law, and the controversial field of content rating and regulation.
Raising the Bar on Game Development Textbooks
Overall, the textbook provides a sweeping and expert overview of video game development, covering every major aspect of the industry in the authoritative, organized style that one would expect from a college textbook. As usual with a first edition text, there are a few improvements one might expect to see in the second edition – such as a more thorough table of contents, semester project suggestions, further resources for students and teachers, and so forth – but by and large, the book is a grand slam. A resource like this has been a long time coming for the game industry, and is sure to be used in game development courses for many years to come.
Introduction to Game Development
Editor: Steve Rabin