Sign in to follow this  
spyridonz

Any progress on PS3 development?

Recommended Posts

Last I looked in to this was probably around the beginning of the year, and there was no real form of non-professional PS3 development available. I just recently picked up a PS3, so I was wondering if there is anything available yet that allows development for the PS3? I know there is probably nothing along the lines of this yet, but something like a XNA for PS3 would be amazing =)

Share this post


Link to post
Share on other sites
Well you can run linux on the ps3, and program as you see fit. You have access to all but one of the SPU units (their OS) and no access to the GPU.
So what you can do is slightly limited, but that doesn't mean you can't get the jist of programming for the cell. And considering the speed of the cell (and the fact that the GPU is only really good as a pixel shader unit) you can
still make some impressive programs.
There is no more of a XNA style sdk than you'd find for any linux setup. Though i belive there are SDL ports for the PS3.
And by "yet" I wonder what you mean, since all this has been available since release of the ps3.

Share this post


Link to post
Share on other sites
Ah well, my first "yet" was because the last time I looked in to it, the only info I could find said that the only way to do this was thru the PS3 development kits, which were supposed to be harder/expensive to get.

The second "yet" was referring to me not expecting anything like XNA for PS3 at this time =)

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Quote:
Original post by MARS_999
Actually I thought I read somewhere that Sony was going to make a SDK like XNA for it, I am sure it will be GLES with Cg.

I heard GLES on PS3 sucks.


So is that supposed to be taken as truth, or is it really something that you just heard. I'm not saying it isn't something that I heard, but it would be nice if some proof was lain out alongside it. I have also heard that developers opt for using a low-level graphics library.

Share this post


Link to post
Share on other sites
Quote:
Original post by Halifax2
So is that supposed to be taken as truth, or is it really something that you just heard. I'm not saying it isn't something that I heard, but it would be nice if some proof was lain out alongside it. I have also heard that developers opt for using a low-level graphics library.


Well, you don't really need much proof if you think about it. How suited can a generic 3D API designed to be used with all kinds of graphics hardware possibly suited for development on a closed platform with only 1 hardware configuration? A lot of times getting good performance on a console means exploiting unique traits of the hardware, and you're not going to be able to that through a generic API.

As for granting access to the RSX through Linux...I know ERP mentioned something about here. It's still just a rumor obviously, but it would be interesting if Sony decided to open it up through GL or whatever.

Share this post


Link to post
Share on other sites
The PS3's implementation of GL is sucky, which is why most developers are using libGCM or using bits of GL in conjunction with prebuilt command buffers. Putting a layer of abstraction, especially something like a fat state machine, between developers and the hardware is generally not a good idea. It was a nice idea to be able to allow developers to hit the ground running, but it's too much of a resource hog to be really useful except for test apps and trying out shader stuff.

There's also the issue that if Sony want to release a generally available implementation of GL/GLES on their system then they could be subject to a whole load more conformance details. Not just from end users (who are surprised when the hardware doesn't work like their mental model of the abstract GL state machine), but also from Khronos - you can't just implement something half-assedly and call it GL, it has to pass the conformance tests and that will require significant implementation and testing effort. Personally I'd rather the Sony guys did more (both in the libraries and tools) for professional developers before they worry about homebrew stuff (but then I'm going to say that, it's guys like me that end up staying till 2 in the morning so we can make our submission slot).

Finally, I see a lot of people complaining that Sony won't open up the RSX to home developers, but it's possibly not Sony's call. Remember that the RSX is licensed from nVidia, so it's entirely possible that nVidia don't want register specs of their hardware (even slightly older hardware) released to the general public. IIRC, the RSX also does other stuff besides graphics (relating to security/copy protection), so there's a chance they can't easily expose just the graphics stuff without leaving themselves wide open to piracy attacks.

cheers,

Share this post


Link to post
Share on other sites
Quote:
Original post by Gooberius
Personally I'd rather the Sony guys did more (both in the libraries and tools) for professional developers before they worry about homebrew stuff (but then I'm going to say that, it's guys like me that end up staying till 2 in the morning so we can make our submission slot).


Now I don't know if you have actually worked with the PS3 toolchain, but it appears as though you haven't. I would personally like to vouch for the toolchain as it provides some great utilities, that I can't name, but one specifically dealing with occlusion culling.

Quote:
Original post by MJP
Well, you don't really need much proof if you think about it. How suited can a generic 3D API designed to be used with all kinds of graphics hardware possibly suited for development on a closed platform with only 1 hardware configuration? A lot of times getting good performance on a console means exploiting unique traits of the hardware, and you're not going to be able to that through a generic API.


I agree a generic graphics API is not the end-all-be-all tool, but the OGLES implementation does provide some good things. But also remember, is Microsoft not doing the same thing by providing a DX9 layer over their graphics hardware, and DX9 is a 3D API designed to be used with all kinds of graphics hardware.

At any rate, the OGLES implementation is used in games such as Resistance 1, and R2, GTA IV, and Metal Gear Solid. I didn't say that they don't also use low-level code, but each of those games use OGLES in one way or another.

Share this post


Link to post
Share on other sites
Quote:
Original post by Halifax2Now I don't know if you have actually worked with the PS3 toolchain, but it appears as though you haven't. I would personally like to vouch for the toolchain as it provides some great utilities, that I can't name, but one specifically dealing with occlusion culling.


Yes, I have, and currently do. I'll admit my primary development platform is 360 though, so if I'm being unfair to the PS3 toolchain then you know why.

I'm impressed by GcmHud, that looks to be shaping up to be a *really* useful tool, but a lot of the tools still have issues, and debugging tends to crop up as an issue more often than not. The toolchain is getting better all the time, but it still isn't up to the same standard as the 360 tool chain (IMO) and until it is I'd rather Sony concentrated on improving the tools for professional developers rather than adding a whole ton of extra development, testing and support issues by doing homebrew stuff as well.

Quote:
Original post by Halifax2I agree a generic graphics API is not the end-all-be-all tool, but the OGLES implementation does provide some good things. But also remember, is Microsoft not doing the same thing by providing a DX9 layer over their graphics hardware, and DX9 is a 3D API designed to be used with all kinds of graphics hardware.


The difference there is that the 360's Direct3D implementation is a thinner layer, gets rid of a lot of stuff that isn't applicable to the hardware or would require software support and adds new stuff to the API for features that the 360 supports over standard DX9 hardware. The PS3's GLES implementation is quite a high level, abstracted API which adds _significant_ overhead if it's used as is. For both systems the developer is better off dropping to the lower level APIs (yes, 360 has APIs underneath the DX9 abstraction).

Quote:
Original post by Halifax2At any rate, the OGLES implementation is used in games such as Resistance 1, and R2, GTA IV, and Metal Gear Solid. I didn't say that they don't also use low-level code, but each of those games use OGLES in one way or another.


As I said, games use bits of the GL implementation, but are more likely building the command buffer directly to get the throughput required. That's not the end all of it, tightly controlling memory layouts and whatnot is the sort of thing that makes (control freak) developers (like me) prefer libGCM ;-).

Share this post


Link to post
Share on other sites
All of what you say is true Gooberius. The 360 layer is thinner, and the toolchain is definitely more advanced. And I guess you can call me biased as well because I have been with Sony since day one. :D

Share this post


Link to post
Share on other sites
Quote:
Original post by Gooberius
libGCM is the "Graphics Command Management" library. Maybe CTM is some marketing name for it.
I looked it up again, and the CTM reference only came from here, in a post that I read ages ago. It was wrong. CTM was an ATI API for general purpose access to the GPU, which was replaced with a newer API.

Share this post


Link to post
Share on other sites
Quote:
Original post by Gooberius

Finally, I see a lot of people complaining that Sony won't open up the RSX to home developers, but it's possibly not Sony's call. Remember that the RSX is licensed from nVidia, so it's entirely possible that nVidia don't want register specs of their hardware (even slightly older hardware) released to the general public. IIRC, the RSX also does other stuff besides graphics (relating to security/copy protection), so there's a chance they can't easily expose just the graphics stuff without leaving themselves wide open to piracy attacks.



I'm sure if they did allow access to it they would do so through OpenGL (maybe through Linux?), so that the NDA'ed bits of RSX wouldn't be exposed to hobby programmers. But still, I don't see much point in allowing use this late in the game. MS already has a big community going behind XNA and there's absolutely no way Sony can get that kind of following or produce the kind of API's/tools/infrastructure needed to create a comparable environment. Really the only reason to mess with PS3 homebrew would be to get down and dirty with Cell, but you can do that already.

Share this post


Link to post
Share on other sites
The Sony SDK makes available the PSGL source code, which is a layer built on top of GCM. There was no reason why the OpenGL interface had to be GLES. You can add any OpenGL functionality you want as long as you are willing to modify the PSGL code. Gooberius' description is spot on. It is convenient to hit the ground running with OpenGL-like code, but in the end you need more. I rewrote portions of the SDK_180 PSGL to eliminate some undesirable memory management (and to fix a few bugs). The changes were sufficient to ship a game, but to do it again, I'd write my own graphics layer on top of GCM.

The tool chain has improved, and Sony's support people are very responsive. GCM Hud is a good tool, and SN Tuner is quite useful for profiling.

Regarding games that shipped using unmodified PSGL: I will speculate that the developers had to reduce content significantly. For the game I worked on, the rewrite of memory management was essential for us to ship the same content on PS3 and XBox360.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this