PDA

View Full Version : Game Programming Tests


kettiby
26-03-2008, 01:56 PM
Hello all,

I am currently in the process of looking for jobs after I graduate from university. And (luckily) I have managed to secure an interview with a games developer.

But I'm really worried about the test! All the stuff likely to be tested, e.g. C/C++, OpenGL and DirectX, wasn't taught on the Computer Science course I was on. Despite having dabbled in the aforementioned languages and technologies, I don't quite feel up to speed.

Could anyone give me any pointers as the best way to prepare? I'm currently brushing up on my C and C++ knowledge but get a feeling that that alone won't be enough.

Thanks in advance for any words of wisdom.

Xajin
26-03-2008, 02:28 PM
Hello all,

I am currently in the process of looking for jobs after I graduate from university. And (luckily) I have managed to secure an interview with a games developer.

But I'm really worried about the test! All the stuff likely to be tested, e.g. C/C++, OpenGL and DirectX, wasn't taught on the Computer Science course I was on. Despite having dabbled in the aforementioned languages and technologies, I don't quite feel up to speed.

Could anyone give me any pointers as the best way to prepare? I'm currently brushing up on my C and C++ knowledge but get a feeling that that alone won't be enough.

Thanks in advance for any words of wisdom.

Write a simple game in C++ using Microsoft Visual Studio Express.

This will give you two things:

1. Experience in C++ game development.
2. A demo to show your prospective employers.

PeterM
26-03-2008, 02:42 PM
Oh, and make the explosions look good.

Worked for me!

Mathematix
26-03-2008, 02:55 PM
What the other guys said. How are you at generally reading other people's code? You should have a sound enough knowledge from your computer science course to show that you can understand what a program is doing, as well as the syntax.

A games programming test does not have to specifically test you on code only used in games - it is pretty likely to test you on your understanding of algorithms, including algorithm efficiency like Big-O and NP-Completeness (in the worse case scenario).

Good luck! :D

Xajin
26-03-2008, 03:08 PM
oh... and

HARDEN THE F*CK UP! (To view links or images in this forum your post count must be 10 or greater. You currently have 0 posts.)

Bitterman
26-03-2008, 07:36 PM
Xajin's original suggestion was right on the mark. If you've only dabbled in C/C++/etc, it's likely (depending on exactly who you're interviewing with, and the role you're going for) that you probably won't have the skills they're after. The only way you can gain these skills before the interview is by making a game. Preferably more than one, of increasing complexity.

Don't get me wrong - you're in a better situation than some, because your course will have given you a background in which you can pick up the requisite skills relatively quickly. You just need to do it before the interview. (Don't be tempted to say in the interview "I don't know this stuff yet, but I'm a quick learner." The interviewer will only hear "I don't know this stuff, blag blag blag blag.")

However you shouldn't underestimate the challenge. If the interviewers are after a certain level of knowledge, and you haven't got it, you will struggle - there's no way around that. Happily, as you're a graduate, the level of knowledge they expect shouldn't be that unreasonable; but I would be pretty certain that their expectations will only be met if you've made some games. Learning C++ out of a textbook won't help, you just won't absorb it.

If it's any encouragement - my University course taught me sod all C/C++ and literally zero DirectX/OpenGL, in fact in practical terms it was rubbish, the people doing Physics did more programming than I did in CompSci. But I was able to combine the theory that I did get taught with the practicalities of doing stuff for myself (IMO both are essential), and got a games job straight out of Uni. So you're probably in a pretty similar place now to where I was then.

General words of encouragement: if they've invited you for an interview, it's because they think they might want to hire you. You just need to prove them right - they're on your side already, you're not struggling against them.

Best of luck, and if you don't get it, chalk it up to experience and try again. You may also consider subscribing to Develop and Games Developer magazines, visiting GameDev.net and Gamasutra.com regularly, and the fact you're on here is a good sign too; also grab yourself a couple of games programming books and work through them. But above all, get making games.

Nokill
27-03-2008, 08:30 AM
yea go to Gamasutra and listen the first podcast they made its about getting a job and how to do this.

And on the programming bit you can read tons of articles on the subject how to do it.

Good luck

kettiby
27-03-2008, 10:45 AM
Thank you everyone, for some really good, useful advice! I've got a couple of game programming books that I working my way through, which should also help me in terms of C and C++.

Worst comes to worst, at least I'll gain some useful experience from it all!

PS: Loving that Youtube link... :)

yaustar
27-03-2008, 02:38 PM
There was a mock programming test on IGDA forums that you may want to try to get a feel on what they will asking you: To view links or images in this forum your post count must be 10 or greater. You currently have 0 posts.

MaciejS
27-03-2008, 03:17 PM
I've recently read interesting note (To view links or images in this forum your post count must be 10 or greater. You currently have 0 posts.) on this subject. It's tongue-in-cheek, so take with grain of salt, but some good tips can be found there. Of course interview at Google is a little bit different than in gamedev (I dare to say, it's much harder).

kettiby
27-03-2008, 03:37 PM
Thanks for the links guys :)

sp3c1al1st
27-03-2008, 03:58 PM
Hello all,

I am currently in the process of looking for jobs after I graduate from university. And (luckily) I have managed to secure an interview with a games developer.

But I'm really worried about the test! All the stuff likely to be tested, e.g. C/C++, OpenGL and DirectX, wasn't taught on the Computer Science course I was on. Despite having dabbled in the aforementioned languages and technologies, I don't quite feel up to speed.

Thanks in advance for any words of wisdom.

If you're looking to be a games programmer, then you really ought to have more computer science courses than one. From your comments I'm guessing you didn't major in CS? If you haven't written games or demos on your own then, you may have a difficult time securing a game programming job. The other bits of advice on this thread are valid: try writing some of your own games, and/or get a CS degree. Alternately, you could consider doing something other than programming games -- art, production, sound, etc.

trave
27-03-2008, 05:47 PM
If you're looking to be a games programmer, then you really ought to have more computer science courses than one. From your comments I'm guessing you didn't major in CS? If you haven't written games or demos on your own then, you may have a difficult time securing a game programming job. The other bits of advice on this thread are valid: try writing some of your own games, and/or get a CS degree. Alternately, you could consider doing something other than programming games -- art, production, sound, etc.

I read his message quite differently - i.e. by "Computer Science course" he means his degree. Unless a degree is biased towards games programming, you wouldn't get any DirectX, OpenGL or even C/C++ these days!

kettiby
28-03-2008, 12:03 PM
I read his message quite differently - i.e. by "Computer Science course" he means his degree. Unless a degree is biased towards games programming, you wouldn't get any DirectX, OpenGL or even C/C++ these days!

Yes, this is correct.

The course I'm on is quite prestigious one (or so they say!) from a red brick university in England. So while we learn the theory behind many of the new and emerging technologies, we don't necessarily learn programming languages in great detail. The idea is, is that we learn enough at university to then go ahead and pick up job skills in our own time.

It has its pros and cons.

sp3c1al1st
29-03-2008, 05:54 PM
The course I'm on is quite prestigious one (or so they say!) from a red brick university in England. So while we learn the theory behind many of the new and emerging technologies, we don't necessarily learn programming languages in great detail.

Truly? It has been a while since my red brick experience, but even then we had two and a half years of moderately strenuous C work. Lots of operating system stuff, low-level rendering stuff (Gouraud and Phong shading and the like), plus some theory of computation and some required calculus. (There weren't no C++ in those days, you whippersnapper.) What's it like nowadays over there?

randomnine
29-03-2008, 07:53 PM
Truly? It has been a while since my red brick experience, but even then we had two and a half years of moderately strenuous C work. Lots of operating system stuff, low-level rendering stuff (Gouraud and Phong shading and the like), plus some theory of computation and some required calculus. (There weren't no C++ in those days, you whippersnapper.) What's it like nowadays over there?

I graduated a few years back and my course was much like you described, but with a smattering of "web technology" and Java thrown in. One of the more technical projects was, in the second year: programming an emulator for a multi-core system that implements a given machine code, writing an assembler, writing a compiler to compile from a simple language to that assembly, writing an OS kernel in that language that supports multi-threaded programs and I/O. Half of that was just for extra credit, though.

My university was part of the Russell Group, and even so the CS course was reportedly more technical than others at that level. I've heard that many universities now run softer courses, using Java as the primary language, so the applicants they get won't drop out - and most universities that can attract capable applicants treat CS as a mathematical, not engineering, discipline. CS hasn't necessarily gone downhill as such but has certainly shifted away from training competent programmers for industry.

Since you mention it, I don't think there's a CS course in the land that seriously teaches C++ or the large scale software engineering that goes with it. I can understand that, though. They've only got three years: they wouldn't get anything else done :)

Mathematix
29-03-2008, 11:12 PM
Awesomely said. I'm one of those 'mathematical' comp sci graduates and grateful that my old institution taught in that manner. :)

kettiby
30-03-2008, 04:08 PM
Truly? It has been a while since my red brick experience, but even then we had two and a half years of moderately strenuous C work. Lots of operating system stuff, low-level rendering stuff (Gouraud and Phong shading and the like), plus some theory of computation and some required calculus. (There weren't no C++ in those days, you whippersnapper.) What's it like nowadays over there?

Replace C with Java and we've got the same course. My only concern is that there is very little hands on stuff. For example, I've learnt quite a lot about graphics theory - the basics like Phong, Goraud etc. and then more advanced stuff like classical ray tracing and Monte Carlo. Heck, we've even been lectured on the latest methods to extract geometry from real-life models. Yet our OpenGL exposure has been very limited. A bit odd that.

sp3c1al1st
31-03-2008, 04:34 PM
Thanks all for the update on current CS courses.

In reply to the original poster who was concerned about being quizzed about specific technologies: this is a difficulty you will frequently encounter when being interviewed for any engineering position. And it is frequently the case that you as a programmer will get asked, "do you know technology X", where X is a ponderous bit of tech that no one human being really understands completely. In these cases, if you have some relevant experience, it is best to explain that honestly without inflating it, and if you have no experience, it is best to explain how your experience on a comparable tech (say writing your own renderer as opposed to knowing how to transform and light in OpenGL) would be applicable to your new job. Good luck and keep on interviewing!

Maj
31-03-2008, 09:45 PM
For example, I've learnt quite a lot about graphics theory - the basics like Phong, Goraud etc. and then more advanced stuff like classical ray tracing and Monte Carlo. Heck, we've even been lectured on the latest methods to extract geometry from real-life models. Yet our OpenGL exposure has been very limited. A bit odd that.

For what it's worth, I look back on my uni days and wish I'd spent a bit less time learning OpenGL and a lot more time learning linear algebra. As it is, I'm fairly proficient in an obsolete API*, but when it comes to stuff that's important to me now - BRDF's, spherical harmonics, quaternions - I'm left floundering.

* obsolete as in glBegin(GL_TRIANGLES) is obsolete.

feedingzur
28-05-2008, 11:22 AM
Something I'd recommend is reading (a la Google) about the underlying fundamentals of the C++ language:


C++ Templates: what are they? what benefits do they provide?
Vtables: what are they and what are the implications of their overhead?
Run-time binding: what is it and when is it used?
Compiler process: what's the flow of events between hitting compile and having a built executable? What does the compiler do? What does the linker do?


The other suggestions of creating demos etc are great - but I'd really recommend spending an hour or two coming to grips with the fundamental concepts that drive the language itself. After all, the more you know about the tools at hand, the better you can put them to use :)

Oh and I wouldn't be surprised if they threw in some vector and matrix math questions just for funsies. Knowing how to calculate cross/dot products and what they're useful for is always good.

Hope that helps

Emiug
17-06-2008, 09:38 PM
I read his message quite differently - i.e. by "Computer Science course" he means his degree. Unless a degree is biased towards games programming, you wouldn't get any DirectX, OpenGL or even C/C++ these days!

The Computer Games Programming course that i am currently on hardly even touches OpenGL and DirectX. Hence why i did alot of reading in my sparetime.

montdidier
04-12-2008, 06:47 AM
I don't get red brick. Why does the brick colour matter?

IFW
26-09-2009, 04:31 PM
What's it like nowadays over there?


Im guessing the most complex it gets nowadays is how to code html
:D

IFW
26-09-2009, 04:32 PM
I don't get red brick. Why does the brick colour matter?


Old school universities tended to be made out of red bricks.

frobisher
26-09-2009, 10:03 PM
Old school universities tended to be made out of red bricks.

To be pedantic, Red Brick applies to universities established in the 1800's and early 1900's in the UK (which were of course built from red brick in the main so the majority of the established universities which predate the expansion in the 60's and 70's (the "new" universities established at the same time as the polytechnics, itself predating the vaste expansion post 1992 (the ex-polys becomming universities)).

IFW
26-09-2009, 11:32 PM
To be pedantic, Red Brick applies to universities established in the 1800's and early 1900's in the UK (which were of course built from red brick in the main so the majority of the established universities which predate the expansion in the 60's and 70's (the "new" universities established at the same time as the polytechnics, itself predating the vaste expansion post 1992 (the ex-polys becomming universities)).


Thats what i meant when i said "old universities"

Polytechniques became crappyversities... So that every town could have one.

(I remember the spitting image sketch well)

MrWibble
27-09-2009, 08:03 AM
Thats what i meant when i said "old universities"Polytechniques became crappyversities... So that every town could have one.(I remember the spitting image sketch well)

A university from the early 1900s isn't particularly old :)

(says the man who went to a 1960s plate-glass one).

frobisher
27-09-2009, 03:17 PM
A university from the early 1900s isn't particularly old :)

(says the man who went to a 1960s plate-glass one).

With remarkable restraint I didn't refer to the Red Bricks as "Post '92" universities (that'll be 1592 (To view links or images in this forum your post count must be 10 or greater. You currently have 0 posts.)...) :)

kiwifruit
24-05-2010, 12:21 PM
Of course, some people think of Cambridge as being a "new" university :-)

molesworth
03-06-2010, 03:00 PM
Of course, some people think of Cambridge as being a "new" university :-)
1209!?!? It is new (To view links or images in this forum your post count must be 10 or greater. You currently have 0 posts. n) :D

One of my alleged ancestors went to Durham School, Oxford and Paris, then worked in Bologna. Mind you, in the 12th Century there wasn't as much choice...

I wonder what the UCAS forms were like back then? :)