The last few years have seen the age of the console exclusive game fading fast. Sega are bringing their games to other systems following the demise of the Dreamcast, and PlayStation poster boy "Metal Gear Solid" has already been released on PC, with an Xbox sequel to follow. Other console franchises like "Dino Crisis", "Resident Evil" and "Tony Hawk's Pro Skater" have also come to the PC in recent years, while games originally designed for the big beige box such as "Quake 3 Arena", "Unreal Tournament" and "Half-Life" are heading the other way, appearing on Dreamcast and PlayStation 2, with Xbox versions likely to follow.
More and more developers are finding themselves designing games for more than one platform. But what are the differences between console and computer game development, and what are the challenges developers face when programming for a whole range of radically different platforms? To find out more we spoke to the Technical Directors of British companies Climax Brighton and Synaptic Soup, as well as the Project Lead on Volition's first person shooter "Red Faction".
What's In The Box?
The most obvious difference between the next generation consoles and the PC is that generally consoles are uniform closed boxes, while the wide range of hardware and software available for the PC means that no two systems are ever quite the same. Developers know exactly what is inside a console, and they can then optimise their games to run on that particular setup, safe in the knowledge that everybody playing the game should be using the same hardware.
"Consoles offer a fixed hardware platform that allows games to be highly targeted to take advantage of the hardware right from the start of project development", Climax Brighton's Greg Michael explained. "With PC games there has to be a lot more design and planning in order to allow for a scaleable game engine that handles multiple configurations of game players' systems."
"A huge advantage for [console] developers is that you are working with fixed hardware", agrees Alan Lawrance of Volition. "With the PS2 you don't have to worry about the range of processor speeds and video cards that are a fact of life on the PC. If something works well on the PS2, you know it will always work."
Tools Of The Trade
This doesn't mean that console development is any easier than designing games for the PC though, just that "the problems which you encounter are completely different" according to Synaptic Soup's Rik Heywood.
"On the PC it is usually relatively simple to get [a game] to do what you want on your machine, but a complete nightmare to make that happen on all PCs. With the PlayStation 2 you have to really understand how all the pieces fit together, so getting it to do anything at all can be a bit of a challenge at times. When you do get it working though, it's awesome."
Part of the difficulty in getting games up and running on next-gen consoles is down to the development tools available. "The main disadvantage of working with the consoles in my mind is the development environment", Rik told us. "It takes a while before all of the dev tools like debuggers are up to standard, and there is nothing worse than a debugger that crashes! Even when they do mature a bit they are often weak when compared to the PC."
Alan isn't so sure though, saying that "the tools aren't better or worse, just different". But with each new console system that is released featuring an entirely new set of tools to learn as well as new hardware, Greg points out that there is a "learning curve to get up to speed with the new consoles".
The lack of APIs on console systems can also be a problem for developers. "Right now there isn't the equivalent of DirectX for the PS2, so you have to write a lot of low level graphics and sound code", Alan told us. "This is a mixed blessing, since getting close to the hardware usually means you can better exploit its potential, but it is more difficult than working with a high-level API."
For most consoles, being able to tinker with the code at such a low level is important, as although the latest machines are on a par with the PC when it comes to number crunching abilities, they are still woefully short on another precious commodity - memory. "Your average PC has more memory than the PS2, and the PC can rely on a hard drive for virtual memory. For a developer who is used to working on the PC it can be a bit of a shock to have to fit everything into 32Mb."
"Luckily we've been able to learn from all the hard won PS2 experience that the Summoner team has accumulated, so getting Red Faction onto the PS2 hasn't been difficult. The main challenges were getting all of our high resolution textures and lightmaps to fit into memory, and making sure that our advanced physics code runs fast enough."
Of course, all of this could be about to change with the release of the Xbox later this year. Microsoft's entry into the console market is a machine that will be reassuringly familiar to PC developers, based around the DirectX API and featuring a mammoth 64Mb of RAM as well as a built-in hard drive.
"Just getting something up and running on the XBox is going to be a lot simpler than with some of the other platforms", Rik thinks. "However, it is not just a PC in a box - it will be capable of a lot more when developers start to really exploit its strengths, just like the other consoles. But if you are a hardcore PC developer then I expect that the XBox will provide the easiest route to a working console title."
The arrival of the Xbox is only going to make cross-platform development more popular, but Greg warns that "it takes an experienced team with plenty of prior planning to effectively carry it off". Although the DYNE engine which his team is working on "has been designed very well with a lot of abstraction from the target hardware, there will only be a few systems that will be kept cross-platform and mostly only at a very high level. To produce the games we want to make, certain parts of our technologies must be optimised for each specific hardware platform".
At the end of the day cross-platform development involves a lot more work, as every version of the game must be customised to make the most of the hardware it is running on and get around any limitations of the system. But with many publishers increasingly unwilling to bet their futures on any single platform we can no doubt expect more games to appear across a wide range of systems in future. And for gamers that can only be a good thing. Thanks to Greg Michael, Rik Heywood, Alan Lawrance, Alison Beasley and Asam Ahmad for their help in preparing this article.