[quote name='weaponx666']Um, the only coding done from scratch nowadays is the high level, object-oriented stuff. There is tons of middleware and cross-platform APIs so that developers don't have to work too much on the low-level stuff unless they really want to optimize it for each platform. Most developers are too lazy to do this. Look at any 3 platform game (especially from EA) and they all look almost the same b/c they develop to the least common denominator - the PS2. Yeah, the GC and XBox versions look a little better, but not by much.[/QUOTE]
I am not in the game industry, so I will admit to a certain amount of ignorance with regards to cross-platform coding. I know that much of the underlying logic can be/is essentially the same, regardless of platform, and I'm sure there are some very impressive tools to make cross-platform development easier, but it was my belief that in order to get the most from a particular console (and it could easily be argued that the majority of games do not get the most out of any of the consoles) requires custom code.
Take MGS2, for example. I realize it is an older game, and tools have been improved, but it pushed the PS2 pretty much further than any game before it, thanks to some pretty brilliant programmers at Konami taking advantage of the hardware in ways others had not. When it was brought to the Xbox (a task that took a good deal of time, and not just because of Konami's exclusivity agreement with Sony), a more powerful console (please, no fanboys need reply to this comment. The Xbox is more powerful. Period. That doesn't make it a better console. It is all about the games, and personal preference), it actually ran worse (specifically, I am referring to the well-known rain slowdown), because they were not as knowledgeable about the the Xbox, and they were unable to take the same advantage of the hardware.
With regards to your comment that the games look pretty much the same, I mentioned that some of the resources can be shared, and by "resources", I should have indicated that I was refering specifically to art/sound/music. Some polygon counts may have to be lowered on a per-system basis, and I would expect that to be done at the development stage, rather than relying on the code/hardware to do it at run time (wasting precious clock cycles), but the media resources are largely identical.
Anyhow, I am not really disagreeing with you. I'm certain the cross-platform development tools have come a long way. It used to be that when a game was developed for multiple platforms, different versions were done by completely different teams, occasionally even different companies. This may not happen nowadays, or it may now be the exception, rather than the rule. I am actually quite curious to see an estimate of what percentage of a game's code changes from console to console. I know we have a few game programmers who post here, perhaps one of them would like to shed some light on this subject. For all I know, you (weaponx666), are a game programmer with intimate knowledge of the subject.