how hard is PS3 programming? *

Status
Not open for further replies.

Versatil

Newcomer
I have a question for those who know the differences between the programming of the X360 and PS3. I don't want to make a console war here.

Some sources seems to say that the Xbox 360 is the best way the transfer PC games on consoles. Yes, I agree. But the fact is: what is the easier console(without PC transfer) between PS3 or X360 to develop on? Please, I want an objective answer, not an answer with some FUD.
 
I have a question for those who know the differences between the programming of the X360 and PS3. I don't want to make a console war here.

Some sources seems to say that the Xbox 360 is the best way the transfer PC games on consoles. Yes, I agree. But the fact is: what is the easier console(without PC transfer) between PS3 or X360 to develop on? Please, I want an objective answer, not an answer with some FUD.

Edit:

I know that some developpers(Itagaki too) proclaim that all these ideas of a PS3 difficults to program was all bullshit.
 
Though I don't develop for either, the certain answer is XB360. It has better tools and a better understood architecture. Developing for PS3 means inferior tools and wrestling with new programming paradigms in trying to get the SPE's to do the work you need doing. I think develop comments are 'PS3 is not the complex monster to develop for that people were saying it would be' but I don't think any is saying 'PS3 is just as easy to write for as XB360.' And I wouldn't believe a word Itagaki says!

Edit : Though this should have been in a separate thread. It's not really related to PS3 benchmarks. ;)
 
The thing is, if you do single core development, then you have in both the 360 and the PS3 a dual threaded PPE as main CPU, and a fairly straightforward PC space derived graphics chip (Ati/Nvidia). Perhaps the 360's chip is the more exotic, even.

So basic game development isn't actually that hard on either. However, as soon as you start doing multi-core development, the whole thing changes and it then mainly depends on how hands on you are prepared to get.

On the 360, although using the 3 dual threaded cores with the shared cache and so on is no walk in the park by any means, you can still reuse the code you wrote for single core, and try to spread it around the three cores.

On the PS3, you start replacing your routines with newly written versions of them tailored to the SPEs, which use a completely different instruction set. That is going to be harder to get to grips with initially.

So, at the basic level, the PS3 is probably the easiest Playstation so far to get your basic game going. You could write your basic PPE stuff in C, use OpenGL, and it should be pretty straightforward.

But to get the best out of each system, while that's going be hard for both systems, it is going to be harder on the PS3. At the same time though, I think there is more reward for it on the PS3, and I believe there is a lot of growth area, just as there should be on a console that after all stays on the market for a considerable time. ;)
 
Gorrilla ( The Killzone dev's ) said PS3 is a piece of cake compared what PS2 is. So realistically if a dev studio has alot of experience with PS2 then they should'nt have any major problems with PS3. One of the main area's were Gorrilla are finding it easier is the the DMA management, as on PS3 its ALOT easier on Cell compared to the Emotion Engine.
 
Gorrilla ( The Killzone dev's ) said PS3 is a piece of cake compared what PS2 is.

Guerilla is owned by Sony, i think they are required to talk BS like that every few months. While the PS2 was hell to code for, the PS3 is much more complex if you want to get out the potential of the Cell.


So realistically if a dev studio has alot of experience with PS2 then they should'nt have any major problems with PS3. .

The PS2 is completely different to code for than the PS3, so experience with the PS2 is completely irrelevant.

If your going to play the "Who said what" game, at least choose quotes from people that aren't working for either MS or Sony.

The PS3 is harder to code for than the X360, period. It doesn't take a big brain to figure that out, X360 has the easiest architecture to understand and the best development tools. PS3 has 7 cores. That alone is a big challenge.
 
The PS2 is completely different to code for than the PS3, so experience with the PS2 is completely irrelevant.

Absolutely, they have completely different coding environments, however PS2 already made some people work hard to make lots of different co-processors work in parallel efficiently, instead of using the old "PC-style" programming.

It's not experience in coding that will help them, it will be the experience in the different philosophies which will make them work a bit harder to make sure all the co-processors are working efficiently, much like in PS2.

Then again, 360 also has parallel cores so it's pretty much the same philosophy. It's just that 360 seems to have easier tools, and it will also be easier to code for 3 identical cores than for one core + 7 SPEs.
 
As I understand it to get the best out of the 360 you need to use 6 threads which fully utilise the vector registers in the VMX units, these use a vector ISA which is based on AltiVec. You also need to minimise memory bandwidth usage by keeping everything aligned and manually managing the cache. You can also stream between cores and scalar operations are available if you need them on every core.

As I understand it to get the best out of the PS3 you need to use 8 threads which fully utilise the vector registers in the SPEs (and PPE), these use a vector ISA which is based on AltiVec. You also need to minimise memory bandwidth usage by keeping everything aligned and manually managing the LS. You can also stream between cores and scalar operations are available if you need them on every core.

While it appears PS3 development is harder than 360 development I really get the impression the difference is being considerably overhyped.

...just like everything in the console world.
 
The PS3 is harder to code for than the X360, period.

Oh yes i forget that a standard PC architecture GPU ( RSX ) is harder to prgram then Xenos :rolleyes:

360 is easier on the CPU side of things but i say that RSX is ALOT easier then Xenos.
 
Oh yes i forget that a standard PC architecture GPU ( RSX ) is harder to prgram then Xenos :rolleyes:

360 is easier on the CPU side of things but i say that RSX is ALOT easier then Xenos.

Wo! Don't make things more difficult. Furthermore, these two GPUs are completely different one from each other.

ADEX >>> I agree.
 
As I understand it to get the best out of the 360 you need to use 6 threads which fully utilise the vector registers in the VMX units, these use a vector ISA which is based on AltiVec. You also need to minimise memory bandwidth usage by keeping everything aligned and manually managing the cache. You can also stream between cores and scalar operations are available if you need them on every core.

As I understand it to get the best out of the PS3 you need to use 8 threads which fully utilise the vector registers in the SPEs (and PPE), these use a vector ISA which is based on AltiVec. You also need to minimise memory bandwidth usage by keeping everything aligned and manually managing the LS. You can also stream between cores and scalar operations are available if you need them on every core.

While it appears PS3 development is harder than 360 development I really get the impression the difference is being considerably overhyped.

...just like everything in the console world.

The added complexety on the PS3 comes form the different isas and local stores. While the X360's Threads can use a single set of code & data, which can reside anywhere in main memory (of course this is quite a simplified view), a PS3 programmer is responsible for "moving" code & data to the respective spu before execution. This is technically not a hard thing to do, but in reality you have to be very careful not to stall your execution units due to bus contention because of this.
 
Oh yes i forget that a standard PC architecture GPU ( RSX ) is harder to prgram then Xenos :rolleyes:

360 is easier on the CPU side of things but i say that RSX is ALOT easier then Xenos.


I wouldn't say it's "ALOT" easier. If you code for the GPU on the PS3 as you would on the PC, you're going to run into huge memory bandwidth problems. It requires some creative working not done on the PC.

Not to mention using two memory pools.
 
Last edited by a moderator:
I think the probem with these sorts of topics is that where one thing is identified as better then another, it's assumed one is 'good' and the other 'bad'. In this case, ease of development, XB360 > PS3, thus XB360 is easy to develop for and PS3 is hard to develop for.

In actual effect, both are hard. Perhaps on a scale of 1 to 10 for ease, XB360 scores a 4 and PS3 a 3 (arbitary figures courtesy of Me Analysts). In answer to the OP, XB360 is easier to develop for. On the whole though, neither is a walk in the park, at least if you want more then the bare minimum (both could have a single core game and simple graphics without too much bother).
 
I don't know how to measure "hard to program" universally (like 10 kg hard)... so I'll answer the question in a different way. My guesses are:

The most prevalent problem for Cell programming is its "new-ness". It will cause project management issues because years of experiences and codebase cannot be applied directly. People may feel frustrated too. Hopefully with 1-2 project underway, the "fear factor" goes away.

I think the hardest problem for PS3 programming is the small local store (not multi-core programming). In a way, SPU programming is pretty seggregated and clean. The larger number of cores and their speed help to simplify and justify Cell programming (You don't have to use them if you don't want to; but they are there whenever you need extra power). However nothing can help you if your code and data can't fit into the small local store. With a larger local store, it is also easier to manage latency problems.

To optimize for cell, the developers need to organize the memory (and algorithms) in certain ways as mentioned in xbdestroya's cell article. So my guess is the second hardest problem is to optimize for Cell in a cross-platform game.

Nope... have not tried Cell programming yet. Anyone wants to donate a PS3 ?
 
I have a question for those who know the differences between the programming of the X360 and PS3. I don't want to make a console war here.

Some sources seems to say that the Xbox 360 is the best way the transfer PC games on consoles. Yes, I agree. But the fact is: what is the easier console(without PC transfer) between PS3 or X360 to develop on? Please, I want an objective answer, not an answer with some FUD.

its a lot harder than 360 or windows vista, but once devs are used to it, they should be able to get most out of console.





why do u wanna know btw??? r u a developer??? :rolleyes:
 
360 is easier on the CPU side of things but i say that RSX is ALOT easier then Xenos.

Yes... unless you take into account that RSX has a lot more bottlenecks and even more complicated workarounds like cooperating with Cell, using the XDR memory, not to mention lack of support for FP16 and MSAA at the same time, and so on.
On second thought, no, it's actually not that simple either.
 
I can confirm that programming for the PS3 is way easier than programming for the PS2, no doubt about that.
Dunno about 360's GPU but I can't see why programming on RSX should be particularly complex or difficult
 
Status
Not open for further replies.
Back
Top