GAME PROGRAMMING IN C++: STARTTO FINISH by Erik Yuzwa (University of Calgary)
Welcome to the exciting world of game programming! If you're already familiar with the C++ programming language and want to learn how to program games, this book is for you. Game Programming in C++: Start to Finish will help you learn how to turn your own game fantasies into playable realities! Over the course of the book, you'll learn the popular techniques and practices behind today's games. Not only will you add a lot of theory to your game programming toolkit, but you'll also create a small basic game from scratch - SuperAsteriodArena. While you'll focus on using the SDL and the OpenGL libraries to learn game programming, you'll also learn the essential Windows principles that you'll need to create just about any kind of game with any other API such as DirectX. This easy-to-follow book takes current game programming information and filters it down to a practical level. Each chapter and subsection builds upon previous chapters and topics in a tutorial format, allowing you to progress at your own pace. As you work through the book, you'll build the SuperAsteriodArena game, beginning with engine creation and 3D programming with SDL and OpenGL. From there you'll move on to animation effects, audio, collision detection, networking, and finalizing the game. A variety of tools are used throughout, including Visual Studio and OpenGL, SDL, Autodesk 3ds Max, and the Audacity sound tool.