Beginner in distress

Started by
9 comments, last by Niux 18 years, 9 months ago
Hi, I'm a beginner to C++/Game Development. I can create very simple programs (just DOS, but hey, it's a start). My distress is that I want to ultimately make games. I'm all energized at first, except that I always hit dead ends. It's always a matter of always surfing the net for EVERY LITTLE THING and I can never get a firm grasp on programming if I'm always fishing for what I want. Also, I need a way to keep myself programming and have satisfying rewards, because, hell, I wanna make games (first project I wanna do is pong). I just need your help as to some sources for ABSOLUTE knowledge of the programming language. Also, how should I progress? I always seem to lose interest when I have to fight my way through learning programming. I just want it to be fun (it is when I get something done). Thanks in advance.
Advertisement
Quote:Original post by blankstare77It's always a matter of always surfing the net for EVERY LITTLE THING and I can never get a firm grasp on programming if I'm always fishing for what I want.

That won't change for a good while. There is quite a lot of raw info needed to use C++ properly, and it'll take you time and practice to get it off by heart. So don't worry about it - at least you are using references, somepeople can't quite seem to get their head around the fact that thats what they are there for.

As to having fun, there isn't much stopping you having fun as long as you are aware of what you can do, and just aim slightly above it. So you know basic C++ IO and logic? Write a guess the number game, or something. You can work your way around functions, includes, and linking libraries then go after pong. There are many well documented libraries that will allow you to get started quickly with making simple games (See SDL in my sig).

So if pong is what you want, then go for pong. If it colapses on you then you'd best move down a notch and work back up to it. Realizing that you have to do this can sometimes be quite difficult but it can yield great results.

Anyway, just relax. It isn't a race, have fun programming and learning and making games.

EDIT: This looks like a good basic C++ language tutorial/reference. I scavenged it from the C++ tutorials thread stickied in this forum, you should probably check it out.
I am a beginner in game programming myself. But what I reccomend is using books. Things you find on the internet are scatterd, hard to find, and each topic doesnt transition smoothly into the next tut you may read.

Although with books they're thorough, each section follows nicely after the other and you can read it anywhere you can carry a book with you. And most importantly they will cover a topic from beginning to end.

If youre someone who can learn well from reading, books plus gamedev is a great way to learn and get questions answered respectively. So checkout the reviews for books on this site and amazon.com and see what's right for you.

But thoes are just my two cents :)
That is part of programming, you will be fishing quite a long time, and even when your a good programmer. I know sometimes I still have to look things up but I definitely don't have to as much as I used to.

Programming really is not fun at first for a lot of people, its a matter of constant learning and the feeling of accomplishment when you get something to work.

You have to know the basics before you can have a large amount of fun and when it comes to programming games theres a lot of basics. You have to know your: physics, artificial intelligence, graphics programming, geometry, math, calculus, trigonometry, game theory, and computer programming.

Probably even a little bit more to make a really fun game.

Its really a matter of persistence, you will have to keep on plugging away until you finally get to a point where you can make a reasonable game. My guess at that in terms of length, will be somewhere after about 2-4 years of programming.

It takes a long time that is why no single man could ever develop a game like quake 3, well they could, it would just be so out of date by the time they finished that they would have wasted a good portion of there life.

If your really looking for some quick fun games I would consider doing something less hard, perhaps Blitz Basic.

Although its definitely not something I would suggest if your dead set on making games for a profession, in that event I would suggest sticking to c++ and if you want some quick games in c++ I would suggest trying out SDL.

Don't try out SDL though if you are still learning your basic c++ skills it will only confuse you more.

[Edited by - DevLiquidKnight on July 27, 2005 9:07:08 PM]
Hey, don't worry. This is C++, you need to grasp a lot of things before you can do cool stuff.

Quote: You have to know your: physics, artificial intelligence, graphics programming, geometry, math, calculus, trigonometry, game theory, and computer programming.


Quote: My guess at that in terms of length, will be somewhere after about 2-4 years of programming.


Hope it didn't put you down, DevLiquidKnight wasn't serious :)
You won't need all this stuff to make a pong game, even for a 3D game this is kind of pushing. Most of this stuff isn't too hard anyways.

Books are helpful if you can find good ones (it's hard these days). If you look on Amazon you find plenty of books, the problem is most of them are so badely written that you need a Computer Science Degree to understand them. So don't buy one, go to the library and rent them. If you like one, then buy it. Moreover, when you get stuck, ask for help on forums.

The best advice I can give you is try to apply the things that you learn. Try to come up with exercises by yourself. Once you complete one, this will give a sense of satisfaction which is very rewarding. You should have seen my face when I wrote my first real program; a guess the number game.

Programming is something that takes time. I'd say give it 3-6 months before stepping in the wonderful world of graphics.

Finally, lets say that in 3-6 months you feel like things don't advance. You might want to give C# a shot. It's great to make games.


Darkneon
I vote for unplug the Internet from the wall and get a good game programming book. Don't plug it back in until you actually write similar programs to those in the book without using any of their code, only the concepts. Believe me, the Internet wastes more time than anything else, and although it may take a bit longer, you learn everything better by trying to figure it out on your own.
h20, member of WFG 0 A.D.
Really these guys have already said it all. You really have to know the language your using inside and out before trying to tackle a big project. I programmed in C++ for 5 years before I started studying opengl. If you have a good grasp of programming before attempting to learn graphics then things will move REALLY smoothly. The best way to learn programming is to read a book on C++ COVER to COVER. Do every example in the book and save it for future reference. You'll find your self coming back to your examples for a couple of months. Eventually over time your programming skills improve. The best advice is to just program _small_ things. You won't be doing any graphics for a long time. I hope that doesn't discourage you but its the truth. These skills are a long term investment but trust me its definatley worth it. In my opinion theres nothing more addicting and satisfying then computer programming. Then again I'm just a big dork so who knows.. :)
First, as someone said above, there's really no substitute for books. Internet tutorials are fine to teach you about one narrow topic, but if you're trying to get good at programming, it won't do much good.

Quote:Original post by blankstare77
Hi, I'm a beginner to C++/Game Development. I can create very simple programs (just DOS, but hey, it's a start).

Well, it's a good start. Just keep doing it, and try to set yourself new goals. Make simple text-based games, or any other program you can think of. Challenge yourself to make a program that uses some little bit of C++ extensively.

Quote:It's always a matter of always surfing the net for EVERY LITTLE THING and I can never get a firm grasp on programming if I'm always fishing for what I want.

Actually, I disagree. Learning to fish around for every little thing is in fact a vital bit of programming. It might not be the most exciting, but it's definitely part of it. I think you're doing the right thing so far.

Quote:I just need your help as to some sources for ABSOLUTE knowledge of the programming language.

What you need is sources for ABSOLUTE knowledge of programming, period. :)
As was suggested, buy a book or two.

Quote:
Also, how should I progress? I always seem to lose interest when I have to fight my way through learning programming. I just want it to be fun (it is when I get something done).

Practice. I always try to see it as a challenge, rather than a fight. You have to do something you have no clue about. Can you look up enough information about it to understand it, and figure out how to code it?

And one little thing. Please, don't jump into any API's like SDL, Win32, DirectX or anything else yet. It'll just confuse you more. You need to be able to do *everything* with text-based programs, before you start on that.
I'm sort of in the same boat as you. I made some very simple Text Based RPGs and then decided to skip my major Text Based project and head straight for SDL. I wasted two weeks going as far as getting a blank screen which quit when you told it to. So for now I've moved back to text until certain concepts are figured out.

Yeah I have to go trawling the net every time I do something other than 'cout' or int number;
It's annoying because I'm on dialup so I start getting impatient.

I'm going to finish a big text based game, like a MUD but single player, where items can be moved between rooms and so forth. Then maybe I can tackle my SDL again.

Maybe you should try the same =)
First of I agree with the other guys. Get a good book on C. I started out with beginning C++ game programming. It's a book that explains some of the foundation of C++ and will give you the feeling you're on the virge of creating you're first game. wich is done by changing the books excersises from standard boring excercises to standard Game related excercises.

After that don't worry to much about the other languages around. try to unders stand the programmers way of thinking. You can learn any computer language... the hard thing is to get the hang of thinking like a programmer, wich basiclly comes down to how do I tell that stupid processor to do what I have in my mind.

After a while you will realize it all comes down to structured modular thinking. Try to think the code. for exapmle try to translate daily routines to code like getting a glass of water or opening the door when someone rings.
the most important thing is to get through the boring background coding part without loosing you're enthausiasm.
there is always hope good, bad hope, false hope. Hope keeps us livin. doesn't it

This topic is closed to new replies.

Advertisement