Jump to content
  • Advertisement
Sign in to follow this  
Reegan

Books For Beginners

This topic is 3803 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, first off i know this question has been asked 100's of times in the past but im looking for some books that will take me along a specific path. since there are 100's of books out there covering all different aspects of game programming or programming in general i have turned to the nice people at GD.net to help me choose. Ok so ive decided to invest in a few books and want some advice on which ones will be best suited for my needs. I already have some knowledge of C++ Game development aswell (Making simple games like Pong, Breakout and Hit the Ball.) I would like books that cover the following areas: 1) A General C++ book (Meaning DOS programming). 2) A book on windows programming using the windows API. 3) A book that will cover the more Game Specific side of C++ programming, not in DOS, Windows programming. For example a DirectX Book I would like to hear your thoughts on books you have found, That are decent, easily understandable and thoroughly cover what they were intended to teach. Thanks guys! ~Reegan

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Hi, first off i know this question has been asked 100's of times in the past but im looking for some books that will take me along a specific path.
What specific path is this?

Quote:
I already have some knowledge of C++ Game development aswell
So, you’re already writing C++ games, using 2D graphics?

Quote:
A General C++ book (Meaning DOS programming).
How is DOS coming into the picture here? Same advice as for any other beginner. Accelerated C++, by Koenig; C++ Primer, 4th Edition, by Stanley Lippman. The first is more like coursework, it will teach you how to use C++. The second is like a reference book. Both books will get you started with C++.

Quote:
A book on windows programming using the windows API.
Petzold’s book. The last edition was the 5th edition. Everything after that was .NET API books.

Quote:
A book that will cover the more Game Specific side of C++ programming, not in DOS, Windows programming. For example a DirectX Book
There’s no good book like that. Too broad a topic.

Honestly, I would suggest you start with C#, and then go onto XNA. It’s a more well defined path, and you might like that.

Share this post


Link to post
Share on other sites
DOS refers to a bunch of OSes that predated Windows and the like. If you're actually referring to the use of text-only applications (and I suspect that you are), then the terms "command line" and "text-only" apply. Trust me, you don't want a book on programming in DOS - it's painful. My first C++ book used a DOS-based IDE. It's amazing I ever started programming.

Share this post


Link to post
Share on other sites
If you're going the C++ route (and I think that's an exceptionally bad path) you'll likely need 2-3 books on the language and it's library. You're also missing a general program design step.

Personally, (and in retrospect) the only two books I can recommend for this path is the C++ Standard Library by Josuttis and Design Patterns by Gamma et al.

Petzold's windows book is well written, but (for me) I don't use anything from it anymore. Anything windows related is better done in another language or via pre-made libs.

Share this post


Link to post
Share on other sites
Quote:
Original post by oler1s
Quote:
Hi, first off i know this question has been asked 100's of times in the past but im looking for some books that will take me along a specific path.
What specific path is this?

Quote:
I already have some knowledge of C++ Game development aswell
So, you’re already writing C++ games, using 2D graphics?

Quote:
A General C++ book (Meaning DOS programming).
How is DOS coming into the picture here? Same advice as for any other beginner. Accelerated C++, by Koenig; C++ Primer, 4th Edition, by Stanley Lippman. The first is more like coursework, it will teach you how to use C++. The second is like a reference book. Both books will get you started with C++.

Quote:
A book on windows programming using the windows API.
Petzold’s book. The last edition was the 5th edition. Everything after that was .NET API books.

Quote:
A book that will cover the more Game Specific side of C++ programming, not in DOS, Windows programming. For example a DirectX Book
There’s no good book like that. Too broad a topic.

Honestly, I would suggest you start with C#, and then go onto XNA. It’s a more well defined path, and you might like that.

Yup I pretty much agree with all of this but I'll add that any C++ programmer needs a copy of Stroustroup's book. C++ Primer 4th edition is okay if you already got it though.
You need to head over to the C++ FAQ site and if the majority of stuff there is greek to you you'll need to practice your C++ more or finish reading the stroustroup or lippman book because they cover like 99% of everything you need to know in C++.
2) Petzold is like the Stroustroup book for Widows API programming so get a copy of that too.
3)Frank Luna book Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach is best I've come across but unless you have experience with a 2D API like Allegro or SDL you'll probably get lost fast not to mention do you meet all the other prerequisites for DirectX programming like:
Prerequisites

It should be emphasized that this is an introduction to Direct3D, shader, and game programming; it is not an introduction to general computer programming. The reader should satisfy the following prerequisites:

* High School Mathematics: algebra, trigonometry, and (mathematical) functions, for example.
* Competent with Visual Studio: should know how to create projects, add files, and specify external libraries to link, for example.
* Intermediate C++ and data structure skills: comfortable with pointers, arrays, operator overloading, linked lists, inheritance and polymorphism, for example. We also use a small subset of the STL, in particular, std::string, std::vector, and std::list.
* Familiarity with Windows programming with the Win32 API is helpful, but not required; we provide a primer in Appendix A.

p.s. As you can see you'll probably also need a "data structures" book or you'll quickly get lost when they start talking about linked list,graphs,trees,etc. I use the Ron Penton one for that.

Share this post


Link to post
Share on other sites
Thank you for all your advice!

I will take a look at all the books you guys have suggested and decide for myself which ones will be best for me at this stage as noone really knows what skill level i am at, as a programmer.

Yes i have created some simple 2d games with the Windows API and using the GDI/GDI+ and no im not a total beginner when it comes to programming.
I used to use a program called gamemaker (for about, just under 3 years) which was good and has helped me alot while im learning C++.

and to Daviangel, I fit all of those "Prerequisites" except from having knowledege in Allegro or SDL

Why is it whenever i post here people always tell me to choose/recommend another language? C++ is used to be build the commecial games am i correct Or do i just come as a bit dim to everyone?

Thanks.

PS: About the 'DOS' thing, umm ok well now I know its 'command-line'. I was wondering acutally if i had it right before i posted.

Share this post


Link to post
Share on other sites
Quote:
Original post by Reegan
Why is it whenever i post here people always tell me to choose/recommend another language? C++ is used to be build the commecial games am i correct Or do i just come as a bit dim to everyone?.


C++ is the language that everyone loves to hate. It's kind-of badly designed in the wierd, advanced features. Really though, you can get away with using about a quarter of the features, and never touch the icky stuff. I didn't know about all the nasty features of C++ until I came here. But it won't be as fun as an 'easier' language.

Share this post


Link to post
Share on other sites
Quote:
Original post by Reegan
Thank you for all your advice!

I will take a look at all the books you guys have suggested and decide for myself which ones will be best for me at this stage as noone really knows what skill level i am at, as a programmer.

Yes i have created some simple 2d games with the Windows API and using the GDI/GDI+ and no im not a total beginner when it comes to programming.
I used to use a program called gamemaker (for about, just under 3 years) which was good and has helped me alot while im learning C++.

and to Daviangel, I fit all of those "Prerequisites" except from having knowledege in Allegro or SDL

Why is it whenever i post here people always tell me to choose/recommend another language? C++ is used to be build the commecial games am i correct Or do i just come as a bit dim to everyone?

Thanks.

PS: About the 'DOS' thing, umm ok well now I know its 'command-line'. I was wondering acutally if i had it right before i posted.

I doubt it's that's a superiority complex thing in most cases to recommend a simpler language most of the time. They are probably trying to save you time and keep you from getting discouraged in most cases.
I mean it's like if you saw someone trying to cross a river by wading in and getting all wet and possibly drowning and knew that there was a bridge just a little bit up the river where they could easily cross without get wet,etc wouldn't you want to point it out to others attempting to cross?
Most people would welcome and be happy with your advice but of course there will always be those that ignore you and want to do their own thing or like a challenge...
Then again if there was no bridge the C++ programmer would be the one that would build it from scratch and the C# programmers would be the one's happy to use it to get across quickly and not worry about all the work it took to build it-LOL!

[Edited by - daviangel on July 12, 2008 8:49:26 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Reegan


Why is it whenever i post here people always tell me to choose/recommend another language? C++ is used to be build the commecial games am i correct Or do i just come as a bit dim to everyone?


Because you do not have $10 million budget, 10 years of work experience with CS degree and a team of 50.

If you want to learn flying, you'll start with theory, then simulator, then ultra-light airplane with instructor. You don't learn flying by going to airport, and taking off in F-22 into war zone.

Other than that, it's your choice.

Then again, my first 4 years of programming were done in BASIC.

Share this post


Link to post
Share on other sites
Quote:
Original post by daviangel
I doubt it's that's a superiority complex thing in most cases to recommend a simpler language most of the time. They are probably trying to save you time and keep you from getting discouraged in most cases.
I mean it's like if you saw someone trying to cross a river by wading in and getting all wet and possibly drowning and knew that there was a bridge just a little bit up the river where they could easily cross without get wet,etc wouldn't you want to point it out to others attempting to cross?
Most people would welcome and be happy with your advice but of course there will always be those that ignore you and want to do their own thing or like a challenge...
Then again if there was no bridge the C++ programmer would be the one that would build it from scratch and the C# programmers would be the one's happy to use it to get across quickly and not worry about all the work it took to build it-LOL!


LOL, i liked that little story there, and dont worry about me getting "discouraged" i know what to expect and i am very determined to see this through.

PS: Just to remind everyone, ive chosen C++, im sticking with C++, and people telling me otherwise will only annoy so please dont. I am well aware of the boredom i may encounter while i am learning the language but i am also very determined! I want to be the bridge builder not the bridge walker lol.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!