Slashdot Mirror


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?"

44 of 213 comments (clear)

  1. JavaVM come Christmas time? by dmorin · · Score: 2

    At JavaONE this year they had a big demo where they spoke of a JavaVM being part of the PS2 and I wanna say they said something about around Christmas time. The guy showed some interesting demos of going into a chat room and sending out requests to play some networked games.

    1. Re:JavaVM come Christmas time? by Sir_Real · · Score: 3, Interesting

      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

    2. Re:JavaVM come Christmas time? by anacron · · Score: 2

      The latest release of the Java 3D APIs delegate handling to underlying open-gl calls, and in some cases to the video card itself.

      It's proven to be one of the lowest-level Java APIs available.

      When Sony releases the JDK for the PS2, expect to see some additional APIs which handle rendering. Remember, a java program is only as good as the APIs it calls. If Sony builds these well, you shouldn't even be able to tell.

      Also on a side note, a child response to this message said he'd never seen any good Java games for the WinTel platform. Well, my response would be all of JellyVision's games (You don't know Jack, Who wants to be a millionaire) were written using Java and JNI (Java Native Interface). The graphics calls were done in C++, and I expect the same to happen for the PS2. Sony will probably use JNI to provide wrappers for the existing calls.

      .anacron

    3. Re:JavaVM come Christmas time? by Tet · · Score: 2
      I have yet to see a "good" java game on standard wintel hardware.


      You'll notice that the original question didn't mention games at all, yet everyone seems to be assuming the plan is to write a game, just because it's on the PS2. My guess is that the plan was to do something else interesting, and to have it available on a machine that's in the living room, not at work or in the study...

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
  2. JavaGaming by EvilJohn · · Score: 4, Informative

    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.
  3. From own college experience by FortKnox · · Score: 5, Insightful

    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!
    1. Re:From own college experience by dasunt · · Score: 3, Interesting


      Yep, designing an entire game is probably more effort then you want to put into a school project.


      OTOH, ever thought about doing a game port? Nethack is GPL'ed, and while the text version would suck on a playstation (trust me, text on most TV is icky), there is a version with isometric tiles that looks pretty nice, and, due to being a deriviative of nethack, is under the GPL with the source code available. Just do a google search for "Eagle Eye Nethack" and you should find it.


      Of course, I'm biased. I want a good game ported to another platform. Plus, since you save some time by porting an existing game, you have time to add more tiles to the game, which eagle eye nethack desperately needs.


      Just my $.02

    2. Re:From own college experience by Rogerborg · · Score: 3, Insightful
      • I don't want to discourage you too much, but designing a game with graphics and everything is a huge task

      Listen to this man. I spent a few happy years hacking Netrek, but when I actually tried to do a Master's thesis on an AI 'bot for it, I found that I had time to write the software, or to do the thesis, but not both. And that was on a small, well defined subset of a very mature 2D game, with no display component to worry about!

      Further to that, I didn't learn my lesson and spent a frantic couple of years as a commercial games developer. It was a vertical learning curve, and the pressure and expectations were immense. I just wasn't good enough, and got out. Since then, I have coasted through a couple of corporate code monkey, using no more than half of the potential that I was expected to show every day as a games developer.

      So hear this clearly: writing games is hard. Anyone who tells you otherwise is a producer, an armchair expert, or a psycho uber geek. ;)

      --
      If you were blocking sigs, you wouldn't have to read this.
    3. Re:From own college experience by dweinst · · Score: 2, Interesting

      Not for the PS2, but you might want to check out Stanford's video game competition . The games are all full 3D, and many have simple, but effective, AI, not to mention great gameplay! The results are incredible: after only 3 weeks, 3 people.

    4. Re:From own college experience by volsung · · Score: 2

      Own the copyright all works produced for credit? Those are some sucky terms. At my university, the author retains the copyright to all his or her own works (including those done for classes) unless they were produced on paid university employee time. I would have serious moral issues with a university that claimed to own copyright on projects I do for class. (I already paid them, right?)

    5. Re:From own college experience by Rogerborg · · Score: 2

      OK, OK, the expectation curve is vertical. Incidentally, I know that a vertical line isn't a curve. I had a great debate with a mathematician over ballistics curves. While he looked up some references and worked through the equations, I wrote five lines of code that did a binary search to find an more-or-less correct trajectory, and demonstrated the efficiency of my method by blowing the crap out of his units while he was still drawing lines and boxes on bits of paper. That pretty much summarises the games world; you don't have time to learn how to do it, you just have to make it happen! That's a great reason why games don't make great learning projects. ;)

      --
      If you were blocking sigs, you wouldn't have to read this.
  4. I wouldn't worry. by Xenopax · · Score: 5, Funny

    I am wondering what various pitfalls I should expect.

    Don't worry, Pitfall hasn't been released for the PS2.

  5. Metrowerks has a PS2 compiler by bbh · · Score: 3, Informative

    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

    1. Re:Metrowerks has a PS2 compiler by HomeySmurf · · Score: 2

      The following is a response to a query about the codewarrior kit:


      Hi,

      Thanks for your e-mail and for your interest in CodeWarrior for
      PlayStation2. The first step in beginning to develop games for the
      PlayStation2 is to become licensed by Sony. The use of our tools
      requires that you have the hardware and software that Sony provides to
      its licensed PS 2 developers. Have you already begun the licensing
      process with Sony and if so what stage are you currently in?
      Once the licensing process is complete you will be able to use our tools
      to develop for the PlayStation2. Prices for the software range from
      $4800-$7200 per seat.
      If you have any additional questions please don't hesitate to contact me
      directly. Look forward to hearing from you soon!

      Regards,

      Becky



      So start saving your pennies, because the licensing from Sony is very expensive.


      --
      "Politics is for the moment, an equation lasts eternity" -A. Einstein
  6. screwed by YOND+R+BOY · · Score: 2, Informative

    well, codewarrior seems to be popular with the kids despite its $5000+ price tag and that isn't even counting the $40,000 sony charges to be a licensed developer, a title without which Metrowerks won't sell you a PS2 compiler. Besides, there has to be something free out there (or maybe make your project a PS2 compiler!!!)

  7. Python! by smallpaul · · Score: 4, Informative

    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.

    1. Re:Python! by smallpaul · · Score: 2

      I was hoping that someone with more info would jump in. I know for sure that Python has been used for AI and scripting of PS2 games. And I know that there is a Python Game writing API (mostly used so far for old-style arcade games) called PyGame. I do now know whether PyGame itself is available on the PS2.

      If not, I do not know how rich the Python APIs for the PS2 are. You'd better check with one of the guys who have done it (links in parent)!

    2. Re:Python! by JasonAsbahr · · Score: 2, Interesting

      Erwin Coumans and I have (independently) ported Python to the PS2, and I'm currently working on a project which allows designers to create game logic in a GUI tool and automatically generate Python code for the control of PS2 agents. I probably *will* be releasing the PS2 patches to Python shortly, and I hope to be able to detail some of the GUI work in a paper at the upcoming Python conference.

      Next up: Python for the GameCube!

      Jason
      jason at asbahr dot com

  8. Go for dreamcast, NOT ps2 for homebrew by batkiwi · · Score: 4, Informative

    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!

    1. Re:Go for dreamcast, NOT ps2 for homebrew by Rogerborg · · Score: 2
      • The dreamcast has an EXCELLENT community built up around homebrew

      Good point. Also, how about the Gameboy Advance? Cheap hardware (free emulators easily available), decent developer resources, plus it restricts you to realistic projects and obliges you to be disciplined during design and development.

      The compiler is time limited evaluation ware with a hack, or you could beg poverty.

      It's a fun platform that teaches valuable skills, and it's realistic. Go for it!

      --
      If you were blocking sigs, you wouldn't have to read this.
  9. Java games API by Dy1ng34r7h · · Score: 2, Interesting

    You might want to get in contact with the people doing this...

    http://www.jcp.org/jsr/detail/134.jsp

    JDK1.4 allows double buffering and full screen control, so start with that as a base (it's in beta at the moment)

    If you do decide to use Java, go for something simple that is 2D based and tries to engage the mind rather than blister the fingers.

    Good luck!

    --
    -- "Gookin! Why do you lie amongst the cheeses?" www.dyingearth.com
  10. Re:How about developing for Playstation 1? by jgerman · · Score: 2
    Sounds like a plan to me, I've always wanted to get into console programming, but haven't ever got around to it.


    Anyone have some informative links to info for coding on the original PS?


    I don't even know where to start (not this matters this will probably remain unfinished project #9877586) I'm assuming you'd need a mod chip to play burned discs...

    --
    I'm the big fish in the big pond bitch.
  11. Link to the compiler by alteridem · · Score: 2
    The only compiler I know of for the Playstation 2 (and many game platforms) is Metrowerks CodeWarrior for PlayStation 2.

    It is very expensive, but it is nice to use a compiler that works the same for multiple platforms such as Linux, Windows or the Palm OS. As for cost, you need to contact games@metrowerks.com for a pricing/packaging matrix.

    1. Re:Link to the compiler by Tet · · Score: 2
      The only compiler I know of for the Playstation 2 (and many game platforms) is Metrowerks CodeWarrior


      Of course, there's always gcc. Sony supply gcc-2.95.2 with their PS2 Linux kit available in Japan. Assuming the necessary changes aren't already in gcc-3.0, you can request them from Sony. However, just having a working compiler won't get you very far. You need datasheets for programming the custom hardware, and preferably prewritten libraries that do most of the hard work for you. A genuine PS2 development kit comes with these, but it also comes with a hefty 5 figure price tag. The bottom line is, if you're looking to do anything on a PS2 that does something graphical, you're probably out of luck. Unless you can get your hands on a PS2 Linux kit, of course, which comes with a "PS2 Special Graphics Library", which as I understand things, is an OpenGL (or Mesa) implementation for the PS2 gfx hardware.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
  12. PS2 Coding by white · · Score: 3, Insightful

    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.

  13. Using SDL by sien · · Score: 2

    Try using the SDL and OpenGL. These have both been ported to the PS2, see this link for more details. Then you should be able to develop on Linux and port later.
    I was discussing this very issue with my supervisor yesterday. I work in a VR lab and we are looking at training tools that run on a PS2, and XBox or a DreamCast or whatever.
    The conclusion we reached is that the way to go is to design the project with this in mind but work on PCs and build something going on the PC platform first. The large cost of a console development seat makes doing it for a student project seem a bit unwise. However if you used the SDL you could move it later.

  14. He's right. by EnglishTim · · Score: 5, Insightful

    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

    1. Re:He's right. by Pengo · · Score: 2

      downloading your game now, looks fun ;-)

      Thanks for the link

  15. A PS2 developer speaks by Junks+Jerzey · · Score: 5, Informative

    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.

  16. Is this about game development? by BluePenguin · · Score: 3, Insightful

    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.
  17. SDL can be used by criswell4096 · · Score: 2, Informative

    One of the cross-platform multimedia libraries that has already been ported to the PS2 is SDL. f you have the PS2 Linux Dev kit (hard to get) then you can just download PS2 SDL from here.

    I have no idea how well the support is... or the speed... but it works well enough that there is a port of Maelstrom for it. I have heard that you may also be able to use the SDL OpenGL wrappers to make 3D PS2 apps.

    If you are using the PS2 Linux dev kit, you can use the GCC (I think) as well as autoconf|automake.

  18. Try PlayStation 1 by e.a.kendrick · · Score: 3, Interesting

    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.

    1. Re:Try PlayStation 1 by zhensel · · Score: 2

      The US PS2 came with no such CD. I think that was a Europe-only deal. I vaguely remember a story about it. So, no YaBasic for us.

  19. Ultima Online 2 by coockie · · Score: 2, Interesting

    Python runs fine on PS2.
    As it has good bindings to C++ performance critical stuff can be moved outside of the scripts.
    By the way, see http://www.asbahr.com/papers.html
    for some info on python used in Ultima Online 2.

    --
    -------------- I don't speak for my boss. My boss can speak himself.
  20. Re:Playstation developement (slightly OT) by Bullschmidt · · Score: 2

    I actually work at a game company who has done development on a lot of consoles. I bet that you will find the PXS stifling. I have spoken with many of the artists here and they found themselves very limited by the memory requirements. The PSX has 2 Megs of memory.. thats not much. Makes those old PSX games that much more impressive.

    I've never programmed the PSX itself, but I would venture to guess that you would probably be better off working on a PC. Probably easier to program and allows for a lot more flexibilty. Even so, writing games at all is a major effort.

    --
    "Of all days, the day on which one has not laughed is the most surely the one wasted." -Sebastian Roch Nicol
  21. Re:A(nother) PS2 developer speaks by grahamwest · · Score: 2, Informative

    That would be me, too :-)

    The development system costs $10,000 and requires signing an NDA. Also, SCEA generally want to see a business plan or some indication that you're going to release product.

    It's very complex hardware to work with in any significant way. Very powerful, but when you have 6 functional units (EE, VU0, VU1, GS, IOP and SPU) all operating in parallel and synchronised (generally) by DMA commands, it's going to be tough to program. At least C++ and STL do work pretty well, there are plenty of companies relying on them for their games. Be thankful for small mercies :-)

    In all honesty I would not recommend you look to straight PS2 development for your project. I have some alternate recommendations:

    PS2 Linux kit - may not be released in the USA, or not in time for your needs. Runs on the consumer PS2 (with the HDD addon) and has more library support.
    Gameboy Advance - has some of the PS2 issues, namely expensive development hardware and NDAs, but much easier for a single programmer to produce something credible on with.
    XBox - you can do most of your work on a regular PC under DX8. Easiest programming environment of the 3. But if you do this, maybe you would be better just on a PC with a GeForce 3?

    --
    Graham
  22. Here's your break. by catseye_95051 · · Score: 2

    Um. Its only the number one development environemnt for cell phones. Guess those arent small embedded deices?

    Try catching up from 1995.

    http://java.sun.com/j2me

  23. Realities of PS2 development by catseye_95051 · · Score: 2

    I lvoe Slashdot, you can get al lsorts of advcie from people who don't know anything. here are some realities from the industry:

    (1) Native PS2 is a closed platform. In order to get the PS2 SDKs you need to convicne Sony yo uare a real developerm, sign serious NDAs and fork out $30,000 for a development system. I doubt this is within your reach.

    (2) One true thing posted here is that ANY game paltform is (at most) a bit above bare-metal programming. If you've never done this, trust me, you don't want to start in your senior's project.

    (3) Sony has a Linux for the PS2 out in Japan. It may ge treleased ehgre in the US. That is an open platform BUT you MUST have the hard drive add on to use it. It will not work on a stock PS2.
    Secondly, at that point all you really have is an alternate Linux PC? You might as well do your Linux development on a PC and be done with it.

    (4) Sony and Sun have announced that they will be releasing a Java for the PS2. No other info on that p[roject is yet available. Thre is no gaurantee (or even likelyhood) that sucha Java will be free or open. It is more likely that it will be made part of the Sony developer SDKs.

  24. yabasic was created to dodge import duties by yerricde · · Score: 2

    I think that was a Europe-only deal. I vaguely remember a story about it.

    This story covered the inclusion of yabasic on the European PS2 demo disc to get it qualified as a "computer" because importers of "computers" don't have to pay as much tax as importers of "game consoles." However, if Sony tried this in the United States, it would lose the rental market to 17 USC 109(b)(1), which states that computer software (other than game console software) can't be rented without excessive paperwork between the rental store and the copyright owners.

    --
    Will I retire or break 10K?
  25. Re:My Take by catseye_95051 · · Score: 2

    Sure. if anyone could do real PS2 software people all over it.

    And there would be lots of crappy software and no way for Sony to control it and thus get revenue out of it. Two things Sony doesn't want.

    Bad software makes a platform look bad. This is accepted in the game industry as one of the big reasons the Atari2600 died.

    Then you need to understand the revenue model of platofrm development. Somy sells PS2s at a loss. (All platform makers do.) They make their money off of their lciense fees from game developers. This requires a complete control of the platform in order to insure proper licensing.

    Sony will release the Linux in the US but don't kid yourself-- you wont be writing real PS2 games with it.

  26. Almost forgot to add... by catseye_95051 · · Score: 2

    Any tool vendor for the PS2 is forbidden by their licnese agreement from selling that tool to nayoen who isn't a direct Sony PS2 SDK licensee.

    Again its all about control of the paltform because thats where the revenue is.

  27. Re:Here's one that I thought was nice by sg_oneill · · Score: 2

    And here's my crappy java game, Anirak [angelfire.com] that I have been developing with a 12-year old in order to teach him how to make games.

    You, good sir , are a schollar and a gentleman! That's how I learned to program. Sitting round a VIC-20 with my dad , while he showed me (or worked out with me!) how to make nuggety little games. Now that learning is earning me bucks and position. What an excellent thing to do. Good on you.

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  28. Re:Thanks for the compliment! by sg_oneill · · Score: 2

    (your welcome). As to kids resources... Unfortunately not. I've often thought a ... perhaps python based.. game programming language that lets kids make nifty 3d fun things and imposes all those little math lessons that makes rogramming so mind expanding for kids is in order.

    It's a tragedy, but probably the only kid friendly language I can think of is VB... And that'll only encourage bad habits... Kylix tho may be extremely usefull for kids, because it's visual and thus has that instant gratification thing, and actually has a real object model.

    I'm sure theres a few bucks to be made in writing that kid's game programming book too!

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  29. Re:Dreamcast Dev by DaveHowe · · Score: 2

    Thanks for that - I have just got a DC second hand, and was looking for info on programming it.
    now have two keyboard/mouse adaptors and a serial cable ordered and on their way, and the rereqs for the linux CD are downloading now :)

    --
    -=DaveHowe=-