News Meet the Team #6- Ben Parry (Graphics Programmer)

Status
Thread Closed: Not open for further replies.
Meet the Team #6- Ben Parry (Graphics Programmer)


23kszr6.jpg


Welcome to the 6th Meet the Team Interview. This week’s interview is with graphics programmer Ben Parry. As the lead for the render programming team on Elite: Dangerous Ben is one of the people responsible for innovating the underlying render technology behind Elite: Dangerous, so that every model, material, effect or light source is as impactful as it can be, without being resource-hungry. As usual we start this interview with an introduction from the man himself and ask him what exactly a graphics programmer does:
I’m Ben, I’m currently organising the Elite side of the render programming team. We’re kind of separate from the main programming team so sadly a lot of the programming questions went right by me since I never have to touch those areas! To clear up what graphics programmers even do, I’ll just give examples of what we’re doing right now.

Tom is writing a component that allows the game code to set the colour, thickness, and a bunch of other properties when rendering laser beams, as well as adding shaders to make them flash and sizzle.

Les is writing the decal renderer that will splat burn marks, glowing from lasers, and possibly custom-positioned paintwork detail all over the outside of anything we want it to.

Nick is working closely with the art and tools teams, since he’s working on the shaders that take the various layers of detail and turn them into something that looks like an actual planet.

My specialism for this project has mostly been full-scene things, like updating our lighting model to a “physically based” system. At the moment I’m working on changing our lighting pipeline to a system that makes it easier to drop a lot of small lights in a scene, and not be bound to a limited set of light types. This way we can throw in things like light radiating out from the full length of a laser beam, or a big fat area light coming off of a planet.

So in summary, we’re the people who provide a big toolbox of nice-looking things for the art team (and occasionally VFX when they’re lucky!), who can then do amazing things without having to write code to do it (it’s weird, they really don’t seem to like writing code!).

How long have you worked at FD and what projects have you worked on?
I’ve been here for about four and a half years. I arrived just as we were gearing up to start Kinectimals, and have worked on Kinectimals Mobile, as well as the beginning of Disneyland Adventures and the end of Coaster Crazy. I’m looking forward to releasing a game on a platform I actually own.

What makes a good GFX programmer?
There seem to be two ends to this – the group at Frontier that I’m in seem to benefit from a) good vector maths skills and b) a tendency to just stop and stare at puddles, shadows, light fittings, rusty cars, and so on. I suppose a good reading appetite helps too, it’d be difficult to keep up with the latest research otherwise. The other group at Frontier focuses on terrifying, confusing things at a very low level. Without them we couldn’t do graphics at all but I don’t know what makes a good one because they’re essentially wizards to me.

What is a typical day like for you?
I walk to work, so the first thing I do is get changed and run my head under a tap for a few minutes. Then I update my code and resources, start them building, and head downstairs for a ten-minute meeting with the rest of Team Render where we tell each other what we’re expecting to work on that day. My tasks on Elite so far have all been pretty big, so after that I usually just pick up whatever I was gnawing on the day before and keep going at it. Occasionally I take time out for a meeting or a visit to whoever my contact is on the art team.

What are you working on right now?
Right now I’m working on the guts of the deferred lighting system. The game’s full of tiny spotlights, running lights, laser beams, etc, so we need to make sure that each one costs as little processor time as possible.

When you applied to work for Frontier, were you secretly hoping you'd get to work on a new Elite?
I was in such a mess of job applications that I didn’t even make the mental connection. It’s a little embarrassing, given that my portfolio had a programmer-art rendition of the Cobra III splashed across its front page. Did it improve my chances? I have no idea.

Are you a long-standing fan of science fiction? If so, what are your favourite films/books/games in the genre? If not, what's wrong with you?
I used to be a big Trekkie and I’ll still happily consume any junk Sci-Fi/Space Opera that’s left within reach. Books-wise I’m a big fan of the late & great Iain M Banks, just for writing a universe where people seem to have thought through the implications of their own technology. I also like Anathem by Neal Stephenson; it was so readable that by a fifth of the way through I didn’t even care if the plot was going to show up or not. The only thing I can’t deal with is a bad parallel universe or time travel plotline, where the protagonist “has” to kill himself. Fringe and Looper, I’m looking at you!

Have you ever played the original BBC Elite at all? When you first saw it what did you think of it?
Not the BBC edition but I used to own very few games other than the PC port of it. When I first played it I thought it was HARD.

Have you ever been a Modder? Have you tweaked, changed and worked on games just for own enjoyment outside of work?
It took a few failed attempts before I got into programming full-time, one of those attempts was a set of mission scripts for Independence War. Besides that, any time I might have spent modding I’ve instead spent tinkering with the never-to-be-completed game engine I’ve been working on since university.

Many people in the community are beginning to ask about system specs for Elite: Dangerous and how powerful a machine will be needed to run it. Whilst we’re not at a stage yet to confirm these specs, how scalable do you think the graphics will be for supporting a range of machines?
We’re still at the point of piling features in and seeing what breaks, really. Once we have a version of everything we want in there and some representative test machines for the various quality brackets, it’ll be easier to know what to squeeze. I’m not particularly worried though, since we can do things like progressively dropping less-important lights and shadows, switching to lower detail models and algorithms, etc.

There are some pretty wacky things bandied around on the forum. Do they create much of a talking point in the office and have they helped the development of the game?
I sit near enough to the design team that I get to hear the highlights, though it’s rarely things that directly affect me. On the other hand, I heard recently that we’re writing a software renderer? Let’s be clear, you are not getting me to write a software renderer!

How are you planning the game’s procedural generation in respect to future updates (AKA landing on planets)?
Some things are set in stone, for instance there’s no reason that later updates would change the continental layout of a planet, but it was decided a while ago that it’s acceptable for a later release to change things for the better – for instance we’re not going to try to perfectly anticipate how a later release will lay out cities when we’re placing city lights for this release.

What is your favourite ship from the Elite series and what role do you think you’ll be playing in the final game?
The Worm? No, that’s a terrible lie... The Cobra III is still the monster of the space lanes.
This kind of game tends to make bounty hunting so profitable that I just can’t resist. I’ll wait until the game’s out to decide, I’m hoping it makes me try something new.

Right, time to get technical! What do you think of the Lua vs No Lua debate that Mark Allen mentioned in his interview?
I’m totally on the sidelines for this, but personally I can agree with the arguments that a Lua-absolutely-everywhere model is just a waste of clock cycles and cache misses if you could have avoided it. On the other hand I know people who swear that it’s the way forward for things that need a natural feel. I imagine it would be useful for doing, say, a starport shop, where the first implementation will naturally feel cold and dull, and the quality of the experience is almost directly tied to how fast you can iterate on it to tweak details, rather than efficiency of implementation.

What sorts of procedural algorithms are you using? Voronoi maps, Djikstra, CA, etc.
I’m not directly involved in the procedural planets work, but the overview is that we’ve made a planet-creation tool (cheesily named “Genesis”) which allows an artist to stitch together a network of different noise functions, as well as the range of random variation they’ll allow on its inputs, while previewing the output in-game.

On the ship side things are obviously a lot more authored – they’re meant to look like they were designed and built by humans after all. The only procedural thing I can think of is that I’ve created (or at least half-finished) a system for slowly building up dirt and weathering based on the ship’s geometry.

Our very own concept artist and resident forum lurker, Josh Atack has a question for you: Phong or Blinn?
If we’re really going to go there, Atack, it’s a physically ‘plausible’ energy-preserving Blinn microfacet model, with an inaccurate geometry term to keep the rendering cost down!

Thanks to Ben for taking the time to do this interview, and to all you lovely people for reading it! In a continued attempt to show you the full spectrum of roles that go into developing a game like Elite: Dangerous our next interview will be with 3D artist John Kelly. If you have any questions you’d like to pitch to John then let me know below!

Thanks again, Ashley
 

Josh Atack

Former Frontier Employee
Frontier
Our very own concept artist and resident forum lurker, Josh Atack has a question for you: Phong or Blinn? If we’re really going to go there, Atack, it’s a physically ‘plausible’ energy-preserving Blinn microfacet model, with an inaccurate geometry term to keep the rendering cost down!

So controversial!
 
<Runs of to google Phong and Blinn>
.
.
.
<Comes back a little wiser>

Thank you for an interesting interview Ben.
 
Really good interview. I love hearing all the little details, like how the planets will be light-sources.

Quick question.... What's the extra bit on the Xbox controller for?
 
I am getting suspicious of these photo shots ... how much of your desk is really like that? and how much have you set up just so we'd (we = Mobius) zoom in and examine stuff for clues?
 
Really good interview. I love hearing all the little details, like how the planets will be light-sources.

Quick question.... What's the extra bit on the Xbox controller for?

its a querty keyboard for text chat in game and its sold under the name of the 'Xbox 360 Messenger Kit'
chatpad.jpg
 
Last edited:
Great interview. :)

On the subject of planets as light sources, does this mean that E: D will implement Earthshine? :eek: Or is it more about cumulative tiny lights from cities etc?
 
I can't help but think that the 'ship' on the nearer monitor is part of the Thundercats update to E : D that will appear as the first update... I'm right aren't I? I know I am.... In the meantime the one on the left looks like some kind of forward cockpit window on a ship of some description but in an earth-type atmosphere...

I desperately tried to read the name of the book being used as a monitor stand.

Good interview as always and pleased to meet you Ben.

PS - Wikipedia must've been very busy this evening... I had a peek at Phinn and Blong as well.... :eek: ;)
 
The book is 'Texturing and Modelling', I think.

I love an interview where I don't understand the answers (and I'm not sure I got all the questions,either).
 
Ashley: Thank you for resetting my password.

Josh: Deal with it.

Mobius: Do your worst. I mean best. Yes.

Slawkenbergius: It's a tiny keyboard. They don't actually work plugged into a PC but we're not meant to let them get separated.

Alien: You ascribe an unwarranted level of competence to us. I got Ashley to go away and give me time to have something interesting on my screen, then we took a photo that's totally bloomed out anyway.

Gavthomas: It's one of the buffers for the deferred renderer, it shows which way the surface is facing for each pixel. It's pretty.

MikeSnos: It's "Texturing and Modelling: A Procedural Approach". In all honesty I haven't read much of it, since I haven't ended up doing much procedural work. As for the left hand monitor, it's interesting that people will see what they want to - everything outside the cockpit is a flat white. It's actually my desktop wallpaper, an accident with exposure controls made my build look like a CGA-era game briefly.

Juniper: It's all about the Earthshine. One reason sci-fi films often look nicer than games is that they can get away with using a traditional three-point lighting setup that breaks down when you have a player moving the camera about, or can just generally pick a flattering angle. The more legitimate major light sources we can get in, the more angles we'll have that look nice, so it would be a crime to ignore that kind of an opportunity.
 
Gavthomas: It's one of the buffers for the deferred renderer, it shows which way the surface is facing for each pixel. It's pretty.

Ah, I see... Buffer, deferred renderer, yes of course. Glad I asked, I knew it wasn't just an orange ship, ahem.
 
@Ben Parry

Since you are working on the lightning system...

Will the holographic projections on the cockpit panel work as a real light sources and light up the interior "correctly"?
 
Status
Thread Closed: Not open for further replies.
Back
Top Bottom