Sign in to follow this  
The Mastermind

Beginner needs book recommendations

Recommended Posts

Hello, I have been programming for quite a while now. I am only 13, and I have been programming with game engines and languages based of C-Script and basic. I have also done some C++ and C programming before with 2d and text based applications. I started programming at 8, and I have already done basics with C, and I know minimal C++. I am also pretty good with Java. Programming with MySQL is no problem for me, and the same goes with PHP scripting. I just downloaded Visual C++ Toolkit and DirectSDK, so I would like to get started with programming real games and apps with the real deal development packages. I have already ordered the following books today for programming and 3d game development: 1) Multiplayer Game Programming with DirctX 2) Focus on 3d Models I have also read various books on the subject line for 2d and non-directX stuff. I am thinking of ordering the following books: 1) Programming a Multiplayer FPS in DirectX 2) AI Game Engine Programming 3) 3D Game Engine Programming 4) Beginning C++ Game Programming I would like to know if the books I want to get are a good reference, and if there are any other books that you would recommend to me.

Share this post


Link to post
Share on other sites
I was in a similar situation to yours. I knew java and some of C when I decided to learn C++. The very best book for switching to C++ from other languages is "The C++ Programming Language" by Bjarne Stroustrup. It goes over all of the features of C++ and gives you some info one what they are for, how they can be used together, and common pitfalls. This really is the very best book for learning C++ if you already have some programming experience.

Share this post


Link to post
Share on other sites
Thanks for the recommendations. My library carries that book, so I will probably check that out as a basic foundation for C++. I am basicly done with the basics of the languages, I would like to start programming with DirectX soon too, since that is the way to go with programming for Windows and Windows based consoles.

Share this post


Link to post
Share on other sites
I would say the only books someone would ever need to buy is maybe a book to help them start learning the basics of programming, to help push them in the right direction. If you know the basics then you shouldnt really need any books, google.com is all you need.

Share this post


Link to post
Share on other sites
Heres my thoughts:


2) Focus on 3d Models

- Good, but Focus on 3D Models will only be helpful once you've learned DirectX. It teaches how to parse the various file formats, but you have to know how to display them.

--------------------------

3) 3D Game Engine Programming

- This is a very advanced book, and if you buy it now it may be years before you understand what the hell it is saying. It is a must own for professionals, but there are better books for a beginner.

4) Beginning C++ Game Programming

I'd suggest when learning C++ to learn it outside of the "games" reference. The books that teach general C++ are more thorough and spend more time making sure you understand the language.

My recommendation would be "Teach yourself C++ in 21 days" by Jesse Liberty. Don't be fooled by the cheesy name (it's part of a series that is, for the most part, bad). This is the book I learned from, and every person I have recommended it to has come back and thanked me because it's a great book.

After you've learned the major language features, I'd recommend reading C++ Gotchas, which is a compilation of all of the obscure mistakes that beginners (and some experts) make when writing code. I've read this book over 5 times, and each time I leave it as a better programmer.


After that, theres a huge number of "learn DirectX books" that are fairly good". Just make sure whatever you use doesn't come with it's own wrapper (in other words, use one that actually teaches DirectX, not one that teaches some set of special functions that the author wrote on top of DirectX").

Hope this helps,



Share this post


Link to post
Share on other sites
Thank you so much for the help. I will check out some of those books. I really like the suggestion of the C++ Gotchas books, since I just looked them up and they do look like they would help me along the way.

Once I finish with learning C++, what do you think is a good book that will really give me insight to a broad overview of DirectX? I would really like a book that will go over each part of the DirectSDK and then show how to piece a game engine together and make a level editor and tools. A book that would go over each part and then have examples to work off of would really suit me.

Thank you so much for the recommendations this far.

Share this post


Link to post
Share on other sites
just because of interest:
you said that you'd know math up to precalcus...you know that the precalcus covers themes like polar coordinates, matrices, polynomial functions(that's what we have in school atm and i'm 17) and complex numbers? Many stuff in game programming needs knowledge you'll never learn in school (ok i don't really know what you learn in the country where you come from but it surely won't suffice for physics stuff like: fluids, cloth, or advanced lightning techniques.). I hope you have some older siblings, or parents that know a lot about math...

i don't have any books to recommend because i'm german and i don't think a german book would help you...

good luck,
m4gnus

Share this post


Link to post
Share on other sites
I'm from the United States. Yes, I do know most of those topics. I am pretty advanced when it comes to math and science. Also, math always does help with most areas, and what do you mean about that most of the stuff in game develpment is not learned in school?

Share this post


Link to post
Share on other sites
well, the first thing I noticed, when my 7th grade teacher asked us who knew what functions were, I raised my hand, she said to demonstrate, I walked up to the board and wrote:

int main()
{
printf("Function Demo!");
return 0;
}

Share this post


Link to post
Share on other sites
Yes, but you are talking about different subject lines. So does anyone have any idea of good DirectX books. Even if I do not understand 3d game engine programming, I will probably end up getting it soon for I will be doing a quick refresher course (that I make for myself) for C++. I'll just go over everything again and then do some basics with 2d, and I'll move right into DirectX. I will need a good C++ based book to work with.

I use Visual C++ 2003 Toolkit, will that be compatible with most things? Microsoft says it is .NET just without the rest of the stuff on it.

Share this post


Link to post
Share on other sites
Hello Mastermind!

No, I do not have any DirectX beginners books that you might need because the only one I got is a very bad one and I've been searching around on Amazon for DirectX learning books.

And so far I haven't found any.

I suggest you buy "Beginning C++ Game Programming" by Michael Dawson and stick with it. What the other guys here say may be good and well but I find it much more encouraging and fun to learn C++ from a game programmers perspective, and the book doesn't lack any information on the C++ language so far.

Now. You might be a little ahead of me on the math side, although I'm 14, because we don't have such a good math education here in Norway. And as far as I'm concerned the math education in the US is far better than here.
But I wouldn't have bought the "3D Game Engine Design" book, as it's quite heavy math-wise. This is what I recommend( might be an awfully wild guess though).

Hope this helps and encourages you to program games in the future. [smile]


EDIT: Jeez, I have a math test tomorrow *runs off*

Share this post


Link to post
Share on other sites
Quote:
Original post by Azh321
well, the first thing I noticed, when my 7th grade teacher asked us who knew what functions were, I raised my hand, she said to demonstrate, I walked up to the board and wrote:

int main()
{
printf("Function Demo!");
return 0;
}


Nice one [smile]

Share this post


Link to post
Share on other sites
Quote:

what do you mean about that most of the stuff in game develpment is not learned in school?

i mean that you won't learn the math you need for game developement. my brother learns what i need for game programming and he's 10 years older than me and is going to an university...

regards,
m4gnus

Share this post


Link to post
Share on other sites
Ah, I gottcha there. So, thank you so much for the recommendations. I think that I am going to go with the recommendations here, and I will get the book Beginning C++ Game Programming and then I will check the mathematics books out for game programming and graphics development. I think I am also going to get the Introduction to 3d Game Programming with Direct3d to get an overview of just part of the directX language. I am also going to purchase Programming a Multiplayer FPS in directX. This will probably jump me into all the areas I will need to cover, and if I need more help, I will probably search around for other books. Does anyone have any other suggestions for books?

Also, what do you think of OpenGL? Is it any good and is is better than DirectX?

Share this post


Link to post
Share on other sites
Quote:
Original post by The Mastermind
Also, what do you think of OpenGL? Is it any good and is is better than DirectX?

There isn't really a definitive answer to that question; some people swear by OpenGL, some people prefer DirectX, and some don't really mind either way.

From what I've read and experienced, I think the differences break down a bit like this:
- DirectX is a complete package for controlling the entire system (video, sound, input), whereas OpenGL is just graphics (you will need something else, like SDL, to control the other things).
- OpenGL is cross-platform, whereas DirectX is Windows only
- DirectX has an object-oriented (C++-like) approach, whereas OpenGL has a more procedural, C-like approach

I'm a bit rusty on DirectX myself, but I've been teaching myself OpenGL recently, and I find it really easy and a pleasure to use. But that might just be because it suits my coding style. I'd recommend trying both of them out and seeing which one you prefer. The NeHe tutorials here on GameDev.net are a good starting point for learning OpenGL. There's probably some good starting tutorials for DirectX here as well (I haven't really looked for DirectX stuff). You could try both out for a little while and see which one you prefer.

If you are looking for a good OpenGL book, I recently got a copy of the OpenGL Superbible, which I find to be really good. You need to be decent with your C programming (or C++) to really get the most out of OpenGL programming, however.

Best of luck!

Share this post


Link to post
Share on other sites
Thanks very much for the opengl suggeston. I have already ordered some of the books. Are there any really good ones I should be looking out for for dx9? Also, is dx10 coming anytime soon?

Share this post


Link to post
Share on other sites

As far as directx programming goes, I found "Introduction to 3D Game Programming with DirectX 9.0 by Frank D. Luna" to be a very concise reference that has helped me out a lot. It covers the basics very nicely from setup to models to simple shadow techniques and ends with an introduction to shaders.

Of course I also recommend my own tutorials, which do come in the form of a book. Although most people just read them online for free :P

Good Luck
-Greytone

Share this post


Link to post
Share on other sites
Would Visual C++ Toolkit 2003 be compatible with the .NET form of Visual C++? I have been using toolkit, and things are going smooth with some of the basics. Also, are there any good, free compilers besides devc++?

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