Tricks of the Windows Game Programming Gurus (2nd Edition)
Andre LaMothe


Compras Nikon
Bluetooth
1 MUST BUY book for windows game programming!
A Great book that covers everything you need to know to create a windows based game. From the basics to more intense game programming stuff like AI and 3D.

I found the source code CD to be very very helpful. All the code in the book is on the CD as well as the executables.
2 Great for any real-time interactive Windows application
I highly recommend Tricks of the Windows Programming Gurus, 2nd Edition, both for its clear and comprehensive content, and for the amazing responsiveness of its author, Andre' LaMothe.

As context for the comments below, here at TechnoFrolics, we do not develop games, but rather, kinetic science-artworks and interactive educational science exhibits. What we were looking for was a book that provided information on Windows overall design, its API, and its extensions, as related to developing fluid, real-time graphics environments with near instantaneous (in the scale of human perception) response to user input. These issues are very similar to those encountered developing a computer game.

Mr. LaMothe's book is well written and easy to follow, very comprehensive, has good example code (a CD is included), and is organized in a manner that readily allows finding the pieces you need (for example, information on Direct X, the Windows event loop, etc.). The book does not assume extensive prior knowledge, starting with basic Windows programming, yet also gets into enough detail to be useful to experienced programmers. It addresses topics on various levels of complexity and abstraction, and describes both general structures and specific implementations.
Overall, the book educates without giving one a huge headache (a distressingly rare quality), and we have found it extremely helpful in our work.

Quite separate from his book, Mr. LaMothe is himself a fantastically helpful and friendly resource. Because of our unfamiliarity with the game industry, as well as subtle differences between our applications and typical games, we had several questions ranging from the simple to the complex. Mr. LaMothe responded to our email queries with a speed and attentiveness quite extraordinary.
How many books (technical or otherwise) come with personal assistance from their author?

Finally, if you are interested in the hardware as well as the software of dedicated game platforms, while we have not ourselves used the system and thus cannot comment on it in detail, you may wish to check out Mr. LaMothe's XGameStation Micro Edition development kit at www.xgamestation.com. Assuming it is of the same quality as his book, it is virtually guaranteed to provide a high quality learning experience.

3 Not the overall best available resource for this
Having started reading LaMothe books going way back into the old DOS days, I have to say this book is definitely more extensive when dealing with the particular OS (Win). But as always he has a tendancy to fill pages with nonsense rather than content. If you follow up with his next book to this one; Tricks of the 3D Game Programming Gurus (adv. 3d graphics and rasterization) you'll find the same writing style. In fact, I have as of yet to see a departure from this very style in any of his works, and I'm talking about going back a bunch of years. I guess if you can get past the numerous pages of useless information and vapid attempts at overall humor, then you may find some very useful information that is organized fairly well in this book. Although his style grates my nerves, when you reach a section in his books where he actually deals with the topic at hand, he is clear and thorough, though never concise.

I rate all his books as 3/5 because of this. Some people find his departure from topic and humor entertaining. If you are looking for a book dealing with this subject matter; Windows game programming foundations, then this is a very good book. Just be aware you may have to read 4 pages of somewhat related material on the chapters subject before he gets to the point. I know it fills the pages in the book, but from the standpoint of rapidly finding pertinent and useful information his books can be a trial of your patience.

I buy his books because as I said, when he gets to the point, his information is accurate, albeit sometimes older methodologies, and will allow you to bring to life on your windows your very own game. I recommend the second book in this 'series' with the same caveats.

Both he and SAMS publishing are always far too proud of their products, reflected in their inflated pricing. If you can find his books second+ hand at a substantial discount from retail, buy them.

Another warning to the casual reader looking for understanding of the subject, he can have the tendency of exposing advanced techniques early in a chapter that he doesn't explain fully until many chapters later. This goes for his math and derivations too. But when dealing with an advanced subject like 3D math; vectors, points, planes, intersections, etc.., you would do well to have a very decent book on algebra, geometry and in some cases calc (just in case it's been a few decades since you've used it).

And as always, he really needs a better group of proof-readers before it hits the shelves. Other than that, get it.
4 Fantastic & Balanced
I was a little weary of giving this piece a five-star rating but I think it duly deserves it. LaMothe has taken a very large topic, Game Programming, and elegantly explained the core workings of a game engine, programmed in C (some C++) based in a graphic environment (Windows).

This book is by no means "exhaustive" on the topics of game programming, (If you want to understand 3d game engine rasterization, try his second volume in this series), however, if you feel as though you want to know how a game engine is designed from the ground up with virtually nothing more than a window and some directx interfaces, then this might be your book.

The Book's Strengths:
- Well written & casual
- Deep, meaningful explanations of function calls & mathematics
- Well structured game engine architecture
- Excellent coverage of advanced physics (more mathematics) & how they are converted directly into EFFICIENT algorithms
- Code is easy to read (READ THE CODE, NOT JUST THE BOOK!)

I would like to note that this book is worth it's source code's weight in gold IN MY OPINION. I read the first eight chapters and felt lost... but when I just reviewed every example in the source I had been reading about, I started to understand and now everything makes sense! If you want to know even more, make sure you have the MSDN (at msdn.com) open in a browser somewhere for quick reference.

THE BOOK'S SHORTCOMING'S:
(this is what you all want to know right?)
*- excessive descriptions of inefficient algorithms FIRST, then moving into how the efficient algorithms were resolved.
- some code lines (maybe 12 in the whole book) don't match up correctly with the disc source (This isn't a problem if you use just the source on the disc. That code compiles correctly).
- some explanations of rudimentry C syntax is missing like explanations of complex #defines for macros and some struct notation but this is assumed.
- his humour is very ... well, it's LaMothe. :)

*Note: I am not sure if this is so much a shortcoming as it's a hinderence to someone who wants to understand the current and correct way to render or do something. First, LaMothe likes to show you how something was originally done (for example, the handling of DirectX COM objects, or the simplistic drawing of a line pixel by pixel) and then shows you the more effective way of doing it. This is great for someone who doesn't know or doesn't need to know how to get started right away and doesn't mind coming back to those pages in the book a week later ;-) but for most people it doesn't matter. Ironically, I didn't mind this but most might.

BOTTOM LINE: I am not an expert programmer or an expert reviewer.. But I think this book is fantastic. It is well organized and contains stunningly easy to read source. If you want to try another book, try the "Game Programming Gems" series. I hear they are wonderful as well.

Buy it for no more than 2/3 of it's list price ($60) though!
5 Great starting point for PC game design
If you're intersted in game programming on the PC, then this is definitely a good starting point. LaMothe is highly regarded in the industry as a talented writer, and this book proves that. LaMothe starts you off with some Win32 concepts and then leads you down the DirectX path (learn OpenGL as well if you care about portability).

Many people gripe about this style of language, and I can understand why. English is an international language, yet not everyone will understand his use of colloquial American slang. But then again, if you play games, you've probably heard it all before....


6 The place where difficult things become easy!
The strong point of this book is that all is explained in a clean, easy to understand way and this rule is valid even for "nasty" concepts like fuzzy logic, polygon fill and math. Generally Computer science books are boring but I found myself awake at 4.00 AM reading it!
7 Good coverage, great book.
This book has good coverage of the various aspects you'll need to know about to get started with programming games. Easy to follow, and the author has a good clean sense of humor. I highly recommend this book. However, I do not recommend it for those who don't know how to program--learn at least one language first.
8 Easiest programming book to read from cover to cover
If game programming excites you, then you will be able read this entire book. It takes you step by step, and you never feel lost. Perfect code examples. Its funny at times. Simply Awesome
9 Excellent book for a beginner
I have read the book "Tricks of the Windows Game programming Gurus" by AndrŽ LaMothe. I did not know anything about game development before buying this book. By reading this book I got a good idea about computer game development. Now I am working on my own 2D game engine.

With out any hesitation I can say this is the best book on game programming for a BEGINNER.

The book is about 2D games and some of the concepts in this book may be little out of date. But when you are a beginner what you need is good SOLID foundation, may not be the best technology.

The book covers lots of areas of game development, all the samples are given clearly explained and they are easy to follow. And I specially like his writing style.

I would recommend this book to anyone who is starting in game development.


10 Best book ever
This is an exelent book that processes a big subject while giving the reader a litle laught :). It touches subjects as AI and physics while not making it too dificult to understand, even for a teenager like me. It doesn't take for granted that your nether an expert C or C++ programmer, only that you know some of the basics, Is also tells C readers what C++ syntex is like and what the C++ commands does... You haven't done so yet, BUY IT! READ IT! ENJOY IT!
11 This is great for beginners!
I want to start this review off with a warning: this book does not teach you programming! Unless you already have an intermediate knowledge of C or C++, this book is not for you. What this book does is teach you the fundamentals of game programming. It explains just enough of the Win32 API and DirectX to get you started in making 2D (or text) games. The majority of the book is explaining exactly how 2D game programming works and the process that you must go through. As you progress through the book, you build a 2D rendering engine that you can use as a platform to build off of. As a C++ programmer, I will be starting from scratch (since 99% of his code is C, but he admits to this). The AI and physics sections are extremely well done and useful. There are a few minor issues I have with this book, but nothing that would reduce it's score. 1) The book uses DirectDraw7 (not DirectGraphics which is the newest DirectX API). But you're not doing extremely fancy things, and this book never claimed to be a DirectX guide in the first place. 2) There are many places where C++ would make things a lot cleaner. He admits this to the reader himself. Again, this is not a programming book, and C is the author's natural language, so if you have problems then deal with it. Other than that, this book is great. I'd recommend it to anyone looking to get a foundation in game programming!
12 A teaching aid, not a code dump, thanks Andre'
For people who actually want to learn something and not just for people looking for completed code to copy (which it also provides), this book is an excellent choice. The author mentions something that I think captures the essence of this book perfectly. He says that instead of building a game library (engine) and then writing a book to explain it, he writes the game engine along with the reader as the pages turn (or something like that). Some teachers like to present material for the student to absorb, whether or not they do is almost secondary. Good teachers "teach" material, they present info from the perspective of someone trying to learn and not as though they're speaking to a colleague. The author seems to understand what it is to be a good teacher.
13 Let kids learn coding a little...
I cannot understand why so many people judge this scriptum to be good. In my opinion the language is the first annoyance (does the author try to be a teeny?) and furthermore the level of the book - from a computer scientists view - is really low: How can he talk about optimization and running time and afterwards give us an example of recursive functions dealing with fibonaci-numbers, which is absolutely suboptimal?!!! All in all: A book for kids how want to start windows-coding.
14 Strong Learning curve!!
A very productive and professional looking book. Easy to grasp the basic concepts but the speed of the book from chapter to chapters has gradually speeded too fast for any beginner that has NEVER done win32 programming. Covers alot of techniques but not very throughly and their are some small mistakes in the book like code, spelling and grammer mistakes. The book has worked for me as a side-book because it'll take ages to read unless you have read soemthing like the first edition! then this! Highly recommended as a reference and side-book to read!! Worst thing about the book for beginners-doesn't break down code very much, you must absorb all the chunks of code when you see them!! but the good analyse and design part was great. The author lied! Doesn't take two years to create a game like asteroids!! only a week or less! that is if your willing to to the work. The order of the chapters weren't layed out in a proper way. Bad style! Get this book with SAMs teach yourself game programming in 24hours and you'll hit the road within three months or less!!
15 Great book
This book is great! Seriously. It covers all topics very concisely, and also doesn;t rehash the same basic topics over and over like some books do. Because of this, you may be more comforatble reading this if you are a competent programmer, and know some math already. The appendices help with this alot, but you wouldn't want to learn math and programming from an appendice, but they help. Anyway, As the book says it is for intermediate to advanced readers, and there is prorably no better book of this type on the market. Time to read volume 2!
16 Great book with lots of topics covered!
For starters, i know when i see a quality game programming book..
(i own 27 different books and this is one of my best 3!). This book wont teach you how to program in a particular language, for that you need a whole series of other books (for a quick crashcourse on C++, i recommend "C++ Weekend Crash Course" by Stephen R. Davis).
What this book WILL teach you is windows basics, directx basics
then you move on to more advanced topics like:
Graphics, Sound, Input (including force feadback joysticks!!), game physics, game Artifical Intelegence, and lots more!!.... Plus some thing i didnt find in other books, a whole chapter on how to program old text based games, some of you may ask "why would i need to learn that?!" (my friends did!). If you played games like Quake2 or Alien vs. Predator, you may have noticed they have command based ingame consoles (~ key), which allows you to input commands which affect the game at runtime (like cheats.), learn this and you'll be able to make a commandline based engine for your game.
WHAT ARE YOU WAITING FOR?? BUY THIS GREAT BOOK!! :-)
17 Good stuff
Game programming books are a hit-or-miss proposition. There are some really bad ones and some really good ones. This book falls into the latter category.

If you already know how to program in C, this will show you enough to get started writing Windows games. Basic Win32 and COM stuff is covered in enough detail to let you understand what's going on without dragging on excessively. The DirectX chapters do an excellent job of telling you what you need to do and why.

The game physics and AI chapters provide a strong introduction to the subject without getting bogged down in specifics that can't be generalized. Enough math is covered (trig, vector ops) to get through most common issues.

There are some minor flaws. The chapter on game physics, while good, needs some editorial work: some symbols and even a couple of formulas are missing. The chapter on writing text adventures is completely out of place in this book. The DirectSound chapter was strong, but glossing over 16-bit sound was a mistake. All text output is done through the (very slow) GDI functions, so writing a replacement would have made for a logical chapter.

On the whole, though, this is an excellent place to start.


18 This book helps out a LOT
Me and a few friends got this book, because we had decided we wanted to program a game. We all loved it, Andre teaches on a very good step by step gradient, making sure you know everything along the way. Me and my friends have a game on its way... thanks to this book.
19 Andre's name is my stamp of approval
Andre LaMothe's name in my humble opinion, has become synonamous with extremely-well-thought-out, action-packed, getting-down-to-business, everything-you-wanted-to-know, fun and excellently explained books that keeps you glued!. This book was no disappointment. Since the nature of the topic is pretty hectic and intense, I would imagine that some people would become frustrated. So I'm gonna express my opinion in 2 parts : for the beginner and for the more experienced programmer :

I've read many of the reviews where beginner programmers complain about the intensity of the book. Suffice to say that this book wasnt intended to teach C or C++, the very nature of DirectX programming can be pretty mindblowing. So if youre just learning C or C++ and want to learn game programming concepts, I'd highly.. lemmie rephrase that.. I'd HIGHLY recommend Andre's book "Tricks of the Game Programming Gurus"(which is the previous release, meant for DOS programming solely). I rate it even above this excellent book. Granted that the initial book "Tricks of the Game Programming Gurus" was designed and explained for DOS games and is now pretty much outdated, the concepts don't really change. Also, a word of advice.... please please I beg you.... try to read the code he gives and understand it ! Its simple to understand, but most people I've spoken to just skips over it. Why, I have no idea.Anyway, the book will give you a firm footing in the basics of video modes, pixel plotting, writing DOS applications to load PCX files, animation, scrolling techniques, sound programming, and my personal favourite - the 3D rendering engine using nothing but C !! Whats more - he writes a full program for almost EVERYTHING he explains, so you can see it in action ! Id recommend that you use a Microsoft compiler though, cos if youre a borland guy and you just begninnning, youre gonna get some headaches. I prefer Borland myself (Microsoft is a pain in the royal behind).If you then feel better about the concepts and understand C and C++, come back to this book. Take my word for it - its excellent ! Whats more, Andre has an amazing simple way of just telling you what you want to hear. Many a time in my undergrad studies, once I figured something out.. I thought to myself "Why couldnt the freaking lecturer just say so". Andre is the say-so guy ! Btw Andre .. did you really have a bra on your head when you started the chapter on AI and fuzzy logic ? ( i think it was that chapter). Anyway .. for the more experienced programmer :

If youre a seasoned C++ or C programmer (but dont know much about games)... this book is for you ! The only thing is that Andre tends to use C for everything. Even though its a bit irritating at first, its very easy to see how to port it into C++ (duh). But i can understand why andre uses C - its easier to explain the concepts with and probably cos he likes it more.Andre starts off by explaining some broad concepts on games and what really blew me away was the fact he had a simple complete directX game in teh first chapter. But that was just to get you rolling. Everythign from DirectSound, DirectMusic, DirectDraw , Direct everything is explained. And he gives you Demos for EVERYTHING ! So you can see how it works. He delves into hectic topics like Fuzzy logic, force feedback and much more. This book concentrates on 2D graphics though. His sequel to be released soon covers 3D indepth. Mine is on preorder. In true Andre style he ends off with a full game. If you know nothing about game programming, but you are a seasoned programmer, BUY THIS BOOK !

Bad side ? There are some typos in the book, nothing too serious though. Andres crazy writing style makes up for it.

Way to go Andre, another classic.


20 exceeded my expectations
I find few technical books out there that hits the mark of their intended audience, and fewer still that hooks the reader for most of the entire book.

So, I was surprised that this book is both. It is intended for the complete novice to an intermediate developer who wants to learn more. Anybody who has no experience in game programming can pick up this book and be knowledgeable after reading it. You only need a knowledge of C to begin with. (Java, C++ or C# are fine too.)

So now you think you got a good book even if you don't know anything about game programming? Well, that's not the whole of it. The author's writing style, sprinkled with jokes, is so smooth, it will help you get through even the toughest technical lessons in the book. I finished reading 3 chapters on COM and DirectX and I couldn't believe I understood them at first reading. ^_^

In short, this is the most worthwhile and easiest read I've had in a while from a technical book.


21 Fast 1000 Page Read From A Game Expert
It took me about 2 weeks to read this book from cover to cover and I must admit it was well written and kept me hooked. I read it slow to take everything in and the only slow chapter was the one on physics in which I found a mistake in pages 845-846 in which <17, 10> was used instead of <16, 9> as the Vector S2. But apart from that, it was a great read and really brought me up to speed on all the aspects required for making a game. It is definitely worth the money and what you learn from it does not only apply to Windows games but it gives you the background you need to program games in general as well and these skills can be applied to other platforms and languages. I definitely recommend getting this book if you have an interest in programming games. The book assumes a prior knowledge of the C language and the author explains his usage of C++ wherever that occurs, however nothing gets too technical and the author splices in his humor and wit throughout his explanations to keep our attention span so that we are not drowned in any monologue of theory that so many other computer programming books fall into. If you want a crash course into solid game programming skills and techniques and to start programming games right away, this book is for you. Plus, the author includes his professional game libraries for you to use and template programs you can modify so that you do not have to start from scratch, including all the code, on the CD-ROM. That's all my review in a nutshell.
22 A for content, D- for presentation and organization
Pros:
- covers a lot of material and background in 2D
- starts newbs from (nearly) the ground up, including Windows programming and 2D rasterization primitives
- stuff on AI
- stuff on 2D scrolling
- tasty stuff on the two CDs

Cons:
- way too much code printed, and then reprinted! This book could lose 300 pages, easy
- overly verbose... does nearly every flag for every DirectX call need to be printed? This book meanders between dry reference tables and step-by-step tutorials. Why not put the reference stuff in an appendix, or better yet, leave it on disk? Why list code for trivialities like hand-crafted .bmp files? Give the reader credit for having half a brain
- LaMothe is (as he admits) not very adept at C++. That's okay as far as the C++ savvy readers are concerned, but I cringe to think that this is what gives newbs their first impressions of C++
- really sloppy typesetting! Some of the code is in there without indents... I mean, come on! :) Some of the math equations have expressions like "xr", but it's not obvious whether he means x times r, or x "sub" r
- 2D scrolling stuff is there, but there's only five pages of it. After all the verbose detail, the one thing I was hoping he'd ramble about was horribly brief!

To summarize, there's cool knowledge in there, but it feels lik e the book was written quickly, given the scattered content and sloppy layout.


23 #DEFINE Andre_LaMothe BOOK_IS_AWSOME
What can I say, I thought I would read it slowly and enjoy myself and make a game at the same time... Yeah Right! Once I picked it up and started reading it I couldn't put it down! Sure it's over a thousand pages of reading but I couldn't get enough of it, and I finished it in less than a week. I learned something new and awsome every chapter, and it was explained in such a way that was easy to understand and apply. I can't wait for the second volume to come out! If you are a programmer and want to learn how to write games this book is for you... trust me!
24 Andre' is amazing
If you ever want to know how to program your own video games, there's really one thing to look for - Look for any book that has the author Andre' LaMothe's name on it. This guy is truly amazing with all the knowledge and expertise of game programming he teaches you through his writing, especially in this book. And that's not all. If you ever have a question about programming, you can always e-mail him and he will be able to help you out. This book is definitely worth buying.
25 Choppy...
I found the book hard to follow as a beginner. I've had a few semesters of c++, so I'm only a newbie to DirectX. This book would be a good supplement book for the details it presents, but I found myself getting lost having to go re-read some of the chapters, only to get lost again. When teaching beginners, the best thing to do is go over some material and give them an assignment that uses the material covered (like in school!). Lamothe tends to tell you to just look at the source on the cd. We need examples, or even better, design/build a game as you go!
26 Finally it makes sense!
I love this book. I've been trying to learn game programming for a couple of years now and until now have been beating my head against the wall. This book is like a cook book. It's not just a lot of theory and neat ideas thrown together, it really walks you through the process of creating a game. This book is for beginners and people like me who learn by doing. I can decipher the other books I have now that I've gone through this one. I look forward to Volume II, I can't wait.

The CD on the book also contains some good ebooks and other useful information. One of the ebooks is on the basic principles of 3D and some rendering algorithms the other is pretty good book about setting-up and using Direct 3D, however, it appears that it is DirectX 6 or 7, not version 8. The CD also contains trial software for game programming.

I recommend you know C/C++ before you try this book. I've only had a couple of semesters of programming in college and it seems to be enough to understand the book.

Thank you Andre LaMothe, someone needed to write this book.


27 one complaint, it's taking to long for vol 2
This book is excellent. if you can program in c this is all the knowledge you need to read this book. It's mainly for beginners which is what I am, so that's good. to put it blunt this will give you everything you need to know to start programming 2d games with directx. one thing I like about this book is the way he conveys the theory. he doesn't leave much to the imagination as to what is actually happening in DDraw function calls. in fact, before you start using a feature of DDraw, he often presents you with a software algorithm that accomplishes the same task. this ensures you know what the hell you are doing when using DDraw functions because you can write them yourself! being a beginner I found it a pleasure to read and easy to understand. He brings an energy and enthusiasm to his writing that ensures you won't find yourself waking up with your head in the book. In short, I came in with no previous graphics experience. now I could probably write 2d games like sonic/streetfighter/mk, not that they would be as good, just trying to give you an example of what you'll come out of the book with. pending you have a little creativity(for the AI and collisions) up stairs.

there is only one problem. volume two is taking to long to finish.

NOTE: this book teaches you 2D only. volume 2 teaches 3D. you really need to know 2d before 3d. if you just jump into 3d without knowing jack about 2d you're most likely going to fail. Gotta take algebra before calculus you know.

peace


28 Probably the best book to start Game Programming
It's good that LaMothe released an updated version of this book to use _most_ of the new DirectX interfaces but there's a few problems with this edition.

- He uses DirectX 8.x interfaces for DirectSound, DirectMusic, etc. but STILL continues to use the DirectX 5 interfaces for DirectDraw. In case you don't know, DirectDraw was abolished by Microsoft in DirectX 8.x to make way for an new architecture to make Direct3D better. This doesn't mean that using DirectDraw is wrong per se, but a new edition of an old book SHOULD use this new architecture to be current (and not even current at that as DirectX 9 comes out 11/02 and promises even more architectural changes...). He should be using DirectGraphics (DirectX 8.x) or better yet show programmers how to use Texture-Mapped Polygons instead of 2D sprite so you can get 3D acceleration for your 2D game.

- I found a GLARING error in the first edition of this book and guess what?!? It WASN'T fixed in this edition. In the first edition (page will be different for this edition) page 932 he states that to free the memory for a dynamically allocated C++ array you do :

delete x;

Well if you follow this code what you will get is a NICE, BIG, FAT MEMORY LEAK!!!

It should be :

delete [] x;

The reason is the "delete x;" will only free ONE element, NOT an array. This will free the first element of x and leave the other 999 elements dangling off in memory space! DO NOT DO THIS! Professional programmers _rarely_ make this mistake so don't write ... code and leave memory leaks all over the place.

With all that said, I can't really recommend this book if you already own the first edition. The changes are nothing you couldn't get by reading the DirectX SDK help and implementing it yourself. Also, by not staying truely current this book is a weak reprint at best. Still, if you're just starting and don't own the 1st ed. this would be your best bet for getting into game programming. Just make sure you know C really, really well because you'll use all of it in game programming, especially pointers!


29 Perfect for a beginner
This book is the perfect starting point for anyone interested in creating games. Of course you'd have to do in 2d first but there is a vast amount of information in this book that will definately appeal to the newbie. In fact, even after reading this book once and already written a 2d game and currently working on a 3d game, I still find it useful to go through the book for the easy to follow optimizations he has in the book. Creating a 2d game is still just as fun as creating a 3d game thanks to this book. However, I did not give it 5 stars because this book is essentially the same as the old one when I browesed throught it. There is a bonus chapter buts its already on the CD in the old version of the book.
There were a lot of typos in the old book, but I would assume that its all corrected in this one. Especially the one in chapter 7. The bitmaps in chapter 13 was not loaded correctly and resulted in a blurry object. I remember this demo was the first real program that I ever came across that would enable me to write a very simple animated scene. The surface pointer in the Scan_Image_Bitmap should have been advanced by lPitch and not dwWidth. I sent a message to sams publishing regarding this last time but I never saw it appear. So for those of u who are beginning to read this book and found that this error have not been corrected or posted on the errata section, then change it. I remember the feeling I got when i got it working.
30 Caution - not Relevant!!!!!!
Although a good and comprehensive book at it's time, it is relevant for directX 6 or 7 at best. The fundamental changes made by ms in directx 8 render it not relevant in many aspects and anyone buying this book should consider that. There are many things a newbie might get from this book but it mostly deals with outdated 2d concepts and the examples look and feel old (386 old). The author is good and I would definitely go for the directx8 or 9 version of this book but this one should not be sold any more (not at that price anyway)
31 Precise!
Recieved a copy, and in 8 days, (and after reading 500 pages), im half the way writing a 1941 game clone (with Blitting, Double Buffering, Flipping, Clipping, 16 Bit). Believe me i had ZERO experience in game programming.
And as a bonus, (i'm an experienced Java developer, but was quite naive in win32 with C++), I've learned incredibly, the WIN32 calls.(translated: Dont have to use the ugly wizard of V.Studio. Yep i can write the code myself, doesnt mean im going to!, but at least i know very well whats going on down there)
Need to say more!

p.d.: Hey andre, hurry up with your Volume II!


32 deleted
deleted
33 "Not Only The Best Ever, But a great Buy"
There Isn't much more to say. I think all serious game programmers should have a copy this book! Thanks Andre' for another great book!
34 "UNBELIEVABLE"
How does Andre' come up with the exact book I was looking for to begin windows game programming. This book covers just about everthing, including DirectX 8 graphics, 3D, AI, Fuzzy Logic, and more.A special thanks Andre for such a great "CD". I know all the extra time that goes into a CD, besides writing such a great book! This book is just the learning tool I was looking for.
35 The Final Word on Modern Game Programming
Since 1999, Tricks of the Windows Game Programming Gurus has been everything you need to know about game programming. For the uninitiated newbie, there's the complete ground-up path starting from game development theory, Windows and GDI, COM, and all the major components of DirectX. For the intermediate and advanced developer there's plenty of higher-end material, ranging from in-depth vector coverage to physics to artificial intellignce. Overall the simple fact is that you won't find such a complete, self-contained game development education anywhere else. No matter who you are, you'll find something new and useful, and probably lots of it.

To the critics who claim it's behind the times or just a rehash, you're only demonstrating an embarassing lack of understanding. The fact is, 2D game programming reached equillibrium years ago and this book manages to bring it into today's game development world with a solid DirectX foundation.

In short, no other book offers what you'll find here. End of story.


36 Not Without Applause
Granted writing books on game programming isn't new, it's rare for those to be as fundamentally complete as Tricks. I've seen opinions from those who believe they'd rather see Lamothe write a book about 'How To Program Unreal II', but what would that take? A few dozen 1000-page volumes? If you're at a level that necessitates the need for such advanced education, you won't be shopping for such a book--you'd be writing and publishing the games! Rather, Lamothe has thoroughly nailed down the tracks of all aspects of game programming, from A to Z.
Having previously read through his Tricks of the Game Programming Gurus, First Edition, Lamothe has made another important delivery to the beginning game programmer with this Second Edition by updating it to keep pace with the latest gaming technology. If you seek out a career in this reassuring field, but know little of game programming, I highly recommend this book. The next logical step would be towards advanced DirectX programming, set within the 3D stage, which Andre' Lamothe is finalizing with his next book, "Tricks of the 3D Game Programming Gurus, Advanced 3D Graphics and Rasterization." I look forward to reading it, and applaud his work!
37 A solid book.
First off, let me say that the original "Tricks of the Windows Game Programming Gurus" was a wonderful book to begin with. Now, Mr. LaMothe has taken that book, polished it and updated it with support for the latest version of DirectX, DX8.

Early reviews acted as if this was trying to be a completely new book. It's not. It's a second edition. This is what happens in the book world. Authors update books to fix any small errors, add a little more polish (if possible) and in this case update it to the latest technologies.

Anyone wanting to get into the game industry should buy this book.


38 A Complete Manual
Andre Lamothe has built a programming guide that entails a book and a CD. Used together, you should be able to master fuzzy logic, AI, animation, complex math, Direct X...anything and everything you would need to build great games. Lamothe's humor and insight makes this easier to read and more enjoyable than the typical drab tech books! I recommend this book...it deserves an A+.
39 Great Book!
I guess I would like to start by saying thanks to AndrŽ for taking the time to update this book to work with the latest version of DirectX and updating his code so that it is current.

For you other people, get over it!!! How many of you that are bashing this book have anything published? I mean it is simple, you can browse the book and determine the content in it before you buy it!!! It is your fault for buying it if it is not giving you what you want. But let's keep things in perspective, the public asked AndrŽ to update the existing book and he did with the usual style and flare that his fans have come to enjoy. He did not have to do this, but he did and the book is another chapter in a long history of excellent work.

I urge others to at least review the book for yourselves and determine if the information contained in it is useful to you. Do not listen to the bad reviews of people that are upset because they cannot write a book of their own and make some money (which most of the bad reviews complain about). Or someone that does not understand the book or game programming business. Simply take the time (like most intelligent people do) to research the book a little before you purchase it. I think you will find the book is useful and presents its information in a clear and concise manner.

This book is a learning tool that anyone can learn something from and if you feel that you are an advanced game programmer and need some 3D information, AndrŽ will be releasing a book to cover those advanced topics very soon (according to his website). So, wait until its release and perform your research on that one to determine if it meets your needs.

-Larry P


40 Delving Into New Topics
About time someone wrote a book to cover new topics like the new DirectX 8 Graphics in plain english and AI, among other things..

Lamothe's book helped me take my programming beyond the PC to do the coolest things. I have never seen anyone explain AI in a game book, his coverage is extremely deep, and very practical, eventhough his coverage of esoteric topics like NNs is small, his coverage of fuzzy logic has got me thinking of completely new ways to do things.

Great going, Andre Lamothe, keep things great books coming!! Shame on people who want to knock you for making money on a book. You deserve it, I for one would not have the attention span to write a 500+ page book.

Finally, whoever the immature boyz that wrote those useless reviews are, its obvious you haven't read the book or looked at the CD, on the CD there are 2 complete 3D ebooks on Direct3D, and general 3D, the general 3D book is Excellent, the Direct3D book is fair, but all in all no where will you find this much information, and this much value.


41 Read It Quick It Might Get Stolen...
I am a computer programmer and I had a project requiring Direct X. I needed to come up to speed quickly, bought Andre Lamothe's book, and was able to work magic as a result. I found Lamothe's book to be easy to navigate. I loved the examples, they really helped me get the material!!

Another co-worker is just getting into 3D animation. He stole the book from me and I have not received it back, and may never. I can tell that his skill set has improved as he has been working with the book diligently. I am amazed at his quick ability to master Lamothe's content.


42 Great book for those who want to make Windows PC games.
LaMothe has out-done himself once more. This book is an excellent starting point teacher/guide/reference for any programmer who is interested in learning how to create windows games. LaMothe teaches the reader the basics of windows game programming and design through well partitioned chapters. The book guides the reader in basic techniques for making a 2d game engine, introduces how to use direct x api's, and then goes into important optimization and advanced techniques. There are also two even more advanced books on the cd as well as an entire library/collection of EXTREMELY useful tools. If you want to make games... this book is a MUST. The first edition was great, but the second is an updated, more thorough, more valuable MANDATORY ASSET for those out there who are ready to dive into the world of game creation.
43 Great"'''' ANOTHER-ONE
Andre', Again you did a greart job. This book satisfied my appetite for game programming! Keep them coming"
44 amazed"
As usual, I was not dissapointed with Andre's latest book. I hope he continues to write such great books, and not pay any attention to reviewer's who are jealous of his writing talents. The programming community would be lost without his books. Thanks again.
45 Explanations are helpful
I think this is a solid book. I'm about 3/4 of the way through but I thought I'd write a little blurb since people seem so critical. It's been helpful. I think the author does a good job emphasising basic facts to make people understand things. I have 2 or 3 other books from Mr. LaMothe so I look for new ones from time to time... Good work :P
46 Fantastic!
I was surfing the net,and didn't know this book "Tricks of The Windows Game programming Gurus (2ND Edition)" had been released.
Andre never missed a beat from the 1ST Edition to the just released 2ND Edition. I find it hard that one author can continue
to write one book after the other, and keep this reviewer wanting more and more! I am only half way through the book and had to write this review. Just a fantastic book. Thanks Andre'
47 Only Published Authors Should Be Allowed to Write Reviews
I have been reading Andre's book for many years. I was even mentioned in one years ago in the acknowledgements.

It is far to simple for people to just say a book is bad. I suggest that everyone who has written a bad review to ANY book, try writting a book themselves.

I suggest that anyone who is trying to get into computer gaming, pocket pc gaming and/or online gaming not only read Andre's books but also get in touch with him as I know he works with all his readers to help them along and further their enjoyment in game programming.


48 Andre Has Done It Again
This book is a great addition to the orignal"Tricks of The Windows Game Programming Gurus". It has to be the best I have ever purchased and the CD is fantastic. It has just enough review from the orignal book! The author is funny, competent, and his unique writing style keeps you focused through out his books. Looking forward to your next book! To the previous reviewer the "Induction can also be found in the contents of the book. Thanks again Andre for writing this book.
49 This is THE book for the beginner
I recently got this book and am thoroughly impressed with both the writing and the ease with which the technical content is explained and made accessible to a complete newbie to game programming such as myself. The techniques that LaMothe teaches throughout the book are extremely advanced, yet he breaks them down in a way that makes them easy to understand.

The other reviews of this book do not AT ALL do it any justice. It seems to me from reading them that they have some sort of vendetta against LaMothe, who in my estimation is beyond brilliant with the amount of work he has published. Since they chose to hide their identities I would venture to guess that they are the minions of rival authors, perhaps even the rival authors themselves! Some sort of professional jealously I guess. (One reviewer asked why 3D appears in the title if no 3D coverage is given...a thorough check of the cover reveals nothing of the sort).

At any rate, I will end this review on a positive note because that is the only thing I feel about this book. It is definitely worth the money and I highly recommend it!


50 Finally! A book that explains it all!
I've been programming using C for several years, mostly for business, and have recently wanted to get into game programming. I wasn't sure where to start (at all), and there must be a few dozen books on the subject. After flipping through some of them, I came across this one-- I couldn't believe it!! All of the others just jump right in and throw tons of Directx and whatnot at you, seemingly assuming you already know all of the basics of Windows and game programming. Andre, however, starts off assuming you know almost nothing (except a bit of C, but there's even a C/C++ tutorial in the back!) and teaches you everything, from basic Windows programming, to setting up a game engine, game logic, all of the basic math you'd need to know, DirectX, bitmap graphics, artificial intelligence, sound, input....totally unreal. I didn't think you could get it all into one book!
The best part of the book as a whole is, Andre' goes into the gritty details and behind-the-scenes operations of every little step and programming function that goes into 2D and 3D video games. It seems that other game programming books just show you tons of code with brief explanations of what the code does-- very confusing. Andre, on the other hand, is clear and specific (and has a great sense of humor!)
So if you're looking for a game programming book that starts basic then digs way, way deep and covers ALL bases, this is the one for you!! Thanks again, Andre.
51 Finally! A book that explains it all!
I've been programming using C for several years, mostly for business, and have recently wanted to get into game programming. I wasn't sure where to start (at all), and there must be a few dozen books on the subject. After flipping through some of them, I came across this one-- I couldn't believe it!! All of the others just jump right in and throw tons of Directx and whatnot at you, seemingly assuming you already know all of the basics of Windows and game programming. Andre, however, starts off assuming you know almost nothing (except a bit of C, but there's even a C/C++ tutorial in the back!) and teaches you everything, from basic Windows programming, to setting up a game engine, game logic, all of the basic math you'd need to know, DirectX, bitmap graphics, artificial intelligence, sound, input....totally unreal. I didn't think you could get it all into one book!
The best part of the book as a whole is, Andre' goes into the gritty details and behind-the-scenes operations of every little step and programming function that goes into 2D and 3D video games. It seems that other game programming books just show you tons of code with brief explanations of what the code does-- very confusing. Andre, on the other hand, is clear and specific (and has a great sense of humor!)
So if you're looking for a game programming book that starts basic then digs way, way deep and covers ALL bases, this is the one for you!! Thanks again, Andre.
52 great book
I agree with my fellow hackers opinions listed above.
Andre is a good author,but I think that he should walk newbies
through the learning stages of programming in a more professional
manner.
It's still a good book.
Save your money and buy'Game Programming All In One'.
Author: Bruno de Sousa (2002)
It was edited by Andre LaMothe, but written by another author.
I think this is one of the best books for beginning C/C++
Game Programmers.
53 Maybe Lamothe should read 3D books instead of writing...
Amazing! His books are STILL stuck in the early 90's and he or the publisher STILL use misleading titles to lure experienced developers to what seems like a never ending rewrite of his For Dummies book...

I'm sure there's a great deal of money in the broad "intro game dev" market when compared to the relatively small "experienced/pro 3D developer" market.

Maybe in a couple of years Lamothe will start covering techniques used by real developers using DirectX 7 or 8... Till then, this guy's books are on my "must avoid" list...


54 I have to agree
I have to agree, all of the books are really just rewrites... The thing that really upsets me is that they don't teach what he claims they teach. There really should be a law or some kind of rule that says a title and backcover must explain the contents of the book and not what the author would have liked too have written.
55 Wow man
First off, I would like to thank Andre for writing another "excellent" book. To the previous reviewer I'd like to say one simple thing. This book is not targetted towards experience game programmers, which you tried very hard appear that way. It is meant for newbie game programmers, like myself, that have a little programming experience. I don't know about you, but Andre is an excellent writer with more experience in the field that you will ever obtain in 2 lifetimes. I for one find his commentary amusing and funny, very much so breaking away from the boring page to page jargon most technical writers tend to give. It is true that he has many different books out on the subject, yet almost all of them contain new information on various subjects. This book, Tricks of the Windows Game Programming Gurus Second Edition, is a remarkable book, and I'm only through half of it! Andre keeps the pages turning with excellent examples and only he could break a program up to make it this easy to understand. The information and software on the CD was worth my [money]. Next time you go to post a review on such an acclaimed programmer and writer, stop for a second and read the introduction, which can usually be found online, which clearly states this book is for those new to game programming and for the advanced (being used as a reference). Before I end my ranting, I'd just like to say thanks to Andre for writing this book.
56 Not again
How many times is this guy going to rewrite Teach Yourself Game Programming in 21 Days? We had that one, then the Black Art of 3D Game Programming (which was a rehash including stuff from Tricks of the Game Programming Gurus), then another rehash Windows Game Programming for Dummies, then yet another rehash Tricks of the Windows Game Programming Gurus, and now this one. And there is another one in the pipeline, Windows Game Programming for Dummies Second Edition. He takes the old book, cleans out all the obselete code from DirectX n, and slaps in a version of the DirectX n+1 documentation with corny commentary, and makes another giant wad of money.

Hey, I'm not saying he shouldn't make all the money he can, but I'd be bored as hell with explaining how to write Frogger 4.0, this time with 16 bit color! It's pretty much the same book. All the old functionality from DirectX n is present in DirectX n+1, so why buy the new book? The old ones would work just as well if you want to know how to program a 2D game like Missile Command, and you can find them [cheaper] used.

I also don't understand why "3D" appears in the title of this book if the only coverage of Direct3D is not in the book but on the CD. Come on, it's not that hard to do 3D.

The answer to all these rhetorical questions is, of course, that the books are written for 14-year-old's with their first C compiler and ready to rock and roll, and as long as they keep buying this dude is going to keep making money. They're salivating over "3D"? Give them a book on how to write a Quake or a flight simulator or something and you'll see the money roll in. Yeah, it'd take about 1000 pages to explain the basics in sufficient detail, but LaMothe already takes that much talking about 2D ...intercourse. Cut it out (make them buy another book!)



Thursday, 21-Aug-2008 22:51:57 CDT
Quote of the Day:


	A MODERN FABLE


Aesop's fables and other traditional children's stories involve allegory
far too subtle for the youth of today. Children need an updated message
with contemporary circumstance and plot line, and short enough to suit
today's minute attention span.

The Troubled Aardvark

Once upon a time, there was an aardvark whose only pleasure in life was
driving from his suburban bungalow to his job at a large brokerage house
in his brand new 4x4. He hated his manipulative boss, his conniving and
unethical co-workers, his greedy wife, and his snivelling, spoiled
children. One day, the aardvark reflected on the meaning of his life and
his career and on the unchecked, catastrophic decline of his nation, its
pathetic excuse for leadership, and the complete ineffectiveness of any
personal effort he could make to change the status quo. Overcome by a
wave of utter depression and self-doubt, he decided to take the only
course of action that would bring him greater comfort and happiness: he
drove to the mall and bought imported consumer electronics goods.

MORAL OF THE STORY: Invest in foreign consumer electronics manufacturers.
-- Tom Annau

In order to live free and happily, you must sacrifice boredom.
It is not always an easy sacrifice.