Game Development Reference
In-Depth Information
Adapting to Multicore Consoles
The original Xbox and GameCube were both single-core systems, so
games that were developed for these platforms essentially ran variants
of the traditional game loop. But the traditional loop style became ob-
solete when the Xbox 360 and PS3 systems were released. Suddenly,
game developers who had been accustomed to single-threaded devel-
opment had to deal with the new world of multicore programming.
The initial attempt that most development studios made was the ren-
dering/gameplay split, as described in this section. This solution ended
up being shipped in most of the early titles for both consoles.
But the problem was that such an approach didn't take advantage of all
the available cores. The Xbox 360 can run six threads at once, and the
PS3 is able to run two threads on its general-purpose core and six on
math-focused cores. So simply splitting the rendering from everything
else would not use all the available threads. Ifa console has three avail-
able slots for threads but only two are in use, the game is only using
two-thirds the total capacity.
Over time, developers improved their techniques and were able devise
ways to fully utilize all the cores. This is part of the reason why the
later Xbox 360 and PS3 titles look so much better than the earlier
ones—they're actually using all the horsepower that's available.
Time and Games
The majority of video games have some concept of time progression. For real-
time games,thatprogressionoftime istypically measured infractions ofasecond.
As one example, a 30 FPS title has roughly 33ms elapse from frame to frame.
But even turn-based titles do feature a progression of time, except this progression
is measured in turns instead of in seconds. In this section, we look at how time
should be taken into account when programming a game.
Search WWH ::




Custom Search