Testimonial

God of War II has made it into format, and I'd really like to thank you and the rest of the people who worked on SN-DBS.

It made the end of production a much easier process for all the programmers, and we all really appreciate it. 

Ben Diamand
Senior Programmer
SCEA Santa Monica

We're Hiring!

Toolchain Engineers

SN Systems has exciting opportunities for Toolchain Engineers to join our teams in Bristol, UK and San Jose, USA.

Within the team, emphasis is placed on designing robust and maintainable applications.

Find out more...

Meet the Team

Q&A: Optimizer Team Leader


Greg, Optimizer Team
Leader

How did you get started in the game industry?

I've always wanted to be involved in developing games. As a young child I used to write simple games in BASIC using letters of the alphabet as graphics on my VIC-20 and later my Amstrad CPC. I got this idea that I'd be able to work from my bedroom writing games on my own. Obviously things have moved on slightly in the meantime!  It is a shame that you can't just turn on a home computer and be able to start writing code nowadays though. I'm not sure I ever would have discovered the hobby if I'd had to actively go and seek it out by downloading a compiler, etc.

Once I finished school I went on to study for a Master of Engineering in Computer Science at the University of Bristol.   While I was there I became interested in compilers and computer languages. For my big final year project I developed some compiler testing software for a local non-games related semiconductor company. I ended up working with them as a contractor for a year after graduating. This was really useful and I learned a lot of skills that I am able to apply now such as being able to consider what code actually looks like at the hardware level.

When that came to an end I started job hunting. I wasn't specifically looking for something to do with game development, but then heard about a role within SN Systems working on a C++ toolchain (e.g. compiler, linker, binutils) for the PlayStation®3. I knew that I had to get it as it combined my interest in compilers and my love of video games, it also happened to be within easy walking distance from where I was living!   Thankfully I got the job. That was just over a couple of years ago now and I couldn't be happier.

Presumably, a tools programmer needs awareness of the complete art-production pipeline. To what extent can you train for something like that?

Tools programming covers a broad range of different areas. In my particular area I am primarily focused on the programming aspect and trying to help game developers work as efficiently as possible and create the best code they can. To that end it is important that I understand their workflow which often may involve aspects other than the programming side. Of course other tools developers will be primarily working on tools designed to help that side of things and their challenge will be to understand the workflows of the users using their tools and how they fit into the process as a whole.


On a recent visit to San
Francisco

There's not really any way to train for that other than just visiting and talking to developers and seeing how they work. I've been lucky enough to have had the opportunity to visit studios in the UK and Europe to discuss our tools and see how the developers work and the issues they face. I've also been to a few conferences including the Game Developers Conference in San Francisco earlier this year where all aspects of game development were on show. It was really interesting to see all of the different tools out there solving problems in areas that I'd not even ever considered.

The other thing that is useful is that a number of people here at SN Systems come from a game development background themselves, so they have first-hand experience of the entire process.

How has the job evolved over recent years?

In a way it's hard for me to answer that as I've really only been involved myself for a couple of years, however even over that time I have definitely seen changes. As developing games has become more and more complex so have the development tools that accompany them. When a studio invests millions into a project they want to make sure that the tools being used are best tools possible and its SN Systems job to make sure that they are. We have to be sure what we release is as rock-solid as we can possibly make it, as it costs developers time and effort if they run into problems and that is the last thing we want!

As a result, the size of the team has grown considerably since I joined and is still expanding. We need more developers to test as well as create development tools than ever before.   As well as our main office in Bristol we've recently opened a new office in San Jose, California where I spent just over a month earlier this year working with our compiler engineers over there. Having engineers working in multiple time zones means that development and user support can continue pretty much around the clock but it does present whole new problems with how to effectively communicate with each other so that no effort is duplicated and everyone knows what is being worked on.

What would you consider the ideal portfolio for a prospective tools programmer?

There are so many different routes into tools programming that it is impossible to say. We have many people working at SN Systems that have come straight from the video games industry with plenty of published game titles under their belts, and others that probably never even picked up a game pad before they came to work here.


Working hard on some new
optimizations.

The thing that we all have in common is a talent for problem solving. I think if someone can demonstrate that then they are already halfway there.

Not everyone here is a C++ guru or knows the ins and outs of the entire instruction set on the processor, but certainly a demonstrable understanding of writing good solid efficient code is a requirement.

Programming is just one part of the role though. Good communication skills are essential both inside the team and when dealing with users of the tools. You can be the best coder in the world, but you also need to be able to function as part of a much larger team and be able to provide support to users. Often this will be via email and our developer support forums, but also may involve visiting them in person.

It doesn’t hurt to have decent PES skills either as our daily lunchtime sessions are thing of honour and pride, losing isn’t an option.

Would you agree that so-called "abstract programming" degrees are no longer worthwhile?  Game Design and its ilk becoming the equivalent of Media Studies. Or is that a misconception?

I don't think it is fair to say that courses like "Game Design" are not worthwhile, but I would urge caution and careful research about what will actually be involved in the degree. I don't even know whether they were around back in 2001 when I was applying for university but the thought never even crossed my mind to apply for something like that. I think the key thing to bear in mind is that doing a game design course will not automatically gain you entry into the industry, and I would worry that employers outside of the games industry may not understand what is actually involved in a games degree and look down upon them compared to a more 'traditional' subject, probably unfairly.

It's a challenge for the industry and the courses themselves to make sure that what is taught actually matches what the industry is looking for.

Can tools programming lead to careers in studio development?

I certainly don't see why not. It's extremely good for making contacts at different studios and getting hands-on experience with the way games are made, but I definitely don't see it as just a stepping stone into a career as a developer in a games studio myself. Never say never, but right now I feel like I'm in one of the most interesting and privileged places to be in the entire industry. You don't get your name in the game credits but the sense of satisfaction of being pivotal to the creation of triple-A titles is amazing.

One of my ambitions is to one day be able to walk into a games shop and see a shelf full of PlayStation games and know that I indirectly or directly contributed to them, that's one of my favourite parts of my job. As a tools programmer I'm not just working on one game at a time, but multiple games. Sometimes this will involve going to visit a studio for a day or two to look at code optimizations with them, and other times a studio might just give us the full source to their game in development so that we can work with it to try and squeeze every last drop of processing power that we can out their code. I love it when I read magazine previews of games that I've been working with for months already!

The other question you didn't ask is whether games development can lead to careers in tools programming and the answer is again most definitely yes. There are a number of people that I can think of from a game development background working in tool programming at the moment. They have a good understanding of what game developers want having been there themselves which is always useful.


This is a representation of an article that appeared in issue 193 of EDGE magazine.

To subscribe please see: http://marketing.futurenet.com/__data/assets/file/764061/edge-200407.htm

 

© Copyright 2006 - 2010 SN Systems Limited