I'm curious what the process is for development for a game console such as Wii, Playstation, or Xbox. Do I need to use some game engine and compile for each platform?

What IDE is used? Any C++ IDE? Are all console games built in C++?

  • 1
    \$\begingroup\$ Just so you know: Unless you're talking homebrew, you can't develop for the Wii, Xbox, or PS3 without a professional dev license. (Well, C#/XNA for the Xbox, but still costs money) \$\endgroup\$ – The Communist Duck Mar 3 '11 at 21:01

Pro development is almost unilaterally done in C++. If you're planning on targeting multiple platforms, this is a must since it's the only thing that's supported on every console and OS. Note: if you're new to this, I'd start with something much simpler like XNA - still very, very powerful, but it'll let you focus on your game instead of memory leaks and other neophyte C++ hurdles.

Also, developing for any of the three major consoles (if you include Wii in that category) will require a dev hardware, which is difficult/impossible to obtain unless you're working with a group that has an established presence in the game industry. (Read: Gearbox, Bungee, etc.)

To date, Microsoft is the only company to produce a free/very, very cheap option for independent developers to write and publish console games, and XNA is no slouch - many people are building very interesting things with XNA, and as far as I've been able to tell it's more than powerful enough to take full advantage of the current console hardware. Most of the work is done on the GPU these days, anyway, and the CPU code just coordinates things.

Oh, and your XNA code will run on Windows, as well. =)

More thoughts

I recently started working for a medium-sized game studio, and my development rig /pipeline consists of:

  • PS4 dev kit.
  • XBox One dev kit
  • Windows machine - dual Xeon (20 cores, 40 with hyperthreading), 64GB of RAM, Titans.

It still takes 15 minutes to compile one of the larger games.

All actual coding is done in Visual Studio. The Sony and Microsoft tools allow connecting to your dev kit over the network, and provide remote debuggers that connect to Visual Studio. I haven't seen similar tools for other operating systems, but I haven't really looked.

The PS4 version is built through clang. XBox and Windows go through the Visual C++ compiler. (Some of our guys do their initial development on the PS4 because compilation is significantly faster.)

Most of the popular engines go a long way towards handling differences between the hardware, but when you get into shaders and real platform-specific optimizations (memory transfers are different beasts when comparing consoles to PCs), you're going to have to become something of an expert on consoles. On my team, we have one guy who is the PS4 expert, one who is the XBox expert, One super-badass who is the everything expert, but everyone works on everything.

Update 2017

  • XNA has been dead for awhile now. Look into Unity if you're C#-inclined.
  • You can now develop for XBOX using a retail console.
  • \$\begingroup\$ Hmmm... so you need a specific hardware? I thought I could develop on normal Mac or PC and just compile for platform I want... Thanks! \$\endgroup\$ – John John Pichler Mar 3 '11 at 16:51
  • \$\begingroup\$ You most definitely need hardware for testing. \$\endgroup\$ – AttackingHobo Mar 3 '11 at 16:53
  • \$\begingroup\$ What about wiiware? \$\endgroup\$ – Gustavo Maciel Jan 17 '12 at 0:40

To make retail games for a console you need to become an officially licensed developer. Each console manufacturer has a slightly different process for this, but it involves showing them that your team is capable to building and completing projects. If you've never shipped anything don't expect to get past this hurdle.

Once you've got a license then you'll need to purchase development hardware. The cost of the hardware is ~$10k per machine.

In the course of building your game you will need to get at least a distribution deal with an officially licensed publisher. You will also need to pass your game concept through each console manufacturer for approval. They each can accept or decline your title for their system.

Once the game is finished you again have to submit to the console owner for final approval and then pay them to manufacture the product. Distribution to stores is then handled by your publisher.

Basically the retail console space is a controlled market for established teams only.

To short circuit this whole process, MS put together XNA and the Community/Indie part of XBLA. XNA requires C# and doesn't give you complete access to the hardware, but in exchange you can develop and test on retail systems, don't need a developer license, and only have to pay a small fee to distribute digitally.

  • \$\begingroup\$ Thanks everyone for such excellent answers. I really didn't know about these "custom hardwares". In Brazil we don't develop too much games. I thought it was developed just in normal PC and Macs. Very interesting. In such a industry bigger than cinema, there are no pattern, or default "Environment" that is implemented following an specification. There are no union in this industry to build a unique platform? Business strategy or lack of mature in this industry? I know these is not the subject of this discussion, but I'm just asking myself. Thanks all! \$\endgroup\$ – John John Pichler Mar 4 '11 at 14:37
  • \$\begingroup\$ You may develop on a PC, often using "industry standard" tools (Visual Studio or gcc, et cetera). But you will need specialized development hardware to run and test your developed code on an "actual console." This is not terribly unheard of, almost any industry that involves writing code for specialized hardware will have you following a similar pattern. For some smaller, less powerful devices (handhelds, phones, blenders) you may have device emulators available. \$\endgroup\$ – user1430 Mar 8 '11 at 16:39

You don't have to use an existing game engine, but creating one from scratch can be a daunting Task. Right now your easier option is XNA and C# for the Xbox. XNA is free but to be able to publish your game you have to pay $99 per year fee to join microsoft's developer club. Unity3d is a game engine which also has an export to Wii option but you still need to be a licensed developer through nintendo and I don't know the costs involved with that.


Microsoft app Hub(XNA and such)

Unity3d game engine

  • 1
    \$\begingroup\$ Note: You only have to pay the $99 (which is insanely cheap) if you want to test on the xbox or deploy to XBox Live. XNA is totally free for Windows development. \$\endgroup\$ – 3Dave Mar 3 '11 at 15:08
  • 1
    \$\begingroup\$ yes but the question specifically asked about console development. \$\endgroup\$ – lathomas64 Mar 3 '11 at 20:12
  • \$\begingroup\$ any updated information on Wii costs? \$\endgroup\$ – kagali-san Jun 10 '11 at 20:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.