Looking for C++ Advice and Books

Started by
11 comments, last by Serapth 17 years, 7 months ago
You may want to consider reading Thinking in C++ Vol1 and 2. Both a legally free ebooks and explain the C++ language well.

You may also want to look at the latter part of this small article I wrote. There may be some links of use to you: Where to Start C++ Programming

Steven Yau
[Blog] [Portfolio]

Advertisement
Quote:Original post by Serapth
Quote:Original post by CzarKirk
Hey Melpomemne. Try to create a simple console application which finds the nth prime number for the user. It sounds like you've gotten the graphics side OK. This should really test (and hopefully improve) your maths, debugging and problem sovling ;)

Hint: you'll need to use the mod opperator.


He's already done pong and an isometric game. Going back to console programming would be painfully boring, but your suggestion is a good one for people working on algorithm skills.


If I were to pick up a book on the Standard Library (Which is a superset of the STL, right?), would that in addition with the primer be enough to start chugging away with the game programming? Would I benifit from learning stuff from the boost library?

Thanks for the suggestion about math, but I'm set there. And I've got double digit scores on practice AIMEs to prove it :).

How easy it is to do sound realated things? I know, for example, that making a basic software mp3 player would be kinda easy, just basic file I/O, but how hard would making a software chromatic tuner or midi sequencer be?

And what would be a good book to learn IOI style programming from? I assume a basic algorithms and data structures book would suffice?

I've been looking for pain free (or as pain free as it can get) assembly introductions. (not for practical stuff, but for general knowledge. I still can't stand not knowing how cout pops up that console window and writes stuff to it :(. I'm such a knowledge freak) Would "Art of Assembly" be a good book?

Also, if I were to learn Perl or more Ruby, it seems that I have to go through a very messy process to bind functions and objects and other generally unpleast procedures if I want to combine C++ with something else. I've read about scripting a little and I think a good project would be offloading the AI in whatever game I make into a little script. Is there anything I can do to ease the process of making the languages work together?

Edited in to avoid double post:

I've been looking at demo and effects programming, and it's kind of cool. Water, fire, plasma, etc. How would I get something like this to run as a screen saver?

About physics: Should I read a programmer's introduction (aka "Physics for Game Programmers") or a real textbook (aka Tipler). I'm afraid I haven't gone to college or taken AP physics yet, so my knowledge in that area is just basic calculus and whatever I gleaned from reading the first few chapters of Tipler..
Quote:Original post by Melpomene
If I were to pick up a book on the Standard Library (Which is a superset of the STL, right?), would that in addition with the primer be enough to start chugging away with the game programming? Would I benifit from learning stuff from the boost library?

Thanks for the suggestion about math, but I'm set there. And I've got double digit scores on practice AIMEs to prove it :).

How easy it is to do sound realated things? I know, for example, that making a basic software mp3 player would be kinda easy, just basic file I/O, but how hard would making a software chromatic tuner or midi sequencer be?

And what would be a good book to learn IOI style programming from? I assume a basic algorithms and data structures book would suffice?

I've been looking for pain free (or as pain free as it can get) assembly introductions. (not for practical stuff, but for general knowledge. I still can't stand not knowing how cout pops up that console window and writes stuff to it :(. I'm such a knowledge freak) Would "Art of Assembly" be a good book?

Also, if I were to learn Perl or more Ruby, it seems that I have to go through a very messy process to bind functions and objects and other generally unpleast procedures if I want to combine C++ with something else. I've read about scripting a little and I think a good project would be offloading the AI in whatever game I make into a little script. Is there anything I can do to ease the process of making the languages work together?

Edited in to avoid double post:

I've been looking at demo and effects programming, and it's kind of cool. Water, fire, plasma, etc. How would I get something like this to run as a screen saver?

About physics: Should I read a programmer's introduction (aka "Physics for Game Programmers") or a real textbook (aka Tipler). I'm afraid I haven't gone to college or taken AP physics yet, so my knowledge in that area is just basic calculus and whatever I gleaned from reading the first few chapters of Tipler..


Too many questions grasshopper! :)

Take things one day at a time. Take the knowledge you have or havent learned today and apply it to a project, if you hit a wall, take a different approach. Dont try to learn too many things at one time.

As to your questions. First off, Boost is a powerful library, but a confusing one. Leave it alone until you need it is my opinion. Eventually you will run into a problem and boost will be the perfect answer, until then, dont bother. Learning STl on the other hand is a worthy task. As to learning from Boost, you wont. Until you know C++ like a zen master, its arcane at best. It truly is a complicated beast ( and a bit of a hack to boot ).

Your question regarding sound ends with an astonding depends. If you use a high level library, sound isnt that hard. Most sound algorithms basically look at sound as a series of value ranges that compose a sound wave. At its core, its a pretty easy subject. That said, if you arent using an API like DirectSound, well... personally I wouldnt want to do it.

IOI? Sorry, my acronym skills aint what they used to be. Microsoft will do that to you.

As to this whole assembly thing, drop it, honestly. Some time down the road it may be an intersting thing to learn, but for now its pretty much a useless skill. You would better spend your time learning C++ better, or failing that, a different high level language. Assembly really isnt that valuable a skill, and once you decide to learn it, its really rather trivial. Just forget it for now would be my advice.

As to binding in a script language. Python, Lua, and any .NET language make it fairly easy to do. For example, binding in the Python runtime takes perhaps a half dozen lines of code to be up and running.

Now... to the rest of your questions( you edited in )... stop asking so damned many questions!!! ;) First off, there are a ton of screen saver libraries that get you up and running with almost zero additional code. To your physics questions, that depends on you. Frankly, not to many people actually use textbook physics these days, they depend on 3rd party libraries. And, to be honest, thats probrably the best approach. So, if you are looking into what kind of book to buy, pick one up on physics as related to game programming. If sometime down the road you end up writing a physics engine instead of using someone elses, then its time to pick up a more "pure" book on the subject.



This topic is closed to new replies.

Advertisement