right education?
What is the best education to get if you want to become a game programmer?
I''m currently studying computer engineering, it will take about 4,5 years. Is it good if you want to become a game programmer? We will only be programming in java, but i already know C++ pretty well. Is it a good idear to take side courses in c++ to get it on paper?
I really want to be a game programmer.
August 30, 2002 04:03 AM
i''m not trying to discourage you at all, but i''d just like to ask, why is it that you feel you want to be a games programmer over say, any of the other areas you will be qualified to work in when your done?
i''m just wondering
a) what are the things you want from a job?
b) what do you think that the games industry has to offer?
i''m only asking these questions to move this thread along, NOT as i said before to discourage you in any way.
i''m just wondering
a) what are the things you want from a job?
b) what do you think that the games industry has to offer?
i''m only asking these questions to move this thread along, NOT as i said before to discourage you in any way.
Well I have been in the game industry for a couple of years now, not long, but enough to have an idea of what you need to know..
I work for a fairly large company, so this may not be true of all game companies... We have several coding teams, that separate the game projects from the engine we are developing. By the way, I''m talking about console dev, things are different if you want to do PC dev..
The kind of knowledge you need somewhat depends on whether you want to be an ''engine'' coder, or someone who writes the game on top of the engine..
In both cases, take plenty of courses in data structures and algorithms. In many programming jobs, efficient algorithms are becoming less important because of the speed of PCs - games are one place where you can never get enough speed - the more efficiently you can write an algorithm the better..
If you want to be writing a game on top of an engine, some things like computer architecture aren''t that important. However, if you are interested in writing at the engine level - knowing architecture - pipepining, caching, TLBs, how DMA and interrupts work etc, is very handy!
Either way, learn plenty of maths - sometimes you will be in a job where you don''t need much maths, but I believe knowing maths helps you think about how to design efficient algorithms anyway. You should definetely learn linear algebra (vectors, matrices etc), and I would recommend at least a reasonable amount of calculus (very helpful if you start doing some physics coding).
As far as language, game programming is typically a lot lower level than other coding jobs.. Using Java just isn''t possible on a console. Most of our development is done in C with a bit of C++. The reasons we mostly use C instead of C++ is because, when a new console comes out and we need to port an engine to it, the console often either has no C++ compiler, or one that produces bad code... Producing a good C++ optimising compiler is NOT easy.. In addition to this, we also use quite a bit of assembly language for tight loops and critical code sections. Assembly languages are different on each architecture, but the basic ideas are similar - once you know one assembly language, it''s not hard to pick up others...
So in summary, learn about data structures, algorithms, efficient coding (but still readable code), low level architecture if you want to do engine coding, plenty of maths, and become a guru in C and C++ (know pointers etc inside out)..
Well I hope that helps a little bit in terms of the technical knowledge that helps when you are working in the game industry (as it stands anyway, any with anything in computer industry, it will no doubt be wildly different in 4-5 years!)
Cheers
I work for a fairly large company, so this may not be true of all game companies... We have several coding teams, that separate the game projects from the engine we are developing. By the way, I''m talking about console dev, things are different if you want to do PC dev..
The kind of knowledge you need somewhat depends on whether you want to be an ''engine'' coder, or someone who writes the game on top of the engine..
In both cases, take plenty of courses in data structures and algorithms. In many programming jobs, efficient algorithms are becoming less important because of the speed of PCs - games are one place where you can never get enough speed - the more efficiently you can write an algorithm the better..
If you want to be writing a game on top of an engine, some things like computer architecture aren''t that important. However, if you are interested in writing at the engine level - knowing architecture - pipepining, caching, TLBs, how DMA and interrupts work etc, is very handy!
Either way, learn plenty of maths - sometimes you will be in a job where you don''t need much maths, but I believe knowing maths helps you think about how to design efficient algorithms anyway. You should definetely learn linear algebra (vectors, matrices etc), and I would recommend at least a reasonable amount of calculus (very helpful if you start doing some physics coding).
As far as language, game programming is typically a lot lower level than other coding jobs.. Using Java just isn''t possible on a console. Most of our development is done in C with a bit of C++. The reasons we mostly use C instead of C++ is because, when a new console comes out and we need to port an engine to it, the console often either has no C++ compiler, or one that produces bad code... Producing a good C++ optimising compiler is NOT easy.. In addition to this, we also use quite a bit of assembly language for tight loops and critical code sections. Assembly languages are different on each architecture, but the basic ideas are similar - once you know one assembly language, it''s not hard to pick up others...
So in summary, learn about data structures, algorithms, efficient coding (but still readable code), low level architecture if you want to do engine coding, plenty of maths, and become a guru in C and C++ (know pointers etc inside out)..
Well I hope that helps a little bit in terms of the technical knowledge that helps when you are working in the game industry (as it stands anyway, any with anything in computer industry, it will no doubt be wildly different in 4-5 years!)
Cheers
Education is always a touchy issue. I guess a degree is good but as far as I can tell your knowledge and skills speak far higher than your education. It amazes me how some of my friends studying 'IT' and computer science have no clue about anything out of their scope of study. Put them down in front of a bucket of parts and tell them to build a pc and they would stare blankly back at you, ask them about any new technology that isnt included in their like opengl(FI) and they dont have a clue.
[edited by - Nicolas Bischoff on August 30, 2002 6:17:48 AM]
[edited by - Nicolas Bischoff on August 30, 2002 6:17:48 AM]
TENZERO SOFTWARE
TRY OUT URL History, ediitng the IE address bar has never been this easy!
Yeah the education thing is almost a FAQ in all the forums and usually there's no real definitive answer. It always ends up depending on YOUR goals.
Anyway here's a link School: To Quit, or Not to Quit
[edited by - Ironside on August 30, 2002 11:46:22 AM]
Anyway here's a link School: To Quit, or Not to Quit
[edited by - Ironside on August 30, 2002 11:46:22 AM]
August 30, 2002 11:44 AM
quote: Original post by JustThisGuy2001
C++. The reasons we mostly use C instead of C++ is because, when a new console comes out and we need to port an engine to it, the console often either has no C++ compiler, or one that produces bad code... Producing a good C++ optimising compiler is NOT easy.. In addition to this, we also use quite a bit of assembly
Just an off topic coment about this....
But I had (And have) some troubles with C++.
When I have a derived class, and I reffer to this with a class pointer to its base class, the destructor is never called when I use the statement delete.
I solved this by using a virtual pseudo destructor, that I call right before deleting the object.
I''ve never comment this to anyone, but did anyone have this problem?.
VC++ 6.00
quote: Original post by JustThisGuy2001
C++. The reasons we mostly use C instead of C++ is because, when a new console comes out and we need to port an engine to it, the console often either has no C++ compiler, or one that produces bad code... Producing a good C++ optimising compiler is NOT easy.. In addition to this, we also use quite a bit of assembly
Just an off topic coment about this....
But I had (And have) some troubles with C++.
When I have a derived class, and I reffer to this with a class pointer to its base class, the destructor is never called when I use the statement delete.
I solved this by using a virtual pseudo destructor, that I call right before deleting the object.
I''ve never comment this to anyone, but did anyone have this problem?.
VC++ 6.00
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement