PC game developers appear to finally be getting the message: the free ride is over.
For years, developers were able to take advantage of faster and faster processors from Intel and Advanced Micro Devices. All they had to do was write their program once, and it would run faster and faster as Intel and AMD cranked up the clock speed.
But overheating forced chip companies to adopt designs with two or more processor cores running at slower speeds, which meant that some applications written to run on a single thread couldn't take advantage of that extra horsepower. This has required an entirely new way of looking at software development, prompting Intel this week to release another batch of software development tools aimed at helping developers make that transition.
Major games take years to develop, meaning that most of the games released around the time that dual-core chips hit the market in 2005 were not built with two lanes in mind. The good news is that developers have found a way around this so far with patches, which alert the game that it has two cores to work with.
The bad news is that releasing patches is only a stopgap solution until game studios sell titles designed with multiple software threads in mind. More and more studios seem to be getting the message, with dozens of major titles in the works for multicore processors. But this is hard work--the abandonment of decades of programming expertise for a new way of exploiting processor power.
"I'd say we're at a 'C-plus' right now," said Randy Stude, director of Intel's game platform office, assigning a grade for the industry's progress toward parallel development. "When the first dual-core chips came out (in 2005), we were at a D-minus."
Intel and AMD have spent significant time and energy urging developers to take advantage of the "low-hanging fruit"--easy ways to make their games more aware of parallel computing. AMD even sponsored a coding competition last year to help drive those points home.
As a result, over the past year, major game studios such as Blizzard Entertainment (World of Warcraft) and Id Software (Quake and Doom) have released patches to make their games multicore-friendly.
But that's not the same as having designed the game from day one with multiple processors or multicore chips in mind, said Ted Pollak, an analyst at Jon Peddie Research.
"It won't give the same kind of performance, but it's going to help, and it's better than nothing," Pollak said.
According to lists supplied by Intel and AMD, just over 25 games are available that were designed with multiple-core processors in mind. One of those games, THQ's Supreme Commander, made its debut in February.
"We feel it's a design choice you have to make from the outset," THQ spokesman Ben Collier said.
Unfortunately, it's not always that simple. Massive PC games are multiyear projects, and many companies are reluctant to tinker with code that has been well received by the public. Some developers are working on just a single game, while others are creating game engines that will power several games.
One company thinks that it has a product that can help alleviate the long nights spent coding for multicore chips. "It's a way to continue to use serial programming but achieve a parallel approach to data parallelism," said Ray DePaul, CEO of RapidMind.
Most of the work on the RapidMind development platform has been for IBM's multicore Cell processor, but the company is working on tools to support multicore x86 chips from Intel and AMD as well, DePaul said. Developers use an API (application programming interface) to write their application, and the platform figures out how to distribute the load across multiples cores.
A company called PeakStream has a similar product that can let developers plunge right into the multicore world.
Intel thinks that developers might as well just get used to the parallel world, however. Soon all PCs will have at least dual-core chips, with quad-core desktop chips already available from Intel and coming later this year from AMD.
Console games appear headed in that direction as well, Stude said, given the use of multicore chips in the PlayStation 3 and Xbox 360.
"The learning curve is becoming less and less to get threading work done," Stude said.