Tuesday, September 15, 2009

Ps3 Engine

So I started to work on a Ps3 Engine (No the Ps2 engine is not dead. I'm just getting a bit side tracked here)

The purpose of it is mainly to get more familiar with the Ps3 but also to tackle general concurrency problems.

My basic idea for one frame looks something like this (Note that the each block does not represent the actual time that it may take during a real frame. This is just a high concept but still a bit interesting to see where I will end up with it.

I will be mostly coding use pro-devtools at work so I can't post every single detail here but most concepts I can talk about. Currently I'm implementing a high level jobmanager that will just execute jobs for whole systems (so large granularity) and let the system itself doing load balancing. This is possible as everything should be running on the SPU.

This presentation has been a good inspiration when deciding the direction for the JobManager.

GDC2009 SPU Wrangling

The prime goal is to test out scenarios which is hard to do in a production environment with tons of code and here I can just go while and crazy to test out stuff. For example. Let's say we want to run all gameplay code on SPU. How should the data be designed? What kind of functionality is needed to for example create a Battlefield type vehicle that has lots of components and parts that interacts with each other? And so on.

Hopefully some of this will also be good to bring back to the engine at work.

Watch this space for more updates.

And also do anyone knows how to post images on blogger without the annoying rescale?