Beginners way to game making?
Hi there. So I'm kind of new around here and don't know if ive posted in the right section (if any), so apologies on that.
Since I was little I enjoyed playing videogames and well now that Im older (16) I decided that I would want to work in something related to games. Not art oriented but programming oriented. So I've done quite some research and couldn't find much relevant information about beginning to develop basic games. So I find myself here asking for advice. First heres my background:
Should I start with 2D games?
Yes. Or even text based command line games.
But if you got lost around pointers. It is far more important to understand C++ first, you simply cant write games without knowing a language of some sort. I recommend you learn to read textbooks on these subjects, as you can find really a lot of info in them and its usually in good structure you can follow.
This is a good start with C++:
http://www.amazon.co.../dp/0132673266/
You should also check out tom slopers page.
http://www.sloperama.com/advice.html
It's quite a lot of work to get into game development, so good luck.
I'm perhaps making a bold statement here, but to understand what pointers really are and do, I think you should read a good book on assembler first. Play a bit with it. Make some simple programs. Go back to C/C++ and exercise a lot with pointer tutorials. Assembler is really not THAT hard to understand, just not practical to code large complex programs.
Start with making command line games. Why? It's best to understand how games work behind the scenes WITHOUT the graphics before you add graphics. You could make a HD clone of tic-tac-toe but if you didn't know how to program it, then what's the point?
http://www.amazon.com/Beginning-Programming-Premier-Press-Development/dp/1592002056/ref=sr_1_1?s=books&ie=UTF8&qid=1340492762&sr=1-1&keywords=Beginning+C%2B%2B+game < Good book to start with. Simple tutorials, and each of them involve games in some way.
http://www.amazon.com/Beginning-Programming-Premier-Press-Development/dp/1592002056/ref=sr_1_1?s=books&ie=UTF8&qid=1340492762&sr=1-1&keywords=Beginning+C%2B%2B+game < Good book to start with. Simple tutorials, and each of them involve games in some way.
As many have said before, it's important to understand pointers if you're going to make games. If you know someone who knows programming, a good way is to ask them to explain pointers, because they're not hard once the "coin drops", it just seems strange until you understand why they're good/important. Reading about pointers may not help everyone, but if you have a friend who can explain them ina way that you can understand, that'll make things easier.
As for where to start, I recommend 2D. Text-based won't teach you things you need to understand when going graphical, the way I see it. And writing a game that uses the console window will only present problems related to making things for a console window, which I would say is very different from working with something like openGL.
OpenGL is good stuff. You should definitely learn the basics of it, because openGL gives you a lot of control. But I agree that it's like hitting a wall when you're about to learn it, with glPushMatrix and such which is only normally explained in such a technical way that it seems you need to know the inner workings on the graphics card to be able to use it. It's not that hard, but it sure seems like it. Sadly, there are few, if any, shortcuts to learning it. But personally, I think directX is an even bigger wall.
Learning to use a game engine, without learning something like openGL, will probably stifle you further down the line. You should try to learn the basics of drawing a textured quad in an openGL window, at least.
But yes, we all learn differently, and taste comes into play. These are my 50 cent.
/Justice
As for where to start, I recommend 2D. Text-based won't teach you things you need to understand when going graphical, the way I see it. And writing a game that uses the console window will only present problems related to making things for a console window, which I would say is very different from working with something like openGL.
OpenGL is good stuff. You should definitely learn the basics of it, because openGL gives you a lot of control. But I agree that it's like hitting a wall when you're about to learn it, with glPushMatrix and such which is only normally explained in such a technical way that it seems you need to know the inner workings on the graphics card to be able to use it. It's not that hard, but it sure seems like it. Sadly, there are few, if any, shortcuts to learning it. But personally, I think directX is an even bigger wall.
Learning to use a game engine, without learning something like openGL, will probably stifle you further down the line. You should try to learn the basics of drawing a textured quad in an openGL window, at least.
But yes, we all learn differently, and taste comes into play. These are my 50 cent.
/Justice
If you want advice on your first game and how to start.
An article here http://niverse.wordpress.com/ will help greatly. 2D 3D coding no coding, drag and drop. whatever.
An article here http://niverse.wordpress.com/ will help greatly. 2D 3D coding no coding, drag and drop. whatever.
This is a good start with C++:
http://www.amazon.co.../dp/0132673266/
You should also check out tom slopers page.
http://www.sloperama.com/advice.html
It's quite a lot of work to get into game development, so good luck.
Thanks for the reccomendation, I shall look into it and give it a read. After all, Ive got all summer to do it
I'm perhaps making a bold statement here, but to understand what pointers really are and do, I think you should read a good book on assembler first. Play a bit with it. Make some simple programs. Go back to C/C++ and exercise a lot with pointer tutorials. Assembler is really not THAT hard to understand, just not practical to code large complex programs.
Actually, before I got into C++ I did learn Visual Basic and before that BASIC. I don't know how much assembler resembles on BASIC but my dad said it's better not to get into it since it is pretty old.
As many have said before, it's important to understand pointers if you're going to make games. If you know someone who knows programming, a good way is to ask them to explain pointers, because they're not hard once the "coin drops", it just seems strange until you understand why they're good/important. Reading about pointers may not help everyone, but if you have a friend who can explain them ina way that you can understand, that'll make things easier.
As for where to start, I recommend 2D. Text-based won't teach you things you need to understand when going graphical, the way I see it. And writing a game that uses the console window will only present problems related to making things for a console window, which I would say is very different from working with something like openGL.
OpenGL is good stuff. You should definitely learn the basics of it, because openGL gives you a lot of control. But I agree that it's like hitting a wall when you're about to learn it, with glPushMatrix and such which is only normally explained in such a technical way that it seems you need to know the inner workings on the graphics card to be able to use it. It's not that hard, but it sure seems like it. Sadly, there are few, if any, shortcuts to learning it. But personally, I think directX is an even bigger wall.
Learning to use a game engine, without learning something like openGL, will probably stifle you further down the line. You should try to learn the basics of drawing a textured quad in an openGL window, at least.
But yes, we all learn differently, and taste comes into play. These are my 50 cent.
/Justice
Back then I didnt know much about hardware. Now I know a lot about how the CPU and GPU work. Maybe I should give it another go? As mentioned when I saw the glPushMatrix being used here and there I was like O.O. However I did learn how to make a rotating cube . Id appreciate very much if you could point me to some books, or will the Red Book be fine?
Old is gold :-)
My assembler comment was only to help grasp pointers, not to use for regular dev.
My assembler comment was only to help grasp pointers, not to use for regular dev.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement