Sony subsidiary SN Systems is the company behind much of the tech in its parent company's platform developer environments, including that of the NGP.
Develop met with some of the once-independent organisation’s core staff to find out more about an outfit that has been part of the Sony family since 2005.
How has SN Systems been involved in the creation of the NGP development environment?
Bernard James, VP, development: For the NGP development environment we provide the compiler, debugger, target control and performance analysis tools.
They are improved versions of what we provided on PlayStation3 and PSP. At the early stages of working on the development environment we redesigned a lot of the tools based on the feedback we had from the last five years of PS3.
The big message was that people coming into the industry from scratch had learned a lot of their bread and butter programming skills on things like Visual Studio Express, perhaps while they’d been at university, and in that circumstance they get very familiar with working in their IDE. Sometimes they can find the context switch of moving to a new IDE difficult, so it was something we wanted to address as part of the whole, ‘making NGP development as easy as possible’ goal.
That considered, this time we built our debugger into Visual Studio. We’d been asked for it for a long time, and we did take careful consideration over the decision. The previous debuggers were made without Visual Studio, but they provided additional features that Visual Studio didn’t. It was a tough decision when we made it, but the feedback we’re getting from NGP developers today has told us that it was the right decision.
So, relative to the complexity of creating a game for a new platform, there was a focus on designing a development environment that was accessible and welcoming?
Andy Beveridge, director: It’s not something we’re really known for, because we have a habit of targeting the power users.
We’re geeks ourselves, and Martin Day – co-founder and research director of SN Systems – and I are ex-game developers, and we love the technology, so confronted with something like PS3, the first thing we think is ‘how are we going to support debugging all of those SPUs, and how are developers going to use them?’.
But that isn’t the first thing developers think when they first come to PS3. However, on the PS3 tools, that is the direction we went, and we added support for all the intricate hardware.
The fancier it was, the more diagnostics we could show developers, and the more they could interact with. That can be different from what some developers coming to a platform would expect.
This time around we have thought about how developers pick it up and how they get started.
But then NGP, and all Sony’s hardware for that matter, is renowned for power, so I presume the development environment is still relatively ‘fancy’.
Beveridge: Certainly, yes, and there’s still a lot more we can do, but we wanted to get the basics right first, and based on the third-party feedback we know that was the right thing to do.
And how does SN Systems distribute its development environment, and what service does it provide?
Tony Liviabella, developer services manager: They’re part of the SDK so when studios get their SCE development hardware they also get access to the private developer network site that is provided.
Developers can just download the tools as part of the SDK at no additional cost, as well as lots of other useful resources including forums, online private support, training videos, samples and documentation.
We also have a Developer Services team in place, to provide further help and support. SCE and SN provide support engineers who, as well as offering online support, also visit developers onsite to assist in any way they can. It’s all part of the PlayStation development experience and is aimed at supporting developers so they can deliver the very best games they can.
Creating development tech for a new device like NGP must be difficult. What challenges defined the experience?
Beveridge: ARM wasn’t a surprise; we’ve worked with ARM before – albeit a slightly different ARM, so that was fairly straightforward. One of the biggest challenges for us has been the performance analysis side of things.
Something that was always very difficult for us when we were independent was the GPU side. We do CPU tools.
We do compilers, assemblers, debuggers and so on. The GPU has always been something that game developers really care about, perhaps more than the CPU. GPU throughput is almost everything to them.
Because we were always CPU focused, and left game development before GPUs really took off, at first we never really understood it. It was the reserve of studio tech-lead developers. Not having that in house, we just left it alone.
This is the first platform that we’ve actually got part of the product that is a combined CPU and GPU analysis tool, and that’s been a multi-territory, multi-team development effort between ourselves, the SCE R&D departments in the US and Europe, and the first party guys (WWS – SCE Worldwide Studios). It was a lot of work, but it’s been worth it for what we now have.
James: On PS3 there was a separate CPU tool called Tuner that we developed and a separate GPU analysis tool called GPAD that was developed in the US.
Beveridge: And GPAD and Tuner came out pretty late in the cycle for the PS3 as well. NGP already has all of that kind of thing within one tool.
Liviabella: It’s called Razor, and although it’s led by one of SN’s senior guys Tom Charlesworth, it’s very much a joint product bringing together a variety of experienced teams and knowledge base. At the point when we were bought by SCE there were lots of different tools that did lots of different things. We’ve all worked on collaborating internally to minimise duplication of work and deliver better products to developers.
Beveridge: When we were independent, we would get given our first look at a dev kit at about the same time as the first third-party developers got a look at it. In that situation our customers were already having to develop their games, and they were phoning us up straight away asking if we have any tools, to which we had to say ‘no, we’ve only just got a dev kit’.
We needed a few weeks, and it meant a lot of shipping tools for free as betas to the developers. That was in the old days of course, and it’s very different now, as well ahead of release we’re able to plan what the tools are going to contain and what the schedule for bring-up should be.
How intimately do you know the inner workings of the NGP? How are you involved with the product’s development?
James: I feel our job is just to make the development environment as easy to use as possible, almost to the point that it is invisible to them. The challenge from there is one that is the game developers’, but if we don’t do a good job, it doesn’t allow them to go ahead and make the most of what the hardware offers.
Beveridge: We are pretty obsessed with the tech at a very low level, so really we’re not involved with a console as such. We don’t even see a console; we see a pile of circuit boards. We essentially don’t see the touch sensors or fancy screen.
James: Of course there are parts of the system that our tools have to interface with. In the past we had no influence over the design of a system, which meant there were constraints our tools had to work around. This time, with the NGP, while it hasn’t been easy, we have been in early enough to work with those other teams on parts of the system that are in the hardware that effect us. Those are guys with their own challenges and their own deadlines, but we, and Andy in particular, have been to Japan so many times for fairly long periods.
We’ve got very good working relationships with them, and they very much understand our perspective when we ask them to put a certain change in that they may not think is needed.
Would it be fair to say, then, that there has been a more collaborative approach to developing the NGP and its development environment than with previous platforms?
Liviabella: Most definitely, lessons have been learnt and we're all very much working towards one goal. Different teams in different regions all have a duty to communicate and ensure we're working in the same direction. We've certainly established some very important relationships with different development teams and studios across the world.
In fact, many of the lessons and changes we've made to NGP have made their way into our PS3 tools as well. Let's not forget, PS3 is still very much a huge priority for us and we have lots of great titles still yet to be released, so anything we've learnt from NGP is usually transferred to our PS3 development environment as well. Like any merger or take-over, there's a learning curve and it can take time, but time has moved on now and we're very much part of the PlayStation development network.