Finding the Next Challenge in Visual Computing
Orion R. Granatir
Five years ago, a new wave of consoles brought the inception of high-definition (HD) content to the video game industry. Some companies excelled in this era, others did not. Nevertheless, the industry is now HD.
As evidenced by console manufacturers developing new input controls to extend the life of this generation of consoles, the industry is looking for the next challenge. With the release of DirectX 11, the increasing capabilities of processor graphics, and a new surge of mobile devices, there certainly is plenty to explore.
Some think programming for multicore is a punishment reserved for the eighth ring of hell. (I recently beat EA's Dante's Inferno, so it's on my mind.) But you don't need to fight your way through purgatory to reach multicore heaven. If you keep two concepts in mind, things get easier:
1. Use data decomposition:
A game can't scale just by dividing subsystems onto separate threads (sometimes referred to as "functional decomposition"). It has to divide data intelligently to run across multiple cores. The ever-insightful Mike Acton has a great article on this very subject over at Insomniac Games' R&D page
2. Use tasks, not threads directly:
To scale on an arbitrary number of cores and be truly cross-platform, work should be divided into tasks. A task is a unit of work (for example, a function pointer and data) that can run without (or with very limited) synchronization. These units of work are processed by a thread pool, which is scaled appropriately to the available parallelism in the hardware.
By utilizing tasking and data decomposition together, it is possible to take advantage of multicore for all subsystems. Prior to DX11, rendering was still the locked gateway to heaven. With DX11, it's now possible to divide the work of rendering into multiple tasks using deferred contexts.
It's interesting to note that DX11's multithreaded goodness can run on DX10 hardware. DX11 supports "feature level," which allows the latest API to be used on a wide range of hardware (provided the application is running on Vista/Win7) by emulating any missing behavior in software.
There is a growing uptake of task-based architectures in game engine design. Mark Randel's implementation of physics and AI in Terminal Reality's Infernal Engine is nothing short of amazing. The fellows over at BitSquid are building a new game engine written with solid support for multicore. Furthermore, the Civilization V team at Firaxis is getting great performance out of a task-based approach. (Check out their GDC 2010 presentation: "Firaxis' Civilization V: A Case Study in Scalable Game Performance.")
Orion R. Granatir is a senior engineer with Intel's Visual Computing Software Division [disclosure: Intel is a sponsor of this website]. Prior to that, Orion worked on several PlayStation 3 titles as a senior programmer with Insomniac Games. His most recent published titles are Resistance: Fall Of ManPS3 Games) and Ratchet & Clank Future: Tools of DestructionPS3 Games).
- 'Ghostbusters: Sanctum of Slime'
- Darkspore Creatures Come to Life
- Finding the Next Challenge in Visual Computing
- 'The Sims: Medieval'
- The Future of PC Gaming? A Personal Viewpoint
- Explosion of Creativity: Power of Online Communities
- Game Optimization for Modern Hardware
- 'PixelJunk Shooter 2: The Belly of the Beast'
- Pixels and Sand
- Sneak Peek at DC Universe Online With Chris Cao
- Thought Leaders: Orion Granatir
- Combat Duality in 'Dragon Age II'
- 'Jikandia: The Timeless Land'
- Exclusive Look at Homefront
- GDC 2011: Sneak Peek of Battlefield 3
- Talking Portal 2 With Valve Software's Erik Wolpaw
- Nathan Camarillo of Crytek Talks Crysis 2 and CryEngine 3
- 'Two Worlds II'
- Peter Molyneux Talks Fable III and Commitment to PC Gaming
- There's an App for That Game
- Talking Tech Tactics With Football Manager 2011
- 'Kingdom Hearts Re:coded'
- 'Dead Space 2'
- 2K Sports Announces 'NHL 2K11' for Apple iPad
- 'Dead Space' for iOS
- Why are Video Games for Girls so Lame?
- The Muddy Beauty of DiRT 2
- The Reality of Indie Game Development
- Using Artificial Intelligence in Game Development
- Top 10 Most Anticipated Video Games of 2011
- Need for Speed Drives Back to Roots
- Developing and Optimizing Games for Netbooks
- 'Bejeweled 3'
- Rolling Thunder, Analytics and Performance Drive Need for Speed World
- Who You Gonna Call? Ghostbusters Challenges
- Dude! Who Killed My First-person Shooter?
- Racing to the Finish Line: Chris Southall Talks Total War and Sonic
- The Force Remains Strong with LEGO Star Wars III: The Clone Wars
- Unreal Engine 3 Brings Chadam to Life on Web Video
- 'Pac-Man Championship Edition DX'
- 'Infinity Blade'
- TRON: Evolution -- Game Developers Go Hollywood
- EA Sports Moves Graphics-rich Gaming Online
- Humble Opinions: From The Sims to Indie Games
- Meet Mr. Industrial: Justin Lassen's Music Machine
- 'Assassin's Creed: Brotherhood'
- 'Mario Vs. Donkey Kong: Mini-Land Mayhem'
- 'Time Crisis Razing Storm'
- 'Arcania: Gothic 4'
- 'Disney Epic Mickey'
- 'Final Fantasy: The 4 Heroes of Light'
- 'Ace Combat: Air Assault'
- 'Game Dev. Story'
- Epic Games Unveils 'Gears of War 3' Multiplayer Details
- 'Castlevania: Lords of Shadow'
- 'Sonic the Hedgehog 4: Episode 1'
- 'Amnesia: The Dark Descent'
- 'Enslaved: Odyssey to the West'
- 'Valkyria Chronicles II'
- 'Dead Rising 2'
- 'Kingdom Hearts Birth by Sleep'
- 'Halo: Reach'
- 'Mafia II'
- 'Scott Pilgrim' vs. Its Video Game References
Video Games: Finding the Next Challenge in Visual Computing
Copyright © 2011 Studio One Networks. All rights reserved.
Your Favorite Comic Strips Online
Your favorite comics strips Animal Crackers, Annie, Bound & Gagged, Brenda Starr, Brewster Rockit: Space Guy, Broom-Hilda, Dick Tracy, Gasoline Alley, Gil Thorp, Housebroken, Loose Parts, The Middletons, Pink Panther, Raising Hector, Sylvia, 9 to 5, Bliss, Bottom Liners, Love Is..., Pluggers all online at ComicStripNation.com