Jump to content

Suggestions for future game programmers?


Nexus

Recommended Posts

Devs or anyone in the game industry, do you guys have recommendations for computer science guys looking to become future game programmers? What kind of skills, courses, etc. they should take in school and what is expected? A friend wanted me to ask this, since he wants to go into the game industry.

Link to comment
Share on other sites

feargus is an engineer, as i will be someday (i hope :lol:). the biowareians zeschuck und whatshisname are some kind of doctors. je started as webdesigner at bis. so i think, with proper talent and abilities, you'll have a good chance to start a career in game industry without having visited such a school.

Citizen of a country with a racist, hypocritical majority

Link to comment
Share on other sites

If you become a game programmer, you should have a degree like CS or EE beneath you or at least enough programming expereince. Focus on graphics and similar courses in university. Maybe try to get familiar with DirectX, C++, etc.

Link to comment
Share on other sites

Some schools have courses designed specifically for game design. I know Fullsail has a degree program, where you earn a degree as an associate of science.

There are quite a few game dev courses at various Unis, though some will be better than othes. So far I'd say the one I'm on (Games Programming) should come in handy.

Link to comment
Share on other sites

I'm only a wannabe game programmer...

 

I do know you will need some well-rounded programming skills (most dev houses move their programmers around to different duties, so I hear), but specializing in one aspect is a good idea.

 

Have at least basic knowledge in all of these things:

 

Graphics - 2D and 3D(D3D and OGL - OpenGL is NOT dead)

 

C & C++

 

UI's (toolkits and from scratch)

 

AI (A*, minmax, rigging up something for the bad guys to choose their attacks)

 

plain old application programming (main loop, event and exception handling, I/O, etc.)

 

some good software engineering skills (UML & whatever the hell else people use; mine are terrible)

 

Also, Gamedev and Gamasutra have some good info for people starting out. Gamedev has a good little primer on the basics and requirements of game programming. They suggest writing tetris with a high score since it has a game loop, event handling, simple graphics and rules, and I/O (for the high score file).

Write it. Realize what you wrote sucks. Rewrite it. It should at that point. Then you have a computer game (albeit tetris) that you wrote. Write something else. Try to get a development job doing any kind of development in any language. Write a chess game or text RPG in your spare time. Run out of spare time. Turn pale. Lose you friends. Stop eating. Waste away.

 

That's where I'm at so that's where my advice ends. If any Obsidian programmers are out there, I'm sure they can say more. :lol:

Oh Jimmy, you were so funny.

Don't let me down.

From habit he lifts his watch; it shows him its blank face.

Zero hour, Snowman thinks. Time to go.

Link to comment
Share on other sites

Devs or anyone in the game industry, do you guys have recommendations for computer science guys looking to become future game programmers? What kind of skills, courses, etc. they should take in school and what is expected? A friend wanted me to ask this, since he wants to go into the game industry.

 

Although I have one, I didn't used to think a degree in CS was that important for game programming. I've changed my opinion about this over the years. I've seen too many game programmers that don't understand the 'basics' - algorithms, data structures, pointers and memory management, what goes on 'under the hood', etc.

 

Good general programming skills and the ability to solve problems are more important than being particularly skilled at one thing or another. A good programmer can always learn an API or technique quickly, whereas a programmer who is only skilled at certain things will have a harder time transitioning as API's and technologies change (which they do constantly in this industry).

 

Understanding C/C++ is important because that is what most games are written in. Understanding more languages is even better, because it shows that you are flexible and can learn other paradigms. Don't get caught in the trap of thinking that OOP and C++ are the 'one true way' to program. Many programmers straight out of college these days are afraid to touch the compiler until they have properly modeled everything in UML 3 or 4 times. Get over it. By the time you are 'happy' with your design, our deadline has passed. We need working code, not diagrams.

 

Make games or mod existing games. Having a game or mod to present with your resume goes a long way toward showing that you really want to do this. A lot of people think working in the game industry would be cool, but really have no idea what they are getting into. Completing a game or mod on your own or with a group of people shows that you have at least some understanding of what you are getting into, and that you are serious about pursuing it.

 

Kenn Hoekstra from Raven Software has a web page that is worth a read: Getting A Job In The Game Development Industry

 

Hope this helps.

Link to comment
Share on other sites

Doing work on you own time is an excellent way to show you actually WANT to do this rather than 'think it's neat'. Game programming really isn't like 'real world' programming. Getting into modding is something you can do today and there's really no magic 'do this and you're in' feat you can pull.

 

When I was trying to break in, I modded from the time I got home from work until about 2 in the morning. It was my second shift of work--5 days a week. Try to do something in a mod that is non-standard and proves you had to piece together how to do it on your own. You really have to put in thankless long hours (and have a understanding significant other), and if you stick with it, chances are you will make it eventually. Modding across several different games also shows an ability to pick up and run with code no matter what it looks like. Finally, scripting and doing design work with engines that require scripting is a big plus (for a variety of reasons). Some places will hire a junior programmer type to a scripting position.

 

Persistence is also a big key. If you really want to do it, keep programming, keep modding, and keep trying. Eventually your resume will land in the right place at the right time. It may take months or years (seriosuly), but if this is something you feel you want to do, eventually it will happen. Just be prepared to make a little less cash than you would 'on the outside'.

Link to comment
Share on other sites

I've seen too many game programmers that don't understand the 'basics' - algorithms, data structures, pointers and memory management, what goes on 'under the hood', etc.

That worries me. A lot. I did some of that in my college course and I've done more of the same so far at Uni.

 

Good general programming skills and the ability to solve problems are more important than being particularly skilled at one thing or another.  A good programmer can always learn an API or technique quickly, whereas a programmer who is only skilled at certain things will have a harder time transitioning as API's and technologies change (which they do constantly in this industry).

 

Understanding C/C++ is important because that is what most games are written in.  Understanding more languages is even better, because it shows that you are flexible and can learn other paradigms.  Don't get caught in the trap of thinking that OOP and C++ are the 'one true way' to program.  Many programmers straight out of college these days are afraid to touch the compiler until they have properly modeled everything in UML 3 or 4 times.  Get over it.  By the time you are 'happy' with your design, our deadline has passed.  We need working code, not diagrams. 

 

Make games or mod existing games.  Having a game or mod to present with your resume goes a long way toward showing that you really want to do this.  A lot of people think working in the game industry would be cool, but really have no idea what they are getting into.  Completing a game or mod on your own or with a group of people shows that you have at least some understanding of what you are getting into, and that you are serious about pursuing it.

 

Kenn Hoekstra from Raven Software has a web page that is worth a read: Getting A Job In The Game Development Industry

 

Hope this helps.

 

Sounds similar to advice I've heard elsewhere.

Link to comment
Share on other sites

A short addition that I would put is that when you show off your work it is better to show a few things that work very well then a bunch of things that are half ass. You always want to put your best foot forward and that you can create something from initial design/spec through to completion.

Feargus Urquhart

CEO

Obsidian Entertainment, Inc.

Link to comment
Share on other sites

Many programmers straight out of college these days are afraid to touch the compiler until they have properly modeled everything in UML 3 or 4 times.  Get over it.  By the time you are 'happy' with your design, our deadline has passed.  We need working code, not diagrams.

I am going to have to disagree with this one, even though I am not a game programmer. Sloppy coding without prior preparation via UML and other modelling techniques results in a mess that is hard to understand, hard to modfiy, and hard to debug. Modeling in UML , however, is not a programmer's job. Such tasks should be handled by the software architects, lead designers, and, possibly, lead programmers.

There are no doors in Jefferson that are "special game locked" doors. There are no characters in that game that you can kill that will result in the game ending prematurely.

Link to comment
Share on other sites

Ahh yes, I was a wannabe game programmer myself, its why I did my degree, and I did release a shareware game once on the amiga.

 

However there was no entry "game programmer" jobs where I was and even if there was they would be looking for computer systems engineers back then with engineering backgrounds not software design backgrounds.

 

But working in the general computer programming industry with its deadlines, monotony and boredom , for me at least I needed to be creative , programming was more of a "paint and brush" for the pieces of art I wanted to make. Over time though the reality of coding stuff I wasnt interested in took its toll. So I turned my back on programming and changed career's jobwise. And decided i'd probably have more fun just playing them then ever trying to make them. So thats what I still do today, I still have fun playing CRPG's and various other comp games.

 

I still think with my game playing background of 25 or so years , I could still at least design a decent game but I dont think I have the energy required to code all aspects of it.

I still wonder what happened to the creators of games way back in the beginning of arcade game entertainment and/or home entertainment , I see jordan mechner is still around (creator of the original prince of persia, karateka among others on the apple][ systems, c64 etc)

Link to comment
Share on other sites

But working in the general computer programming industry with its deadlines, monotony and boredom , for me at least I needed to be creative , programming was more of a "paint and brush" for the pieces of art I wanted to make. Over time though the reality of coding stuff I wasnt interested in took its toll. So I turned my back on programming and changed career's jobwise. And decided i'd probably have more fun just playing them then ever trying to make them. So thats what I still do today, I still have fun playing CRPG's and various other comp games.

That's funny. I started programming because I thought it might help me get into the game industry, what I actually desired was to be a designer. In time, I discovered programming was interesting by itself. And eventually, I found I wasn't that interested in working on games anymore. Sure, I still think it would be fun, but I can imagine other opportunities.

 

Life's ironic at times.

Link to comment
Share on other sites

why "even"? especially those teaching. not many a programmer would get the idea by himself to design a programme into every detail before actually programm it. it's only litte practice-oriented schools / universities that teach this. for example the one i'm attending to... ;)

 

[edit]

a little unconcentrated today... grammar & syntax check....

Citizen of a country with a racist, hypocritical majority

Link to comment
Share on other sites

Unfortunately, this is something you only learn with experience. Or if you are willing to take advice from old farts like me 8)

Some of these points apply to standard and idividual software application too. I do have the advantege of learning that the hard way in Secondary College already.

 

We had to create 3 seperate one-year spanning projects (last three grades in a five-year school) - the first was an underdesigned mess, in the second one we tested extreme programming (which is IMO a tad overrated, but highly interesting nonetheless) and the last one was an overdesigned madness.

 

It wasn't the most pleasant experience (as our school worked closely with real world companies there were deadlines to meet), but certainly educational.

No mind to think. No will to break. No voice to cry suffering.

Link to comment
Share on other sites

I'm about to graduate this summer in CS and over the past four years I have learned D3D, OpenGL, Win32, C++ outside of my school! My CS program was designed around java and theory, not application. So don't go to school thinking that you'll pck up everything you may need!

 

P.S. the programming part in school stopped at a binary-tree, needless to say when I asked a professor for help on a fibanocci heap, he ran!

Link to comment
Share on other sites

My CS program was designed around java and theory, not application. So don't go to school thinking that you'll pck up everything you may need!

That's the worst part of today's Uni courses. Java, Java and then some more... Java. I'm not sure if it is really a good entry language (well, I started coding in COBOL...).

No mind to think. No will to break. No voice to cry suffering.

Link to comment
Share on other sites

They use Java at my school for the introductionary imperative programming course (?!)

"Don't worry about that 'public', 'class' or 'object' stuff, just write it in and do the bubble sort." I didn't use C or C++ until my senior year (for databases and OpenGL). Even my frikin Operating Systems class was in Java!

But a CS degree is usually just what it says: a science degree. Theory, fundamentals, and math. Writing software is engineering (or art, depending on who you ask), not science. Big schools' CS programs have a separate 'Software Engineering' or 'Computer Engineering' degree that delve more into this.

Oh Jimmy, you were so funny.

Don't let me down.

From habit he lifts his watch; it shows him its blank face.

Zero hour, Snowman thinks. Time to go.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...