Jump to content


Porting games from PC to Xbox360, PS3 and Wii


2 replies to this topic

#1 bulbul77

    New Member

  • Members
  • Pip
  • 1 posts

Posted 03 September 2009 - 07:29 PM

Hi everyone, I'm interested in understanding the factors that influence a developers' decision to port games across consoles. Specifically:
1. What are the differences in the development environments and tools for PC, Xbox360, PS3 and Wii and how does this influence the ease of porting games?
2. What are the architectural differences between these platforms and how does that influence porting decisions?
3. How much of the code is typically reused across the platforms and what aspects of the code are platform specific and need to be rewritten?
4. On a scale of 1 to 10 how would you rate the ease of porting between PC and Xbox360, PC and Wii, PC and PS3, Xbox360 and Wii, Xbox360 and PS3 and PS3 and Wii?
5. Are some game genres easier to port from PC to VG consoles than other genres?

Any insights and comments on these issues would be much appreciated.

#2 Reedbeta

    DevMaster Staff

  • Administrators
  • 5307 posts
  • LocationBellevue, WA

Posted 03 September 2009 - 08:25 PM

1. I can't speak for X360 or Wii, but on the PS3 we get a full GCC cross toolchain. You can of course use any IDE you desire. So as far as devenv goes things are pretty compatible; if you were using GCC before you can continue to use the same build scripts, a lot of the same makefiles and so on. Of course you have to link with completely different OS libraries and so forth.

2. Probably the most important difference between PC and any console game is memory constraints; consoles have much less memory than the typical PC. For instance, PS3 has only 256MB of main memory (and 256MB of VRAM). Although I don't have experience porting a game from PC to console, I would imagine this is the biggest long-term headache: making the game fit into much less main memory than you would usually have on a PC.

On the other hand, a boon to PC developers moving to a console is that you can probably rely on the OS to stay out of your way and let you do your thing. You are somewhat closer to the metal and can integrate more tightly with the hardware since you have exactly one hardware configuration, while the PC makes you work at a higher level of abstraction and deal with configuration differences.

3. High-level things like AI, animation, gameplay logic, loading/spawning, and high-level rendering logic are probably fairly safe, but all the low-level stuff like rendering setup and API calls, input handling, and sound will need major rework.

Another thing is that all the major consoles are PowerPC-based and therefore big-endian while most PC games are on little-endian Windows. So all your tools will need to write out game data in the appropriate endianness for the platform.

One PS3-specific issue is reorganizing threading to work on the Cell processor. With X360's triple PowerPC cores I would imagine a multithreaded PC game ports fairly well with little change in thread organization required. Threading for PS3/Cell is completely different due to the asymmetric multicore organization.
reedbeta.com - developer blog, OpenGL demos, and other projects

#3 Luz Reyes

    Valued Member

  • Members
  • PipPipPip
  • 112 posts

Posted 13 September 2010 - 10:08 PM

Old post, new info. Sometimes important factors in porting a game have nothing to do with the code, memory etc: I recently tried to port an iPhone game to iPad which uses the accelerometers to control gameplay. I took care of graphics and hardware differences, but never thought about the size of the device. Because there's more "controller" to move with the iPad, the real-world physics of moving it around led to a pretty different experience on the iPad and I had to re-work how the game handled accelerometer input.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users