Sign in to follow this  
m3rcyful ag3nt

Still one of the best?

Recommended Posts

You should really think about buying a book for Direcx 9. DX 6 is too old.

A good one might be : Introduction to 3D game programming with DirectX 9.0 by Frank D. Luna

I own this one and its a very good book.

Share this post


Link to post
Share on other sites
Have a look at the reviews that that book has gotten here; views of that book are mixed, but the scores are dropping lower now that the book is old.

I have a copy of that particular book (as when I was starting out I thought his DOS book was okay, but I didn't have a lot to choose from back then). Frankly, I think LaMothe's code design style is a bit slap-dash and could introduce some nasty habits in a new programmer. I basically used his book as a guide to DirectX programming, and rewrote all of his code samples into a cleaner object-oriented style.

Since the book is old now, and I only used it as a DirectX reference, I think you'd be better off getting another book.

Share this post


Link to post
Share on other sites
I recommend staying away from books that claim to teach you game programming. Get a solid understanding of programming in general, then come to GameDev.net and look for more help. Without that solid foundation in programming you aren't going to go far.

Share this post


Link to post
Share on other sites
The book is good but the material might be a bit dated. I would say get a book that covers directx 8.0 and on. If you could get a book that covers 9 go for it, but 8.0 wouldn't be the worst thing ever. YOu could still learn a lot from it and it would be a bit more updated.

Share this post


Link to post
Share on other sites
Quote:
Original post by deathwearer
Introduction to 3D game programming with DirectX 9.0 by Frank D. Luna
This is a very good book, but it doesn't cover 2D graphics as much as I would've liked it to. If you're attempting to take the 2D route, I suggest you play around with DirectX's Sprite class. You'll have one sprite object to use to render all of your images on the screen. There's a Draw2D method within the sprite class that renders a Texture to the screen. You can either use that or the Draw method which uses the matrix translations you set. Trial and error is the best way to learn, but most definately get a good book like Luna's.

Share this post


Link to post
Share on other sites
I will definetily have Frank Luna´s book, but not for now. Like you said Rob, it doesn´t cover 2d very much and therefore I don´t think that one is the best for someone who wants to make his first 2d game.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
You guys are crazy. Andre's book is the most detailed book (of two) that you'll ever find for game programming. Him and I aren't really good pals anymore, but his books are the best. You need to learn the low end of game programming before you even think of starting object-oriented approaches. His book is a little outdated, but it's not that bad. He used DirectX 8 at the time of writing, which isn't really bad either. Think of it: Direct2D ended at version 7, so nothing has changed since then. He teaches 2d first and works his way up to 3d. It's definitely worth it.

Share this post


Link to post
Share on other sites
Quote:
Original post by m3rcyful ag3nt
Hi

Is still "Tricks of the Windows Game Programming Gurus" by André LaMothe a good introduction to DirectX having in mind that's from 1999 and covers the DX6 sdk?


Huh? The copy I have from a long time ago covers DirectX 8, except obviously DirectDraw.

If you can get the DirectX 8 version, then you have nothing to fear from this book provided you have prior programming experience.

If you do not have prior programming experience, then you should get a non game-focused programming book.

Game programming is a specialization of programming, and you need to be able to program in general before you can do anything at all with it.

My suggestions:

- If you do not know how to program, download Python and learn from this book.
- If you do know how to program, then TWGPG isn't a bad choice, provided you can get the more recent version. I also feel Frank Luna's book is good. Make your choice based on: 2D games (TWGPG), 3D games (Frank Luna's book).
- If you want to do 3D games, I'd recommend 3D Math Primer for Graphics and Game Development as a math resource if you're unfamiliar with 3D math.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Hmm, I'm just wondering, but why recommend Python if he's gearing towards DirectX, which depends greatly on C/C++?

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Hmm, I'm just wondering, but why recommend Python if he's gearing towards DirectX, which depends greatly on C/C++?


I recommend Python only in the case that he doesn't already know how to program. I personally don't think C++ is a good learning language.

Sorry, I guess I should have made that more clear.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
You guys are crazy. Andre's book is the most detailed book (of two) that you'll ever find for game programming. Him and I aren't really good pals anymore, but his books are the best. You need to learn the low end of game programming before you even think of starting object-oriented approaches. His book is a little outdated, but it's not that bad. He used DirectX 8 at the time of writing, which isn't really bad either. Think of it: Direct2D ended at version 7, so nothing has changed since then. He teaches 2d first and works his way up to 3d. It's definitely worth it.


I can't disagree more.

Firstly, the books aren't detailed. Well I suppose they are about how to make games, but the code then either doesn't work [see bitmap loader] or so horribly low level as to waste the reader's time [see bitmap loader, see software renderer].

Secondly, why do you -need- to learn the low end of game programming before OOP? To frustrate the beginner? To let them flail away at things that no practical programmer ever deals with anymore? I used to think this until I learned that higher level use doesn't equate to less control, merely less work to do the same thing.

Thirdly, DirectDraw is outdated. Please, please, please... use D3DXSprite and it's helpers [or something higher level]. It's just as powerful as direct draw; just as easy, and includes pre-made functions to render text and load images of all sorts. Don't waste your time dealing with infrastructure...


And that ignores the coding style and practices that Trapper refers to.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
If you're referring to teach 3d before 2d, then I consider this a quake generation. DirectDraw is deprecated, but it's useful, as it has been in the past, to learn the basics of DirectX while still making Pong, Tetris, etc. without any 3d stuff which would throw away a beginner. What's worse? Learning some other 2d graphic API, then switch, or learning DirectDraw for the sake of understanding where Direct3D builds from?

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
If you're referring to teach 3d before 2d, then I consider this a quake generation. DirectDraw is deprecated, but it's useful, as it has been in the past, to learn the basics of DirectX while still making Pong, Tetris, etc. without any 3d stuff which would throw away a beginner. What's worse? Learning some other 2d graphic API, then switch, or learning DirectDraw for the sake of understanding where Direct3D builds from?



Except Direct3D doesn't build from DirectDraw. They're completely different beasts. They mostly have always been, and now even moreso.

I'm saying that a beginner should learn 2d first, and if they're going to use a lower level API like DirectX, they should at least use DX9, which provides the D3DX functions to auto-magically load images and deal with sprite management rather than wasting their time doing such things themselves.

Much of LaMothe's books [I've seen] involves this sort of mundane infrastructure coding. Something that no practical programmer really does anymore, and no beginner should need to suffer through to get on to actually learn something.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this