Solid book learning steps

Started by
11 comments, last by SuperJman 15 years, 3 months ago
Hello again, I had posted earlier on this site stating my ambition to get into 3D programming and I assure you I still have a very strong ambition for it however I have found myself suck in a frustrating spot for months now. How do you exactly get into 2D programming? I seriously need some step by step help here. So if anyone would care to do so, please direct me to the books "step by step" that should make me proficient in 2d programming from knowing nothing (Well I do know PHP, etc) to making a side scrolling game or even a tetris game for heavens sakes! What I need to understand: (1) A VERY GOOD, thorough, book on c++ beginner to master(well... you know). (2) Another VERY GOOD book on whatever should come after this, the concepts of 2d programming, the SDL etc. but it MUST be something easy enough to understand that I can apply my previous c++ skills to it right away. (3) Maybe for this last book a more advanced look at SDL programming a more advanced look at 2d in general or a more advanced look at C++. If more could be fit in thats fine, as long as the books you provide will give me the information I need to program in 2D by reading the books cover to cover, making sure to understand the text and working on practice programs. I really need your guys help for this one I absolutely need to know what books to get, and in addition maybe you could tell me how you started or how I should go about achieving this goal of 2D programming. ,Thanks for everything - SuperJman
Advertisement
It might be easier to start with another language, like python or C#, and switch to C++ later. And no, learning another language is not a waste of time, even if your ultimate goal is to learn C++.

But if you're sure you want to learn C++ right now, take a look at C++: A Dialog, a free book available in my sig.
I'm a huge fan of the book _Absolute_C++_ by Savitch. It will satisfy the beginner to advanced C++ book that you seek.
Quote:Original post by Gage64
It might be easier to start with another language, like python or C#, and switch to C++ later. And no, learning another language is not a waste of time, even if your ultimate goal is to learn C++.

But if you're sure you want to learn C++ right now, take a look at C++: A Dialog, a free book available in my sig.

Yeah that's a pretty fun C++ book to learn from and if you can't learn from that book then all hope is lost since the main point of that book is to teach someone to program in C++ via email!!!
1)Anyways, if you are short on time it's a bit wordy for my taste and I recommend the Mike Dawson beginners C++ book instead.
After that you probably want to get the new Stroustroup C++ book that is coming out soon. It should be good(he created the language afterall) and is for beginners unlike his current book which is more like an encyclopedia.
2)Get the Game Programming all in one book which I shouldn't even recommend since the author was supposed to send me a copy of one of his books which he never did! But it's the only decent book on Allegro I know of. The only other choice is the dated Focus on SDL book which isn't really much better than the information you can find online.Also note that the Allegro book makes use of more C than C++ so if you prefer C++ you have to go with SDL unless you want to spend extra time porting the C code to C++ in the first book I mentioned.
Actually the best 2D game programming book I ever read and highly recommend if you don't need to stick to C++ is Game Programming: The L Line, The Express Line to Learning but is uses Python which I doubt you want to learn. A close second to is XNA Game Studio Express: Developing Games for Windows and the Xbox 360
which uses C# and XNA but will show you step by step how to do a tetris game,break out,card games,top down scrollers,etc.

3) More advanced book would be any of the Frank Luna DirectX books but he only has like 1 chapter on 2D stuff.
Once again I would recommend you go through either the XNA or Python book I mentioned above since they will make everything alot clearer before heading out to the 3D world;)
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Hey thanks for all the suggestions made here, I'll defiantly look into them. I have one question though...

How in-depth should I go into C++ before I can fully understand what is said in the 2D programming books? The transition seems so HARD!

I mean I know c++ is supposed to be really hard, which I just don't get because it seems like any other language to me (if any one could explain why that would be nice). However going from like text programs to 2D kinda blows me out of the water, kind of like conceptualizing the 4th dimension.

Oh ya, and if anyone wants to give more book examples that would be great!

-SuperJman
For a beginner book, I thought C++ Primer Plus was good. It explains the reasoning behind many of the features well, although I don't consider it to be helpful once you know C++. I actually see no reason to try to find the one book to end all books, if you really want that buy the C++ Programming Language. It's all there, and makes a great reference, but you'll never be able to pick it up and understand it.

I recommend you get a beginner book which talks to you like an idiot, because they're much better to learn from. Once you've learned the language, I find C++ Primer (no plus, different book than before) to be a good reference. It's more of a quick and dirty look-up of the syntax and the rules of the language.

Once you get comfortable with the language, I'd then start reading Scott Meyer's books, like Effective C++. They cover many of the dos and don'ts of the language, which is even more important if you're self taught.

When you want to learn the STL, The C++ Standard Library: A Tutorial and Reference is a great book. Once you're familiar with the STL, I'd once again recommend going to Scott Meyers to read Effective STL.

Or take the advice of everyone here and don't learn C++. Your call. But those are all books I'd recommend.
-- gekko
As much fun as it is to get down to programming, I recommend you study mathematics regularly.
∫Mc
As I student this is required of me anyways but yes I do study mathematics and love it!
Quote:Original post by SuperJman
Hey thanks for all the suggestions made here, I'll defiantly look into them. I have one question though...

How in-depth should I go into C++ before I can fully understand what is said in the 2D programming books? The transition seems so HARD!

I mean I know c++ is supposed to be really hard, which I just don't get because it seems like any other language to me (if any one could explain why that would be nice). However going from like text programs to 2D kinda blows me out of the water, kind of like conceptualizing the 4th dimension.

Oh ya, and if anyone wants to give more book examples that would be great!

-SuperJman

Well you should be able to program in C++ good enough so that if someone were to ask you to write a simple text based hangman, tic-tac-toe game or even simon-says like game you would be able to bust it out in no time without getting hung up on the C++ language details.
That's why you are getting blown out of the water!
Unfortunately, like I already said there aren't very many good 2D game programming books to begin with since. It was basically a black art like magic until people like Lamothe were kind enough to even write down all the secrets in a book. Too bad his books are pretty out of date nowadays so they won't be much use other than the main ideas like sprites,render loop,AI,etc like in his "programming in 21 days DOS book". All C++ now focus on 3D mainly if you haven't already noticed. Maybe more 2D game programming books using C++ will come out now that Microsoft has decided to release a new version of directx again?

Direct2D (or D2D) is a native immediate-mode 2D graphics rendering API that is built on top of Direct3D, and offers some compelling performance and visual quality improvements over GDI and GDI+

If you don't want to wait around I suggest you pick up XNA like I said before since there seems to be more than one decent XNA book to choose from these days.


[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Ah just rembembered there is another decent SDL book out there:
Ron Penton's Data Structures book if you can find it!
Basically creates a simple RPG game throughout the book using SDL.
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe

This topic is closed to new replies.

Advertisement