Wednesday, May 2, 2007

Nintendo Wii: Can games be cross-platform designed?

A big concern for publishers, it seems, is designing a video game that can handle all the console systems. A dream game for a publisher can be developed for the Sony PlayStation 3, Microsoft Xbox 360, PC and Nintendo Wii.

However, this is a major struggle from a developers perspective because every system has unique hardware and different specifications. Do you design for the lowest common denominator or do you design for the middle-end and retro-fit the application to all other design platforms?

Consider the memory space and you'll see a major problem area:


  • PlayStation 3: 512MB of GDDR3 memory (shared between CPU and GPU).
  • Microsoft Xbox 360: 256 XDR memory
  • Nintendo Wii: 64 GDDR3 memory


Notice the varied memory configurations? A game developers job is never easy, working with the smallest amount of memory possible. Consider a standard software developers memory options for a Windows, Mac or Linux program. Typically they're working with 512MB to 2GB of memory--much more.

You're asking a game developer to pack as much awesomeness into a very small container. Working with smaller memory footprints requires a high level of skill because "sloppy development" isn't an option when working with tiny memory capacities (yes, by todays standard 512MB is "tiny").

How do you, as a developer build a gaming application for 512MB of memory while still allowing it to run on a 64MB footprint? Well, simply put, you can't. You must design your software to run less than the smallest memory footprint, nobody wants to sit on the edge of 64MB of memory and then accidentally use a few too many bytes and cause critical failure.

If you think that's hard, you've also got to look at the two memory designs for the Xbox 360 vs. that of the PlayStation 3. The PlayStation 3 seems to have more memory...512MB compared to the Xbox 360 256MB of memory but this isn't true. The PlayStation 3's memory is "shared" between GPU and CPU, what does that mean?

That means the graphics memory and textures shares the same space as game data, levels and objects. If you have a game with a huge amount of textures and environments you will probably have less physical objects in the world because there isn't enough memory to have both.

The Xbox 360 only has 256MB of memory for the CPU, but the GPU has it's own 256MB of memory. In this design filling memory with game data won't impact graphical data where in the PS3 it can, but developers are smart to keep the balance correct. Many laptops also share memory data with graphic data so this isn't a new concept or a major concern (although in laptops it typically means slower GPU memory pipes).

When designing your game for all systems you must keep a few things straight: how your memory is used and how much memory is used at one time.

The Xbox 360 memory size and the PlayStation 3 memory size can be considered equal (but the designs are different) while the Nintendo Wii is dramatically smaller.

This gives the developer three options:


  1. Develop the game for the lowest common denominator
  2. Develop the PS3 and 360 game, then the Wii "port"
  3. Don't develop the game for the Wii at all.


Typically, option 2 or 3 will be selected as we can see from the released titles across all three systems. In the case of Madden 07, option 2 is probably the decision they made. The product exists on all platforms, looks about the same on the PS3 and Xbox 360 but looks very different on the Nintendo Wii. Why? They have less resources to work with and thus, graphically, the system looks aged and not graphically satisfying.

The fact that Madden 07 looks so bad on the Wii shows that the developers paid close attention to the high end systems and 'simplified' the graphics to work on the lower-end system. I'm sure the graphics could have been better had they focused on that system as the target, but the end result may have been horrible graphics on the two other consoles.

The other major factor, Electronic Arts can afford to build a game like Madden on all platforms simultaneously because they've got a larger budget (we're not even talking about handhelds!).

Smaller game companies will have to select a target platform and hope the port is easier on them especially if they have experienced developers for the other platform in question. If they do not have the experienced team to work on a specific platform they can outsource the work and release the port 6-12 months later (not too unusual).

Sound like a lot of work? Yes! Now, take into consideration the new Wii controller design. Just when you think you've ported a game to the Nintendo Wii and the other two higher end consoles you're looking at a major barrier... making a slick Wii remote gameplay implementation while holding true to the gameplay on all other platforms.

This will result in one of two outcomes:


  • Investing time to perfect the Wii controller (date slips!)
  • Half-baked functionality just to keep the project on track


In a perfect world you're going to want to publish your title on all the consoles simultaneously. This is easier for the consumer to understand when they hear "Madden 07 is released this month" without questioning "what console?"

This isn't always possible, but if it can be roughly the same release date the consumers will be happy (as will the publishers). Having worked out your memory constraint issues, how do you target a game for a simultaneous release when you have to sit down and map out how you'll handle the Wii controller when the 360 and PS3 controllers are fairly similar (barring "tilt" features)?

Thus you have your options: make a good design for the controller or just get the thing to market and hope people like it.

We've seen both implementations on the Nintendo Wii so far, developers that want to implement a slick design and developers that just want it to hit the market (see TMNT for an example of the later).

Hopefully this explains a bit on why certain games are Nintendo Wii only, such as SSX Blur, while other games, like Oblivion, never arrive on the Nintendo Wii.

As systems become more complex and vary in specifications it becomes extremely difficult to support them all at the same time. If it was really that easy we'd have Linux, Windows and Macintosh games all simultaneously released!

Instead you have a handful of Mac games ported a year later, outsourced Linux game releases and a wide variety of Windows games.

You've also got to keep a focused eye on games released on all three platforms. You really want to take a look at the highest end game (PS3) vs. the lowest end game (Wii) and see how drastically different they are. In some cases, the middle of the line (360) will probably be the best selection because that's "the balance" between the two extremes.

This is especially true for smaller development firms because they're wallets aren't as fat and they may cut corners to release on all three systems. Larger firms have more money to spend and may put a unique team or studio working on the Wii release in order to put out a quality product on a similar game schedule.

In my humble opinion, I'll spend more time looking into Wii-only releases because I know they're only focused on perfecting a single platform. I'll also concentrate my searches on games that hit 360 and PS3 only (Assassin's Creed for example) because I know it won't be degraded to cover the least common denominator console (Wii).

No comments: