Rating: Summary: A Dive Into Direct3D Review: As a previous reviewer pointed out, some of the example code on the cd is corrupt. However Peter provides a zip file on the cd that has all the examples that aren't corrupt. Also some of his example code is extremely slow. Namely copying surfaces with transparency (doesn't DirectX 8.0 provide these functions?). As far as the example code that doesn't work right, it didn't take me long to fix it at all (a little annoying but relatively easy fixes).With all that said this book is defiantly worth a read through especially if you haven't seen too much DirectX or Windows programming before. It provides a good stepping-stone to get anyone started programming games with DirectX. It even touches on DirectInput and some 3D algorithms. This is by no means an advanced book, but I think Peter achieves exactly what he intended to achieve with this book. I rated this book a 4 (above average) because of the few minor flaws I mentioned before. Otherwise it would have gotten a 5. It is well written, humorous (at least I thought so) and a good intro to DirectX. I would recommend it to anyone starting with DirectX.
Rating: Summary: Waste Of Money Review: Don't get this book, even if you are a beginner. I bought it and was really dissapointed when I found the examples to run at 30-40 fps ( GeForce 3 Ti200 ) with simple 2D blitting. He makes horrible use of any hardware rendering.. His excuse is he is not familiar with D3D v 8.0 and his work arounds are a disaster that will only start someone new off on the wrong track. I recommend the Role Playing book, it has exactly the same chapters on Windows programming, the sample code runs perfectly, and the humor is bearable!
Rating: Summary: How to run the code examples. Review: I am not sure how to get the 3d examples to run in full screen, but if you make a few changes, they will run windowed pretty well. First off you need to change the function InitDirect3DDevice that initializes direct x. change to: d3dpp.BackBufferFormat = d3ddm.Format; change to: d3dpp.Windowed = TRUE; and comment out anything that starts out with d3dpp.FullScreen then there is something wrong with the printing of the frame rate comment out FrameCount(); from GameLoop() comment out PrintFrameRate(); from Render() it also makes it nice to change the window style to an overlapped window, hope that helped.
Rating: Summary: How to run the code examples. Review: I am now half way through this book and find it ok in some ways and not ok in other ways. The CD does not correlate at all well with the examples in the book. This is a serious flaw, imho. I judge most of the text in the book itself to be adequately written. It could have been better. The book does seem to cover the important issues, however, so it does have value. One can learn from this book.
Rating: Summary: This dude could have done a much better job Review: I could make this review very short by just saying that this presumed "Zen" of D3D shows you how to draw your first TRIANGLE on page 500.. I am not kidding! That is 70% along the length of the book! To make this skimpy introduction look like an advanced tutorial they have inserted chapter after chapter of useless windows bs and annoying prose like "Hey dude", "Get it?", "Cool eh", "It is getting late and I feel like eating some junk food" etc etc. Am I the only one to be sick of all this? What an aspiring game programmer wants and expects is a solid, clear, detailed, no bs introduction, made by a professional not some sort of silly chit-chat by a standing comedian. I do praise Lamothe for having showing that techical books don't have to be boring, but still very much prefer a boring but instructive and complete text to an empty pretentious booklet. Really a pity, since Peter Walsh really looks like someone who could produce a great game programming text with a little more time and effort.
Rating: Summary: Show me where the code goes Review: I find the book frustrating since many (read most) of the examples "hang" my machine. I am up to Chapter 8 and expect things to improve -- but no. I was able to figure out in the beginning windows program how to delay things a bit in order to give me enough time to terminate the program. I think the author is a little ahead of himself, introducing a game loop that is ideal structure when acutally building a game but a disaster when just trying to run his samples to render points on the screen (Don't run that one!). Why do publishers allow authors to show code to demostrate points that will crash and burn machines. Why doesn't the author just state -- don't run this code yet! I think by Chapter 8 things should start to work - don't you? I agree with another reviewer -- don't waste your money, time and machine cycles on this one until the author cleans up the examples.
Rating: Summary: Good coverage of advanced game development topics. Review: This book covers a lot of fascinating topics surrounding DirectX Graphics. What I found especially useful was the detailed explanation of doing 2D sprites and fonts with Direct3D, which is a complicated subject. The sprite engine is really cool, because it uses the Direct3DX library, and there is not a lot of reference available for it. 3D math is covered in detail, showing how to maximize performance out of 3D code. The Zen3D engine is pretty cool, capable of rendering scenes using a ton of included C++ classes for doing all kinds of things, like CZenLight, CZenFace, CZenCube, etc. These classes make it really easy to create a 3D scene. I especially liked the CZenMouse class--that is so cool, a 3D mouse that you can use in a game. It's a subject most people overlook. The appendixes are kind of ridiculous, but then I started to actually refer to the DX8 function listings (a whopping 100 pages worth at the end), so it is definitely easier than looking this stuff up in the SDK. There is no coverage of sound, which I thought was pretty strange. Sound is mentioned in Chapter 3, but I couldn't find any coverage of DirectSound anywhere. There is also no coverage of DirectPlay, but that's an off topic. I think that when you combine this book with Todd Barron's Multiplayer Game Programming book, the two books together are a great pair. Todd's book actually covers more of DX8, and still has some cool D3D stuff (like the Space Pirates game) that help to fill the gaps in Zen3D. I own both books, and they are very cool together. Unfortunately, with a book of this size, I think it should have covered this stuff. Oh well, it was written to cover just D3D, and it does that better than any other book I have read.
Rating: Summary: Absolutely Atrocious and Useless Review: This book hardly qualifies to use the word Zen in its title if refering to Direct3D. Of the 16 chapters in the book, a mere 5 of them actually deal with things related to Direct3D. The first seven chapters deal only with Windows programming, which anyone who is reading a "Zen" book should already know. There is a lot of time spent talking about using the GDI with DirectGraphics surfaces which, by the author's own admission, is not adequately fast enough to write a game. The final project of the book is to simulate a solar system with planets and moons revolving around the sun. There is no discussion whatsoever about keyframe or skeletal animation techniques. Mr. Walsh may be living in a world where all 3D games are space shooters where we only have to be able to rotate planets and spaceships, but maybe he should realize that the rest of us are not. Anyone interested in really programming in 3D needs real animation techniques which do not just include rotation and translation. This is all beside the fact that you have to recompile all of the code on the CD because the compiled version is the same program copied over and over and over... Your money is much better spent on a better book. Even Advanced 3-D Game Programming using DirectX 7.0 by Andre Perez is a better but out-of-date choice.
Rating: Summary: Absolutely Atrocious and Useless Review: This book hardly qualifies to use the word Zen in its title if refering to Direct3D. Of the 16 chapters in the book, a mere 5 of them actually deal with things related to Direct3D. The first seven chapters deal only with Windows programming, which anyone who is reading a "Zen" book should already know. There is a lot of time spent talking about using the GDI with DirectGraphics surfaces which, by the author's own admission, is not adequately fast enough to write a game. The final project of the book is to simulate a solar system with planets and moons revolving around the sun. There is no discussion whatsoever about keyframe or skeletal animation techniques. Mr. Walsh may be living in a world where all 3D games are space shooters where we only have to be able to rotate planets and spaceships, but maybe he should realize that the rest of us are not. Anyone interested in really programming in 3D needs real animation techniques which do not just include rotation and translation. This is all beside the fact that you have to recompile all of the code on the CD because the compiled version is the same program copied over and over and over... Your money is much better spent on a better book. Even Advanced 3-D Game Programming using DirectX 7.0 by Andre Perez is a better but out-of-date choice.
Rating: Summary: pretty not bad, for what is intended. Review: This is the best introduction to Direct3D that I've seen in a book. Walsh starts from the gound up, starting from 2D and going into 3D, nothing skipped over. There is also quite a bit of humor involved which keeps the read both informative and entertaining. If you want to learn 3D programming this is a great place to start. One gripe with the book is the code samples in the book often have typos, and those who don't know that much about programming in general may get stuck and start wondering what has gone wrong. The code, at times, is badly formatted, for instance all the classes and functions are stuck in a header file (.h), which is simply bad coding practice. The book also doesn't cover very much about game programming (such as collision detection, physics, file formats, and AI), and would be more appropriately titled "The Zen of Direct3D". Overall this is a great resource to get started with 3D programming. By the end of the book you'll be amazed at what you've accomplished.
|