View Full Version : PS3 Prototype Rendering Engine : need avice from veterans
solidslade 07-31-2009, 02:53 AM Howdy.
We are a group of seniors with the Computer Game Design program at UC Santa Cruz. Recently we had the privilege of acquiring a developer license with Sony, and have acquired a PlayStation3 developer kit.
We plan to implement a simple rendering engine, as part of our senior track. We have one academic year to develop a functional game for the PS3 platform.
We wanted to seek advice from veterans on this board, specifically on the following;
1. We have been given access to libraries for COLLADA and OpenGL ES. Under the loads of documentation, and the PS3 SDK, we're pretty swamped and do not know where to start. We want to get rid of this "bottleneck". Basically, we want to be able to import models generated by Blender/3DSMax, and have them rendered. We want our prototype rendering engine to perform this in a simple manner (we plan to optimize this as well). We have been given the needed tools, but we are not sure where to start making our framework. Where should we start hacking? Are there any specific papers I should read beforehand?
2. Most of us are starting to learn Cg programming. Under this purview, are we going to be able to make our own effects on the programmable shaders? We wanted to implement a lot of procedurally generated effects for the game, but we're not sure if Cg programming is the right path for this.
3. What exactly is the purpose of video memory? I'm pretty familiar with virtual memory implementations under an OS, but I'm still iffy on what to do with video memory. Are we able to program for it? Should I even worry?
Thanks for reading, and happy hacking!
Slade Villena
A.I, Operating Systems, Threads
PS3 Developer Lab, UC Santa Cruz
|
|
Carina
07-31-2009, 08:11 PM
When you say you have a full academic year, are we talking your final year of studying? Just asking as from experience, it is very tough attempting to produce something major outside of university in your final year, especially if it is a group project as there is the added effort of coordinating everyone's work.
Also, what sort of game are you hoping to produce? The type of game will have a major impact on where your effort should be spent.
You might find that it's worth looking into using an open source engine like OGRE to by-pass the nitty-gritty time-consuming details. I mention OGRE as it is mentioned explicitly in one of the books specifically aimed at programming for Cell:
http://www.amazon.co.uk/Programming-Cell-Processor-Graphics-Computation/dp/0136008860
Obviously this might not suit you, just a stab in the dark as I do not have the details of exactly what you are hoping to achieve and how many man hours you will be able to devote to it.
solidslade
08-14-2009, 12:10 AM
When you say you have a full academic year, are we talking your final year of studying? Just asking as from experience, it is very tough attempting to produce something major outside of university in your final year, especially if it is a group project as there is the added effort of coordinating everyone's work.
Yes, this is our senior year.
Also, what sort of game are you hoping to produce? The type of game will have a major impact on where your effort should be spent.
We wanted to do 2D Logic using 3d graphics. A good example would be Defense Grid : The Awakening.
You might find that it's worth looking into using an open source engine like OGRE to by-pass the nitty-gritty time-consuming details. I mention OGRE as it is mentioned explicitly in one of the books specifically aimed at programming for Cell:
http://www.amazon.co.uk/Programming-Cell-Processor-Graphics-Computation/dp/0136008860
Obviously this might not suit you, just a stab in the dark as I do not have the details of exactly what you are hoping to achieve and how many man hours you will be able to devote to it.
I've talked to the folks at OGRE, and they mentioned the engine being heavily dependent on CISC architecture, and there are currently no plans/capacity to port over to the PS3. They have also mentioned numerous companies that have managed to port over OGRE, however with Sony's hush-hush architecture, and the restrictions on showing code from the PS3 SDK, most of these companies are forced to keep their code in house.
Carina
08-14-2009, 06:22 AM
Yes, this is our senior year.
Right, just a warning then, that if your course is any good, it will keep you relatively busy, so while I'm not trying to discourage you as such, make sure you are realistic about what is actually achievable in a year, which is actually a very short time.
I've talked to the folks at OGRE, and they mentioned the engine being heavily dependent on CISC architecture, and there are currently no plans/capacity to port over to the PS3. They have also mentioned numerous companies that have managed to port over OGRE, however with Sony's hush-hush architecture, and the restrictions on showing code from the PS3 SDK, most of these companies are forced to keep their code in house.
Uhm, OGRE is open source, and works on the PPC architecture, so while it wouldn't currently be able to utilise the SPUs, something you would have to adjust yourselves, I'm not entirely clear where the problem lies in getting it running. Obviously you don't have to go with an existing engine, but I think you're likely to vastly underestimate the amount of work that goes into one, and something like OGRE might take you half way.
I'm also not sure what you mean by Sony's hush hush architecture, as it is quite well known to be using the Cell architecture, with some modifications, like the number of SPUs and the RSX. The Cell architecture is pretty well documented and programming guides are quite explicit in terms of what can and cannot be done. The Sony documentation provided with the devkit, although confidential, should tell you what's needed in regards to the adjustments in the PS3.
solidslade
08-14-2009, 05:23 PM
Right, just a warning then, that if your course is any good, it will keep you relatively busy, so while I'm not trying to discourage you as such, make sure you are realistic about what is actually achievable in a year, which is actually a very short time.
Uhm, OGRE is open source, and works on the PPC architecture, so while it wouldn't currently be able to utilise the SPUs, something you would have to adjust yourselves, I'm not entirely clear where the problem lies in getting it running. Obviously you don't have to go with an existing engine, but I think you're likely to vastly underestimate the amount of work that goes into one, and something like OGRE might take you half way.
I'm also not sure what you mean by Sony's hush hush architecture, as it is quite well known to be using the Cell architecture, with some modifications, like the number of SPUs and the RSX. The Cell architecture is pretty well documented and programming guides are quite explicit in terms of what can and cannot be done. The Sony documentation provided with the devkit, although confidential, should tell you what's needed in regards to the adjustments in the PS3.
It's part of our agreement to secure all code related with the PS3 SDK. I meant software architecture, not the hardware side. (Sorry about that). Also, we've been instructed by Sony to keep all source generated from the SDK under "paranoia levels of secure". (I'm not even allowed to run SDK software from my home, all the work I have to do must be run behind our lab's network)
I have tried contacting people who have allegedly ported OGRE over to the PS3, to no avail. >_<; Do you happen to know these folks? Using OGRE can greatly speed up everything, we're just not that confident that we won't break any of OGRE's internals.
I do take into account that we have only a year. One of the drives for making this engine in-house, and not having to rely on other folks (We've been offered a PS3 port of the C4 engine...) is the independent games festivals. We feel that, if we don't rely on another persons architecture and develop a simple lightweight engine, we could get more brownie points.
Basically, I want to be able to do the following;
load object file for graphics pipeline;
reference object file -> render to player
avoid consuming more than 256MB while doing so;
We want to reference, load, cache and use our graphics objects as simply as possible. We're going to be using bullet physics with "2D logic" (we're reducing the movement to two dimensions, and keeping all the other physics code 3D), we're trying to get the same "physical" feel as Defense Grid : The Awakening.
Most of our game concept so far is pretty darn simple anyway, we're hoping we can complete a running and working engine by the end of December.
DanielWray
08-14-2009, 11:27 PM
This may go against what you are trying to achieve, but have you ever considered using the blender game engine, if you were considering using ogre, or porting it across to make full use of the PS3, then the blender engine would be an even better solution as you'd have built in access to bullet, a powerfull rendering engine (rasterizer, or whatever it's called, it supports GSLS shaders, and now occlusion culling for huge speed ups), as well as a really easy to use logic brick construction for creating simple logic and tieing in scripting with the engine.
I understand if this isn't suitable, but i just thought i'd mention it as not many people know about the capabilities.
:)
btw, blender already runs on the PS3 under linux, not sure if that helps in anyway.
solidslade
08-15-2009, 03:32 AM
This may go against what you are trying to achieve, but have you ever considered using the blender game engine, if you were considering using ogre, or porting it across to make full use of the PS3, then the blender engine would be an even better solution as you'd have built in access to bullet, a powerfull rendering engine (rasterizer, or whatever it's called, it supports GSLS shaders, and now occlusion culling for huge speed ups), as well as a really easy to use logic brick construction for creating simple logic and tieing in scripting with the engine.
I understand if this isn't suitable, but i just thought i'd mention it as not many people know about the capabilities.
:)
btw, blender already runs on the PS3 under linux, not sure if that helps in anyway.
Thanks for the hat tip.
Unfortunately we won't have time to port over OGRE. I've talked to the team lead, "Sinbad", via the forums, and he's mentioned that it would be a long process.
Does the blender game engine have to use OGRE? I'll look into it more though.
DanielWray
08-15-2009, 12:16 PM
Sorry for the confusion, blender makes use of it's own built in game engine, although it can export an excetuble file (i think the blender player would need to be ported though, i guess speaking to ton roosendal of the blender foundation with give you better information on this).
Anyway, i don't really know much about the PS3 dev kits, so i'm guessing they are hugely diffrent from the linux installs that can run on the PS3, however blender is compiled for PPC archictecture already, so i'm guessing getting it to run wouldn't be that big of an issue, unless there are techinicalities that i'm unaware of ;)
Now if it were able to run on the PS3 with just a few tweaks (no porting of codebase) i'm guessing it would need some re-coding and/ or new code to make use of the full capabilities of the PS3 (the sub-processors etc).
I can get you the email address for ton roosendal, or some of the blender developers if you would like, they would be more than willing to offer your advice and solutions. :)
Carina
08-16-2009, 08:20 AM
OGRE, like Blender and presumably most other engines that will compile/run on ppc, should run without porting on the Cell architecture, though none will take advantage of the SPUs unless specifically told to do so.
I'd re-iterate my previous advice and look at the book I recommended in an earlier post, it will at least give you a clue on how to get started.
solidslade
08-17-2009, 03:26 AM
Sorry for the confusion, blender makes use of it's own built in game engine, although it can export an excetuble file (i think the blender player would need to be ported though, i guess speaking to ton roosendal of the blender foundation with give you better information on this).
Anyway, i don't really know much about the PS3 dev kits, so i'm guessing they are hugely diffrent from the linux installs that can run on the PS3, however blender is compiled for PPC archictecture already, so i'm guessing getting it to run wouldn't be that big of an issue, unless there are techinicalities that i'm unaware of ;)
Now if it were able to run on the PS3 with just a few tweaks (no porting of codebase) i'm guessing it would need some re-coding and/ or new code to make use of the full capabilities of the PS3 (the sub-processors etc).
I can get you the email address for ton roosendal, or some of the blender developers if you would like, they would be more than willing to offer your advice and solutions. :)
Getting that email would be helpful, can you please forward their addie to slade AT soe DOT ucsc DOT edu?
Most likely, they are compiled for CellOS, or they use IBMs SDK. I'll check to see if their code base would be easy to port over.
CGTalk Moderation
08-17-2009, 03:26 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.