April 11, 2007 4:00 AM PDT

Game developers adapt to multicore world

Related Stories

Intel: Optimize applications for multicore

August 27, 2006

Coding for fame, and dollars

May 2, 2006
A clarification was made to this story. Read below for details.

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.

"I'd say we're at a 'C-plus' right now. When the first dual-core chips came out (in 2005), we were at a D-minus."
--Randy Stude,
director, Intel's game platform office

The bad news is that releasing patches is only a stopgap solution until game studios sell games 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 1 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 more than 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 just working on 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.

 

Correction: 'World of Warcraft' users on Windows PCs can take advantage of multicore processors.

See more CNET content tagged:
multi-core processor, multi-core, game company, dual-core processor, THQ Inc.

3 comments

Join the conversation!
Add your comment
The Commodore Amiga had the right idea
It was an innovative design with a CPU and other processors to control I/O, graphics, sound, and share memory with the main CPU.

I currently have a Radeon 9550 video card that has a processor that takes over control from the CPU to write to video. Soon Intel will make the GPU part of the CPU in some Dual Core process.

Games on the Amiga ran blindingly fast in comparison to the PC and Mac versions of the game, despite the Amiga having a lower Mhz CPU, the other processors made up for it.

Intel made the innovation to have a Dual Core processor and have each Core take over different processes. Now it has a Quad Core processor as well. It seems that if you cannot speed the system up with clock speed, you can speed it up by making the CPU work like two different CPUs or more. The second core works as a processor for the first one. One core can handle I/O like the network, while the other one can handle the video and audio to avoid network lag and graphic and audio lag.

The Amiga had the idea first to put tasks to different processors in order to speed up the games and the system. Of course the Amiga had these processors built into the motherboard and they are faster than processors built onto an expansion card.

In the past having a Dual CPU motherboard was costly, and few would even bother to do so, unless it was a server or something and needed fault tolerance. But now that Dual Core technology is cheaper and available with just one CPU, and now is getting software to take advantage of it, I think it is going to get more popular.
Posted by Orion Blastar (590 comments )
Reply Link Flag
I can kind of understand
I can kind of understand the problems with multicore / multiprocessors but not the talk how they are anything new or very difficult? Maybe ask some oldtimers around how it was done in mainframe AP/MP/nodes with channel attachements, with I/O processors, DMA, etc.. ( attached processor/multi processor ) systems in 70's, way before the PC's were available. Running parallel tasks, not same as multi-threading, much more fun. Maybe a little reading helps if you started with 8bit or whatever microprocessors.
Posted by tuomoks (7 comments )
Reply Link Flag
The API's and Compilers need to take a quantum leap forward and become "smarter" about how to deal with multi core code. There should be broad parameters that the compiler can use to generate optimized multi-core compliant code for.

It should be able to iterate over test builds to maximize efficiency and the manual task of analyzing each line of code should be much less than what it is today, imo. I think if Programmers could assign high level structure to each core in a programmatic way we would see a lot more multi core games.
Posted by Keplerftw (1 comment )
Reply Link Flag
 

Join the conversation

Add your comment

The posting of advertisements, profanity, or personal attacks is prohibited. Click here to review our Terms of Use.

What's Hot

Discussions

Shared

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.