Archive for the ‘Games Industry’ Category

Dealing with interview questions

“How many planes are currently flying over Kansas?”

That was supposedly an interview question for Best Buy, and just one of the questions from this list of 25 oddball interview questions:

I loathe questions like these. In my mind they serve no purpose in an interview other than to make the interviewee/interviewer look like a fool.

Thankfully most games companies have enough sense to not trot out those pointless questions, and instead try to be friendly and just have a chat to get to know you. Most of the questions will be straightforward enough, but there are a few that can throw people, especially in your first interviews when trying to break in.


“Tell us a little bit about yourself”
This isn’t a test in my experience* – it’s just to break the ice. The people interviewing you have probably just read a CV and covering letter and simply want to know a few more things without asking direct questions. That being said, you want to be prepared for this, and want to be able to talk for a few minutes. You can probably expect the interviewer to ask you a few questions during your answer.

It’s one you’ll need to figure out for yourself, but I’d probably start with my name, mention that I’m originally from Northern Ireland and that I moved to England to go to university. I’d briefly mention my course, and how I got into art. Since I’ve worked at a few companies I’d talk about them, the roles I had and the games I’d worked in. I’d also mention that I enjoyed travelling, photography and eating.

This is a question that is easy to prepare for, but you don’t want to memorise the response – keep it relaxed, and like I said, be prepared to stop and answer other questions related to what you are telling the interviewer.

*In some industries this IS a test, but in my experience it has always been a conversation starter.


“Where do you see yourselves in 5 years time?”
Another old staple, it’s like playing guess the future with an arbitrary number attached. Why not where do you see yourself in 17 years time? Next Tuesday? In the games industry some companies don’t even exist for 5 years. Thankfully this question seems to be dying out in favour of trying to assess career aims, but that doesn’t mean you don’t have to answer the question.

I’d be honest, especially for your first job role. You really don’t know, especially with the rate at which technology changes. You’d like to be working in videogames in some role that you grow into, but as you’ve not had much experience you are still very much going to be learning and adapting.


“What are your greatest weaknesses?”
This is the one where we are taught to lie, to pretend a strength is a weakness. The staple answers are along the lines of “Oh, I work too hard”, or “Im too much of a perfectionist”, but both the interviewer and interviewee knows that the question and answer are pointless. It’s interview by rote. What is the interviewer expecting to hear? “I’ve got a terrible sickness record”? “I get violent quite easily”?

Theres a sensible answer for this question however – know what the job is and answer with something thats not related to the actual job, but vaguely related to the general jobs of other people there. For environment artists this could mean that your weakness is character animation or mission scripting in Unity etc.

Oh, and please don’t answer with “I have no weaknesses”. Thank you.

TUTORIAL – creating perfectly tiling meshes in Zbrush for use in videogame environments

I defer writing content yet again, and instead send you Owen Shepherds site to look at his post, TUTORIAL – creating perfectly tiling meshes in Zbrush for use in videogame environments.

This tutorial walks you through a workflow that I have developed that allows you to create perfectly tiled normal maps on perfectly tiled lowpoly geometry, especially useful for cliff faces and rough stone surfaces.

Polycount Wiki

A huge collection of game art knowledge.

Ben Clark builds a giant

I’ve just stumbled across this lovely modelling tutorial where Ben Clark takes a sketch and builds a base model, sculpts it, builds new topology, UVs, bakes, textures and Rigs it.

The Making of the Giant

The Giant

Everything you need to know about Normal Mapping

Eric Chadwick has been working very hard on the Polycount Wiki, and has just released a massive amount of information about Normal Mapping that pretty much covers all the tech you need to know.

Maxscript wiring function for roll/twist bones

When working with lots of rigs you want to automate as much as possible, especially as they become more complex. I’m working with Character Studio Biped as a base, and then adding custom roll/twist bones on top of this, so it made sense to take the time out to develop a script that could connect up several rollbones in a rig so that I’d get the same results every time. The first and most obvious thing to do was to create these extra bones using script, so I wrote a function called BuildNewBone that builds a new bone between two points and links it to a parent.

The next step was to connect these new bones to the Biped system so that they would behave in the way I wanted, rotating based on the underlying rig. Biped is a relativley closed system, so to query the rotation of Biped bones you need to expose the internal values using expose transform helpers. I set these up via script, so that as well as always having the same name I can position them on screen and even set their colour for easy identification.

Wiring rollbones in max uses the paramwire.connect command, and this takes three variables: the driving or controller bone (in the case of Biped I use the aforementioned Expose Transform Helper as the driver), the bone you want to affect, and a control expression which controls the amount of twisting.

With twist bones like the forearm twist you will most likely want to affect them on the X axis only so that as the hand rotates the rollbone will twist around the forearm bone. Bones like a neck roll however will roll in all three axis. Also in the case of the twist bones like the upper arm twist bone which is parented to the clavicle then you require it to follow the driver bone (in this case the upper arm) 100% in the Y and Z axis.

What I was finding was that I was calling the paramwire command several dozen times to link up an entire skeleton, sometimes calling it 3 times in a row with the same rollbones just to specify a different axis each time.

To makes thing easier for myself, I ended up writing a function to wire rollbones where I could simplify this to a single call:

-- Wire up a Local rotation rollbone given a bone to roll, a controller object and a roll amount per axis.
-- If any of x, y or z are 0, skip the wiring for that axis (inherits parent rotation)
fn wireRoll theRollbone theDriver xr yr zr = (
if xr != 0 then
controlExp = "Local_Euler_X*" + (xr as string)
paramWire.connect theDriver.baseObject[#Local_Euler_X] theRollBone.rotation.controller[#X_Rotation] controlexp
if yr != 0 then
controlExp = "Local_Euler_Y*" + (yr as string)
paramWire.connect theDriver.baseObject[#Local_Euler_Y] theRollBone.rotation.controller[#Y_Rotation] controlexp
if zr != 0 then
controlExp = "Local_Euler_Z*" + (zr as string)
paramWire.connect theDriver.baseObject[#Local_Euler_Z] theRollBone.rotation.controller[#Z_Rotation] controlexp

So with a calf roll that is parented to the calf bone, I want it to make it rotate 50% in the X axis as the foot rotates in the X axis:

wireRoll $'L Calf Roll' $eTM_LFoot 0.5 0 0

Education vs Selfteaching part 2

After reading a recent article about a graduate not being able to get a job (and the resulting furore surrounding it), I thought I should revisit my short post on Education vs Self teaching. Previously I had had stated that I thought education was becoming more relevent (but not there yet), and I still stand by that.

However by revisiting this in light of Brian Nathanson’s article and after looking at his portfolio I thought there were some others things worth mentioning. Brian didn’t seem to have a portfolio – he had a collection of images, some of which were based on his coursework at college. The truth is that a university education isn’t there to build a portfolio for you, it’s there to teach you how to use the software via a series of assignments. You get an understanding of how everything works, but the finished works are not relevant to a portfolio. In much the same way I learned French at school (with a passing grade), but I wouldn’t use my French homework on my CV to get myself a job as a translator.

As Adam Bromell said, you have to throw away everything you have done on your course and create your own portfolio using the TECHNIQUES you have learned. That’s the real reason you went to the class.

Is everything built uniquely for each title you work on?

Do we re-invent the wheel? No, but we might refine it.

You wouldn’t build a pair of hands if you had built a perfectly good set with nice UV co-ordinates a week before, would you? No, that would be waste of time. If you had build a chunky pair of male hands and wanted a more slender pair for an elegant female model you’d simply slim them down or elongate the fingers.

Re-use, re-work and recycle.

As you build models you are essentially building your own library of resuable assets which you should recycle over multiple models and even multiple projects (legal issues aside). If you picked up the excellent D’Artiste Character Book 2, (the Gears of War one), you’ll see how they reuse not only vast chunks of models – legs, heads etc, but smaller parts like fingers, noses, teeth, buckles, buttons, insignia. When you are in a production environment it is much better use of your time to grab existing elements and integrate them into your newest work, and spend the time you saved on polishing it instead.

Technorati Tags: , , ,