Most Helpful Customer Reviews
74 of 76 people found the following review helpful:
2.0 out of 5 stars
I'm not finding it entirely useful, July 23, 2000
This review is from: Advanced 3D Game Programming With Directx 7.0 (Paperback)
I'll preface this by saying that I'm an experienced game designer and programmer (nothing big on my resume). I bought this book for the Direct3D Immediate Mode information primarily with all the other good gaming nuggets secondary (though still important). The first 138 pages cover Windows and DirectX basics (DirectDraw, DirectSound, DirectInput, etc). Being basic information, I skipped this. The next 96 pages take you through the foundations of 3D math. I started here to refresh what I learned in other books and college and must admit that I was lost within a few pages. The author understands what formulas are used where, but he can't explain the concepts behind them or why they work the way they do. You're often told that's just how they work, but without a fundamental explanation it just doesn't click. I guess it's the difference between a friend teaching you to drive ("this is how it's done") and an instructor teaching you to drive ("this is why it's done this way"). In short, I had to skip this chapter. ("Cutting Edge 3D Game Programming with C++" does a good job of working through 3D concepts in a fashion that's understandable.) Chapter 4 (Artificial Intelligence) goes from page 233-276, however the practical knowledge stops on page 255. After that, motivation for AI characters, Neural Networks and Genetic Algorithms are all touched on, though not in practical terms (and other than neural nets, no code). The first 8 pages of the chapter talk about how NOT to do AI, so in the end you end up with a 14 page discussion of path-finding through a set of rooms. Pages 277-321 cover UDP Networking (Winsock), which I found odd since the title would imply DirectPlay (and lobbies). The author doesn't compare/contrast DirectPlay vs Winsock. Flipping through each page, I don't see anything that explains how best to implement a multiplayer game (like managing interaction for a 16-person action game), only the functions to do it. Chapter 6 takes you to page 405 and covers the basics of Direct3D - getting your app up and running. Nothing new here, mostly a list of the functions and parameters (which is fine). If you're buying a book *just* to get into Direc3D Immediate Mode, I'd recommend Microsoft's Inside Direc3D which spends much more time and whose initialization code alone is worth the price of admission. It's not until page 407 that you get into the meat of the book: advanced 3D programming (not using Direct3D) which covers forward/inverse kinematics, bezier curves, progressive meshes and radiosity. Bezier curves appear to be covered well, but progressive meshes are just talked about. The rest really don't play a part in game programming. Chapter 8 (up to page 566) is called "Advanced Direct3D" though it really covers Direct3D beyond the initial setup and rendering and deals mainly with textures - filtering, MIP maps, multi-texturing, etc. (Again, this info is all in Inside Direct3D.) The last 32 pages (Chapter 9) covers scene management (how to not render what you can't possibly see). That's the book in a nutshell. The author says up front he's not a professional game programmer and is still in college (which is fine and not meant to knock him at all) and it's apparent in the disjointed and sketchy presentation. In the end, I would recommend buying "foundation books" (like those I mentioned) and if you still have a yen for more knowledge, this book may offer a few new nuggets.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
12 of 12 people found the following review helpful:
3.0 out of 5 stars
Know what you're getting, January 22, 2001
This review is from: Advanced 3D Game Programming With Directx 7.0 (Paperback)
It seems that the reviews for this book have been somewhat controversial, with people generally either loving or hating it. In light of that, I tried to read it with as open a mind as possible, and hopefully this review is objective. The title of any book tends to create an expectation of what the book covers, so you would expect the focus of this book to be on advanced game programming techniques first, and on DirectX second. Okay, so how does it do in each area then? To start on a positive note, when it comes to DirectX coverage, the book does a pretty good job. Having read several books covering DirectX, only a couple of which included Direct3D, this book holds up pretty well to the competition. It's not perfect; the non-Direct3D components are only covered briefly, but probably enough to get you up and running. The Direct3D coverage is decent, though, and easier to understand than what I've seen elsewhere. The texture mapping chapter was probably the most relevant of the entire book (though a little more depth on multitexturing applications and an explanation of how to generate the images used in environment mapping would have helped). The hole in the DirectX coverage comes in the omission of DirectPlay. Granted, there is a big chapter covering UDP instead, which is more widely used than DirectPlay anyway, but there should at least have been an explanation of why DirectPlay isn't used. The coverage of advanced techniques is somewhat limited, primarily because a great deal of the book assumes you are a beginner. Given that the word "Advanced" appears in the title, a lot of beginners are going to be hesitant to pick this up. And yet, the first several chapters introduce Windows programming, DirectX, and 3D math, which anyone considering themselves ready for an advanced book should already understand. Normally, I wouldn't consider these beginner sections a bad thing, since they are fairly well written (although the 3D math section isn't as well presented as it could have been) and to the point; however, as you'll see in a moment, the space could have been better used. When the book finally gets to more advanced topics, the coverage provided is somewhat spotty. Even though, as you can see from the TOC, many advanced topics are mentioned, only a handful of them provide enough depth of coverage or sample applications. Generally, the author's excuse for not providing complete coverage of a topic is a lack of space; if that's the case, and if this book really was intended to cover advanced game programming, he should have dropped the beginners sections and instead focused on advanced techniques that are being used in games. One other thing I just couldn't understand about the book was the ordering. Several chapters are inserted between the DirectX introduction and the Direct3D chapter (and it's not like all the chapters in between are required to understand Direct3D, since they include the AI, networking, and physics chapters). Since you can read the chapters out of order, this is just a minor annoyance, but it doesn't make much sense. So, in summary, the title of this book is misleading. People buying it for coverage of advanced topics are going to be disappointed, although there are a few nuggets to be had. On the other hand, it provides a great deal of information for beginners, including fairly complete coverage of DirectX, and better coverage of Direct3D than you'll find in many other books. Although it's not for absolute beginners, if you have some game programming experience and are ready to get into 3D, this may be worth picking up.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
10 of 10 people found the following review helpful:
4.0 out of 5 stars
Great Reference Material for Those Getting Started, December 15, 2000
This review is from: Advanced 3D Game Programming With Directx 7.0 (Paperback)
Mr. Perez, the author, is really only a "kid" in college which, unfortunately, shows through in his writing style; but I will be the first to say I was (am) extremely impressed with his knowledge on the subject of 3D game programming. He covers all the bases: Windows API (briefly), C++ templates, Direct 3D API (of course!), exception handling (very briefly), game AI, texture manipulation, networking (actually, this is what Dan Royer contributed), the mathematics behind 3D programming, BSP trees, etc. One of the reviews above (or below) stated this book is a waste of money because all the information contained within (I'm paraphrasing) is already "out there" on the net. Meaning no disrespect, but this is idiotic reasoning. Using that as a basis, no book in print today should be purchased by anyone ever. No, you should definitely buy this book if you want a handy, bound reference book that can get you started in nearly every aspect of current 3D game engine programming. The main reason I did not give five stars to this review is because of his writing style, but please do not let that deter you from purchasing this book if you are interested in 3D game programming. Also, he expects you to be knowledgeable in C++ programming.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|