|
Wednesday, 01 June 2005 |
The PlayStation 3's primary programming language will be C, unlike the
PS2 which relied heavily on assembly. Sony has said the PS3's graphics
API will be a cut down version of the OpenGL|ES
library, which is very good news for developers: OpenGL is an industry
standard platform, widely recognized and familiar to many programmers
and certainly not limited to just the gaming industry. It gives studios
the opportunity to hire experienced talent from other areas of IT such
as scientific, CAD/CAM, or embedded system graphics experts. OpenGL
also has a fairly shallow learning curve, which is good news for
independent or garage developers: it is a comparatively easy library to
learn the basics of, with a massive amount of free information and
tutorials available online.
A more challenging aspect of development on the PS3 will also be faced
by Xbox 360 coders: both platforms have parallel, multicore
architectures. The PlayStation 3's Cell processor features one IBM
PowerPC core (a 64 bit, general purpose CPU, also known as the PPE or
Power Processor Element) coupled with 8 "synergistic processing
elements" (SPE's, also referred to as SPU's). Work by IBM on a Linux
port for Cell (termed the "Broadband Processor Architecture" or BPA)
has shown that on Linux at least, programmers will be able to read and
write to the SPU's as if they're part of the file system, a familiar
concept to UNIX engineers. Whether the PlayStation 3 will also take
this approach is not known; it seems at this stage that
IBM/Sony/Toshiba want developers to choose for themselves how to
utilize the hardware, having made motions about making the SDK open
source.
An interesting observation about the SPE's is that they are like next
generation vector units: they will have their own 256K of local memory
as well as the shared main memory and be capable of integer as well as
floating point operations. For a more complete comparison, refer to this slide from Sony's GDC '05 presentation.
|