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?"
i never got to make console games in my computer science education :(
lucky bastard
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.
www.HearMySoulSpeak.com
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'm sure you really want a challenge, but how about developing for Playstation 1 instead? I'm not sure how complex your game must be, but remember it takes teams of devlopers, graphic artists, etc. a year or two develop games, if not longer. Gran Turismo 3 is the first game that was solely developed using PSX2 code. How long did they probably have the pre-reqs and all this information you need to develop that game? While I'm sure you aren't doing anything as complex as GT3, I'd still suggest doing it for the PSX1 instead
BigCat79
"The dead have risen and are voting Republican!" --Bart Simpson
I don't know what the PS2 situation is like.
I definitely heard from RedHat people that they did the original PS2 emulator for Sony, which was to be released Open Source (I don't know about free, but I think it may be so). Sony needed this emulator to develop games for the PS before the hardware was working.
cheers!
Will /. be in the references?
I developed a bad case of carpal tunnel syndrome on the PS/2!
Why don't you take on a real challenge, and code a game for an analog wristwatch.
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
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!!!)
Didn't I hear something a while back about a linux Distribution for PS2? if so, I'm sure you could develop for that. Also, PS2 has parellel processors, which makes it interesting to develop for. If you want to learn to program for a parallel machine, PS2 is by far the cheapest one you're going to find.
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!
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
I'd say if you're already posting a slashdot article just to find development tools, then you're going to have much bigger problems actually doing the development.
Know someone who is stealing cable? Report them!
It occurs to me that there are already a substantial number of games available for Linux. How about concentrating on making them available on the PS2 with a porting effort instead of writing a game from scratch? The way I see it, if you're writing a game for the PS2 as the project, you're really dealing with 2 major topics, the machine's architecture AND the porting effort and all of the issues inherent to that (which you'll need in order to get a working compiler, etc.). If you limit yourself to one of the two issues, I think you'll have a much better chance of meeting your goal.
That said, how about considering porting a gaming toolset/harness/framework to the PS2 as a sort of bootstrap for games to be easily developed for the PS2? What comes to mind for me is SDL and one or more of the toolkits surrounding SDL (especially PyGame!). That way, you'll be able to actually contribute something to the community, and you'll get working PS2 games (hopefully) in the bargain.
On the other hand, you could just obtain the stock PS2 development kit (whatever it is) and concentrate on just making a game using the tools they recommend. Given the lack of PS2 titles though, that must be more difficult than it sounds.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
I've actually been very interested in learning about PS2 development recently, but have been fairly disappointed. Apparently, you *cannot* use a PS2 debugger without a package that includes an emulator and several PCI boards that plug into your box. The only official Sony agreement I've seen online quoted $20,000 for a license, but in other places (game developer sites, etc.) I've seen anywhere from $7,500 to $25,000.
If you find a less expensive (or even freeware) way to develop for PS2, please post it here!
Metrowerks has a compiler suite. Check out this site for info on all their game console suites. Don't know the price, but they do have a 30 day eval.
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.
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.
What are you talking about? How about justification for that statement, as I believe you are full of it.
Vermifax
Logout
I don't mean to sound rude (though I'm sure that it will anyway) but at university in the UK, CS dissertations are supposed to be on (or at least near) the cutting edge of CS technology. Writing code, and researching ideas that advance computing e.g. there were projects on CASE tools, radical design methodologies, evolutionary algorithms etc, etc.
It seems to me that writing software (be it a game of a 'conventional' app) with the only twist being that it's on a PS2 is a bit of a waste when you should be showing real talent and original thinking.
Oh, and as has been said before, if you're planning to write a graphical game, DON'T. They're bloody hard.
some guys i know made a 3d duke nukem like game in their spare time at work. can't say itwas greeat, but it did not take them that long.
Sony, Nintendo (and Microsoft, soon) makes money with the licenses and the sdk of their consoles, It's not really possible to make games for a current console if you don't pay then for the sdk and a license. (not funny, eh?>??)
Well, my memory is a bit weak, and my japanese is realy bad. But as no one seems to have mentioned the psx2 linux kit, i will share whatever little info i have.
http://www.jp.playstation.com/linux/
This is al in japanese, so i cant make much sense out of it. The kit is only sold in japan, but i think i remember seeing som poll or similar, about geting sony to sell the kit in north america aswell.
I dont even know what the kit contains, but if i remeber correctly its a dvd disc with some linux runtime, and a hd, and most likely other things aswell =)
I dont know what this devel kit contains, if it will let you write programs that makes use of the psx2 graphics and sound capabilities in any way, or if it even contains docs about the hardware etc ( i seriously doubt it does that, with some luck you get some binary only api to work with )
On the other hand, i think this kit is the only solution a CS student can afford, because geting a full psx2 devel kit, will cost, many dorrah.
*PHART* BULLE
It's funny you ask about developing for the PSX2. The school I'm attending offers game developement as a majour, and part of that course involves design for console systems. About four years ago the GD department purchased about 30 of the PSX developement stations for use in the program. What's really great about this, however, is that any student who is attending the school can sign out one of the boxes, just like a library; that is, any student can just waltz on in, present their id, sign on the line, and waltz on out with a PSX developement box to play with. Of course, the program has since STOPPED using those boxes, so they pretty much lie dormant most of the time.
The other problem with the boxes is that no one here knows how to program for them. We're an ART school, and our game design courses are more focussed on the artistic side of game developement, not the technical side. SCAD turns out GD theorists, level designers (we're the only art school in the country that offers a Master of Architecture), texture artists, modelers and animators (some students have gone on to work for Digital Anvil, Square, etc).
We've got something of a predicament here; we have a GREAT art department, but sadly we have no programmers here, and so the potential of those 30 boxes are more or less wasted.
This post is something of a followup to the topic: What should artists in a position like ours be doing? The potential for some beautiful stuff is there; any recommendations on a way to learn basic PSX programming to utilise that potential? Remember, you're speaking to an artist here; I know nothing of programming beyond very basic VB stuff =)
This post will probably never see +2, but any responses are appreciated.
~Aaron.
aabdel20@NOSPAM.student.scad.edu
student of animation and the fine arts
If you're going to do a project like this, use a good platform. Check out This website for some good info on the box, I think they have a link for game developers. Anyway do it for GameCube, PS2 is lame, IMHO.
~ now you know
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.
Why put all that effort into learning how to program for a platform that you're never going to touch ever again?
I was part of a class that allowed me to work on some PS1 development kits. These were special kits for hobbyists and even then they were thousands of dollars. Getting a PS2 setup, if it is even possible for an amateur developer will be expensive and difficult. I suggest some alternatives:
:) Instead, if you are allowed, put together a detailed a design doc, perhaps some technical docs on the algorithms, etc that you would have to use to implement your game.
1) Check out dreamcast development. It is geared much more towards hobbyists, etc. (At least thats what Ive been told).
2) Dont do any coding. Thats monkey work.
3) Use the SDL. Check out http://www.libsdl.org/. Far simpler to get up and running, free, and really decent quality. Make a pac man clone or something SIMPLER. Remember the project will be more about learning the SDL then writing the game. These things take more time then you can imagine, and with a full course load... I have made the mistake of trying to do an original, complex game... and its NOT pretty what happens to you.
4) Good luck!
Complexity Happens
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.
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.
1) Get devkit. Easier said than done. Sony just doesn't give them to anyone. If you don't have one already, you will have to contact SCEA (Sony Computer Entertainment America) and negotiate.
2) Compilers: there are three main compilers for the devkits: a) GCC (c/c++) on linux. sony supports these tools, and it comes with a devkit. b) Metrowerks (c/c++) under Win32. From what I hear, its quite good and has a VU debugger. c) SN Systems Pro toolkit (c/c++). A little more esoteric, but seem to have high satisfaction rates, good tech support, and loyal following.
- b&c cost money. lots.
3) JavaVM. There supposed to be one out there. good luck using it to develop.
Yeah, I tried to redo Chuckie Egg in Java AWT (having done no graphics in java before, and not much oo) for a last-term project... I got quite far, but it was a nightmare; theres a lot of stuff to program in a game, and you'll be doing other projects too, choose something *simple* remember a lot of the marks are in the documentation, u need time for all that
Games are hard to design and program (at least good ones are). They generally require tapping into the graphics and sound for your machine, they must respond in real time, there are tons of artwork to generate and in the end they have to be engaging and fun. The advantage of course is that they are fun.
There is much pleasure to be gained in useless knowledge.
There's quite a bit of useful information(Boob has some good links in addition to the aforementioned) out there and it's got some great games. Bangai-o is especially worth, errm, researching.
Last semester I tried to do exactly what you want to do, and with a team of 4 guys we were able to producs a decent 2D sprite driven game in assembly for the PS2. This however was the only class that we took, and it took up most of our free time.
-eric
One of the ways console manufacturers manage to keep their prices down is by passing the buck. I've spoken to several console developers, and they usually seem to hint at $20K to $50K for the complete development kit. The Metrowerks PS2 Codewarrior is only one small part of the equation. You also need the development PS2 console that allows play of CD-Rs, as well as debugging features that you won't find on the $300 PS2 at the store. I'm sure there's also extensive documentation included with these packages.
An alternate route would be to track down a Yaroze PS1. Sony released a special $750 PS1 package a few years back that included a simple development kit, a special PS1, and an RS-232 link for uploading the information. The catch was that the Yaroze system couldn't create CDs... any game you wrote had to fit in the 2MB of main memory.
Someone else has mentioned Dreamcast... this would probably be the best way to approach the situation. There are several websites that will show you how to burn a CD that will boot on the Dreamcast and run using Windows CE. The catch with this "hack" is that I don't think it can call the 3D hardware.
Of course, Linux has been ported to PS2 and Dreamcast, so you could write a linux game for either of those consoles. The cost is minimal (Dreamcast's linux is burned to a CD-R, and PS2's linux is bundled with a NIC and Hard Drive for $160 or so in Japan).
That's how I see your options, assuming you really want to make a console game.
At the University of Michigan I was involved in developing and teaching a 400 level class on computer game design and development. It is being offered for the 4th or 5th time this year. Here's a link to the class website:
http://ai.eecs.umich.edu/soar/Classes/494/
We had 10 Net Yaroze's (special version of the PS 1 designed for hobby programming) available for students to use in their final class project.
In my experience the students who chose to try to use the Net Yaroze had a much, much more difficult time than the students who created PC games. My suggestion would be to create a PC game using DirectX instead. The arcade package on the website above is a good place to start.
Mike van Lent
The Java compiler that is part of the GNU Compiler Collection (GCC) can compile Java into Machine Language. So why bother with a virtual machine?
Also, GCC would allow you to easily write classes in C++ which can be used by Java to access the internals of the PS2. Java by itself prevents this sort of low level access.
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.
I saw that demo, and I'm pretty confident in saying that it was *really* a demo of the linux-on-PS2 port that has existed for some time. (It's available for purchase in Japan--no American version is out.) It being a Java conference, they simply didn't mention that the JVM was only available thanks to the linux port.
JVMs for linux have been around for some time--I think it's unlikely that a JVM will be developed for the Sony-proprietary operating system for the PS2.
If there's the means (an OS) and the tools (the dev kit) on something as lucrative as the PS platform, it'll have people crawling all over it, especially when the OS is Linux.
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.
"Bringing our own software to the living room on nice hardware". My guess is he wants to run his software, written in Java, on livingroom hardware.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
It's not like java was designed for developing applications to run on small, embedded, and consumer devices. Sheesh! Some people...
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Your biggest problem is going to be getting a PS2 devkit. As far as I know, Sony only gives those out to companies with approved PS2 titles.
Why not just code on the gameboy advance there's a lot of utils and examples out there in fact you could use good old GCC compiled for the ARM processor. Then you could use the linker from Lik Sang. A good page to start is http://www.devrs.com/gba/.
Blender has a game engine, is free, and supposedly has a PS2 port or NaN, people who make Blender, have a PS2 toolkit. Try them. Also Blender has ports to just about every platform there is. Linux, BeOS, Windows, etc. That would at least give you a toolkit to start with and there is a huge Blender community.
Here is the crux of the education issue:
Are you going to school to get a masters/PhD and be a Mr/Mrs Know-it-all on computer science? Or are you just some guy who likes computers and stuff and wants to get a job writing code?
Despite my dogged studies of semiconductor engineering, I found it easier to get a job writing code becuase I happened to have an on campus job integrating Adobe Acrobat forms with an Oracle DB using Perl.
Was any of it a waste? No. But in todays job market (unless you have a 4.0 GPA) people won't hire without experience. And especially in the US, college is really just the step everybody takes before getting a job.
However, there could be a very good reason for writing games for a class. If his team evolves a Software Engineering Process (using various techniques like modifying PSP) while writing a game, that satisfies BOTH the educational aspect and the "I have job skills" aspect. We did that on our software engineering class. It's a good way to stay motivated about a project (and our networked Uno game kicked ass!)
In the future, I would want to not be isolated from my friends in the Space Station.
Pirates are bypassing the CD-R protection by using the gameshark as a boot disk and soldering a Neo2,3, or 4 mod chip on your system. All you have to do is buy the gameshark (a memory card-style hardware and a cd), boot the ps2 with it, choose 'load without codes', put in your CD-R software, and choose start game. This little trick is one of the many what made mass piracy on the ps2 possible. See gamecopynews.com for more info.
I have no idea what would be involved in an undertaking such as this, but porting the MAME code to ps/2 would absolutel rock. One disc could hold a ton of games (especially if it were DVD-R). It might also make for a good first project...a port as opposed to a ground up rewrite.
Do not taunt Happy Fun Ball(TM)
The second game took a semester and was our final project. It was a much more ambitious project. Though there were four people on the team only two of us really did any work. It was a tank game set on campus. You could either play online against other people or against the computer. We found that we really didn't have the time to properly implement all the features that we wanted to include. If we had spent two semesters on it we could have really made it great. As it was it turned out to be a fun but flawed game. Maybe someday I'll get it out and port it to some other platforms.
Lasers Controlled Games!
According to their FAQ you can use Java.
1.3. Do I have to write my OST application in C++?
No. You can write applications in any language that has an interpreter or that is supported by the application environments. This currently includes C, C++, Java, JavaScript and MHP. If you want to use something else and it doesn't have C/C++ bindings, you will have to implement that first, though.
<Sigh> I remember coding C64 games that fitted into 64K with way more action than these "only 2Mbyte" downloads over the net... (that then chew up many more megs at runtime).
Of course with a more aggresive garbage collecter it might be able to fit :-)
Assuming you can get your hands on a dev kit... once you've spent a week or two battling with the PS/2's peculiar intricacies (yes, I've been there) you'll never want to again. Unless you're a deeply warped individual.
If you want to try programming something which is is in people's living rooms, why not target the X-Box? It's feasible to get a PC system which is a reasonably good approximation of an X-Box, on which the tools are pretty good, the APIs fairly standard, and the hardware learning curve not so murderous.
Gee maybe somebody will develop an emulator and drop all the atari carts on a cd for us....
j/k hahahah
ATARI: THE COMPLETE COLLECTION
$59.95
Why is everything 59.95
even atari cartridges back in the day were 60 or 40 i forget i was young but the only one I think was worth it was Star Raiders...
Now I would like to see that game come back out...
with the controller, i think i still have mine somewhere.... less was truly better
Space Cowboy: http://external.eyeone.com/spacecowboy/
And here's my crappy java game, Anirak that I have been developing with a 12-year old in order to teach him how to make games.
Lasers Controlled Games!
Good evening gentlemen...
All YaBasic are belong to us!
Sorry, couldn't help myself
How does Saddam and co. use the PS2 to do Nuclear weapons simulation (It is a super computer, remember), when this cronie can't make Frogger??
fscking hilarious!
That would be a good compromise between being a complete pain in the ass and being accomplishable. Your Atari game can run in an emulator until you get it working, then you can pick up a Starpath and run it on an actual Atari.
I'm very curious about the OS that the PS-2 runs. On my Grand Turismo 3 DVD. There are several files that begin with ELF inside. Which made me think of Linux, but there are what appear to be drivers with the extension .irx which made me think of Irix, since the PS-2 is a MIPS system.
Can anyone shed some light on this?
For PS2
And DREAMCAST too...
They have it all
http://sources.redhat.com/ecos
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
That's pretty much all there is to say about it. Your PS2 won't boot CD-R's unless you chip it, but really that's not necessary if you run PS2Linux and just put your software on the box over your network. The libs/drivers that come with PS2Linux give you pretty low-level access to everything but the IOP, so you can take good advantage of the hardware without too much trouble. No point in breaking your PS2 or your fingers when PS2Linux is on the way...
One Who Knows
GCC is the standard compiler used. Metrowerks and SN Systems both provide debugger/compiler solutions, but I've had limited success/satisfaction using them. Its a very complex system - with little or no similarity to OpenGL or DX... or things like that. Its a different school of thought to make fast code - and you need intimate knowledge of the hardware to make it render with any speed.
I agree with an above poster that you really shopuld look at doing it on a PC. The PS2 isn't a simple machine, and you'll be spending most of the time you should be spending on learning on learning the pitfalls of the system.
I may be able to assist... e-mail me. shades747(at)yahoo.com
Hi,
How do u get past the lameness filter to post this wonderful ascii art?
Thanks,
the AC
Blender is, amongst other, an official PS/PS2 developement tool, is one of the most sophisticated 3D Tools around and a yields serious realtime 'Oomph' - simular to Virtools NeMo (Halflife, anyone?), now also known as the o-so-brand-new Macromedia Shockwave3D (which is, in fact, the oldest Web 3D Technology around...so much for the marketing gibberish). Anyway, Blender is faster, easyer to use, is completely written with OpenGL and thus fitts on a floppy, has a Web Plugin, exports (amongst other) to Renderman / BMRT (for your cutscenes), uses Python as the internal realtime/rendercontrol programming language, runs on every OS apart from Mac (OS X Version coming this fall)... (*draw breath*) and it's freeware (as in beer). /.ter, and the not yet available set of ready-to-release players/projectors for interactive Blender. There's are player for various plattforms (*nix, Windoze, MacOSX, PS2, etc.) coming up this year, so porting should be somewhat easyer than with other 3D IDEs. I'd definitly take a closer look at it - I consider it the best 3D package available. And that's not just because Maya costs 20.000$.
A slight drawback could be the steeper learning curve for anybody who isn't used to OOP - but that shouldn't be a problem for a
We suffer more in our imagination than in reality. - Seneca
Strange that nobody has mentioned this:
http://www.ps2linux.scea.com/
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
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.
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?
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.
Besides the thousands of dollars (price list not in front of me but I believe it was $4000 per license/person) for the metrowerks compiler and the money Sony charges for the setup necessary to do the development and testing, you have to literally get permission from Sony. In other words, your only chance is if you have at least 4 other developers and you can prove to them that you're going to work on this full time and will end up with a final product shipping. I've always found it amazing that sony actively _discourages_ development for its platforms. Apparently these costs are considered a main part of their revenue stream. The fact that they also get a huge cut from any sales you make isn't enough for them. I guess they don't see volunteer/open source video games being that productive in the end and they obviously can't allow games to be given away for free as that would eliminate licensing profits. Also making it so restrictive to get development kits (is thought to) supposedly cuts down on hacking though I doubt it really has any effect on piracy except possibly to make emulator development slower (I'm not really sure who makes emulators as I never use them). So *anyway* the strategy here would be for /.ers to make convincing arguments to Sony to make it easier to develop. Doubt they'll agree, so then you either have to become mighty serious and organized with others or give up. OS X could use more game developers.
I know nothing about what is required to port games to a console and since this was brought up does anyone know how you would go about writing something for the xbox. I wrote a windows based version of Area 51 "Like the Arcade Game only really shitty looking and buggy I used images of x-girlfriends for the monsters" a while back and want to get it running on an xbox. Then a friend of mine works at Blockbuster and is going to put it on the shelf and see how many people rent it.
Nyquil = Nectar of the devil
Console development _is_ tedious. I'm a professional game developer as well -> avoid the PS2 since you won't be able to do much with it without Sony's help(which, as the previous post says, comes at a hefty price).
Another possibility is to try out the Dreamcast. There are a couple of linux ports and a netbsd port. There are some other dreamcast dev tools freely available on the web. You can cross-compile for the hitachi-sh4 w/linux and upload the images via serial or the sega broadband adapter...
You can get a Dreamcast for US$79.00 these days too and it's a pretty cool peice of hardware.
Links:
http://www.m17n.org/linux-sh/dreamcast/
http://linuxdc.sourceforge.net/
http://www.netbsd.org/Ports/dreamcast/
General stuff:
http://mc.pp.se/dc/
http://www.boob.co.uk/
Good luck! Games are big projects!
The best way I know of to program games for consoles are the variants of codwarrior you can get. They make compilers for PSX, PS2, N64, Dreamcast, and I think (not sure) they even have versions of codewarrior for 8 and 16 bit systems. Of course, being codewarrior, you really don't have much of a language choice but C/C++.
As for CD-R go buy a DVD-R drive. That'll give you some room for quality audio and visual stuff.
The GeekNights podcast is going strong. Listen!
just wanted to spare you guys some agony and wasted time. i'm a licensed developer for microsoft's xbox and sony's playstation 2. all consoles are closed platforms - this means that you cannot develop for them unless you obtain a license from the manufacturers. and this license is very hard to get (must have created previously succesful consoles games). all the tools are restricted by this license, even the technical details (sdk) of the platform are protected under this license. if that isn't enough then the playstation 2 has nothing close to an operating system. you must implement everything yourself. i don't want to sound snotty but you can just forget it.
Of course, the 'cube is supposed to have non standard media so even if you could develop on it (much more user friendly according to professional game developers) how would you actually get the code in the machine?
It's amazing, but it seems right now microsoft's product is the only one that embraces (and extends?) hobbyists, with plans for free/cheap SDKs, standard(?) media and - wow - no territorial lockout! Is microsoft the way to go, pioneer of openness and interoperability? refute.
I understand that Sony has Playstation 2 linux kits available, in Japan only.
This strikes me as odd. If a kernel has been ported, I have not seen it available as source, even though it is GPL, and I have searched the Sony site. The kernel would be a good place to start.
I'm not screaming 'GPL violation!' yet. It may that my non-grasp of Japanese prevents me from finding it.
hgh
Okay, $5000+, plus $40,000 for Sony, except you're forgetting one very important thing: this is academic research. For research, never let published prices discourage you. The vast majority of corporations are not only willing, but want to accomidate academics. After all, they used to be students, too, and when you're done, you'll know their system and will presumably be off to work in the real world. If you just ask, it's amazing what you can get.
You'd be better off working with a PS1 instead.
You can pickup an early PS1 (before they removed the parallel port), and use a re-flashed Action Replay/Gameshark to with ez-o-ray or Caetla download/debug code on it (even one with a broken CDROM will do). It's cheap, and if you spend an afternoon porting the GDB stub to it, you can use GDB and a linux hosted compiler kit to develop on it (you can get the linux dev tools from http://psxdev.de, doing a gdb stub is easy).
+++ BASELINE REALITY FAILURE+++ +++ PLEASE REBOOT UNIVERSE +++
There is a Linux for PS2 released by Sony for Japanese and US consoles. I think it was a limited release, but you might be able to get your hands on a copy. I haven't seen it, as the version for my console is still not released, but I believe that it supports X and that someones ported Mesa, so you should be able to get OpenGL going.
This link might help.
http://ps2dev.sourceforge.net/
Now is the goal of your final project to burn yourself out completely or to create something that you will be proud of?
If you want to burn out, hey go right ahead but I would suggest that your teachers would probably be a lot more pleased with a very well developed project for a more basic system than the bare bones that you would end up with for PS2.
What about writing for something like good 'ol Sega (pre-Dreamcast) or Super Nintendo. I'm not a gamer nor a programmer so I don't know how these systems work but wouldn't it be logical that you could get excellent results on these systems with a lot less effort.
The key to everything in life is KISS. Keep It Simple, Stupid.
Check out these sites http://ps2dev.livemedia.com.au
Napalm
and of course
PS2Dev on Sourceforge
It seems that most of your time and effort will be going into graphics and real-time crap. Have you considered writing a roguelike? For an example, see ADOM. Roguelikes don't have fancy graphics, all calculations and algorithms are very cool and the focus can be a lot more on design than graphics.
Wanted to correct some misinformation.
Jellyvision's games (like You Don't Know Jack Online edition) are written in a combination of C++ and a home-grown scripting language called Jellyscript. No Java.
Java is a perfectly nice language. However, for cross-platform video games it makes more sense to use a built-in game-specific scripting language. Having the language built-in eliminates the problems of supporting multiple versions of the scripting language on multiple platforms.
You could, of course, include a Java VM inside your game, but many games prefer to use other scripting languages with smaller runtime footprints.
I have been a PC game developer for 10 years, and have only recently started working on my first PS2 title. Here is what I found out while migrating:
1. PS2 is a closed system. That means that Sony holds all of the information about what the box is, how to make it go, and how to get and use the tools. I was never able to find any PS2 programming refs online, and you can't buy books. All the materials I use are from Sony. Sony is also very protective of their baby, and you have to "prove" your worth before you can even buy their warez.
2. You need expensive hardware. The Tools (which you run and debug on in real time from your PC) are these huge black PSX2 looking boxes that run Linux and you hook up to over IP. They are about 20K each. Then the test stations (PS2s that can run non-encrypted discs and have more memory) are expensive also. Burning a CD (for submission) requires you to use Sony blank CD/DVD's, on a Sony burner. $$$$$
3. The tools bite. No one uses the sony tools, everyone uses metrowerks. I never thought I would long for the days of MSDEV. Mwerks is slow, buggy, and acts like a mac program.
4. Middleware is the way to go, unless you have time and geniuses lying around. That costs REAL CASH.
My advice to you: find another platform. The sony PS2 is too closed and too expensive for casual or academic work. Use a plain old PC, you can learn as much, and probably actually DO more stuff, instead of trying to make the DMA work right.
But, the games are cool, when they work
Donut
If your project is to show how to exploit the PS2 then chances are you don't need to ask /. about simple things like the compiler... It seems you just want to make a game, in which case avoid the PS2.
The company I work at is making PS2, GC, and Xbox games and has made DC and PS1 games as well. I'm sure you've heard the PS2 is challanging to extract good performance from.
It is.
IMHO just make an OpenGL game and run it on a GeForce3 with TV out. Build a custom black case and put a big ugly plastic green gem on it and tell your prof it is an xbox project.
I see no reason to waste time trying to develop a PS2 game, especially with the xbox around basically being a PC with a GF3.
I think the xbox suffers from numerous faults and is going to bomb so I don't recommend it to a consumer, but for geeks it sure is some nice hardware for hardware's sake!
1. You need to sign an NDA to get a full developer kit and all the hardware details.
2. The consumer version of the PS2 is only capable of booting disks produced by Sony and will not boot a CDR.
3. To load up your own code, a development system is required, which is expensive
4. PS2 programming requires good knowledge of the hardware, writing code for multiprocessor machines and experience programming "close to the metal" (dealing with DMA...etc). It's not hard to write code for, but if you've never done any of the stuff I just mentioned before, it can take a bit of getting used to.
Assuming you can get around these hurdles somehow, as previous people have mentioned, writing a good game on ANY platform is not a small undertaking if you've never done it before. A typical commercial game takes 18 months to two years to create, and often has quite a large team of people doing it. On top of that, people (including those grading your project) are pretty used to professional quality games these days, which is a tough yardstick to be measured against. Something that is not a game might be a better choice
All this being said, the situation could change. If you read this old Slashdot article you will see that there is a PS2 Linux kit available in Japan and that Sony is at least considering releasing it in the US. The web site mentioned in that article is still open, so if you haven't registered your interest yet, go do it!
Milo from Kangaroo Koncepts
Shouldn't that be "All YaBasic are belong to europe"?
This current project would be so much easier if I weren't doing it using AIM and emails. Also, it would be great if there were some sort of simple Java game tutorial on the net that could take someone step by step through the whole process. I remember that back in the day there were books like 'Kids and the C64', and 'Kids and the [INSERT 8-BIT MACHINE HERE]' that you could follow if you were about 9 or 10 years old. From what I can tell 'Java Games for Dummies' is too difficult for kids. If anyone bothers to read this and knows of game programming resources for kids, let me know.
Thanks!
John
Lasers Controlled Games!
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=-