Developing for the Playstation 2?
Kentai asks: "Im thinking of building my final year CS project around developing a piece of software for the Playstation 2 and I am wondering what various pitfalls I should expect. Bringing our own software to the living room on nice hardware seems like a whole new computer medium that would be fun to exploit. Problems I am expecting so far include: issues like obtaining a compiler (pretty important), the whole Playstation 2 CDR issue and legal issues. What compilers can one use to develop PS2 software, and how much does each solution cost? Also, has anyone had any luck or placed any hope on a Java VM for this platform?"
You might want to keep an eye on www.javagaming.org . A few of the Sun Guys Frequent that site, and will sometimes post little bits of information.
Less Talk, More Beer.
From my own senior design projects, let me discourage you from designing a game. We (3 of us) designed a PC game that used DirectX7, used 2D graphics, sound, and was online only (no AI). After working and designing it all year, we could only get people on the screen fighting one another. The amount of work we put in was the most out of any of the projects.
I don't want to discourage you too much, but designing a game with graphics and everything is a huge task. Most people have no idea what they are getting themselves into when they do it, and it can pay dearly on the other classes you will be taking (I dunno about you, but the last year of college was the hardest classes, all requiring multiple programs to be done all year long). If you want to design a game, may I suggest something similar to a MUD or MOO? You can put more features into it, and people can have fun playing it. But getting a game working (with graphics) on a PS2 will require a ton of time, and a large team of people.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
I am wondering what various pitfalls I should expect.
Don't worry, Pitfall hasn't been released for the PS2.
I could just do a google search, but maybe this will spark discussion... Why the JavaVM for the ps2? Aren't the graphics libraries sub par? I have yet to see a "good" java game on standard wintel hardware. If gaming isn't the goal, then I assume some sort of cheap service platform is.
Just curious about the reasons for Java on the ps2, and the potential it holds...
Thanks,
Andrew
Here is a link to Metrowerks CodeWarrior for Playstation 2. I'm not sure about the pricing, but there is a pricing link there where you can send a request for pricing on it. There is also a datasheet, FAQ, etc.. there. Definitely a place to start.
bbh
Python has been used for commercial games on the PlayStation 2. I don't think that the development tools are on the Web because of Sony licensing. But if you know who to talk to and where to look, you can probably find them.
The dreamcast has an EXCELLENT community built up around homebrew.
There is an awesome library/miniOS called KOS which gives you hooks into everything, you compile with an SH4/ARM crosscompiled gcc, and it's easy to do once you're set up.
http://dcdev.allusion.net/
The PS2 homebrew crowd is JUST STARTING to get off the ground, but there's still problems of having to hack your ps2 with a soldering iron to get it to boot a cdr/etc, as well as very weak library support.
Homebrew console programming is very fun, but go for dreamcast, ESPECIALLY with how cheap dc's are right now.
There's even ways to get a serial cable hooked up, so you get debug info and can upload your program without burning a disc every revision.
Better support will not be found!
PS2 coding is *very very tough* if you want to get something that's fast. To get the best performance out of the PS2, you have to synchronise a lot of different hardware - it took us 18 months to get a decent engine written, and we're a team of experienced game coders. You have to understand that hardware backwards, and be aware of the various hardware pitfalls that exist.
It's a very, very, very difficult beast to code without using middleware, and that's expensive stuff.
It'll take you ages. Especially if you want to do it on a PS2 (even if you had access to professional tools). Especially if you've got no previous games programming experience.
If you're going to do a game...
a) Write it on a PC - much easier to debug etc..
b) Use as much middleware as you can - if possible, use someone else's engine.
I wrote a game last year called Hunt for the Red Baron in 9 months. I was the only progammer and I had an Artist and a part-time games designer working with me. We used Renderware and a load of our own libraries, and without them I'd never have had time to do it, and I'd already got several years of games programming experience behind me. Believe me, all that boring stuff to load in bitmaps, handle input, etc etc takes ages. Go for a existing engine if you can.
The other option is just to write an engine for your project and forget the game side of things, and just end up with a demo.
cheers,
Tim
That would be me :)
The main thing to expect from the PS2 is that you have minimal to no library support. If you want to get polygons or bitmaps on the screen, you have to manage video memory yourself, you have to talk to the graphics hardware directly, and so on. If you want to really get performance, then you have to write custom assembly code for the vector processors.
The bottom lines are: (A) the learning curve is very steep; and (B) expect to do very embedded-systems type of work, and not be able to rely on fancy C++, Java, or the like.
Wait a minute... is this even about games? He said "Im thinking of building my final year CS project around developing a piece of software for the Playstation 2 ... Bringing our own software to the living room on nice hardware seems like a whole new computer medium that would be fun to exploit." I'm wondering if the project in mind really is a game or something else? I'm not a PS2 guy, but if it (like the DreamCast) has a keyboard / modem (or NIC), couldn't you do things with it besides games?
Just a thought...
After all, isn't it just bits in the end?
If I can't see it in Lynx I'm not interested.
As the PlayStation 2 is backwardly compatible, you could try the official NetYaroze development kit for PS1 - this will create fast, efficient code. Unfortunately, with the release of PS2 Sony have stopped making them, but you can probably get a second hand kit from ebay or somewhere. You develop Yaroze programs in C on your PC - you can then burn them onto a CD. There is also a lot of interest groups and free code out there (NetYaroze license means you can never charge for your software). For the PS2 to play these CDs you will have to have it "chipped" which will invalidate your warranty (not something I recommend, but very popular I believe 8-).
Alternatively you can try YaBasic, Sony's "replacement" for Yaroze, which should come on the CD with your PS2. You can save YaBasic programs to memory card (so, small apps), and they will be slower (interpreted). YaBasic is a little simplistic - you will struggle to create anything impressive without extra tools (and a USB keyboard is essential). Like most people, I glanced at it once, then got onto playing DVDs and games, but I am sure others could support you here. PS2 magazine in the UK are currently running a series of YaBasic tutorials that can get you started though. I'll try and dig out some URLs for you.
With the emerging HD/modem for PS2, I believe Sony are releasing a Web Browser CD - which hopefully means a Java Virtual machine. You could investigate this option as it also opens up the wider Internet PC/Digital TV alternatives.
The next thing up is to get a PS2 professional developers' kit which you could only justify if you were seriously thinking of making a business out of this project, and could get financial support to see it through. It is a nice idea, so I wish you luck.