People are mad that, at least at the outset, the PlayStation 4 won’t be backwards compatible. Jim Sterling briefly mentioned it this week and MovieBob commented about it on Twitter. Hiding behind all the speculation about how the device will look and how much it will cost is a pretty reasonable question of “Why can’t the machine run old games?”
It seems like crazy decision. Consoles gain value as their library grows. They also gain brand loyalty. If I have a bookshelf full of Xbox games at home when my Xbox dies, then it’s a safe bet I’ll just replace it with a new Xbox even if there are other, cheaper, more popular, more reliable devices out there. I’m tied to the machine by the library, and the longer I’m with the machine the bigger the library gets. It’s almost like a cell phone where the penalty for cancelling the service grows over time. A lot of other businesses would LOVE to have this kind of soft, incremental lock-in.
But if the new generation isn’t backwards compatible then I’m cut off from that library. The incentives tying players to the platform are gone. When you break compatibility you’re setting your customers free to dabble with the competition and begin a process of gradual lock-in with them.
(Aside: Yes, I know they suggested that they would eventually allow access to old titles with streaming. I’ll just point out that OnLive was positioned better than anyone to make streaming games work, and they are not doing well. While the service was better than people thought was technologically possible, it still wasn’t as good as playing the game on a local machine. All I’m saying is that this promise of “cloud gaming for old titles, maybe, someday” should be viewed as the pie-crust promise it is.)
So why do it? Why break compatibility? Why piss off their fans? Why give people a reason to go to the competition? Even for people who stick with the platform, why force them to have this huge pile of teetering, tangled devices just so they can play old games? How does this help Sony? While I can understand this frustration, it’s interesting to note that this is probably an unavoidable outcome of a Very Dumb Decision that was made over a decade ago. Sony brought this on themselves.
We’re going to have to get technical here. If you’re not a hardware or software engineer, don’t worry. I’ll keep this as simple as I can. If you ARE a hardware engineer, try not to flip out at the simplifications I’m using here.
The PlayStation 3 uses the Cell Architecture. That’s a system for getting a bunch of different processors to work together. On most other devices you have a single powerful processor, or perhaps a powerful central processor and then another processor specifically designed for graphics. On a cell machine, you have many smaller processors (on the PS3 it’s six) that are each dedicated to specific tasks.
In theory all those extra processors let you do more processing, but only if you can keep them all busy. It takes development time to get the most out of the machine. Worse, this work must be done on the back end. If you’re porting to a machine with less memory you can just scale all the textures down and render everything at a lower resolution. But if you’re porting to or from a cell system, the coding team has to crawl down into the guts of the game engine and make all sorts of really fundamental changes to how the system works. The point is, it’s difficult and expensive to port to and from cell-based machines.
It’s time for a terrible car analogy:
The Xbox parcel delivery service has a single mail truck that can carry two tons of packages. The Sony delivery service has a glorious fleet of six trucks that can carry one ton of mail each. This means Sony can carry three times as much mail, right? Except, one truck only carries small boxes. Another truck only carries boxes or letters. Another truck is for only large boxes. Another for junk mail and Christmas cards. And so on. It takes a great deal of planning to get the right mail to the right trucks at the right time to hit that ideal maximum throughput, and that’s assuming you have the right ratio of stuff to deliver. If you have only large boxes, then your system is actually half the speed of Xbox. If you have a single two-ton object to deliver, then you can’t deliver it at all. (This was the problem faced by Rage, since that game used a single massive texture for the whole world and so the texture data couldn’t fit in either half of the PS3 memory pool.)
The cell architecture has not been good for the PlayStation 3. They released the most expensive console of the generation and gave it the most difficult hardware to develop for. Then they cut it off from the spectacular PS2 library. They were in third place, and a lot of developers thought it wasn’t worth porting to the mutant console. This probably gave the Xbox 360 more exclusives than it might otherwise have deserved, which only made the problem worse for Sony.
So now we come to the PS4.
According to rumor (in this case, I’m going by Wikipedia) the PS4 will move away from the six-headed beast of cell and embrace the x86-64 architecture. That’s the same architecture that runs most 64 bit PCs. Since the Xbox 360 uses PowerPC architecture instead of x86, we could end up with a situation where the PS4 has more in common with your average home desktop PC than with the other consoles.
Under normal circumstances you could argue that emulation is the answer. If the newer machines have enough power, they can simply simulate the behavior of the old machines. The problem is that emulating the cell architecture on a non-cell machine would be a nightmare. Even if the new machine is ten times faster than the one you’re emulating, you’re talking about emulating multiple concurrent processors. While processors have been getting incrementally faster over the years, their clock speeds have only improved marginally. More of the new speed comes from muti-core processors, and mapping a (for example) single quad-core processor to simulate the behavior of a six-distinct processor cell is a murderously difficult problem. It might even be impossible to get it exactly right. The differences between multiple processors sharing a pair of memory pools and a single multi-core processor with many levels of cache and a large single pool of RAM are extreme. The real irony is: The better the old game was optimized for the PS3, the harder it would be to port or emulate on the PS4.
Having said that, I can’t fathom why they wouldn’t emulate PlayStation 2 games. The hardware for the PS2 is peanuts now, and the library is massive. Just sticking a PS2 inside the PS4 case and having them share the optical drive would be a step in the right direction. It would only add a few dollars to the price tag and would save us from adding another device to the fire hazard most of us have lurking behind the TV.
The point is: There are no easy answers. Sony made a mess when they embraced the cell a decade ago, and this break in compatibility had to happen sooner or later. They could either perpetuate the cell and all of its problems, or they could make a clean break and start over. Either way, they (and their fans) were going to lose out.
Shamus Young is a programmer and novelist, and his Xbox 360 bricked two months ago. He still hasn’t replaced it.
Published: Mar 5, 2013 02:00 pm