View Full Version : 360 CPU in depth
Vandenh
06-02-2005, 04:41 AM
ArsTechnica takes a very detailed (http://arstechnica.com/articles/paedia/cpu/xbox360-2.ars/) (and highly technical) look at the 360 CPUs. Good reading for people who understand this.
Xenon will be a streaming media monster, but the parts of the game engine that have to do with making the game fun to play (and not just pretty to look at) are probably going to suffer. Even if the PPE's branch prediction is significantly better than I think it is, the relatively meager 1MB L2 cache that the game control, AI, and physics code will have to share with procedural synthesis and other graphics code will ensure that programmers have a hard time getting good performance out of non-graphics parts of the game.
So it looks like we will get killer graphics on next gen consoles, but the AI and physics will have to wait for a similar upgrade.
bapenguin
06-02-2005, 05:00 AM
interesting article. You wonder how much of that performance falls on the compiler though, not just the programmers.
Vandenh
06-02-2005, 05:13 AM
Very true... some of these limitation can be dealt with by a good compiler. I am sure that some middelware providers will be able to make good, to the metal, libraries to take the sting out of the shortcomings of the hardware.
Carnifex
06-02-2005, 05:37 AM
[On optimizing for the hardware]... Just don't count on it in the first generation of games, though.
I believe this has been true for every console generation, unfortunately. Which seemed a bit strange on the Xbox since it was built with well known existing hardware and technologies.
Regarding the compiler, it seems to me that all instruction ordering is now done at compilation, so the compiler not only should be good, it has to be good. I'm guessing the compiler will now be a critical performance factor. Of course, thinking in terms of extensive TLP is also essential, and a challenge for many programmers.
Goronmon
06-02-2005, 05:44 AM
From my perspective, this is quite disappointing to hear. The main reason I was looking forward to the next generation of consoles was hope for advanced physics and AI uses in-game. I could care less about pretty graphics honestly, they don't really make the games anymore fun to play.
Hopefully better news will come out once people figure out what the Cell processor actually is ;)
bapenguin
06-02-2005, 05:50 AM
Hopefully better news will come out once people figure out what the Cell processor actually is ;)
According to his article, he states the Cell processor is worse off on AI/physics calculations. Why? I don't quite understand... :D
TrackZero
06-02-2005, 05:58 AM
From my perspective, this is quite disappointing to hear. The main reason I was looking forward to the next generation of consoles was hope for advanced physics and AI uses in-game. I could care less about pretty graphics honestly, they don't really make the games anymore fun to play.
Hopefully better news will come out once people figure out what the Cell processor actually is ;)
If advanced AI is coming from anywhere, it'll be on the PC first, so you may as well stop looking at consoles for that right now. I guarantee you that the type of advanced AI you're looking for is never on the top of console developers lists. That's not what the mainstream wants.
Furious Wang
06-02-2005, 07:00 AM
If advanced AI is coming from anywhere, it'll be on the PC first, so you may as well stop looking at consoles for that right now. I guarantee you that the type of advanced AI you're looking for is never on the top of console developers lists. That's not what the mainstream wants.
Errr...I have to disagree with you there. Halo's innovations in AI are what made it a success. I could go on...but really, why bother?
Varsity
06-02-2005, 07:03 AM
And Halo was originally a PC game, and a Mac one before that. Argue through examples if you will, but the fact of the matter is that AI doesn't looks as good on the back of a box as UE3.
51|RandoM
06-02-2005, 08:22 AM
You could have great AI and physics on the current console, if anybody bothered spending all the effort of developing it(they don't).
The hardware has been available for awhile... as a very select group of games has proven.
Carnifex
06-02-2005, 08:29 AM
According to his article, he states the Cell processor is worse off on AI/physics calculations. Why? I don't quite understand... :D
Because those problem areas are harder to parallellize than graphics (and sound?), and next generation architectures are all about parallell processing. Or so the general consensus seems to be.
Personally I think it has more to do with needing a paradigm shift in how programmers think. Many are used to not writing explicitly parallell code, or have only done so in special cases. On next-gen consoles there will likely be threads flying all over the place :p
Ok, although physics gets an obvious and somewhat linear boost in ability with added processing power, AI does not. Making good AI is about running good processes, not running more of them (again, although it helps, is helps VERY little). Look at it this way, if you give a stupid person 1 minute to solve a problem, or 5 minutes to solve a problem, he's not going to come up with a 5X better solution in the latter case. Stupid people produce stupid solutions, just like stupid AI code produces stupid behavior, adding more processing power gives you more refined stupid behavior.
MosBen
06-02-2005, 03:17 PM
I'm not really convinced that physics is really the exciting new thing that's going to make games better as some people seem to be. I mean, yeah, kicking over a barrel is fun, but does it make the game anymore fun? Playing around with Trespasser's physics was fun for a while, but I never seriously played the game because it just wasn't very fun to play. It's not like I'm against better physics, I just wonder whether the increased time and effort that developers have to put into the game to produce better physics will result in an equal increase in game fun. Somehow I just think it will be a fuckton of work for a marginal/somewhat small increase in actual fun.
AI, I suppose that could be pretty big, though I'm far more interested in the possibilities *other than* just making guys that can shoot at me better. I want Seaman II!
bobbler
06-02-2005, 04:28 PM
While I love Ars... This article is making some assumptions that are not very accurate it seems. Hanibal is overestimating some of the branching related problems in relation to how much they matter in terms of games. The future is not as gloomy as the article makes it seem.
AI and Game logic are such a small part of the entire game that its negligable at best. AI/Game Logic may take performance hits by running on XCPU or Cell but it's not going to be worse than it was in this generation of games when released -- programmers will learn new tricks and use 'hints' whenever possible to make it far, far better, thats the beauty of the consoles. Game logic is such a miniscule part (performance wise), to even mention it as going to suck is sort of silly -- its often written in scripting langauges (Zanzibar, a little help here?); the performance hit of poor branch prediction (this is also fixable with some smart coding and the 'hints') would be couched by the fact that its written in a crappy, unoptimized langauges to begin with. Both MS and Sony know what kind of code gets run on their consoles, they knew what the drawbacks would be. I think Hanibal sort of missed the boat on this one, he is assuming too much in terms of what kind of code really matters for games (otherwise I'd say his article is far more accurate and detailed than anything I could ever write). AI and Game logic (I'm not including physics because thats really a different beast and he was quite far off with that one, in my opinion) are not going to be worse than what we already have -- they are nearly insignificant parts of the entire code base.
In addition, Hanibal is just being silly when he claims SPEs can't be used for certain tasks -- its completely up to programmers imagination. Just because certain things have been done the same way for the last 20 years, doesn't mean doing them in different ways is not feasible. Software branch prediction is not out of the question here, it also has far more flexibility depending on your needs. The 'hints' should prove quite important and flexible in the coming years.
mister_slim
06-02-2005, 07:11 PM
I'm not really convinced that physics is really the exciting new thing that's going to make games better as some people seem to be. I mean, yeah, kicking over a barrel is fun, but does it make the game anymore fun? Playing around with Trespasser's physics was fun for a while, but I never seriously played the game because it just wasn't very fun to play. It's not like I'm against better physics, I just wonder whether the increased time and effort that developers have to put into the game to produce better physics will result in an equal increase in game fun. Somehow I just think it will be a fuckton of work for a marginal/somewhat small increase in actual fun.
AI, I suppose that could be pretty big, though I'm far more interested in the possibilities *other than* just making guys that can shoot at me better. I want Seaman II!
To do the promises being spread around, the AI is going to need to use the physics, which is going to be a bitch. I can't imagine a jump from the best available current AI to AI that recognizes that available objects can be stacked and combined with a tripwire to serve as a lethal weapon.
Anyway, I'm pessimistic.
Anyway, I'm pessimistic.
Your pessimism is well placed, you won't see that kind of AI for a very long time. I would expect to see physics useable by intelligent players, rather than intelligent AI. In the end, that’s generally more fun anyway, who wants to spend a minute setting up a cool trap just to see the AI disable or avoid it.
bobbler
06-02-2005, 08:42 PM
To do the promises being spread around, the AI is going to need to use the physics, which is going to be a bitch. I can't imagine a jump from the best available current AI to AI that recognizes that available objects can be stacked and combined with a tripwire to serve as a lethal weapon.
Anyway, I'm pessimistic.
Not necessarily... really that would just involve setting up scripts that make a check of whether certain variables fall into place (like: 2 boxes present? tripwire?) and then setting up the trap -- the AI doesn't need to 'think' about actually setting up the trap, just that it should and maybe which trap to setup. The fact that the boxes would get moved would just make the normal physics checks (colission, motion, etc) and happens in games today. It wouldn't necessarily need to be interwoven with the AI. The AI would just need to be a bit more complex (which is completely possible on the Xbox360 and PS3). AI implemented into games really isn't that complicated -- its just a lot of conditionals (hence the branching) with maybe a few random choices thrown in. That kind of thing was possible on the xbox/ps2 generation, it's not all that complicated really -- at least not as complicated as you were implying. Game AI is made to trick, not made to duplicate (human behavior) -- they'd never bother with giving the AI choices in what to do with the boxes (whats the point?), just the fact that they should either set up a trap (maybe a choice between several traps).
Hehe, I'd suggest try writing some AI in a 3D game, you'll quickly change your mind on AI not being that complicated. Scripting something like this would be extremely unwise, unless you're able to control your environment well enough that the script doesn't break (scripted elements only work well in highly controlled circumstances, the more variables, the more chance it breaks). As soon as you throw in varied friction, wind, terrain angles, obstructions, etc. you'll have a script that's so complicated, that unless you're making a game where all the AI does is set up that one trap you'll have little time to develop anything else.
bobbler
06-03-2005, 01:15 AM
Hehe, I'd suggest try writing some AI in a 3D game, you'll quickly change your mind on AI not being that complicated. Scripting something like this would be extremely unwise, unless you're able to control your environment well enough that the script doesn't break (scripted elements only work well in highly controlled circumstances, the more variables, the more chance it breaks). As soon as you throw in varied friction, wind, terrain angles, obstructions, etc. you'll have a script that's so complicated, that unless you're making a game where all the AI does is set up that one trap you'll have little time to develop anything else.
Yea, I realized that after I got half way through writing it (was hoping nobody would bother to correct me =o) -- You could just have the initial setup of the blocks static, so when the AI bot comes to it it will recognize the situation and go from there. Of course, once you move a block the AI wouldn't know what to do with 'em -- but depending on the gameplay that might not matter. You have to make some sort of compromise, you could make an incredibly complicated AI, but when something much simpler works -- why bother? So I suppose the original post I responded to was rather correct in saying that it would be difficult is true -- it's all a matter of how many corners are cut (getting games to work is all about cutting corners in some way or another). It's like graphics: raytracing is nearly accurate but its a bitch and a half to try to do with any sort of speed in a complex scene -- you just play tricks with lighting that often have some sort of drawback but for most situations its 'good enough'.
And... in terms of complication, a physics or high end graphics engine is more complicated (which is what I was comparing it to by default) -- AI complexity is only limited by the programmer, but the amount used in most games usually isn't all that much. I didn't mean to make it sound as if it's a few lines of code and a breeze to write -- I was leaning toward the fact that compared to the game as a whole it's a very small portion of it (in most cases).
And... in terms of complication, a physics or high end graphics engine is more complicated
I'd say with today’s games that would be accurate, only because the average game features pretty weak AI. In a moderately well "balanced" game, I'd say AI is considerably more difficult than a graphics engine (couldn't comment on physics, I've only written a moderate physics engine). With modern hardware and an HLSL architecture, it's actually fairly easy to write a great looking renderer (way easier than it was just a few years ago).
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.