The structure of the game development process is the same no matter what language or platform you are developing. This book will provide coverage of a number of programming languages, runtime environments and target platforms. It will be be as applicable to an iPhone developer working in Unity as to someone developing their game from scratch in C++. The key factor in making a great game is not the quality of individual technologies, but the whole package that is assembled. The book will discuss technical elements in the context of the game design, and how they can work together. Many of the most famous game development studios started on titles with limited technology used in really smart ways. Students or hobbyists can do likewise with this book. This is an essential guide for programmers on how to create and implement a full 3D game - with hands-on exercises on complex 3D game programming. It covers all essential elements: testing, design considerations, programming - in detail. Programming examples in OpenGL (OpenGL is popular and while there are OpenGL books, this one is unique in that its focus is creating a robust full game with OpenGL). The video tutorials on the web site will demonstrate how to create a game from start to finish, so that readers can follow along and learn by doing along with the video tutorials on the site. Simple game engine creation is taught! Sherrod teaches programmers how to create their own game engine (which is a helpful set of game creation tools that expedite and simplify the process each time you create a new game) - students can make their own level editors.