Jump to content



Game Programmer - Expectation

  • This topic is locked This topic is locked
16 replies to this topic

#1 adi64   Members   -  Reputation: 100

Like
0Likes
Like

Posted 17 January 2012 - 11:05 AM

Breaking into a game industry as a game programmer basically a Junior Programmer. What industry expect ?
I have only one question that whether they mainly focus on programming knowledge and programming skills in eg C++ or they also want the strong knowledge about API's like DirectX/OpenGL etc.
Here I am asking about only Junior Game Programmer.
I they expect then on which API should I focus in game programming?

Ad:

#2 Azgur   Members   -  Reputation: 284

Like
1Likes
Like

Posted 17 January 2012 - 01:18 PM

They will expect you to have first and foremost very strong c++ skills.
This will include knowledge of various design patterns, clear and readable code, maintainable code and strong debugging skills.
Knowing a few APIs is useful, but not crucial. What however is crucial is the ability to self educate. The ability to learn about any new API on the spot.
Knowing what you don't know is crucial here. You don't know enough about the field if you can't mention quite a list of things you don't know.

Generally you'll be working with existing code, even on new projects.
They'll expect you to educate yourself regarding this codebase and expect you to be able to adapt and program according to their standards and guidelines.
If you're asked to implement new features using an API you're entirely unfamiliar with, they expect you'll educate yourself on the subject without assistance.

Essentially: Strong c++, strong debugging, strong google-fu.

That's for the technical part.


Another thing that can't be mentioned enough: communication.
It's incredibly important to be a good communicator. This involves solid written and verbal skills.
But it also involves being able to communicate clearly with different professions.
You'll be talking to designers and artists on a very regular basis. You'll need to explain concepts in terms they can understand.
You also need to be a good listener, have the patience and be able to understand what other professions are telling you.


Another important thing is math.
You'll need to know how to work with vectors, matrices, quaternions, etc. These are absolutely essential to any game.
Math in general is quite important and any knowledge in this field will make you a better programmer.
Remco van Oosterhout, game programmer.
My posts are my own and don't reflect the opinion of my employer.

#3 Tom Sloper   Moderators   -  Reputation: 1709

Like
1Likes
Like

Posted 17 January 2012 - 06:03 PM

View Postadi64, on 17 January 2012 - 11:05 AM, said:

Breaking into a game industry as a game programmer basically a Junior Programmer. What industry expect ?

A CS degree and a strong portfolio.
That you live within easy daily commute distance.
That you don't smell bad, and you wear clothes, and they're clean.
Read FAQ 27 (click back out to the Breaking In forum and look in Getting Started at upper right).
-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find.

#4 return0   Members   -  Reputation: 330

Like
-1Likes
Like

Posted 18 January 2012 - 06:11 PM

A good folio is much, much more valuable than the degree, unless it's from a particularly excellent school.

#5 frob   Moderators   -  Reputation: 2053

Like
0Likes
Like

Posted 18 January 2012 - 06:39 PM

View Postreturn0, on 18 January 2012 - 06:11 PM, said:

A good folio is much, much more valuable than the degree, unless it's from a particularly excellent school.
That may have been true 15 years ago, but not today.

No degree == no job at the entry level.

There are plenty of pages in the stack with BOTH degrees and some evidence like a portfolio.

The only way a portfolio would trump the lack of degree is if the portfolio included sufficient games to put you already in the industry.



You are not competing in a vacuum. You are competing against everyone else who applied. At the entry level there are typically a lot of applicants. Most have a degree, many have a degree and portfolio.
Recently made a moderator, but still a regular programmer.

#6 stupid_programmer   Members   -  Reputation: 246

Like
0Likes
Like

Posted 19 January 2012 - 11:12 AM

View PostAzgur, on 17 January 2012 - 01:18 PM, said:

They will expect you to have first and foremost very strong c++ skills.
This will include knowledge of various design patterns, clear and readable code, maintainable code and strong debugging skills.
Knowing a few APIs is useful, but not crucial. What however is crucial is the ability to self educate. The ability to learn about any new API on the spot.
Knowing what you don't know is crucial here. You don't know enough about the field if you can't mention quite a list of things you don't know.

Generally you'll be working with existing code, even on new projects.
They'll expect you to educate yourself regarding this codebase and expect you to be able to adapt and program according to their standards and guidelines.
If you're asked to implement new features using an API you're entirely unfamiliar with, they expect you'll educate yourself on the subject without assistance.

Essentially: Strong c++, strong debugging, strong google-fu.

That's for the technical part.


Another thing that can't be mentioned enough: communication.
It's incredibly important to be a good communicator. This involves solid written and verbal skills.
But it also involves being able to communicate clearly with different professions.
You'll be talking to designers and artists on a very regular basis. You'll need to explain concepts in terms they can understand.
You also need to be a good listener, have the patience and be able to understand what other professions are telling you.


Another important thing is math.
You'll need to know how to work with vectors, matrices, quaternions, etc. These are absolutely essential to any game.
Math in general is quite important and any knowledge in this field will make you a better programmer.

I make stacks of cash never having touched C++ or anything more then basic math in my entire professional game making career. Not that those aren't good skills to have but the 'C++ or die mentality' that infests hobby programming is slightly out of touch. Give the incredible rise of mobiles its a very real possiblity you will find yourself just doing Java everyday. Its more important to be able to pick up new languages in a short amount of time them to be an 'expert' in any one of them. Maybe if your job is being on the C++ standards board. I never touched ActionScript before my current job but because I had experience in a wide variety of lanuagues from hobby, school, and work I was up and running in a couple of days.

My current job is just a startup more or less and unless you are recommended by somebody working there they probably won't even look at you if you don't have a degree. I'm sure they have lost out on some really good hires doing this but the HR guy has better things to do then look through portfoilos all day unless he is serious about doing an interview. As frob already said, this isn't 10-15 years ago when there was a much smaller talent pool. Today there are tons of other people with degrees and portfoilos trying to get the same job.

#7 return0   Members   -  Reputation: 330

Like
0Likes
Like

Posted 19 January 2012 - 06:29 PM

For context, I work at a startup tech company and conduct interviews and review applications during scheduled time. This is the responsibility of programmers, not non technical HR staff. Almost all applicants have degrees. A vanishingly small fraction of applicants are hired, mostly because we cannot justify their competence to ourselves such that we could hire them.

A high quality folio is rarer than a degree, and seems to be a better indication of competence. YMMV

#8 adi64   Members   -  Reputation: 100

Like
0Likes
Like

Posted 20 January 2012 - 11:04 AM

Fine but I have to make carrier. I have to focus on certain path.
That is I have to learn some particular things in game programming.
There are enormous and different different stuff available in game programming. I have to learn some specific of them and have to be perfect on them.
So that is my question. I got very good answers ,Thanks u sir. But still want to explore more about.

#9 gfxgangsta   Members   -  Reputation: 107

Like
0Likes
Like

Posted 20 January 2012 - 01:14 PM

View Poststupid_programmer, on 19 January 2012 - 11:12 AM, said:

Give the incredible rise of mobiles its a very real possiblity you will find yourself just doing Java everyday

This may be true of certain apps/games, but you'll find a lot of developers using C++ even on mobile. On iOS you can use Objective C with C/C++. On Android there's a Native Development Kit in which you can follow a hybrid Java/C/C++ approach with JNI, or you can write your Activity class in C/C++ code. That being said, "C++ or die" is just silly. There's a lot of games we think of as "C++ games" which use a scripting language for gameplay code. Use what you need to make your game. If you can get by with Java or a similar language, great! This may save you a lot of time.

#10 Tom Sloper   Moderators   -  Reputation: 1709

Like
0Likes
Like

Posted 20 January 2012 - 01:14 PM

View Postadi64, on 20 January 2012 - 11:04 AM, said:

Fine but I have to make carrier. I have to focus on certain path.
That is I have to learn some particular things in game programming...
So that is my question.

Well, keep on studying. But also make some games. That's really the only way to learn and build a portfolio.
-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find.

#11 L. Spiro   Members   -  Reputation: 617

Like
2Likes
Like

Posted 26 January 2012 - 06:20 AM

Why don’t you just go to http://www.gamedevmap.com/, check several companies in your area, and read their “Careers” or “Recruiting” pages?

Listings that require no experience or specifically intern positions will be directly applicable to you.
Other jobs which require X years of experience/shipped titles will give you an idea of what skills you need to be studying.

Not only will you find pertinent information about the game-development industry in general, but a much more precise answer about the game industry in your area (or any other area if you happen to be curious or plan to move).


One thing that will universally improve your chances is a portfolio demonstrating several completed projects/demos.


L. Spiro
It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#12 Azgur   Members   -  Reputation: 284

Like
0Likes
Like

Posted 26 January 2012 - 07:16 AM

View Poststupid_programmer, on 19 January 2012 - 11:12 AM, said:

I make stacks of cash never having touched C++ or anything more then basic math in my entire professional game making career.
Good for you Posted Image

View Poststupid_programmer, on 19 January 2012 - 11:12 AM, said:

'C++ or die mentality'

If that's the message you got from my post you must have misunderstood my intentions.
The message I was trying to get across is quite different. I used c++'s perspective as that was mentioned in the OP.

The important part is to be able to self educate and adapt.
I argued being a good programmer is more important than learning dozens of APIs, a good programmer would be able to pick up new APIs as he goes while on the job.
Even switching languages on the job shouldn't be much of an issue for a good programmer.

I will say however I found mastering C++ made me a better programmer in languages such as C#.
And in general C++ is still very widely used. The positions the wannabe (as Tom likes to call them Posted Image) game programmers tend to aim for are still primarily C++ based.
I wouldn't in good faith discourage anyone from learning C++ if he aims for a career in game programming.

Either way, my main advice was to not chase a checklist of APIs to learn, master programming and gamedev in general instead.
This has little to do with 'c++ or die'.
Remco van Oosterhout, game programmer.
My posts are my own and don't reflect the opinion of my employer.

#13 way2lazy2care   Members   -  Reputation: 256

Like
0Likes
Like

Posted 26 January 2012 - 08:33 AM

View Postreturn0, on 19 January 2012 - 06:29 PM, said:

For context, I work at a startup tech company and conduct interviews and review applications during scheduled time. This is the responsibility of programmers, not non technical HR staff. Almost all applicants have degrees. A vanishingly small fraction of applicants are hired, mostly because we cannot justify their competence to ourselves such that we could hire them.

A high quality folio is rarer than a degree, and seems to be a better indication of competence. YMMV
Do you not have an HR screening process? I can only imagine that you must not get a lot of applications if you have other responsibilities besides conducting interviews and reviewing applications without an hr screening process; one of the most typical is to throw out anybody without a degree.

In a world where you have the luxury of fully reading every application that gets sent to you, a lot of the existing rules can be thrown out.

#14 L. Spiro   Members   -  Reputation: 617

Like
0Likes
Like

Posted 27 January 2012 - 10:29 AM

View Poststupid_programmer, on 19 January 2012 - 11:12 AM, said:

I make stacks of cash never having touched C++ or anything more then basic math in my entire professional game making career. Not that those aren't good skills to have but the 'C++ or die mentality' that infests hobby programming is slightly out of touch. Give the incredible rise of mobiles its a very real possiblity you will find yourself just doing Java everyday.
I was forced to lower myself to mobile games for a few years while settling into a new lifestyle.
Even though mobile gaming may be on the rise, I have not touched Java, and it is unlikely anyone else will need it much to be able to make it in the mobile industry. The rise of mobile games actually only means that Objective-C is becoming more in-demand, since everyone and his or her dog can program in Java.

And then there is the hard limit you put on yourself.
I made mobile games too.
I got tired of doing things that were so far beneath me.

I finally decided to move on to another company. I do have goals afterall, and they don’t include doing mobile games for the rest of my life.
I wanted to move on to real games, in a real company. Games that everyone would either play or at least know the name.

We recently released a game called Final Fantasy XIII-2 here in Japan, not yet available in the rest of the world, but it will be soon. My position: R&D programmer (core game engine programmer).


Basically it boils down to this.
Even if mobile games rise and rise, Objective-C programmers are just going to get more in-demand since they are much farther between. I did mobile gaming for 3 years and never touched Java.
And then you have to think about the future. Mobile games. Is that the epitome of what you want to do?
I mean, 2 guys walk into a bar.
After they get up, and duck under it, they meet some folks.
One says, “I make mobile games of which you have never heard or played.”
The other says, “I make AAA titles that cost millions to make yet bring in 10 times that amount, and every single human on earth knows, even without having played any games, for Xbox 360, PlayStation 3, and future next-gen consoles.”
Which one gets the girl?

Or put another way, which one makes you feel good about yourself and what you have accomplished with your life?


stupid_programmer claims to make a stack of money.
I imagine there are Java programmers who do.
But if you read his post and think that you are going to make a stack of money via Java programming, the harsh reality is that if you actually do end up that way, you have beaten some incredible odds.


If you really have goals—if you really want to “get somewhere”.
If you really want to be part of a big game and be proud to have your name stamped on it, you will need C++.

I am sorry but you just don’t make games such as Final Fantasy *, or Super Mario *, or Battlefield * with Java.
And it is also extremely unlikely you will be making as much money as those who are too (but if you care about money, shame on you; this industry is about passion).


L. Spiro
It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#15 stupid_programmer   Members   -  Reputation: 246

Like
0Likes
Like

Posted 27 January 2012 - 10:39 AM

View PostYogurtEmperor, on 27 January 2012 - 10:29 AM, said:

View Poststupid_programmer, on 19 January 2012 - 11:12 AM, said:

I make stacks of cash never having touched C++ or anything more then basic math in my entire professional game making career. Not that those aren't good skills to have but the 'C++ or die mentality' that infests hobby programming is slightly out of touch. Give the incredible rise of mobiles its a very real possiblity you will find yourself just doing Java everyday.
I was forced to lower myself to mobile games for a few years while settling into a new lifestyle.
Even though mobile gaming may be on the rise, I have not touched Java, and it is unlikely anyone else will need it much to be able to make it in the mobile industry. The rise of mobile games actually only means that Objective-C is becoming more in-demand, since everyone and his or her dog can program in Java.

And then there is the hard limit you put on yourself.
I made mobile games too.
I got tired of doing things that were so far beneath me.

I finally decided to move on to another company. I do have goals afterall, and they don’t include doing mobile games for the rest of my life.
I wanted to move on to real games, in a real company. Games that everyone would either play or at least know the name.

We recently released a game called Final Fantasy XIII-2 here in Japan, not yet available in the rest of the world, but it will be soon. My position: R&D programmer (core game engine programmer).


Basically it boils down to this.
Even if mobile games rise and rise, Objective-C programmers are just going to get more in-demand since they are much farther between. I did mobile gaming for 3 years and never touched Java.
And then you have to think about the future. Mobile games. Is that the epitome of what you want to do?
I mean, 2 guys walk into a bar.
After they get up, and duck under it, they meet some folks.
One says, “I make mobile games of which you have never heard or played.”
The other says, “I make AAA titles that cost millions to make yet bring in 10 times that amount, and every single human on earth knows, even without having played any games, for Xbox 360, PlayStation 3, and future next-gen consoles.”
Which one gets the girl?

Or put another way, which one makes you feel good about yourself and what you have accomplished with your life?


stupid_programmer claims to make a stack of money.
I imagine there are Java programmers who do.
But if you read his post and think that you are going to make a stack of money via Java programming, the harsh reality is that if you actually do end up that way, you have beaten some incredible odds.


If you really have goals—if you really want to “get somewhere”.
If you really want to be part of a big game and be proud to have your name stamped on it, you will need C++.

I am sorry but you just don’t make games such as Final Fantasy *, or Super Mario *, or Battlefield * with Java.
And it is also extremely unlikely you will be making as much money as those who are too (but if you care about money, shame on you; this industry is about passion).


L. Spiro

Best thing about 'lowly programmers' like myself is the lack of ego. I know you just wanted a chance to get on your 'I'm a rock star of the programming world and get all the girls' and 'C++ or die' messages out. But I never did say that Java was the only way to go. Just with the incredible rise of mobiles that you don't have to be in the trap of 'I don't know C++, I can't get a job'.

Millions of people play my 'lowly' games. I have direct impact on the overall direction of our games (I'm not design and have had major features changed). I'm on the cusp of upper management. I've rubbed elbows with AAA game execs at the best GDC parties. If my current job goes away I have a job the next day (not just a peon programmer job). I'm sorry, but only C++ elitist like yourself would feel bad about that.

#16 Azgur   Members   -  Reputation: 284

Like
0Likes
Like

Posted 27 January 2012 - 02:14 PM

View Poststupid_programmer, on 27 January 2012 - 10:39 AM, said:

Best thing about 'lowly programmers' like myself is the lack of ego. I know you just wanted a chance to get on your 'I'm a rock star of the programming world and get all the girls' and 'C++ or die' messages out. But I never did say that Java was the only way to go. Just with the incredible rise of mobiles that you don't have to be in the trap of 'I don't know C++, I can't get a job'.

Millions of people play my 'lowly' games. I have direct impact on the overall direction of our games (I'm not design and have had major features changed). I'm on the cusp of upper management. I've rubbed elbows with AAA game execs at the best GDC parties. If my current job goes away I have a job the next day (not just a peon programmer job). I'm sorry, but only C++ elitist like yourself would feel bad about that.
I'm sorry, are you here to just put words in people's mouth and beat your chest?
Or do you actually have something constructive to add to this conversation and potentially help OP?
Remco van Oosterhout, game programmer.
My posts are my own and don't reflect the opinion of my employer.

#17 Tom Sloper   Moderators   -  Reputation: 1709

Like
1Likes
Like

Posted 27 January 2012 - 11:54 PM

I'm going to close this thread down now. I hope the OP got the answer he needed.
-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find.






We are working on generating results for this topic
PARTNERS