GS: What do you think of your competition, physics-wise? It seems like AGEIA may be in some danger, given that they were tied to hardware acceleration.
JY: In terms of software and what the software is able to do, we feel confident that Havok physics - especially in terms of functionality and platform support - is comfortably in the lead. Through the last 18-24 months, we've stayed focused, and have said, "We will make it cross-platform, we'll make it as fast as it will go, and we will support you." I think that when you're a hardware company, software is a means to an end. It's very difficult for a hardware company to persist and do all-around solutions. Apple is one of the few exceptions. I think that causes a bit of challenge.
There's certain aspects of what they're working on from a software technology standpoint that are very interesting, but I think they're pursuing it because it's what will sell the hardware. So we'll see. We certainly don't want to be arrogant or take our eye off the ball. We want to stay focused on what our customers are asking us to do. That's focused on cross-platform, console-first kind of stuff.
GS: What do you think of companies that use Havok as a selling point and then don't use it very well? I've seen a few examples of that.
JY: It really falls back to us, to work with those customers as much as we can. At the end of the day, though, they have constraints too. Sometimes they may come to it very late in the development process. It's always very tough for us to see a game come out that either isn't using it or isn't using it well, because it's still a tricky thing to get things integrated nicely. So it's a bit frustrating, but it's our problem too. We focus on helping our customers. That's a part of our product. If we don't have great integration, then that reflects badly on us.
GS: Do you find people coming to you late in a project when they have failed to create proper physics?
JY: Sometimes! If a team has worked with us on more than one title, we get a good thing going where we get in early and have an opportunity to suggest changes. For people we haven't worked with before, though, there's a tendency for them to go silent on us. Then they come back and ask for help, and it ends up being really intense for everybody. We try not to let that happen, but it does happen sometimes.
GS: How much of what you do in the future comes from those kind of calls where people ask you what is possible currently?
JY: A lot. Understandably, people want to know what is possible, and I think the tricky part for any software company is when somebody says something like, "I want to have fluids running through the hall and seeping into the carpet -- go build that!" Algorithmically, you can go do that kind of thing, but what you really want to understand is how much of your compute cycle you're willing to dedicate to that. If I can't do it in under two milliseconds, for example, maybe you don't want it. We try to ask customers whenever they have a feature request whether it's important to the gameplay and what our target is for performance and memory usage. In general, we try to sort it all out and pay attention to what our paying customers and potential paying customers are asking us to do.
GS: How much are the next-gen consoles changing that memory usage?
JY: It's changing for sure. I think the PS3 has great potential, but it's a very different kind of architecture. If people build their games with an understanding of what their challenges are going to be with porting between consoles, we can do a lot. In some cases, though, we're seeing people start with a 360 SKU and defer thinking about the PS3 port later. That can have some pretty dire consequences for how you process your art. We try to advise people that if they're thinking about moving to PS3 eventually, that they need to talk to us at the start so we can get things sorted out. I think that's going to be a very big challenge for everybody for awhile, because this idea of many, many cores with smaller local memories will present a lot of challenges in many different directions.
GS: At this stage, I've heard some people say that when starting with an Xbox 360 version, they have trouble getting the PS3 version to look as good later on. It's interesting, because the PS3 is potentially more powerful.
JY: I think a lot of it has to do with slicing and dicing the task and moving it to each of the smaller processors. Those processors are really powerful, but you have to plan for it. We've spent the last two years re-architecturing our software so that you can have one interface that, when used appropriately, can get maximum use out of the SPUs. You do need to plan for that, and if you have one massive world presented as one object, it's a little more challenging. It takes preparation.
GS: Do you have any existing support to split things across those SPUs?
JY: Yes. We can take that stuff and automatically split it. But as with anything, there are pathological cases where if everything is piled all together all in one place at the same time, you can get performance spikes. Most of the gameplay situations we see feature lots of activity spread out over a variety of quadrants. Those situations efficiently use up the cycles that are there.
GS: It's interesting to see how things are progressing, since people aren't even maximizing the usage of the Xbox 360's cores yet.
JY: Yeah, and I'm hoping that just means that there will be more cycles for us once people start plugging stuff in the right way. There might be lots of cycles we could suck up, which would be cool.
GS: What troubles specifically have people had with moving from 360 to PS3?
JY: There are certain things that are proprietary and need to be walked around carefully, but I would say that you don't have to go back, for example, and redo the art, but you may need to re-export or reprocess the art to chunk it up differently. For our stuff, it may be to store the right amount of information locally, so that when information is passed around the system, it has everything it needs to do its job.
GS: I suppose it's because you can use bigger chunks on 360, whereas on PS3, you have to chop it up a lot more?
JY: Yeah, you have a more unified memory architecture on 360 and PC in general. I think that there are merits to both, though. If you can move the world over to many processors and structure the game so that you can dice stuff up, there's a lot of leading-edge technology out there that seems to be going in that direction. That might just be one of those paradigm shifts that the software development component of the game industry goes through over the next five or ten years.
GS: How important do you find hard drive use on consoles?
JY: I personally haven't heard of us needing that specifically. I would imagine, though, that with worlds being very physical and in need of persistent terrain, that certainly will require saving on a lot more estate than has been required before. That's got to be put somewhere, and I suspect that a hard disk is the only practical place to do it, unless it's an online game saved on servers. That's one of the next chapters for physics - being able to capture a simulated world and being able to come back to it in the state you left it.
GS: It’s going to be really sad when things become really solid like that - I enjoy breaking games.
JY: Well, I think that the more people who aspire from a development standpoint for complexity, the more ways there will be to break stuff, especially with procedural animations. Everybody wants emergent results, but when you get that, you actually have a very hard time testing it. It's a very serious practicality issue that everybody is facing. Ragdoll and physics are the same way. You can stack things up and get out of a game's world! It's pretty wild. Somebody should design a game based entirely around that premise.