Writing programs for different platforms

A lot of games these days are released simultaneously on PS2, X-box, and Game Cube. How much re-writing is necessary to adapt a game to a different platform? Is it pretty much a ground-up reworking or more of a tweaking?

Very little re-writing is necessary. Things may be tweaked to deal efficiently with differing video and sound hardware. These days, game consoles are just specialized PCs (for the most part) and games are written in traditional high-level languages and compiled for the specific hardware that they need to run on.

So why are there still so many that aren’t on all three?

IANAGP but what I’ve read seems to indicate that games are written to engines, and the engines are ported and optimized to the different platforms. I’d guess the APIs are not that different, and that a lot of the expense comes from testing the games on all released platforms. When I was involved in writing CAD software, the port was simple but the testing was a pain.

I wonder if there are incentives to port or not port. Certainly some games are exclusives to one platform or another, and I doubt this has much to do with technology.

Porting to a platform like a Game Boy Advance is another matter altogether, I’d think.

A lot of it has to do with the company that published the game. For instance, a game published by Microsoft probably isn’t going to be available on any console other than the Xbox. Microsoft is betting that it can make more money convincing people to buy an Xbox (because of its great, proprietary games) than they would if they ported said games to other consoles.

Exactly. That’s one of the reasons Square (an external developer) going to the Playstation instead of the N64 was such a big deal. The Final Fantasy games were great sellers on the NES and SNES, and FFVII set sales records. Similiarly, you only see Rare games on Nintendo platforms (Rare is an internal developer for Nintendo.) That’s also why Sega giving up on the console market and writing purely software for the PS2, X-Box, and GameCube was big news. The Dreamcast had great games, and Sega had great internal development, but it was all on the Dreamcast or earlier consoles (not the Genesis), which didn’t do very well.