Writing code is obviously the primary (along with creating art assets) thing that’s involved in game making. But I’m also not sure what exactly your all expecting me to say about it. There isn’t much that is legitimately specific to PS3. If your familiar with C++ and OpenGL then you are pretty much good to go. If there is something you would like to to write about then let me know. Would you be interested in reading a sort of walk through of building a simple game? If so then what kind of game? Platformer? Until then here is… something.
Step 1
Get a copy of Visual Studio and install it. Microsoft Visual C++ 2010 Express is completely free and just as usable as the full retail package.
People hate on Visual Studio but its a perfectly likable IDE and there is nothing wrong with using it. With the benefit of little things like syntax highlighting it is at the least preferable over writing in a simple text editor like notepad.
Plus it will enable you to compile Windows builds of the stuff you make which will save you a ton of time when it comes to testing anything that isn’t PS3 specific (like collision detection or jump heights). You wont even need to make your own Visual Studio Project files. The testapp along with most if not all of the other samples included with the PS3 1.92 SDK come with their own pre made vcproj and related files.
Step 2
Developing with the official SDK leaves you with two APIs to choose from in terms of rendering. GCM and PSGL. GCM is specific to the hardware and is as low level as it gets and as a result what you make with it will (or should) preform somewhat better then if you use Sony’s implementation of OpenGL. But that being said PSGL is pure awesome. Its all that I use and its what I highly recommend using.
PSGL is OpenGL ES 1.0 complaint meaning that if your noobish there are tons of resources available online with information about writing for it. It also means that you wont be teathering yourself to PS3 for ever. OpenGL exists in some form or another on effectively every platform in existence so its a good idea to become familiar with it and it will make it a lot easier to port anything you write. It also supports a lot of stuff that isn’t a standard part of OpenGL ES 1.0 like vertex buffer objects and NVIDIA Cg shaders.
If your using PSGL then there is no need to start completely from scratch. That testapp you compiled uses a really great frame work that is included with the SDK and there isn’t any reason to not continue using it. So make a copy of the testapp folder and lets begin editing it.
Step 3
Open up the contained and pre made Visual Studio project.
Agree to all the update/configuration junk.
Now under “build” select “Configuration Manager” and in the window that pops up set the “Active solution configuration” to “Win32Release” and click close.
Under “Build” again select “Build Solution” and it should now compile a version of the program to run on Windows (you should still be using MSYS when compiling for PS3).
Unfortunately your likely to get some errors that you will need to correct.
If when attempting to compile you are informed that “LINK : fatal error LNK1181: cannot open input file ‘dinput8.lib'” then download and install this. Then under “Project” select “TestApp Properties…”, then “Configuration Properties”, then “Linker”, then “general”, then “Additional Library Directories” and add the address “C:\Program Files\Microsoft DirectX SDK (November 2008)\Lib\x86”. That address may differ if you get a different version of the DirectX SDK. You should probably run a search on your computer for “dinput8.lib”. You might already have it.
If you run into any other compiler errors then post them in the comments and I’ll try to help. Be sure to also check CoachLDE’s comments bellow for some additional guidance.
There should now be a “Win32Release” folder containing an windows executable of your program.
Step 4
Remember how I said that the frame work the testapp used was worth reusing? It is. But the testapp uses more of it then your going to want. Your going to want to take control over the camera system and create your own so you might as well remove the camera system that is in place now and with it strip out a few unnecessary layers of that frame work. Well we are at it we can cut out that wire frame grid.
and at the moment I don’t really feel like writing out every line that should be changed to accomplish this. I’m not even sure that anybody cares. So I’m not going to for now. Yay I’m a horrible tutorial writer.
You can download an edited version of the testapp here or here.
Along with striping out the old camera system and the grid I also made some other slight changes including adding binding for sixaxis controls and all keyboard keys (instead of only the space key as it is in the original testapp) so your setup to use them. Additionally I removed the use of debug text which admittedly is something you may have found useful.
Both the original testapp and my lightly edited copy are short enough for you to be reasonably expected to read so you should read them. Once you’ve read them then start editing them. Make small edits of your own, recompile, see what changes when running the final executable, lather, rinse, repeat. Trial and error is often the best way to learn.