And despite the Xbox being basically a PC in a box it was just peachy and could do just about everything the PS2 could and more as a console.
As mentioned already it came out later, right? If you reverse the situation and Xbox had been released before PS2 then the PS2 would probably have been more powerful.
So having a PC heritage in no way cripples a console as a console.
Agreed, but neither gives it an instant advantage.
The choice of the IBM PPC was more to do with theoretical processing power per dollar spent. I'm sure they would have been perfectly happy with a Core 2 Duo or Core 2 Quad. But that would have been at higher overall cost.
I'm pretty sure it also had to do with control, as they own the IP for the design. Would Intel (or AMD) be willing to fully license a Core2Duo-style CPU? I think that's probably the main reason although of course you need good performance/dollar.
In hindsight it may have been better as there are some things about PPC that you need to code around/work around.
This is the part I don't get. I've programmed on PowerPC before and that ISA is as elegant as it gets. Maybe what happens is that devs who think the world is a PC with an x86 CPU need to learn a different arch, but that's another story.
It'll be interesting if they go for another semi-custom CPU for the next Xbox.
I'm pretty sure they will, for the reasons cited above.
As to the PS3, as noted before, in a world where Playstation dominates sales, the esoteric and basically proprietary nature of the PS3 wouldn't have been a problem. You either code for it and make lots of money (PS2) or code for the "lesser" machine and make less money (Xbox 1).
So, the key question here is: Do they make it esoteric and complex because they can or because they think that's the best design possible? Or, put it another way, accepting the fact that programming for the Cell (and the PS2 before it) is hard, do devs get the best performance/results possible even though it takes them a while to master the system, or would it be better to have a very easy to program for platform even if it was not so powerful?
I'm not a dev (not professionally anyway) but I'd love to hear from people who write games for these consoles what their thoughts are.
And with it's ease of developement (since many devs are familiar with PC developement) devs standardized on doing that first then porting to other consoles.
Of course, for us PC fans, this has the unfortunate side effect of accelerating the move of PC devs from PC first (or only) to Console first (or only). And, of course, this migration also helped to cement the X360 as the preferred console to develope on first for multiplatform devs.
Rampant piracy and poor sales might have some to do with it as well. If developing for xbox and then porting to PC is straight forward you should still get pretty decent games on PC as long as the assets are ready for higher res/more powerful hardware (thinking shaders here).
I'm afraid the golden age of PC game is pretty much gone.
As to the specific weaknesses, I can't pull any off the top of my head, just that I'm aware of them from reading the various threads in the console tech sub forum, and how devs have mostly figured out how to work around the differences from a traditional PC CPU.
Is a PC CPU the idea choice for games? Maybe not.
Cheers.