Sign in to follow this  

New to console programming

This topic is 3492 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Quote:
Original post by _Zac_
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?

It depends.

A console is a computer, the primary difference lying in the fact that the console has (generally) been specialized to particular tasks. For instance, the architecture of the PlayStation 3's CPU coupled with its overall system configuration makes it very, very good at highly parallelizable tasks, and only middle-of-the-pack at some others. Programming for it is fundamentally no different than programming an Intel-based PC running Windows; programming effectively for it, on the other hand, is a whole 'nother kettle of fish.

The key in programming a console effectively is understanding what sorts of tasks or small-scale problems the console's hardware is best suited to run, and what the penalties are for suboptimal data sets. Your job, then, is to convert a generic problem such as spatial reasoning for N dynamically deforming and translating objects into formulations that are efficient on the available hardware.

Quote:
Original post by cNoob
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.

Is it illegal to mod your console? You own it; you should be free to bastardize it as you see fit. Yes, there is legislation like the DMCA that seeks to criminalize any circumvention of encryption, but modding a console for the sole purpose of running your own programs and the homebrew programs of others is not illegal.

The gray area arises because the mod chips, by virtue of circumventing signed binary checks, etc, permit consoles to more easily play pirated games.

If you want to get into hobbyist console development, my recommendations are:
  1. Consider an Xbox 360 and XNA. With the Creators Club you can even share your games with other Club members.

  2. Consider a Nintendo DS. The GameBoy Advance platform is well understood, with solid open source toolchains available for it, and the DS can play GBA games natively. Additionally, the homebrew toolchain for the DS itself is maturing rapidly. Plus, you can write stylus-driven games.

  3. Consider a Sega Dreamcast. It's a defunct console, so there is now an abundance of technical information for it, which has resulted in a surprisingly mature and complete toolchain, so much so that independent unlicensed titles have been released as recently as 2007: Karous, Last Hope, Trigger Heart Exelica.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Is it illegal to mod your console? You own it; you should be free to bastardize it as you see fit. Yes, there is legislation like the DMCA that seeks to criminalize any circumvention of encryption, but modding a console for the sole purpose of running your own programs and the homebrew programs of others is not illegal.

The gray area arises because the mod chips, by virtue of circumventing signed binary checks, etc, permit consoles to more easily play pirated games.


My mistake, It's just when I last updated the FW on my PS3 I was reading through the terms and noticed the following:

Quote:

You may not lease, rent, sublicense, publish, modify, adapt, or translate any
portion of the System Software. To the fullest extent permitted by law,
you may not reverse engineer, decompile, or disassemble any portion of the
System Software, or create any derivative works, or otherwise attempt to
create System Software source code from its object code. You may not (i)
use any unauthorized, illegal, counterfeit, or modified hardware or software
in connection with the System Software, including use of such tool to bypass,
disable, or circumvent any encryption, security, or authentication mechanism
for the PS3™ system; (ii) violate any laws, regulations or statutes, or rights
of SCE or third parties in connection with your access to or use of the System
Software, including the access, use, or distribution of any software or
hardware that you know or should have known to be infringing or pirated; (iii)
use any hardware or software to cause the System Software to accept or use
unauthorized, illegal, or pirated software or hardware; (iv) obtain the System
Software in any manner other than through SCE’s authorized distribution
methods; or (v) exploit the System Software in any manner other than to use it
in your PS3™ system in accordance with the accompanying documentation and with
authorized software or hardware, including use of the System Software to
design, develop, update, or distribute unauthorized software or hardware for
use in connection with the PS3™ system for any reason. Any violation of these
restrictions will void the PS3™ system’s warranty and affect your ability
to obtain warranty services and repair services from SCE.

Quote source

Obviousy, these terms only apply for the Playstation 3. Other systems will have their own restrictions, so I should of made it clear I was talking about the PS3 when saying it was illegal to make any modifications.

I'm not to sure of the other consoles terms.

EDIT: Actually, reading through it a second time, I noticed it doesn't actual say it's illegal, just that you will lose your warrenty and repair services :)

[Edited by - cNoob on May 27, 2008 12:29:13 AM]

Share this post


Link to post
Share on other sites

This topic is 3492 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this