Can someone help me understand?
I''m looking into the programming aspect of game devlopment. Before I do, can someone give me a detailed description of what to expect. How much curriculum is involved? What exactly would I need to learn to be considered a professional at times end? How much of a demand is involved? Is C++ the only developing tool I need to build a game engine?
I appreciate your time and knowledge.....thanks.
If only for the programming aspect of game development, you should be able to get by only by using C++ and an compiler and/or IDE for it.
But, you need knowledge, knowledge, and some more knowledge before you can do anything with it.
You should know how a computer works, in concept, from the transistor level up to front-end user interface.
You must know C/C++ well, assmebly is always good to know, tons of programming techniques and standard routines.
Then you must be good in math and physics, and be clever enough to optimize the formulas so they are usable.
And, of course, you must get experience and understanding with all sorts of API you will be using; like Windows'' API, DirectX, OpenGL, sound libraries, etc...
It will take time...
But, you need knowledge, knowledge, and some more knowledge before you can do anything with it.
You should know how a computer works, in concept, from the transistor level up to front-end user interface.
You must know C/C++ well, assmebly is always good to know, tons of programming techniques and standard routines.
Then you must be good in math and physics, and be clever enough to optimize the formulas so they are usable.
And, of course, you must get experience and understanding with all sorts of API you will be using; like Windows'' API, DirectX, OpenGL, sound libraries, etc...
It will take time...
I wouldn't be too concerned about the transistor level knowledge, though. You'll be programming computers, you won't be building them!
C++ is a great start. Later you'll enhance its performance with assembly, might even get into processor-specific optimizations, but save those kinds of things for last. There's a lot of other kinds of learning:
Game engines are very complex (timing, AI, physics, collision detection, rendering, sound management, multiplayer, resource management, oof!), and there are a lot of algorithmic challenges (best way to parse and sort, etc.), data structure design challenges, process flow challenges (network packet decoding and sending), and program structure challenges (multi-threaded or not, anyone?).
Start small and work your way up, introducing a new challenge to yourself at a time.
[edited by - Waverider on September 1, 2002 6:15:58 PM]
C++ is a great start. Later you'll enhance its performance with assembly, might even get into processor-specific optimizations, but save those kinds of things for last. There's a lot of other kinds of learning:
Game engines are very complex (timing, AI, physics, collision detection, rendering, sound management, multiplayer, resource management, oof!), and there are a lot of algorithmic challenges (best way to parse and sort, etc.), data structure design challenges, process flow challenges (network packet decoding and sending), and program structure challenges (multi-threaded or not, anyone?).
Start small and work your way up, introducing a new challenge to yourself at a time.
[edited by - Waverider on September 1, 2002 6:15:58 PM]
It's not what you're taught, it's what you learn.
Waverider, I didn't say (or mean) that this guy should learn how a computer works from the transistor level. I ment a programmer should understand, in concept, how a computer works from the transistor level. I can't imaging how one could be a real programmer without having any idea how a computer is wired, although I know there are some .
[edited by - CWizard on September 1, 2002 6:25:49 PM]
[edited by - CWizard on September 1, 2002 6:25:49 PM]
Ok. Maybe I was been a little too cautious. I just didn''t want him to think "Man, I have to understand how transistors work??" and go looking for an electronics textbook.
It's not what you're taught, it's what you learn.
September 01, 2002 05:55 PM
I tend more to the graphics side...
I let my friend take care of the programming.
For the sake of the entire beginner forum, aren''t there articles they could look at instead of ten people posting the same questions...? Just curious - it could save time and provide more detail than a forum...
-geo-
I let my friend take care of the programming.
For the sake of the entire beginner forum, aren''t there articles they could look at instead of ten people posting the same questions...? Just curious - it could save time and provide more detail than a forum...
-geo-
Agree, check the For Beginners section.
Although, this one was of a different kind, as the question regarded what fields of knowledge was needed in order to become a game programmer. I don''t believe such a wide question is answered there.
Although, this one was of a different kind, as the question regarded what fields of knowledge was needed in order to become a game programmer. I don''t believe such a wide question is answered there.
September 01, 2002 10:42 PM
Thanks, CWizard, I was just wondering about that. And I certainly agree, this was more specific.
4thegraphics: C++ is great, and is pretty easy to learn the basics to. Just look around at the tutorials on this site to learn, or those at nehe.gamedev.net, and you should be able to get the language down.
As for curriculum involved... it depends on how quickly you pick up on it. Some people just naturally figure things out on their own, most need some sort of guidance. You just need to start learning, and don''t stop.
As for ''times end...'' You need to know the languages, the platforms, the logic, and to an extent, the business, and even design. To be ''a professional'' you will want some games under your belt - start off slow, then get together with a friend or two and start making a more complex game. Go from there. At this point, you''ll be posting in a different forum.
You may want to start figuring parts of DirectX out, too. Of course, I''m still waiting for the ''fall'' release of DX 9... I wish they would hurry up.
Good luck! I hope you can make a niche for yourself...
-geo-
4thegraphics: C++ is great, and is pretty easy to learn the basics to. Just look around at the tutorials on this site to learn, or those at nehe.gamedev.net, and you should be able to get the language down.
As for curriculum involved... it depends on how quickly you pick up on it. Some people just naturally figure things out on their own, most need some sort of guidance. You just need to start learning, and don''t stop.
As for ''times end...'' You need to know the languages, the platforms, the logic, and to an extent, the business, and even design. To be ''a professional'' you will want some games under your belt - start off slow, then get together with a friend or two and start making a more complex game. Go from there. At this point, you''ll be posting in a different forum.
You may want to start figuring parts of DirectX out, too. Of course, I''m still waiting for the ''fall'' release of DX 9... I wish they would hurry up.
Good luck! I hope you can make a niche for yourself...
-geo-
Thanks....you guys have been a great help. I''ve played with C++ and felt that it would be easy to learn. I have these study guides that an IT specialist gave me for free....Analyzing Requirements and Defining Solution Architectures + Desktop Applications with Visual C++ 6.0, they are MCSD training kits. Would they be of any help?....or would they take me in a completely different direction? Also, when an individual has obtained all the required knowledge...is it possible for one person to design an engine?
Any knoledge is good, those books would be great used in conjunction with this and other sites and sources.
And you will never know "all the required knoledge" there will always be new technologies, new API's and a whole lot of other things. You should always be learning.
[edited by - zyroth on September 6, 2002 7:04:57 PM]
And you will never know "all the required knoledge" there will always be new technologies, new API's and a whole lot of other things. You should always be learning.
[edited by - zyroth on September 6, 2002 7:04:57 PM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement