Game Dev on consoles (N64, PSX, Dreamcast..)
My question is about the development of video games for consoles,
such as the N64, Playstation, Dreamcast... What ressources are used by those who program games for these consoles? Do they have to start coding at the instruction set level of those machines or can they straight up use C++ or another high level language? Is the developping environnement a PC? Are there software development kits that can be downloaded to start programming for the N64, Playstation or Dreamcast ?
Any other info concerning game development for these games consoles would be welcome too. Thank you.
Well, from what I've seen/heard most of them use C. The problem with assembly is that it's not that portable. And I heard from someone I know, too, that certain companies don't like to release their opcodes to anyone but their best friends
No SDKs can be downloaded (legally, anyway) I don't think, because in order to release software for the consoles, you must have a license from the company who made it (Sony, Nintendo, etc..) These licenses are very expensive.
As far as tools go, I think the companies themselves provide some of them. I know Sony provides IDEs and stuff for PS2 development. Also, Metrowerks sells compilers and IDEs for PS2, N64, and maybe others. Basically, it's their CodeWarrior IDE, with a compiler for the consoles.
I'm pretty sure C++ compilers are also available. I'm almost certain the Metrowerks compiler is C++, but I don't know about the ones provided by the console vendors.
Hope I've helped. And I hope this is all correct
Edited by - IdEstVita on July 29, 2000 12:36:47 AM
No SDKs can be downloaded (legally, anyway) I don't think, because in order to release software for the consoles, you must have a license from the company who made it (Sony, Nintendo, etc..) These licenses are very expensive.
As far as tools go, I think the companies themselves provide some of them. I know Sony provides IDEs and stuff for PS2 development. Also, Metrowerks sells compilers and IDEs for PS2, N64, and maybe others. Basically, it's their CodeWarrior IDE, with a compiler for the consoles.
I'm pretty sure C++ compilers are also available. I'm almost certain the Metrowerks compiler is C++, but I don't know about the ones provided by the console vendors.
Hope I've helped. And I hope this is all correct
Edited by - IdEstVita on July 29, 2000 12:36:47 AM
One of the problems with discussing console development is that anyone working on a console is tied down by a NDA. Keeping this in mind, I'll try to give you as much information as I can without getting myself into trouble.
First off, when you are developing for a console, you typically have two different pieces of hardware. You'll have your normal PC and you'll have a development box connected to the PC that contains all the console's normal hardware as well as hardware needed to communicae with the PC.
Generally, the main language used is C, but C++ is catching on quick. The C compilers given out by the console developers are generally more optimized than the C++ ones (due somewhat to the Japanese developers preference for C). Often, these compilers are based on GNU. Like IdEstVita said, Metroworks produces compilers for many consoles, but usually they aren't ready when the development kits are first released. Oh, and Metroworks compilers are C++.
The consoles do have SDKs that are used to develop on them, but as you would expect, they aren't availalbe to the public. Also, each generation of consoles have better tools and SDKs to develop with. In fact, DirectX is the main SDK used on the X-Box (go figure) and it is a secondary way of developing for the Dreamcast.
What else... Oh, assembly is still used pretty heavily in console development. While most of the code is still C/C++, assembly is used in time critical code and graphic routines. As far as the assembly opcodes go, these are actually available to the developers. Hell, the PS2 would be almost impossible to program effeciently without writing assembly level code at certain points.
Well, that should be about it (at least all I am allowed to say).
Edited by - I-Shaolin on July 30, 2000 1:34:16 AM
First off, when you are developing for a console, you typically have two different pieces of hardware. You'll have your normal PC and you'll have a development box connected to the PC that contains all the console's normal hardware as well as hardware needed to communicae with the PC.
Generally, the main language used is C, but C++ is catching on quick. The C compilers given out by the console developers are generally more optimized than the C++ ones (due somewhat to the Japanese developers preference for C). Often, these compilers are based on GNU. Like IdEstVita said, Metroworks produces compilers for many consoles, but usually they aren't ready when the development kits are first released. Oh, and Metroworks compilers are C++.
The consoles do have SDKs that are used to develop on them, but as you would expect, they aren't availalbe to the public. Also, each generation of consoles have better tools and SDKs to develop with. In fact, DirectX is the main SDK used on the X-Box (go figure) and it is a secondary way of developing for the Dreamcast.
What else... Oh, assembly is still used pretty heavily in console development. While most of the code is still C/C++, assembly is used in time critical code and graphic routines. As far as the assembly opcodes go, these are actually available to the developers. Hell, the PS2 would be almost impossible to program effeciently without writing assembly level code at certain points.
Well, that should be about it (at least all I am allowed to say).
Edited by - I-Shaolin on July 30, 2000 1:34:16 AM
Thank you guys for the info... It''s good to hear that there are C++ compilers available.
Regarding the license to publish on a console, do you have an idea on how expensive they really are? Are those licenses good for just one game or for the whole company?
One thing I don''t quite understand is all this "secret" that surrounds console game development. I mean I totally understand that each company''s knowledge of a console''s hardware and the tips to optimize your software running on it is top-secret, but for Sega or Nintendo to hide their SDKs seems strange to me. If you look at PC dev, all the ressources are available to everyone, and that makes more people develop for PC. I mean don''t they want more people to develop for their consoles? Of course they don''t want anybody to publish for them, as they do more quality checkup on games before they are realeased (a lot lot more than on the PC''s side where there is none), but hiding their SDKs don''t really help at that. Perhaps they don''t want the competition to have a look at their SDK? ..i''m sure they''ll be able to study it as much as they want anyways...
So let''s say a startup company wants to develop for a console. Of course that company would like to start developing a game without having to pay for a license or SDK and stuff right at the beginning of the project. So what would be best? Develop for the PC using DirectX and VC++, show your work to Sega and buy a license?
Regarding the license to publish on a console, do you have an idea on how expensive they really are? Are those licenses good for just one game or for the whole company?
One thing I don''t quite understand is all this "secret" that surrounds console game development. I mean I totally understand that each company''s knowledge of a console''s hardware and the tips to optimize your software running on it is top-secret, but for Sega or Nintendo to hide their SDKs seems strange to me. If you look at PC dev, all the ressources are available to everyone, and that makes more people develop for PC. I mean don''t they want more people to develop for their consoles? Of course they don''t want anybody to publish for them, as they do more quality checkup on games before they are realeased (a lot lot more than on the PC''s side where there is none), but hiding their SDKs don''t really help at that. Perhaps they don''t want the competition to have a look at their SDK? ..i''m sure they''ll be able to study it as much as they want anyways...
So let''s say a startup company wants to develop for a console. Of course that company would like to start developing a game without having to pay for a license or SDK and stuff right at the beginning of the project. So what would be best? Develop for the PC using DirectX and VC++, show your work to Sega and buy a license?
I know Sony released a PSX development kit to the public called Net Yarzoe (or something like that). I believe it costs around $300-$500 (?) but it couldn''t do everything a regular development kit could do.
i think Sony cut out the movie streaming code, and the ability to stream the program from cd. So when you made a game it would have to fit totally in RAM, like the original Ridge Racer. But still it would be a start in developing for a console system.
i think Sony cut out the movie streaming code, and the ability to stream the program from cd. So when you made a game it would have to fit totally in RAM, like the original Ridge Racer. But still it would be a start in developing for a console system.
Well, companies that own consoles are usually pretty bullish about letting some small, startup, independant developer have the ability to program a game for their system... and they usually see it as a boon to let just anybody get a game on the console (it''s their extremely strict attempt at letting only what they approve of get onto their console). Even if you get the design past the company, and they let you get a license, it still costs a LOT of money to license. Rather than try to get your foot in the door of Sony, Sega, or Nintendo, I suggest you look at these two options:
1) Watch the Indrema system. This is something that I think will bring a large boost to both the game industry and the Linux community. Start looking into how to program for (open source!) Linux, and by the time the console comes out, you''ll have a head start on getting a game onto this system. (The specs on this system are pretty nice, you should check it out... 600MHz processor, DVD drive, REMOVABLE nVidia GPU (which is being specially designed for this platform, and is going to be upgradable), and support for both DSL and Cable-Modem connections (I think they''re even considering incorporating Web-TV, which would just increase your consumer area))
The only downsides I can think of about this is that some people might not want to learn how to program for Linux (it''s not all that difficult, if you can tackle Windows... there''s just less information out there on how to do it)... and some people might not want to adhere to the Gnu Public License (though I don''t know yet how much you really have to conform to this). In that case, you can also consider:
2) Looking at the XBox. I''m sure you''ve heard about it. It will use a form of DirectX 8 (at least you won''t have to enum video types, effects, input types, etc... as far as I know, all xbox''s consist of the same hardware) and will have some nice hardware, too. (PIII (they haven''t posted the clock speed), 4xDVD, 8GB hard drive, 3d Audio, HDTV out, and also a custom nVidia graphics board (anyone else here think nVidia''s gonna make a bunch of money off these two systems?), Full Screen Anti-Aliasing hardware, and a bigger resolution than you can shake a stick at (though you won''t be able to achieve better than 640x480 without an HDTV in on your TV).
Since XBox will be using DirectX, you should do some work with this API and get a head start for when the XBox eventually comes out. If you haven''t yet made a game for any platform yet, I definitely wouldn''t think about licensing for some proprietary console. (You can''t exactly put out a patch for a console game... and trust me, your first couple of games are going to be pretty buggy). Get a head start on one (or both) of these consoles, and if you have a working demo (or, with a big enough team and enough experience, a kickin'' game) by the time the console actually comes out, you''ll have made a lot of headway into making it big in the console market. But don''t expect to get anywhere in the console industry untily you''ve proven yourself worthy (a couple of times) in another market.
If you think it''s hard getting your game published for the PC, it''s many times more difficult to get anywhere (let alone successful) on a proprietary console. But with these two consoles (the Indrema and the XBox), hopefully things will be a little different for the start-up development company.
Thanks for reading my fairly long message through till the end.
1) Watch the Indrema system. This is something that I think will bring a large boost to both the game industry and the Linux community. Start looking into how to program for (open source!) Linux, and by the time the console comes out, you''ll have a head start on getting a game onto this system. (The specs on this system are pretty nice, you should check it out... 600MHz processor, DVD drive, REMOVABLE nVidia GPU (which is being specially designed for this platform, and is going to be upgradable), and support for both DSL and Cable-Modem connections (I think they''re even considering incorporating Web-TV, which would just increase your consumer area))
The only downsides I can think of about this is that some people might not want to learn how to program for Linux (it''s not all that difficult, if you can tackle Windows... there''s just less information out there on how to do it)... and some people might not want to adhere to the Gnu Public License (though I don''t know yet how much you really have to conform to this). In that case, you can also consider:
2) Looking at the XBox. I''m sure you''ve heard about it. It will use a form of DirectX 8 (at least you won''t have to enum video types, effects, input types, etc... as far as I know, all xbox''s consist of the same hardware) and will have some nice hardware, too. (PIII (they haven''t posted the clock speed), 4xDVD, 8GB hard drive, 3d Audio, HDTV out, and also a custom nVidia graphics board (anyone else here think nVidia''s gonna make a bunch of money off these two systems?), Full Screen Anti-Aliasing hardware, and a bigger resolution than you can shake a stick at (though you won''t be able to achieve better than 640x480 without an HDTV in on your TV).
Since XBox will be using DirectX, you should do some work with this API and get a head start for when the XBox eventually comes out. If you haven''t yet made a game for any platform yet, I definitely wouldn''t think about licensing for some proprietary console. (You can''t exactly put out a patch for a console game... and trust me, your first couple of games are going to be pretty buggy). Get a head start on one (or both) of these consoles, and if you have a working demo (or, with a big enough team and enough experience, a kickin'' game) by the time the console actually comes out, you''ll have made a lot of headway into making it big in the console market. But don''t expect to get anywhere in the console industry untily you''ve proven yourself worthy (a couple of times) in another market.
If you think it''s hard getting your game published for the PC, it''s many times more difficult to get anywhere (let alone successful) on a proprietary console. But with these two consoles (the Indrema and the XBox), hopefully things will be a little different for the start-up development company.
Thanks for reading my fairly long message through till the end.
Greenspun's Tenth Rule of Programming: "Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp."
Actually I have already develop a functional (but not so performant) 3D engine using DirectX7 and started out a RTS game. I haven''t done any full game yet but I assume for now that there wouldn''t be any problem in developing one (we all know that this is totally false, but hey!). So basically I''m just looking for info about what comes after the game is done, which is publishing it, marketing it, and stuff like that. I know that some games on the PC haven''t sold very well but would have done very well on console games (like for instance that game where you pilot a RC car... can''t remember its name...). In the next few months me and maybe some friends will work on a demo PC game (not a RTS!) in our spare time and i wanted to get as much info about what we could do when it will be playable.
quote: Original post by Moimeme
(like for instance that game where you pilot a RC car... can''t remember its name).
You mean Re-Volt?
so many time stuck in the lounge...
the net yaroze let´s you burn cds with psx games but they only work with net yaroze psx´s or with blue psxs( the one that they use to test games), i heard that mod chiped psx that can run pirate cds also runs net yaroze games, look that the net yaroze don´t make the initialization stuff that the psx need to start to play the game.
before the reformulation of videogames.com they used to have a lot of information about it, maybe still there
============
if god is love...
and the love is blind...
so Ray Charles is god!!!
the net yaroze let´s you burn cds with psx games but they only work with net yaroze psx´s or with blue psxs( the one that they use to test games), i heard that mod chiped psx that can run pirate cds also runs net yaroze games, look that the net yaroze don´t make the initialization stuff that the psx need to start to play the game.
before the reformulation of videogames.com they used to have a lot of information about it, maybe still there
============
if god is love...
and the love is blind...
so Ray Charles is god!!!
"Everything works out in the end, if it doesn't then it is not the end"
Yes, Re-Volt !! That''s it... That would have been a perfect game for just about any console, but (if i''m not mistaken) it was only released for the PC, and they sold very few copies...althought many people did have this game! I remember one friend trying to buy it but couldn''t find it anywhere, so bad distributing might also be to blame here.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement