Flylib.com

Books Software

 
 
 

Acknowledgments


Acknowledgments

Thanks to Mike Stephens, Carol Ackerman, Mark Renfrow, Rhonda Tinch-Mize, David Franson, Andy Beaster, and the rest of the gang at Sams Publishing for making this yet another pleasurable writing experience. A big thanks goes to my literary agent, Chris Van Buren, who keeps me in business. And finally, a tremendous thanks to my wife, Masheed, and my parents, who are my best friends and biggest supporters.


We Want to Hear from You!

As the reader of this book, you are our most important critic and commentator. We value your opinion and want to know what we're doing right, what we could do better, what areas you'd like to see us publish in, and any other words of wisdom you're willing to pass our way.

As an associate publisher for Sams , I welcome your comments. You can email or write me directly to let me know what you did or didn't like about this book ”as well as what we can do to make our books better.

Please note that I cannot help you with technical problems related to the topic of this book. We do have a User Services group , however, where I will forward specific technical questions related to the book.

When you write, please be sure to include this book's title and author as well as your name , email address, and phone number. I will carefully review your comments and share them with the author and editors who worked on the book.

Email:

feedback@samspublishing.com

Mail:

Michael  Stephens
Associate  Publisher
Sams  Publishing
201  West  103rd  Street
Indianapolis,  IN  46290  USA


Reader Services

For more information about this book or others from Sams Publishing, visit our Web site at www.samspublishing.com. Type the ISBN (excluding hyphens) or the title of the book in the Search box to find the book you're looking for.


Introduction

Although it's kind of hard to imagine now, there was a time not so long ago when the concept of a video game was a "pie in the sky" idea. Computers were barely seen as useful tools in business, and were viewed as having even less potential for entertainment. Technology has a way of changing the way we think about things, and it wasn't long before early video games captured the minds and quarters of an entire generation. Yes, I am a child of the eighties, and I feel fortunate to have spent part of my childhood in the decade where video games went from a pipe dream to a cultural phenomenon .

Video games are interesting in that they represent the first form of interactive digital entertainment. Perhaps more importantly, video games represent the first truly interactive art form. When you think about it, there aren't many paintings, sculptures, or musical compositions that allow you to interact with them and change them in any way. Video games allowed their creators to share something more with the game player by giving players a chance to put part of themselves into a game, and then see what comes out. In fact, the best games are the ones that allow players to express their own unique style and technique when playing the game, while at the same time being entertained by the game designer's vision of an imaginary world portrayed by the game.

If you think this introduction is setting you up for a book filled with nostalgia and artsy video game talk, think again. Although I appreciate the history of video games, as well as the artistry that goes into their design, I realize that you're interested in creating your own games. The trick is to learn from the past while equipping yourself to create a new future. So, I'll use past video games to explain game construction techniques and give you ideas, but my ultimate goal is to empower you with the game programming knowledge to realize your own vision of the perfect computer game.

I'm sure you already know that computer programming is a challenging, yet rewarding endeavor that gives you the freedom to do some interesting things within the context of a computer. Unfortunately, game programming has often been somewhat of a mysterious discipline within computer programming. Although there are a lot of games, there really aren't all that many game programmers. The reason is primarily because game programming is a uniquely challenging area of software development that requires a mastery of several different disciplines. To create even a simple game, you must understand how to write code to draw bitmapped graphics, carry out sprite animation, play sampled digital sound effects, and process user input from a keyboard, mouse, and/or joystick. If these tasks sound somewhat overwhelming, it's because they are if you aren't properly prepared to tackle them.

This book tackles each game programming discipline one at a time, and in a manner that allows you to build one skill on top of the previous one you just learned. The end result is that you start with a few fundamental game programming skills, and slowly build up a base of knowledge that allows you to tackle increasingly more complex games. The significance of this approach is that it allows you to ease into game programming a step at a time, with a focus on ramping up your skills throughout the book to tackle more challenging projects.

Will this book make you a game programming guru? Not exactly. The idea here is to provide you with a solid foundation in game programming skills that you can use to create interesting games of your own. This book does not cover DirectX, which is Microsoft's advanced game programming library. DirectX is a complex technology used to create commercial games. You should definitely aspire to learn DirectX if you decide to get more serious about game programming, but the purpose of this book is to show you how to create fun games with a minimal amount of pain. DirectX has a significant learning curve, so I decided that it was best left to more advanced game programming books. The good news is that you don't need DirectX to create interesting and highly entertaining games of your own, as you learn throughout this book.