Am i learning too slow?

Started by
8 comments, last by Ronnie Mado Solbakken 12 years ago
I have been learning c++ for 3 or 4 months now, and frankley i haven't learned too much. i used the book accelerated c++ and i am nearly done
the book, and so far i have only made a few small projects like tictactoe and all the other begginer projects. I have read so many times that someone has been learning for only 2 or 3 months and they already made a simple game with sdl, so i am just wondering, am i doing learning too slowly? or are the other people just learning really fast?
Advertisement
Try make a game with opengl. If you can follow the tutorials then your learning at right speed :P
Just make sure you are learning and understanding the basics of C++ and a little more advanced topics. If you are good there, move on to something more challenging like the above poster mentioned. Or move to SFML or SDL I suggest SFML... Remember programming isn't about memorizing. Sounds like you are on a good track, stick with it cause it can get frustrating at times and realizing that some projects are going to take you awhile not something that you can make over night. Good luck to you.
Everyone learns at their own pace. It also depends a lot on how much time you are dedicating. If you are spending an hour or two every night you are going to move a lot slower than a college or high school student who has more time in the afternoons/evenings and summer vacation. It sounds to me like you are doing pretty well and are probably ready to jump to 2d.

I would not jump into OpenGL. I would test the waters with SDL or SFML.

List of things I would tell somebody to know before starting 2D games are:
- Declaring and using variables
- Arithmetic operators +,-,*,/,%
- Implementing Functions
- Using if-else statements and familiarity with !, &&, and ||. Knowing the difference between = and ==
- Understanding loops
- Familiarity with at least part of the C++ standard library (std::string, std::vector, std::list, std::map come to mind first. Know how to delete and add to vectors and lists while iterating through them)
- Understanding Pointers and comfortable using them
- Comfortable writing your own classes complete with methods and member variables
- Preferably comfortable with polymorphism

Some things I am assuming you know if you know this list (like using parentheses), and I may be missing some things. If you know everything on this list (with the exception of polymorphism) I would say you are ready to try starting on 2D games. You can probably make small games without knowing any of the last 3 items (depending on the library you used for graphics). You will run into new challenges like draw order and path finding, but knowing the language won't help you with algorithms. For those you will have to be a problem solver and/or ask around.
There is no such thing as too fast or too slow. If you're learning, great; if not, that might be an issue, but not necessarily.

Some people can sprint 100 meters in less than 10 seconds. Does that mean you walk too slow?

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Agreed with the above -- different people learn at different rates, and you shouldn't concern yourself with the progress others are making.


As long as you're satisfied that you're making progress you're doing just fine.

If you're not satisfied that you're making progress, you could consider some steps to improve that, possibly including:

  1. More practice!
  2. Finding a class in your area, or a friend who is interested in learning with you rather than studying alone.
  3. Trying a different book, or supplementing what you're learning by also reading articles online.


Honestly, it sounds like you're doing just fine though -- just make sure you've been doing all the practice exercises from your book, and continue working towards more complex beginner projects. If you're comfortable with giving it a go, you could probably try out SDL or SFML.

- Jason Astle-Adams

Remember to chlalenge yourself, coding is like exercise in a way, you have to pick something that's slightly above your level to make, but not impossible enough you can't finish.

The objective to learning it to force yourself to go step by step, if you don't know something? Look it up, that's the point of the learning process. Personally I was learning on and off for years and it took awhile to even get what an iterator was or how headers work in C++, you start to accumulate knowledge without really realizing it.

The biggest goal though is: Do a project that you don't know you can do, that has things you haven't done before, make yourself figure out how to do them. You should be able to guage what is far beyond your skill and what would be a low level challenge, stuff tends to get much more complicated than it appears.
Thanks for the replies, it's really reassuring to hear. as for making projects, i have no idea what kind of projects to make, i am not really a creative person and so far the only things i have made are the exercies from the book and simple programs to further test the things i have learned. i also made a tictactoe game but it doesn't seem too efficent.
Just an idea: You could try to integrate external libraries like box2d. That's what I'm doing right now as my first real project. Here's a flash example of what's possible with box2d. I use SDL and openGL to draw the objects that are simulated by box2d but you could probably also use SFML if you want. For me it was a very satisfying moment when I first successfully ran my program which had a physically simulated box. This could be a goal while learning SDL, SFML or something. Basically all you need to know is c++ and how to draw images with arbitrary rotation.
Also, what you haven't told us is how much time you actually spend per week, or per day.


Thanks for the replies, it's really reassuring to hear. as for making projects, i have no idea what kind of projects to make, i am not really a creative person and so far the only things i have made are the exercies from the book and simple programs to further test the things i have learned. i also made a tictactoe game but it doesn't seem too efficent.


If you have problems with your imagination, there are many ways to train it. Learning to know the industry, reading what ideas others got, playing games and experimenting with simple game constructs that can themselves give birth to serious projects.

Btw, here's a video I saw a few days ago w/ Jonathan Blow (the Braid guy):
[media]
[/media]

- Awl you're base are belong me! -

- I don't know, I'm just a noob -

This topic is closed to new replies.

Advertisement