Ask HN: Graphics/Game programmers, How do you port 3d games across platforms?

3 points by edge17 ↗ HN
I was discussing the topic recently, with regard to some of the Metal Gear Solid titles being ported to Xbox 360, and the Playstation Metal Gear Solid being ported to Gamecube, etc.

What does it take to port the game? Do new meshes have to be re-done? Does all the code have to be re-done? Or is it a 'simple' matter of changing a few files, tweaking Makefiles and building the codebase using the platform specific toolset?

4 comments

[ 4.2 ms ] story [ 21.8 ms ] thread
Its no simple matter; its a full time job for at least 6-15 months, with a team of between 2-80.

For example, when I worked at SCEE we ported Little big planet to PSP from PS3, and that was 14 months with 40 odd people full time.

It can be much quicker than that, but in general you have to worry about getting the engine working on the new platform.

does alot/all of the in-game models have to be redone?
Depending on the underlying tool chain, it can be as easy as just re-exporting the data.
It depends. A/V assets are usually portable. Coding issues may range from having to transcode the whole mess to having to set a few flags ... but in either case, you then have to do testing & debug to make sure it works as expected (hah!).

A tool like Unity3D helps if it will actually do what you need, but it's not going to keep you from many months of testing and debug to make sure the "painless cross-platform support" is actually working and to fix the case when it fails.

Oh, and then you have to patch both / all versions when you make changes...fun!

Some are easier than others though, e.g. Microsoft has put a lot of effort into ensuring that Windows <--> Xbox 360 is reasonably painless compared to * <--> PS3 (where "reasonably painless" == "months of tedious work").