🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Posibility of getting to game industry?

Started by
35 comments, last by frob 7 years, 11 months ago

just wanna know if this is kind of true? like for example the industry prefers c++ people?


For desktop and console games, C++ is still an extremely dominant language. C# is often used for tools.

On mobile platforms, perhaps this is less true

It's certainly possible to get a job not knowing C++, but knowing it will probably help put you on equal footing with other candidates.
Advertisement

is a great, productive language to get a lot of things done in. But C++ gets you the jobs, not C#.


HI, just wanna know if this is kind of true? like for example the industry prefers c++ people?


Promit knows whereof he speaks.

-- Tom Sloper -- sloperama.com

I am in a similar predicament. I'm a senior software engineer at my current job which has nothing to do with games. I did however, get into game programming from the days of dos/mode 19 (thanks to Andre Lamothe's books) back in early 2000. On my own (and as part of my studies), I've written every thing from flight simulators to software 3D rasterizers. (I have a YouTube channel - https://www.youtube.com/user/faisalwho where I've begun showcasing my stuff, including my own 3D game engine + wip game, as well as pioneering new methods.)


May i know how did you start? What books did you read? What is your first game?

Sure, while there haven't been many books, most of my knowledges I've amassed from online research and research publications, as well as doing. I went to The U of North Texas in 1999, met up with Dr. Ian Parberry and got involved with the LaRC (https://larc.unt.edu/) early on in my undergrad.

While creating a game has been my inspiration, I realize now my attention was always drawn to the technical aspects of 3D engines. It isn't until now (time permitting) ive decided to pool everything together and actually follow through end to end.

My earliest game however, has to be a 2d space shooter demo I made in high school. In my senior year, when I was first introduced to programming (1998-1999), the first semester of c/c++ I bombed, barely making a c (ha!). The second semester of Visual Basic 5, all of a sudden all the concepts started jelling and I took my new found knowledge further than anyone in class. By manipulating, timers, picture boxes as key events, I made my first demo, complete with handcrafted awesome sprites (up until then my focus had been comic book art, so I was pretty decent with mspaint). I still remember the look of confusion/awe from my professor who had just about written me off, and my classmates fought to take turns. That was my starting point.

From 1999 to 2001, I fumbled around with 2D in dos, a friend handed me "tricks of the game programming gurus", and I took the basic ray casting demo further (by tracing through a lrbitraey bitmaps instead of tiles/blocks, the first time I did something different, creative, and completely my way), but that wasn't enough. Never made a game though, just moved on to the next technical challenge (I think I tackled 3D rasterixation an perspective texture mapping next).

2001 and onwards, I was at the UNT game programming lab where a core group of guys and I just, worked on our own things, learning, mastering, teaching each other. To this day I maintain ties with Dr. Parberry and his amazing lab, working on my own projects in my down time and telling him "hey check this out".

BTW, if his name sounds familiar, he is the coauthor of "3D math primer for graphics and game developers" along with fletcher Dunn (who I've had the pleasure of meeting on a few occasions).

I will try to answer some of your questions:

But before that, you should really consider whether you like to make games, or technology that allows games to be made. For example in the company that I work my job does not deal directly with 'game' programming as such, but we deal with a lot of technology to enable good games to be made.

1) I can't really speak to question 1, because honestly my environment wasn't all that rough. But my experience has been that your back ground is no-where near as important as your ability to actually program. Now I understand that you're tired after a day of work, but most people go through that... so your passion will have to carry you through that.

2) The type of company depends on what you want. If you're in a larger company, working on AAA titles, you will likely be working on a smaller piece... and in this case C++ is usually the main language for development of tech, and C# for tools. If you're going for an indie company, then I believe most use C# and something like Unity is just amazing to work with. It is fun, it is fast iterating, all the ground work is done (rendering, physics, input, audio, animation, etc.) + the asset store has many good quality assets.

3) Mid 20s are actually perfect. Lots of young people around. In fact you are likely to be most flexible while you're young (don't have a family), because likely you will relocate (I moved from the Netherlands to Canada for example.) And that's just easier to do when your significant other does not have to quit their job & leave their family behind.

All in all my experience to get a job in the industry has been that you don't have to be an exceptional programmer (in the larger companies), but you just have to be reasonably good... meaning you have to be able to stand in front of a white board / do an online interview on a notepad of some sort. It helps if you know someone in a company you want to work, because there are a lot of resumes being sent in and before it reaches the programmers HR or so has already filtered out a lot of the resumes.

I think a good measurement stick would be things like ACM programming contests, not necessarily they world contests, but just the questions (they have an archive). Or if you go to GeeksForGeeks they have a bunch of good problems. If you manage to do those (and I don't mean study them and then perform them, but I mean if you see them for the first time and you can do them.) I would say at that point you already stick out above most of the people I have personally interviewed.

All in all, determine what you want and pursue that dream... you will get there if you work for it.

you should really consider whether you like to make games, or technology that allows games to be made

I really want to make games but at the same time I also want to know how games are being made. What I mean is, I dont use high level game engines instead I use some low level framework like SFML But I dont go lower level than that. Ofcouse Ive read a lot of article about makes games not engine. I tried it before. I use Unity and although it was fun that you can see and its easy to visualize what will happen I just cant shake the feeling and the curiosity of what is going on under. Like how does this be able to do that. When I look at games, even just the gameplay I just only not notice the details but also how did the developers do that. Ofcouse all I can do in my stage as I lack experience is to guess. Its mainly the reason I started in 2D. I want to understand, learn and of course at the same time be better at logic and analyzation. So right now Im confuse on whether I really like doing games or like how the games are being made since I like them both. Or it could be that my lack of experience thats why I like them both. It had to be one of them that I should choose but I still dont know.

All in all my experience to get a job in the industry has been that you don't have to be an exceptional programmer (in the larger companies), but you just have to be reasonably good... meaning you have to be able to stand in front of a white board / do an online interview on a notepad of some sort. It helps if you know someone in a company you want to work, because there are a lot of resumes being sent in and before it reaches the programmers HR or so has already filtered out a lot of the resumes.

I have no other idea to prove that I am good other than showing my portfolio of I have one. I am not lucky enough to know someone work in the company I want to work :( all of my friends are on different path and there no or very few game developers here in the country I am working for. Most I believe is just an Indie which consist of 3 or 4 people that are friends like for a long time thats just it. Not a company really.

Mid 20s are actually perfect. Lots of young people around. In fact you are likely to be most flexible while you're young (don't have a family), because likely you will relocate (I moved from the Netherlands to Canada for example.) And that's just easier to do when your significant other does not have to quit their job & leave their family behind.

Did you apply online when you were on canada? Im curious as how did you get a job from Netherlands to Canada? Did you apply or you know someone from canada?

if you go to GeeksForGeeks they have a bunch of good problems.

I have seen this kind of site before where HR use it to know how good the programmer is. It has some question and other things. Do you prefer people who can answer this or someone who has a portfolio and has something to show?

is a great, productive language to get a lot of things done in. But C++ gets you the jobs, not C#.


HI, just wanna know if this is kind of true? like for example the industry prefers c++ people?


Promit knows whereof he speaks.

When it comes to the game industry, it's simply an expected and generally required part of your skill set. It's been the standard for a very long time now, and there's a reasonably healthy supply of capable candidates with that feather in their cap. If someone comes in with solid C++ abilities and not too much else, it's assumed they'll pick up other things as needed. Whether that's justified or not, that is an intrinsic widespread attitude in the industry. It's never assumed that a junior hire will just pick up C++, so the company basically plans to have to train you for a while before you're capable. And if I'm choosing between the candidate I have to train or the candidate who is ready to go out of the gate, well... it can be overcome, but it's easier just to have that knowledge up front.

This comment is ONLY applicable to the game industry. There are many types of software development that don't have this expectation.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

is a great, productive language to get a lot of things done in. But C++ gets you the jobs, not C#.


HI, just wanna know if this is kind of true? like for example the industry prefers c++ people?


Promit knows whereof he speaks.

When it comes to the game industry, it's simply an expected and generally required part of your skill set. It's been the standard for a very long time now, and there's a reasonably healthy supply of capable candidates with that feather in their cap. If someone comes in with solid C++ abilities and not too much else, it's assumed they'll pick up other things as needed. Whether that's justified or not, that is an intrinsic widespread attitude in the industry. It's never assumed that a junior hire will just pick up C++, so the company basically plans to have to train you for a while before you're capable. And if I'm choosing between the candidate I have to train or the candidate who is ready to go out of the gate, well... it can be overcome, but it's easier just to have that knowledge up front.

This comment is ONLY applicable to the game industry. There are many types of software development that don't have this expectation.

Just to expand a little. C++ is the industry standard for games, and unless you're applying for a studio that specifically and exclusively works in another language like Objective-C, then it's just assumed that you know c++ and you will be grilled on it during your interview. If you're applying for a senior position you might not be grilled, but for a junior position you will most definitely have to show that you're competent in it.

Also, to give you a better idea of what an interviewer is looking for when interviewing a junior engineer, here's basically what I look for (in roughly order of importance):

1. C++ competency. This is the deal breaker. If you're not good with c++ I wont hire you. If you're ok, we'll see. If you're great, most likely I'll hire you.

2. Problem solving. I will ask you to solve problems that you should know how to solve, and problems that you shouldnt. I want to see how you deal with both.

3. General software engineering knowledge and hardware knowledge.

4. 3D math, and math in general. If you're not good with math, you might be useful to me. If you're great with math, you will almost certainly be useful to me.

5. General game development knowledge. If you dont know anything about games, engines, tools, data pipelines, etc, you might be useful. If you do, your odds are much better.

Did you apply online when you were on canada? Im curious as how did you get a job from Netherlands to Canada? Did you apply or you know someone from canada?

While I was in university I needed to do an internship, so I went to a smaller game company in the Netherlands, once the internship was done I got a job at the same place. About 2 years in one of the guys I was working with knew a person working here in Canada and he wanted change jobs, so he did. A couple months later he asked me if I wanted to change jobs to, so I went for interviews. I then later asked another guy, but he failed the interviews.

At that time I had very little (1-2 years) experience and the company wanted some re-assurance that it was worth to move me over. So they flew me in and I had about 16 hours of on-site interviews, over the course of 2 days, for various different teams. Ranging from graphics to low level technology such as memory manager, file systems, etc. Mostly white boarding and the like. I was not too picky on what to work on, I just wanted to 'get in'... and luckily for me they accepted me. So I moved to Canada in 2007.

I have seen this kind of site before where HR use it to know how good the programmer is. It has some question and other things. Do you prefer people who can answer this or someone who has a portfolio and has something to show?

Well having a good portfolio and sending that out gets you noticed. You shouldn't be too picky and just literally send your resume to a lot of companies... A LOT of people are hiring because there is always a shortage on good programmers.

Once you get the phone interview (which usually happens before they fly you in for interviews.) you will have to know some 'on the spot' things (what does virtual do, what's the size of a long, what's a template, etc, simple stuff.) and it is not about white boarding. Usually questions on the phone go over what you have done (education, work project, hobby projects) and then some more technological simple stuff... usually related to what you worked on. So if your hobby project is rendering a voxel world or so then likely you will get questions about 'how did you make the drawing efficient -> spatial partioning/batching, etc. If your hobby project was a physics engine then you will be asked about iterative solvers, some basic math, etc. If you have great hobby projects then this will certainly make you 'stand out' because it means you are passionate about it. And as you pointed out... a lot of people are tired after work, so knowing that even after that a candidate still had passion to do something means a lot (for me personally it means more than the jobs they have held or the previous work they have done, mostly because a lot of people 'polish' their resume to look a lot better than they are, and it is a lot more difficult to fake a portfolio piece.)

Sometimes after the phone interview you get an 'assignment' where they expect you to do some test in your own time (usually 10-20 hours of work.) This ranges from making a small game like space invaders, to solving travelling sales man problem in an NP-complete situation (so we can see your creative approach), to writing a software 'rasterizer' for a particular data set. The main purpose of this is to see code quality/style.

Once you get an in studio interview you should be prepared for many questions along the ACM/Geeks for Geeks thing. I know we do it, we have a partly standardized test and some improvisational questions. Be cautious though, we usually easily pick out the people who 'memorized' solutions and that rates you worse than if you struggle to do the test and finish it half way.

So long story short. From my experience portfolio gets you 'noticed'/'invited', programming skills like ACM/Geeks for Geeks gets you 'hired'. But this is my opinion, so I wouldn't take it as 'the rule'

PS: For me I built a couple of things to get noticed. One was a simple 3D terrain editor with undo/redo, texture painting, height map painting, etc. Another was a simple physics engine, iterative solver, but did things like box-stacking. Then for my first job for the small company I did a terrain engine, with 3 other people, which was never released on PS3.

PS2: If you want you can send me a link to your portfolio and I can give some feedback.

If you want you can send me a link to your portfolio and I can give some feedback.

Hi, I havent created any portfolio yet I dont have anything to show and put any content in there. I have some finished projects but thats all there is to it. But I would it be glad to know if I can still contact you sometime in the future once that is done? :)

But I would it be glad to know if I can still contact you sometime in the future once that is done?

Sure thing! And good luck.

This topic is closed to new replies.

Advertisement