Skip to main content
GameDev.net gamedev.net
🔒 Locked

Graphics of the Gaming Industry- What should I learn?

Started by Bovine13 May 12, 2005 at 9:40 AM 9 replies 3k views
Original Post
Bovine13
Bovine13
I will be starting college in the fall, with a major in CS, and my college has very limited graphics courses. Basically, all it has is a one semester course in graphics, and a one semester course in "application of graphics". I was wondering: If I wanted to work in the gaming industry, what other courses should I take? Also, if I decide to learn more graphics on the side, what should I learn? Are there any books I should read? Also, I'd like to know what game companies look for when they hire people out of college with no experienece (or if the even do hire people fresh out of college). ~Bovine
jollyjeffers
jollyjeffers
One of the common themes that pops up in games industry recruitment is that of a portfolio (for artists) or a demo (for programmers). Sure, the C.V. and previous experience is important - but show a potential employer that you can take the initiative to create a complete project (be it a graphics demo or a simple game) that works is highly regarded.

With that in mind, you might well want to invest some of your spare time to writing a graphics demo and/or a complete (doesn't have to be big or complex!) game.

As for some specific ideas as to what to read/learn... really difficult to say. How long have you got? I'd start at the simplest level - if you're going into the 3D graphics side then skip the whole programmable aspect until you've got the basic resource/device management (and some fixed function effects) sorted. Don't overload/overstretch yourself.

hth
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
_goat
_goat
Well, companies will be looking for a high level of competency in the language that they're operatin in. This will probably be either C++ or Java (for mobile phones, generally). In addition, they'll want you to know either (or both, depending on how long-term you're looking) DirectX or OGL. I haven't really told you much you probably didn't know already I guess.

They're generalisations, but they're sufficient to give you a good grounding in the industry. If you really want to impress people, understand how DirectX and OGL work, and what goes on behind the scenes. This is almost a University course in itself though. :D

As to what companies look for in people with no experience, I don't know specifically. But I'd be guessing at monkey level programming first. Either that or technical writing.

Hope that helps.
hplus0603
hplus0603
I help hiring at the place I work, and here's my take on what would help you: College won't teach you the skills you need in gaming, by and large -- and the colleges that do (Full Sail, etc) don't really teach you much else that would be useful in life.

I suggest taking all the math you can. It also helps to take signal processing, and classic "hard" CS subjects like systems architecture, operating systems, etc. An understanding of the other sciences (physics, etc) as well as EE will also come in handy -- especially if you take signal processing.

Then, spend your off time working on gaming projects, and learning real-life programming on your own. Join an opensource project, and help out. It doesn't matter if it's games or not; it matters more that it's active and has a developer community that discusses the code. The best way of learning is to read other people's code. Get in under the hood wherever you can.

In the final year, write a demo of some sort. Don't go overboard; pick something simple like an Asteroids clone. Don't over-design it, but also don't hack it up. Make SURE it runs well on a variety of hardware, because someone looking at it will give it a double-click from a CD or downloaded ZIP; if it doesn't work, it's in the trash.
enum Bool { True, False, FileNotFound };
Bovine13
Bovine13
Thanks guys.

I've got a while to learn stuff (I'll be a freshman in the fall, so 4 years to be exact). I don't know if this is to early to be looking at what I should be learning, but I want to get a head start.

Out of OpenGL and DirectX, which would be easier to learn first? Also, which one is more common to game programming?

Thanks again,
~Bovine
Daerax
Daerax
You may wish to read this extensive guide on requirements for entry into the game industry. The contents have been run by actual people in the industry who leave their comments which are quoted within.
CyberSlag5k
CyberSlag5k
Quote:
Original post by Bovine13
Out of OpenGL and DirectX, which would be easier to learn first? Also, which one is more common to game programming?

Thanks again,
~Bovine


Depends on the person, really. I find OpenGL to be very straightforward and useful, but DX (like everything MS has a hand in) seems overly complicated and lacks the control I want over my app. Conversely, a friend of a friend who knows DX was shown OGL by the mutual friend and part of the way through the explanation he was like "Wait wait, you have to do all of that stuff yourself?" So it really depends on your personality. I like that OpenGL makes me get into the nitty-gritty and that beyond a few utility libraries, I'm on my own. However, Microsoft has put alot of time into their architecture set and if you're willing to learn to do things their way, you can do alot of cool stuff (that only works on Windows boxes, I might add).

Which is used more often? I'm not sure. DirectX is a complete game framework, complete with audio, video, input, networking, etc. OpenGL is only the graphics library, though you can use other libraries (like OpenAL) in conjunction to meet whatever needs you have. I speculate that DX is used a little more often if the product is only intended for us in windows, but OGL is really the only game in town if a game is to go cross-platform.

In short, both have their strengths and weaknesses. I'd say try both and see which you like better. Do something significant in one before switching to the other, though. Don't just attempt a quick GLUT project that draws 2 rotating triangles before moving on to DirectX, actually get a feel for the API. Check out the (sadly soon to be defunct) NeHe tutorials. Do like the first 20 or so and then hit up MSDN for some DX learnage.

Beyond that, you're on your own. I can only show you the door, Neo. You're the one who has to walk through it [wink].

Hope this helps and welcome to the world of GameDev!
Without order nothing can exist - without chaos nothing can evolve.
Bovine13
Bovine13
THanks to all who replied. This has helped me immensely.

~Bovine
jollyjeffers
jollyjeffers
Quote:
Original post by Bovine13
Out of OpenGL and DirectX, which would be easier to learn first? Also, which one is more common to game programming?

I completely agree with CyberSlag5k's suggestion of learning both. You have four years - not as if you're in a huge hurry [smile]

If you learn both, you can at least put "Basic OpenGL/Direct3D Experience" on your C.V. You can also explain to other people (and hence potential employers) why you picked that language - rather than saying "so-and-so told me to, so I did"..

Quote:
Check out the (sadly soon to be defunct) NeHe tutorials.

NeHe's dying?!? Had a quick scan of the recent news and didn't see anything about that... Granted, I'm a Direct3D programmer so I don't use it very often - but I did run through the first 10-15 tutorials when I had to write a Java/OpenGL application last year. Would be a shame to see such a site vanish [oh]

Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |
Daerax
Daerax
Quote:
Original post by hplus0603
I help hiring at the place I work, and here's my take on what would help you: College won't teach you the skills you need in gaming, by and large -- and the colleges that do (Full Sail, etc) don't really teach you much else that would be useful in life.

I suggest taking all the math you can. It also helps to take signal processing, and classic "hard" CS subjects like systems architecture, operating systems, etc. An understanding of the other sciences (physics, etc) as well as EE will also come in handy -- especially if you take signal processing.

Then, spend your off time working on gaming projects, and learning real-life programming on your own. Join an opensource project, and help out. It doesn't matter if it's games or not; it matters more that it's active and has a developer community that discusses the code. The best way of learning is to read other people's code. Get in under the hood wherever you can.

In the final year, write a demo of some sort. Don't go overboard; pick something simple like an Asteroids clone. Don't over-design it, but also don't hack it up. Make SURE it runs well on a variety of hardware, because someone looking at it will give it a double-click from a CD or downloaded ZIP; if it doesn't work, it's in the trash.


Could I quote you on that comment in the guide I linked to above and now displayed in signature for convenience sake? Thanks.
CyberSlag5k
CyberSlag5k
Quote:
Original post by jollyjeffers
NeHe's dying?!? Had a quick scan of the recent news and didn't see anything about that... Granted, I'm a Direct3D programmer so I don't use it very often - but I did run through the first 10-15 tutorials when I had to write a Java/OpenGL application last year. Would be a shame to see such a site vanish [oh]

Jack


Much saditude. Related GameDev threads here and here.
Without order nothing can exist - without chaos nothing can evolve.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.