Tuesday, November 15, 2005

In the comments for the previous post, Jeff responded:

Your main point towards the end of the article is that the Revolution will receive ports of 360 (and you didn't mention it, but probably PS3 games as well, though not at launch). But you also talk about how one of the Revolution's greatest attractions is the low price tag they achieved by "foregoing high horsepower processing." I am highly skeptical as to whether or not the Revolution will be able to handle games made for the 360 (or PS3). I think that them going with the low-cost approach will allow them to hit a wider audience, but at the cost of getting very few direct ports of other games. Any games for the Revolution will most likely be Rev-exclusive (though they could be ported to 360/PS3 and upgraded), and most games for 360/PS3 won't make it to Revolution. I imagine companies could modify the game to run on the Rev, but who would want to buy a game that toned down when it's available on another console with all the extra stuff?


In general, my philosophy here is to do right by both technical and non-technical readers, but there's no easy path to victory here. Welcome to software engineering hell.

The main reason I believe ports between the Revolution and 360 will be plentiful is because the systems are similar from a programming standpoint, and usually it's the difficulty of adapting existing game code that makes or breaks game ports. Art, sound, and other assets are generally easy to transfer from one platform to another as compared to game code, and for the next-gen consoles this looks to be especially true. We need to consider the Revolution and 360 from a software guy's point of view.

The 360 features an ATI GPU, 512MB RAM, and (theoretically) six simultaneously executing threads. The Revolution is believed to feature an ATI GPU, some nontrivial amount of RAM, and two to four simultaneously executing threads. Now, game programming has been traditionally a single-threaded affair, and almost all -- save Saturn and PS2 -- consoles have primarily afforded this traditional, single-threaded approach. The crazy new world of multithreaded consoles will not, I believe, usher in radically altered programming styles and game engines in the short run (this sentiment is not unique to me, and in fact Microsoft has already admitted that every 360 launch title is single-threaded), and even in the long run I find it pretty unlikely that many games will ever find a way to take advantage of more than three or four simultaneously executing threads. Game code simply doesn't break into separate, unrelated segments particularly well. (It's true.)

So, from an engine architecture standpoint it seems unlikely that a game designed for the 360 will make use of more simultaneously executing threads than the Revolution will be capable of, and most other aspects of the consoles are similar (the 360's hard drive isn't a standard feature, so it probably won't be relied upon by games). As far as the likely scenario that the Revolution hardware is simply slower or less capable than the 360's, well, Microsoft wants every 360 game to run at HDTV 720p, and the Revolution won't even support HD, so that's a big load off the caching and rendering systems right there.

That's the slightly expanded version of why I think a lot of 360 games will hit the Revolution as well. The hardware's similar enough that major portions of the game code should be reusable, and I think that's the primary hurdle when porting a title. As far as the PS3 goes, from a hardware standpoint it's a completely different animal, and early reports are that it's truly a bitch to work with. This time around, it may be Sony who ends up having to carry their own library with first-party titles.

0 Comments:

Post a Comment

<< Home