New to console programming

Started by
10 comments, last by cNoob 15 years, 10 months ago
I've always wanted to make a console game, and wanted to know what programming languages are used for consoles. Do they all use different programming languages? (ex. Xbox uses a different programming language than Playstaion) Or do they all use the same programming language? (ex. Playstation, Xbox, and Gamecube all use C++) Or is it more complicated then that? I want to know what programming language I should learn to be able to make games for consoles. I know the basics about programming (Taking a Visual Basic course and know a lot of GML (Game Maker Language)) if that helps.
Advertisement
If its a language that compiles into binary (C++ for example), it will work on pretty much anything. But, the limitation is that you cannot make specific API calls to windows on a gamecube or playstation, and you can not make playstation calls on gamecubes.
Quote:
If its a language that compiles into binary (C++ for example), it will work on pretty much anything. But, the limitation is that you cannot make specific API calls to windows on a gamecube or playstation, and you can not make playstation calls on gamecubes.

You are incorrect. All languages are ultimately reduced to machine code. Processors only execute machine code. Furthermore, weather or not a language is compiled to machine code has little bearing on whether or not the language is usable on multiple platforms. In order to be usable on multiple platforms, a language requires support for that platform; generally this means a compiler and a runtime. If a compiler and runtime and any other suitable tools are available, that language is usable.

Quote:
Do they all use different programming languages? (ex. Xbox uses a different programming language than Playstaion)
Or do they all use the same programming language? (ex. Playstation, Xbox, and Gamecube all use C++)

C++ is the language with the widest platform support for those systems.

Quote:
I want to know what programming language I should learn to be able to make games for consoles. I know the basics about programming (Taking a Visual Basic course and know a lot of GML (Game Maker Language)) if that helps.

Programming for a console is not particularly different than programming for anything else. There are differences, sure, but they're not massive; they're more about which techniques are more important in what context, and so on.

Working on learning to program on your desktop computer is a good first start. All of those concepts will transfer, and the toolchain support on the desktop is much, much better and easier to work with in general than homebrew console stuff, which means you can spend more time doing what is important -- learning to program -- and less time fighting with tools.

Once you've got some experience, perhaps written a couple simple games, then you might consider moving on to homebrew console development.
Quote:Original post by jpetrie
Quote:
If its a language that compiles into binary (C++ for example), it will work on pretty much anything. But, the limitation is that you cannot make specific API calls to windows on a gamecube or playstation, and you can not make playstation calls on gamecubes.

You are incorrect. All languages are ultimately reduced to machine code. Processors only execute machine code. Furthermore, weather or not a language is compiled to machine code has little bearing on whether or not the language is usable on multiple platforms. In order to be usable on multiple platforms, a language requires support for that platform; generally this means a compiler and a runtime. If a compiler and runtime and any other suitable tools are available, that language is usable.


Ah ok, my mistake.

Cant believe i forgot about processor instructions also, :P.
Quote:Original post by _Zac_
I've always wanted to make a console game, and wanted to know what programming languages are used for consoles.

Do they all use different programming languages? (ex. Xbox uses a different programming language than Playstaion)
Or do they all use the same programming language? (ex. Playstation, Xbox, and Gamecube all use C++)

Technically, you can use any programming language to program a console. A console is a computer, and like all computers has a CPU (or several) has a native machine language consisting of specific binary sequences. So long as a compiler/assembler exists to transform a given language into the CPU's specific machine language, you can use it to program that console.

Libraries and APIs are just collections of code that emit specific system instructions in sequence to maintain and mutate a logical model as desired. For instance, a call to create a window under Win32 allocates some memory and sets up some data structures; none of that is tied to the native system instructions.
I should probably ask this question when I actually know more about programming in C++, but what are the differences in programming for consoles than programming for computers?
I thought I would include this here. Getting an official development kit for consoles such as the PS3 or the 360 would require alot of money. Ofcouse there are other ways of getting past this by modding your console of choice but it would be both a hassle and illegal.

The best way for anyone looking to get something running on a console is with Microsofts XNA. Altough it costs a small amount for membership, it's nowhere near as close as you would be expected for an official 360 DevKit.
There's also the possibility of running a Linux distro on your PS3, and making games for that, hell even compiling open source games.

Wasn't Nintendo supposed to come out with some sort of homebrew kit as well?
Quote:Original post by blakedev
There's also the possibility of running a Linux distro on your PS3, and making games for that, hell even compiling open source games.

Wasn't Nintendo supposed to come out with some sort of homebrew kit as well?


Sorry to burst the bubble, but AFAIK Sony is constantly trying to lock access to the GPU in the PS3 for non-licensed developers (i.e. Linux) as the PS3 runs a thing called "Hypervisor" that runs on top of the guess OS. From time to time open source developers find a leak to trick the hypervisor and gain access to the GPU. This is, however, fixed by Sony with newer firmware revisions. Until the Hypervisor gets fooled again.. and then Sony fixes it. It's an endless loop
This means, no graphics acceleration.

Edit:
Quote:
I thought I would include this here. Getting an official development kit for consoles such as the PS3 or the 360 would require alot of money.

Not only money. You need a lot of requierements to be licensed developer. One is for example, to have your own Studio. Home Studios (that is, you work at your home) are not qualified because it's considered that they don't have the necessary security and confidenciality it takes to protect the Toolkits from being stolen,reversed-engineered,etc. There are a lot more. They seem unreasonable at first, but most of them, if not all, have actually a proper explanation (considering the model of business they are using, where homebrew games and open-sourced games aren't usually part of it)

Cheers
Dark Sylinc
Quote:Original post by Matias Goldberg
Sorry to burst the bubble, but AFAIK Sony is constantly trying to lock access to the GPU in the PS3 for non-licensed developers (i.e. Linux) as the PS3 runs a thing called "Hypervisor" that runs on top of the guess OS.


Wouldn't the guest OS be running on top of the hypervisor considering it's the layer that sits between the guest OS and the PS3's hardware.

This topic is closed to new replies.

Advertisement