As PS4 readies for release, Develop meets two of the creators behind the cross-platform tech provided
[This feature was published in the November 2013 edition of Develop magazine, which is available through your browser and on iPad.]
PhyreEngine is turning ten, and it’s been the same core team involved since the start. As part of that team, how did PhyreEngine come about?
Jason Doig, Senior R&D Manager, SCEE: Initially, it was just three of us. Richard and I have been part of the team since the beginning of PhyreEngine, and in fact since the beginning of having a proper research arm within SCEE. Traditionally our research groups have been based in Japan or America, and until we set up there was only really a support team in Europe. We never had that full research arm.
Then, around the beginning of the PS3’s development cycle it was decided we should have a research group, and it was my job to head that up, and Richard was the first person to join me.
Richard Forster, Senior Engineer, SCEE: Yes. Up until then I was developer support, and then I moved across.
Doig: So I’d hijacked him really. The other person was a guy named Michi Eder, who is still with us, so the original team is still here. He came to us from SCEI. He’s actually Austrian, but had ended up in Japan, and was coming back to Europe, so he joined us and formed the original SCEE R&D.
We immediately went and had various meetings to discuss what the PS3 was going to be, and very early on in the development cycle of the console people were discussing the software needs and where we should take it. It was said that a graphics engine was needed, so we said ‘yes, we can do that’ immediately. That was 2003, and that’s where the project started.
So what inspired those higher up at SCEI that a team of three in London were the people to produce the PS3’s graphics engine?
Doig: There’s two things there. It wasn’t necessarily deliberate that we got that piece of work. There was a research arm in the US that had done work for the PS2, and that had produced the research behind the EyeToy, which was eventually developed as a product here in London. So Sony’s research was always moving and taking place in different places.
But it was also a matter of dividing up the work that needed doing across the world, and at the point we formed – maybe a little late to the party – a lot of the work had already been picked off, but nobody had really wanted to tackle the graphics engine. It was quite a big bit of work, looking back.
But I’d had quite a lot of background in graphics, and I’d worked on the PlayStation 2 Performance Analyser with SCEI, so I’d gone over to Japan to do that. They knew that we had the expertise here in London, so they were quite happy we were keen to take on the graphics engine.
Over the last ten years, what has remained the same about PhyreEngine? What are its consistent, defining qualities?
Forster: We set down our own list of quite weird rules that we gave to SCEI for how PhyreEngine should be. That was at the very start, and that was where things like it being cross-platform and open source came from. That starting philosophy really shaped the engine.
Doig: We had very firm ideas about the engine right back then, and I’d done some engine tech stuff previously, right back when first-party was still called Psygnosis, so we’d already done cross-platform PC stuff and things for other consoles. And so when we were setting out that philosophy for a graphics engine to be released to developers, I said that it had to be cross-platform. Up until that point Sony’s SDKs and such had naturally not been cross-platform, but with this engine, I knew nobody would adopt it unless it was just that.
But why is that? Why would proprietary SCE tech be cross-platform?
Doig: Well, we can write a really great graphics engine that isn’t cross-platform, but people won’t adopt it, because they need that flexibility to use it on other platforms before they will really feel comfortable using it. That was really important to us right from the start.
The other thing we set in place that early on was a real focus on support. We knew that would be very key for something like an engine.
Forster: And I think over the ten years we’ve achieved a lot there. The feedback we’ve had there has always been good, and we’ve always tried to be as helpful as possible with everything we do with Phyre. And that remains really important to us today.
That must be especially pressing with new technology coming out every year.
Doig: Yes, that’s right. This kind of work is never a static thing, and even our oldest users are still doing new things with PhyreEngine, meaning we’re always busy adding things.
On the subject of industry change, have you had to alter PhyreEngine in response to the rise of the small studio?
Doig: It’s interesting. We really saw that make an impact at the change from Phyre 2 to Phyre 3. Before then it was always a fairly familiar product, and somebody who knew the first version would easily understand Phyre 2. Phyre 3 was quite a big change, and that was a deliberate response to the arrival of Vita.
Up until that point we’d only really considered PS3, and we’d done a PC version with cross-platform, but we’d not until that point considered a platform that doesn’t have multi-core architecture, such as the CPU of the PS3, and lots of SPU optimisations.
That meant going to something that was a mobile gaming platform, while also considering that a new home console was on its way that was going to be truly very powerful, we needed to design an engine that was a great deal more scalable, so that prompted a lot of changes.
Forster: Certainly, we had a great grounding in PS3, but that left us with a difficult challenge for PhyreEngine 3.
Doig: But we knew that if we were going to have to re-architect some of the core stuff, we should also take the time to respond to some of the bigger developer requests we had had over the years. When developers asked for something smaller, that was relatively easy to do, but when they wanted a major change it was very hard to do without breaking things for other developers. But with Phyre 3, in going back to the drawing board and looking at what everyone was wanting from the engine, we had a real opportunity.
The main thing there was the shift from it being a graphics engine to being a games engine. We had to incorporate more tools and components and change the focus a little bit, and that was the point we saw the engine’s appeal broaden. But it wasn’t honestly a deliberate attempt to appeal to more indies back then; we were just trying to appeal to the developers we already had on board. It so happened that there was a bit of an overlap. Those kinds of studios were our core market anyway, and we’d been changing the engine to suit them. Studios like Thatgamecompany were the kinds of teams using PhyreEngine.
How is PhyreEngine distinct from other parallel middleware offerings?
Doig: That’s a tricky one, because we’re not really a traditional middleware with parallels out there. If we were trying to make PhyreEngine a commercial product, we would have probably done things differently, but we don’t have to be that. The fact that we are part of an SDK and part of a bigger platform actually shapes what we are.
Our focus, however, is offering a solid, technical platform. We’re not providing a complete solution and we’re not trying to. Traditional middleware tends to be, if not complete, something with a large depth of features. What we try to do is provide something with breadth; a good solid foundation for whatever game you want to do.
With PhyreEngine we also expect developers to be doing a certain amount of building their own tech on top of that, rather than getting straight in there and making it. That also plays into the kind of game developer we attract, with Thatgamecompany using us as a framework to build on. An engine off-the-shelf may be more complete in a way, but by the same turn it can be more restrictive.
Forster: In fact, John Edwards [Thatgamecompany] spoke at GDC a year or two ago, and compared our engine with other middleware platforms. He told us PhyreEngine got him on the platform, while other tools told him how to make his game.
Doig: So in that way we’re really a skeleton. But where we have strength and depth is the technical features on our platform. So, for example, if you want to use a particular feature of PS3 or Vita, we’ll have a really good solid implementation of, well, the likes of graphics rendering. Our strength is supporting our platforms.
So how involved in the development of the PS4 has the PhyreEngine team been?
Doig: We’ve very much been involved. Obviously the main focus is on the development community, and their games. But certainly with Sony hardware, and Vita especially, we were involved in the very early days. With Vita we were on board in very confidential meetings, as a two-way thing really, so we can feedback on what we need, and for us to get information to feed back into the design on our engine, as we can’t wait until the platform comes out. And it’s similar with PS4, and with PS3 really.