Game Coding Complete and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
More Buying Choices
Have one to sell? Sell yours here
Start reading Game Coding Complete on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Game Coding Complete, Third Edition [Paperback]

Mike McShaffry
4.4 out of 5 stars  See all reviews (34 customer reviews)

Buy New
$31.99 & FREE Shipping. Details
Rent
$18.38
Only 5 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
Want it Tuesday, May 21? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition --  
Paperback $31.99  
Rent Your Textbooks
Save up to 70% when you rent your textbooks on Amazon. Keep your textbook rentals for a semester and rental return shipping is free.
There is a newer edition of this item:
Game Coding Complete, Fourth Edition Game Coding Complete, Fourth Edition 4.6 out of 5 stars (33)
$40.15
In Stock.

Book Description

March 5, 2009 1584506806 978-1584506805 3
Welcome to "Game Coding Complete, Third Edition," the newest edition of the essential, hands-on guide to developing commercial-quality games. Written by a veteran game programmer, the book examines the entire game development process and all the unique challenges associated with creating a game. An excellent introduction to game architecture, you'll explore all the major subsystems of modern game engines and learn professional techniques used in actual games. This third edition features expanded content and coverage of the latest and most exciting new game programming techniques including AI, multiprogramming, working with scripting languages such as Lua, and writing C# tools like your level editor. All the code and examples presented have been tested and used in commercial video games, and the book is full of invaluable best practices, professional tips and tricks, and cautionary advice.

Frequently Bought Together

Game Coding Complete, Third Edition + Game Engine Architecture + Programming Game AI by Example
Price for all three: $126.59

Buy the selected items together


Editorial Reviews

Review

If you ever wanted to know how to write a game, this is the book for you. -- Paul F. Johnson, accu.org

Last week I bought Game Coding Complete and I highly recommend it. -- Info-architects.net

Mike has put a lot of effort in making this a Game Coding Complete experience. -- Triple Buffer Software

The best parts of this book were those covering topics that typically get overlooked in other game programming books. -- David Astle, GameDev.net

This book is awesome - Mike gives tips and warnings in the form of Best Practices, Gotchas and war stories. -- GDSE (Game Development Search Engine) --This text refers to an out of print or unavailable edition of this title.

From the Publisher

I’ve worked on a ton of books for game developers over the years and I’ve published quite a number of these titles. Right up front I can tell you that Mike McShaffry is the real deal. He’s one of the few authors around who has the real experience to write a book like Game Coding Complete. This book is jam-packed with the author’s experience over the years of working in an industry that is really dynamic and difficult, perhaps even brutal at times. Throughout the book you’ll find hundreds of stories, tips, "gotchas," and best practices that will make your head spin. Not only is this a great book for game developers but all developers could get a lot out of reading this book and following Mike’s highly practical and expert advice. I think game industry legend Warren Spector sums it up best in the foreword to this book:

"Reading this book, I couldn’t help but marvel at how much Mike’s learned over the years and wonder how much more Mike--and the rest of us--would have gotten done, how much better our games might have been, if we’d had the benefit of the kind of information in the pages that follow. There just wasn’t anyone around back then who knew enough about games, programming practices, and software development. We were making it up as we went along."

If you want to see how real game developers create and code up games for companies like Microsoft and Origin, check out this book. --This text refers to an out of print or unavailable edition of this title.


Product Details

  • Paperback: 944 pages
  • Publisher: Cengage Learning; 3 edition (March 5, 2009)
  • Language: English
  • ISBN-10: 1584506806
  • ISBN-13: 978-1584506805
  • Product Dimensions: 7.4 x 2.2 x 9.1 inches
  • Shipping Weight: 3.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (34 customer reviews)
  • Amazon Best Sellers Rank: #491,803 in Books (See Top 100 in Books)

More About the Author

Mike McShaffry, a.k.a. "Mr. Mike," started programming games as soon as he could tap a keyboard--in fact he somehow skipped 7th grade math entirely in favor of writing games in BASIC on an ancient Commodore Pet. In his single-minded pursuit of programming knowledge, he signed up for an extended stay at the University of Houston. To the surprise of himself and the Dean of Mathematics, he was actually graduated five and one-half years later. Shortly after graduation, he entered the boot camp of the computer game industry: Origin Systems. He worked for Warren Spector and Richard Garriott, a.k.a. "Lord British," on Martian Dreams, Ultima VII: The Black Gate, Ultima VIII: Pagan, Ultima IX: Ascension, and Ultima Online.

Exactly seven years from the day he was hired, Mike arranged his escape and in 1997 formed his first company, Tornado Alley. Tornado Alley was a garage start-up whose goal was to create No Grownups Allowed, a massively multiplayer world for children--something that was sure to land Mike and anyone else at Tornado Alley front and center of a Congressional hearing. While No Grownups never left the tarmac, a kid's activity program called Magnadoodle by Mattel Media did, and in record development time.

The entrepreneurial bug, a ravenous and insatiable beast, finally devoured enough of Mike's remaining EA stock to motivate him to take a steady gig at Glass Eye Entertainment, working for his friend Monty Kerr, where he produced Microsoft Casino. Ten short months later, Monty asked Mike and his newly assembled team to start their own company called Compulsive Development, which would work exclusively with Microsoft on casual casino and card games.
Mike served as the primary coffee brew master and Head of Studio, and together with the rest of the Compulsive folks, twenty great people in all, produced three more casual titles for Microsoft until August 2002. Compulsive was acquired by Glass Eye Entertainment to continue work on Glass Eye's growing online casual games business.

Mike was hungry for AAA console work, and in 2003 he got what he wanted: - Ion Storm's Thief: Deadly Shadows team called Mike in to create their third-person camera technology and work on fine- tuning character movement at the 11th hour. What started as a two week contract turned into almost a year of labor working side- by- side with programmers that used to call Mike boss.

While it was great to be "one of the boys" again, it couldn't last forever. Mike was recruited to start an Austin studio for Maryland- based Breakaway Games. Breakaway Austin's focus was AAA console development and high- end simulations for the U.S. Military and DoD contractors. Mike and three of the BreakAway Austin team actually visited the USS Harry S. Truman, one of the U.S. Navy's CVN class Nuclear Aircraft Carriers. They flew out, landed on the carrier, spent four days and nights with the officers and crew, and got launched to go back home. Afterwards they created 24 Blue, a training simulator that mimics the insane environment of the deck of the carrier, jets and everything.

After BreakAway Austin Mike founded a consulting company called MrMike. He figured that nearly 18 years in the gaming industry was enough to firmly establish that as a good identity for the company. For nearly two years, he helped small game companies choose their game technology, firm up their production practices, and pitch game ideas to industry publishers like Microsoft, EA, THQ, and others. One of his clients, Red Fly Studio, made him an offer he couldn't refuse and he jumped back into a full time gig.

In 2008 Mike took the position of Executive Producer, and helped ship Mushroom Men: The Spore Wars, Ghostbusters for Wii/PS2, The Force Unleashed II for the Wii, Thor The Video Game for Wii/3DS, and three games for iOS/Android, including Inertia: Escape Velocity and Elenints.

Mike left Red Fly Studio in 2012 to restart his freelance career - helping companies get misbehaving projects under control and using his programming skills to develop custom tools, mobile apps, and anything else that seems interesting.

If Mike's fingers aren't tapping away at a keyboard, he's probably either "downhilling" on his mountain bike or enjoying good times with his friends in Austin, Texas.

Customer Reviews

This book is amazing like the previous editions (I read the 2nd one). Fabio Razzo Galuppo  |  9 reviewers made a similar statement
His writing style is such that it is easy to read because of its almost informal nature. Andrew Baker  |  11 reviewers made a similar statement
Most Helpful Customer Reviews
95 of 96 people found the following review helpful
4.0 out of 5 stars Good intro to undercovered topics February 17, 2004
Format:Paperback
The title of this book suggests two things to me. The first is that it provides a complete guide to game coding. The second is that it fills the same role for game programming that the book Code Complete fills for programming in general, i.e. a journeyman's book that fills in the gaps left in introductory texts and broadens your knowledge to prepare you to move on to more advanced topics. Unfortunately by trying to do the former (which I don't think is possible in a single book), it falls a bit short on the latter, resulting in a (very) good book rather than the great book it could have been given the author's impressive background.

First, the bad.

It seems that the author never really decided what his audience is. Parts of the book (e.g. the introduction to 3D graphics) are written for total beginners, while others (such as the overview of game engines - all of which cost tens or hundreds of thousands of dollars to license) are really only relevant to experienced professionals. The author/publisher really should have picked an audience and stuck with it.

Some readers will be annoyed by how platform-specific this book is, which really isn't apparent from the cover copy or even the other reviews. All of the code samples use DirectX, and there is a lot of space dedicated to Windows-specific information. Granted, Windows and DirectX are by far the most popular choices for PC-based game development, so this won't be an issue for most readers.

And now for the good.

The best parts of this book were those covering topics that typically get overlooked in other game programming books, namely things like pointers and memory management, scripting, creating automated build enviroments and code/resource management, debugging, and notably the entire section on production, scheduling and testing. Although some of these topics are covered in other books that are not specific to game development, putting them in a single volume and exposing game developers to them early on is a Good Thing.

Although the sample code was fairly sparse, what he did provide was extremely useful, in particular the resource file implementation, random number generator, and scene graph.

Finally, props to the author for maintaining a website and actively supporting this book. As an author myself, I know how much work is involved in doing so, and I recognize that it reflects the author's desire to really help people and not just sell books.

In conclusion, my overall impression of this book was very positive. It's marred by a few shortcomings, but overall, I think that most new game programmers will benefit from it.

Comment | 
Was this review helpful to you?
26 of 27 people found the following review helpful
5.0 out of 5 stars Very insightful reading December 4, 2003
By MRom
Format:Paperback
As someone who just has about 3 years of programming experience and is finishing up high school this year, I found this book to very helpful. I got Tricks of the Win Game Programming Gurus one year for Christmas, and although the later chapters such as AI, multithreading, and physics modelling were pretty good primers, all the DirectX material were essentially rehashes of the SDK docs. Just about every other game programming book that focused on DirectX had the same kind of characteristic...most of the DX material could just as easily be found in the SDK docs. But when I came across Game Coding Complete, I saw it had a lot of good, practical information; I couldn't put it down.

I really liked the 2D chapter because it provided some good pointers on surface management (such as when and when not to restore surface data), explained how alpha blending works (and provided a surface-surface copy function that utilizes alpha blending), and lays out some of the basic functionality of a sprite class. For a newcomer to game programming, I really found these practical examples very helpful in at least getting ideas churning in my head as to how I want design my game.

Chapter 7 on the whole initialization, main loop, and shutdown procedures were real insightful in my opinion. Mr. Mike begins by discussing what he thinks is a good initialization process. One of the earlier reviewers might dismiss this as just another opinion of the author, backed up by no fact, but, at least to me, the author has some pretty sound reasoning for suggesting what he suggests. An example would the case he makes for doing initializations of certain objects: instead of relying on a user calling some Init method and using the return value from it to test for success or failure, he suggests doing all initializations from within the constructor and throw an exception if an error occurs. I agree with the author that the resulting code looks cleaner and a bit more elegant than testing the return value for multiple Init method calls (of course, this is also partly a matter of personal preference, but what have you). As with many other chapters, this chapter provides some pretty useful code for you to use, such as a function that will calculate the CPU speed, another example showing how to ensure that only one instance of your game is loaded, and a fairly solid cooperative process manager.

Chapter 8, which covers resource management, was pretty informative and made a convincing argument as to why you ought to use resource files rather than relying on all your images/sounds/what have you as individual files. Even though resource packing may seem a little daunting at first for a beginning game programmer, but in the long haul it's rather rewarding to be able to store all your resources in a few packed resource files. Mr. Mike uses the iPac program as an example for a resource packer, and although it is not freely available (I'm unaware of any free resource packing tool), through images and bit of information the book provides, I've been able to create a resource packing tool that more-or-less models after iPac and that suits my needs.

There are other chapters, especially the 3D math and 3D graphics chapters, which are pretty helpful, but again, as someone with no knowledge in 3D graphics, it kind of confusing. But I attribute that to my ignorance.

This book is not without its shortcomings though. Some of the source code won't work if type straight from the book. Fortunately enough, many typos have been pointed out on the book's website, and the source code appears to be in working order. Also the GUI and user-input chapter didn't seem to have the same caliber as some of the other chapters had. The author did mention it would've been much longer, but just seems like it's lacking a bit in its current state. It's better than nothing though. Also, there isn't any mention to audio really (aside from his choice of Miles Sound System in the beginning of the book).

In all fairness to Mr. Mike though, he does state in his introduction that he has a bit of a bias to Win32 and DirectX throughout the book. As such, you can't necessarily assume that ALL the concepts are applicable to every type of game programming (PC or console). I do think he makes a valiant effort in trying to cover certain topics relevant to console development. He does a very nice job of trying to cover a lot of material in a rather short book. Coupled with the source code that is available online, I found this to be one of the best books I've read on game programming. It's chock full of very useful information, much of which can be insightful for both the beginning and the professional game programmer. Has my definite recommendation.

Was this review helpful to you?
22 of 23 people found the following review helpful
Format:Paperback
I say Incomplete because there is still a lot that could have been covered in a book called Game Coding Complete. At the same time I would not have picked it up off of the shelf if it didn't have such a catchy title, and learn as much about Game Coding as I did reading this book. Even though I think the title is incomplete, I still learned a great deal and I frequently reread chapters to catch things I missed the first time round.

IMHO this book is geared toward those who want to make a professional career in making games, but have no idea how, while at the same time teaching concrete principles of game programming to those like me who are currently hobby coders. Many times had I tried and failed to start developing a game, but I am now building my game intelligently and efficiently, knowing exactly what I need to do to get things done. I have to say it is all because of this book.
This is also one of the few books that has managed to grip my attention for as long as it did because of the clever way that Mike writes. His writing style is such that it is easy to read because of its almost informal nature. The text thankfully lacks rigid structure, and welcomed breaks in the lessons of "how and why" are made up of "I remember the day" stories that are both amusing and filled with helpful hints on what NOT to do OR how the approached a problem and fixed it :) (Which is the point BTW)
The code in the book is sparse, and it initially bugged me, but I came to realize that it really is not about giving the reader chunks of code. This is not a step by step guide on how to make a game, but a collection of ideas on how to cleverly write and manage your game. Mike frequently comments on the potential problems one might have compiling his code, and he rightfully tells the reader to fix it as an exercise. After all that is the kind of industry Game Development is if I am not mistaken: Fixing broken code and solving problems???

Anyways, this book is not for know it alls already in the industry. This is a book for people like me who are passionate about games but don't have a clue on where and how to start. To me working in the industry is an impossible endeavor, but this book is not only filled with concepts on game programming, but it is filled with motivational stories and tips on how to GET IN. This is a booster in the right direction, and to actually get the opinions of someone already in the business, and not just straight HOW TO LOAD A BITMAP crap, (which is also in the book I might add...) has left me pleasantly surprised and content. If McShaffry wrote another book, hopefully something that covers topics he didn't cover in the original, I would be all over it like a Fat Kid on a Smarty.

I highly recommend it!!

Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Get it
BeFore u get this book, if u are thinking of buying, U should get a good understanding of c++ language. This is a book for programmers and covers a lot of info and code with it to. Read more
Published 6 months ago by Jesse
4.0 out of 5 stars Fills a void on your game programming bookshelf
Many books exist that attempt to teach 3D programming, a specific API or engine or try to demonstrate an entire engine being developed from start to finish. Read more
Published 16 months ago by Patrick Rouse
5.0 out of 5 stars A must have book. But don't be misled by its title...
... it is obviously not that "Complete". For example this book takes for granted that you already know DirectX, and it uses it in many pratical examples. Read more
Published 19 months ago by Ologon
2.0 out of 5 stars Fresh and entertaining, but flawed
The book is a nice, refreshing read with many intersting and helpful examples from the trenches, providing a good general overview. As such, it would deserve 5 stars. Read more
Published 19 months ago by Thomas Denk
5.0 out of 5 stars A good start
It doesn't tell you everything that you need (it doesn't explicitly talk about game engine architecture, for example), but it is a good place to start. Read more
Published on May 14, 2011 by Zackary T. Bennett
3.0 out of 5 stars Dry read
A very dry read, even for a programmer. It eventually gets interesting but its annoying when it constantly wants to remind you that game programming is hard and taxing.
Published on July 3, 2010 by damon chastain
5.0 out of 5 stars Excellent Guidance From a Game Programming Guru
As a newcomer to game development, this book has been worth its weight in gold to me. There are many books out there which can teach you how to use specific API's and mathematical... Read more
Published on June 6, 2010 by James Swaine
5.0 out of 5 stars Good for those who will understand
I bought this book a little bit early, and had to go review my C++ before i could fully use it, and when I did, I came to realize that I was holding THE book on game coding. Read more
Published on November 9, 2009 by a. s. hunt
4.0 out of 5 stars Good programming wisdom
The book covers many topics. I was interested in more info on how to use Lua and was glad to see some pages about it (about 50 pages worth). The code is neat and easy to read. Read more
Published on September 28, 2009 by M. Bateman
4.0 out of 5 stars Great insider detail, very schizophrenic however
This book has lots of pertinent information for designing/coding games from an industry veteran. The book discusses many aspects of the process including handling input, user... Read more
Published on August 20, 2009 by cdietschrun
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...


Create a guide


Look for Similar Items by Category