# I'm interested in starting over. Any suggestions?

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

## Recommended Posts

##### Share on other sites
It sounds like the best thing you can do is go learn Python. Python's pretty awesome, and even better is that you can use PyGame to make game stuff. Think of PyGame as a much, much more feature-filled SDL which is also easier to use.

Now, I'm sure you're thinking, "Man, learn another language? I don't want to waste me C++ skills!" But you won't be -- you will learn Python soooo much faster than C++, and a lot of the skills you pick up in one will apply to the other. I believe, that for a person with no programming experience, it will be faster to learn a language like Python and then C++ instead of just learning C++ first.

-- John

##### Share on other sites
"C++ How to Program" 5th Edition

##### Share on other sites
You can learn everything you need to know about making a game on the internet, with enough google you can find just about anything you need about programming.Also, here are some links that I like to go to CProgramming.com, MSDN,fre CPP books,Programmershelp.co.uk,CPP reference.If you wish to learn allegro; here's the allegro vivace, or for SDL tutorials here's some tutorials, or DirectX tutorials; I would recommend MSDN for DirectX tutorials.[smile]

##### Share on other sites
Quote:
 Original post by uncle_ricoA friend of mine is taking CS in school and he would always have these tedius little projects to do. For example, he had to make a grocery store simulation where each cash register line was a queue and it had to work in a very specific way. Sounds tedius as hell.

It is tedious as hell. I've loved programming for quite a few years, but I can barely bring myself to do CS programs for two reasons 1) They're easy. If there's no challenge, it's not going to make me a better programmer. 2) They have no point other than to teach you how to program. Since I already know how to program and can understand the CS concepts just fine without homework, I see it as a patronizing waste of my time.

##### Share on other sites
Just mentioning, you can still continue "drawing, painting, writing stories, playing guitar, and writing music" to get some outlet for your creativity. I'm both a programmer and a musician myself, and I find that both of the activites contribute to satisfying my need to do something creative.

For the programming part, you seem to have the focus that I think is necessary for the quite heavy task of learning programming. Just give it time. If it still doesn't feel right after a while, then (as many others here pointed out) maybe programming isn't the right thing for you anyway.

But as I said, if you feel interested and really focused on the task, go ahead. Read a book, take it slow, but also start programming some simple tasks by yourself, then you can see for yourself what it is that you can or can't do. For those things that you can't do, try reading some more on those things.

And a final piece of advice, if you have problems with one book, try another.

##### Share on other sites
Though I didn't learn from it, I've seen the Learn C++ in 21 days book and I think it is a good book if you are starting from scratch, you will learn everything and it's pretty well written. Thinking in C++ is not as good as this book (but it's free so it kinda balances it out).

##### Share on other sites
First of all, i agree that "21 Days" books are a waste. You need something more solid, but still newbie friendly. The "Thinking In C++" books are good, especially for beginners.

You will find that you will not learn all of C++ and then go and program some great game. What will happen is that you will learn just enough to be dangerous and then go try to make a great game. You will then experience humiliation, frustration, and many other things, then fail. Then you will learn about pointers. You will then tackle the problem with renewed zeal until you find that your meager knowledge is still inadequate. Then you will learn data structures, and say "Aha!", then fail, then classes, then fail, then STL, then fail. Eventually, your failures will mass together and form a greater learning experience for you than any book would have been. There is rarely any "golden way", just a lot of ways not to do things. With any project you take on, half-way through you'll always think to yourself, "I wish i woulda..." Eventually you'll end up with a decent body of knowledge that lets you actually create something with some degree of fluency and structural integrity.

And this is what the rest of us call "fun" ;-)

##### Share on other sites
leiavoia, yeah, totally! :)

I mean, the greatest way to learn ANYTHING is to do it. Learning to play the guitar? Damn, nobody can teach you to be Clapton in a day (or, more specifically, 'in 21 days' ;))! Just pick the guitar up and start to play whatever you want! Then, in some years, you will be able to play nicely. Same with programming! Just program! I am also a noob. I am just starting my way with C#. But already I've made a Process Killer all by myself which gave me a great deal of exp. Just think of a program and write it! Of course, don't think of Photoshop or 3DS Max, but something simple :)

##### Share on other sites
The book I reccomended walks you through creating your own array class. It is scalable, has bounds checking, you can do assignments like array1 = array2, etc.

It also walks you through the creation of an OO elevator simulator, from design(using UML) all the way up. In the 5th edition they changed the elevator simulator to some sort of ATM thing or something.

It's pretty good for beginning to intermediate level. I assumed that you'd call yourself beginning to intermediate if you skipped chapters on classes and inheritance. If that is not an accurate decription of your level, then don't go rushing out to flush 90 bucks down the toilet. helloworld to pointers is about two fifths of the book.

##### Share on other sites
Don't give up. These things take time.

If you really want to stick with C++, IMHO the single "biggest bang for the buck" thing you can do right off the bat is learn to use and love std::string. It is an accessible entry point towards learning how to use the nice bits of the standard library, and makes things the seem like they should be easy, just about as easy as they ought to be (as opposed to the veritable minefield of char* hackery). Oh, and you'll be using OO without even realizing it - and from there, you can start to pick up the principles of good class design. [smile]

But yeah, going with Python would be a really good idea too.

##### Share on other sites
The board forgot my login in mid-post AGAIN. GRR.

##### Share on other sites
Lots of good ideas here.

From personal experience just using the language helps the most. I learned C++ back in middle school, but even then I learned it by writing my own programs, not by reading straight out of books and doing exercises. The latter were simply way too boring for me.

Even now I use this strategy to learn new languages, and even new APIs. I learned Python by writing tons of little useful scripts, and eventually wrote an IRC bot in it. I tried learning Perl by writing another IRC bot, but went back to Python after I finished and saw how ugly the language was :) I learned C# and Managed Direct3D by writing a 3D stencil-shadowing implementation, and even now I still write a lot of little C# apps to learn various parts of .NET. The code for a lot of these programs fills only a couple of screens, but they help a lot.

They're short and fun, and can be quite useful too.

##### Share on other sites
To the OP, I totally agree. I felt like starting over too. The problem was I never finished the book I was reading. Start a C book, then C++, then do Andre's book. If DX is too tough, I'd recommend Managed DirectX. This is for the .NET archetecture using C# or VB.NET. It's very fun. Heck, you can simply play an audio/video file with 2-3 lines of code. DX was really tough for me, but MDX just seemed more reasonable and made sense.

##### Share on other sites
I'm was (am) an artist in the industry for a long time... Over time as games became more and more technical we found ourselves needing a "technical artist" more and more. I jumped at the opportunity (I have the jack of many, master of none syndrome something feirce).

I started with MaxScript and Mel, which I picked up pretty quickly. I then moved to C# which while a lot more structured was also fairly easy to pick up, thanks to all those CS classes in HS and early college.

After that I took the plunge into raw C++, and can STRONGLY reccomend "Visual C++ .NET How To Program" from Deitel.

How To Program

It's laid out like a text book with lots of questions and excercises at the end of each chapter, and doesn't dilly dally around, moving farily quickly to some "cooler" stuff.

I also swear by my copy of "Practical C++ Programming" for great reference and non-.NET reference and education. It also has the questions and excercises for each chapter. The only drawback is all your code will be console apps. No windows stuff at all.

Practical C++ Programming

Good luck!