Archived

This topic is now archived and is closed to further replies.

4thegraphics

Can someone help me understand?

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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-

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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-

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
I''m aware of the ever changing world of technology. What I meant by "all the required knowledge" is having the skill to understand those changes and prepare for them with little or no guidance. Also, is it possible for a single person to build a game engine by his/her self?

Share this post


Link to post
Share on other sites
You should know about hardware and what types do what, DirectX and a group of people to test. That''s all I have and my game scome out just fine. The good thing about DirectX is... is that you don''t have to learn all that much to come out with something good.

Share this post


Link to post
Share on other sites
Yes, it is very possible for a single person to develop a game engine...but don''t expect to be makeing FPS/RTS/RPG engines right off the bat....a good single programmer could do just about anything...only it would take much longer then it would with a team of programmers (but this has disadvantages too)....

It is more important to know and understand the core programing concepts then it is the specifics...leave the specifics to resource books (and build a library to house them...its better to know how to understand what you read in a variety of books, then it is to memorize the text of one book)....technology changes all the time...but the core concepts don''t...understand them and you can adapt to the rest.

Share this post


Link to post
Share on other sites