Through some hard work, networking, and a hand from Lady Luck, I had the opportunity to author and publish some books on game development. It was an extremely gruelling experience at the time, but I was thankful to have gone through it. It was definitely an eye opening glimpse into the world of publishing.
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.
Learn C++ by Making Games teaches the fundamentals of C++ from a unique and fun perspective. Using game specific code and examples, the book helps anyone wanting to learn C++ progress from the basics to more advanced topics. As you learn C++, you’ll be putting the code and techniques into practice by programming a game project in each part of the book.
The book begins with an introduction to the fundamentals of the C++ language, including the basic data types of the language. It then progresses further into creating and defining variables, basic mathematical operators, and the various loop structures at your disposal. Next, you’ll learn how to use functions to make code more readable and maintainable, along with techniques for breaking up source code into several files for readability. From there you’ll move to data structures and explore concepts such as using collections to store multiple copies of a data type.
With these foundations of C++ firmly applied, you’ll be ready to learn the basics of pointers that you’ll need for all of your C++ programming. Next comes an introduction to object-oriented programming (OOP) concepts, including classes, objects, inheritance, virtual methods, and polymorphism. From there, reading and writing data files (serialization) are covered. The book concludes with an exploration of how to use the Simple DirectMedia Layer to display graphics and handle basic input, sound, linked lists, templates, along with a variety of more advanced topics, including using SDL to create a simple demo. This book is ideal for an introductory C++ course, or for anyone wanting to teach themselves C++ through the creation of game projects!