Beginners way to game making?

Started by
6 comments, last by Fredericvo 11 years, 9 months ago

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:
I started learning C++ 2 or 3 years ago and since then I haven't practiced it much(school and what not). I read a book which cant remember what its called but I got to pointers, which back then I found it too complicated so I stopped there. I also only got to know the basics of classes and structs. I did get to do some very basic file writing and reading. So yeah I know the basics of C++ but I think I might be getting left behind since I need previous experience and projects to even apply for a job when I grow older.
I'm also quite experienced in 3D design (I like playing around with Blender 3D and experimenting with it).
So in essence I think I got the very basics layed down to start getting into game development.

The thing is I dont know where to start. I know that UDK, Unity, Cry engine and even the Blender game engines are there but I dont know if they will be too complicated. Should I start with 2D games? If so what software is out there? When learning C++ I tried learning a bit of OpenGL and but didnt get very far. Also Im towards the programming aspect, not so much into the sort of drag and drop style. I prefer to have some coding in it, which of course would be C++ or C.

Thanks and all advice is very much appreciated

Advertisement

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.
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
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.

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 biggrin.png


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 smile.png. 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.

This topic is closed to new replies.

Advertisement