C++ for Gaming Industry

Started by
19 comments, last by GameDev.net 11 years, 1 month ago

Hi guys.

I'd like to pose a question for people who've been around for a while. I decided to guide my studies checking hiring requirements of gaming companies. When I didn't know whether to go with C++, Java, Unity or the HTML5 Stack (HTML5, CSS3 and JavaScript), I checked job offers and noticed the most promising ones were C++-related. So I'm going with C++.

The thing is: what do they mean with "C++"? Core? Is there something intrinsic to that sentence, like OpenGL, SDL, SFML (which seems to be built on top of OpenGL), ...? I'm currently studying SFML, but I have no idea if it's industry-accepted, so I just might be wasting my time. So, I ask: should I direct my studies to something specific, or all that is needed is core C++...?

Thanks everyone =]

I can tell you, as someone who has interviewed many people for junior to senior to tech director positions in game studios, the least you need for a junior position is a pretty solid knowledge of C++ and decent math and problem solving skills. You can forget Java and HTML5 and all that stuff. Unless you're applying for a position that specifically uses those, what you need is C++.

If you're aiming more for a graphics programmer position, then you need to step up your math, hardware, and graphics API knowledge. You should have really good 3D math, experience with either OpenGL or DirectX, experience with shaders would be welcome, and preferably be able to discuss previous work (formal or hobby) you've done relating to game-relevant graphics techniques. And that's just for an entry level graphics programmer position. For a senior position you should throw in at least 4 - 6 years experience and a few shipped titles, hopefully at least one a AAA game.

But, even for a non-graphics gameplay programmer position, you still need a solid grasp of C++, how the hardware works and interprets your code, and 3D math and basic algorithms and logical problem solving. Knowledge of tools such as Unity are nice because the studio might be using something similar (either 3rd party or in-house), but it's the low-level stuff that will matter most because they can teach you the tools later, but they cant teach you C++ or math.

I both agree and disagree with this overview. I totally agree with the math requirement, without basic math and preferably decent vector math/geometry, you are not a game programmer, you are a web dev, db guy or something not really involved with the "game" itself since games "are" basically math at all levels. You can't hope to write anything game related without a basic understanding of vector space and to be good you need to know it pretty damned intuitively. (I.e. close your eyes and "see" the geometry, now convert that to math.)

On the other hand, I don't agree with most of the other stuff completely. When it comes to junior and even sometimes mid level programming I don't look for C++ specifically which seems at odds with your description. Actually, I usually ignore all "education" background as meaningless to my hiring points for juniors. I'm more interested in the hobbies, are any programming related? Are they active in places such as this? I.e. is this just a job or something they really are interested in?

I know, I'm probably not common in this view of hiring but I've never had to fire a person I've hired with those "desire" based goals. I "have" fired way too many "it's just a job" I went to college to do types unfortunately. I know others with the same view of things, but yes, it is unusual I suppose. Unfortunately over 20 years, desire usually trumps education because those with desire will "learn" and keep on learning. The others are making bank software or digging ditches somewhere.

This topic is closed to new replies.

Advertisement