[...]... deliver to game developers I’m excited to introduce a new section in this edition of Game Programming Gems 8 that I’m calling “General Purpose Computing on GPUs.” This is a new area for the Gems series, and we wanted to have a real-world case study of a game developer using the GPU for non-graphics tasks We’ve collected three gems for this section The first is about OpenCL, a new open standard for programming. .. insprire, enlighten, and evolve the industry As always, we look forward to the contributions and feedback developers have when putting these gems into practice Adam Lake Adam_t_lake@yahoo.com About the Cover Image © Valve Corporation The cover of Game Programming Gems 8 features the Engineer from Valve’s Team Fortress 2 With their follow-up to the original class-based multiplayer shooter Team Fortress,... in game development these days Game players want worlds that don’t just look real, but that also feel and act real The acting part is the responsibility of the AI programmer Gems in the AI section are diverse, covering areas such as decision making, detailed character simulation, and player modeling to solve the problem of gold farm detection The innovations discussed are sure to influence future gems. .. future gems In the general programming section, we have a number of tools to help with the development, performance, and testing of our game engines We include gems that deal with multi-threading using Intel’s Thread Building Blocks, an open-source multithreading library, memory allocation and profiling, as well as a useful code coverage system used by the developers at Crytek The gems in the networking... upon These articles serve as case studies in what others have done in their games I expect this to be an exciting area of future development While we all have our areas of specialty, I think it’s fair to say game developers are a hungry bunch, with a common desire to learn, develop, and challenge ourselves and our abilities These gems are meant to insprire, enlighten, and evolve the industry As always,... longtime friends when playing multiplayer games A few days ago, I was having a conversation with an acquaintance who was thrilled that she could maintain her relationship with her brother on the East Coast by playing World of Warcraft with him Ultimately, whether we are discussing our individual game experiences with others or interacting directly while playing, games do what they have always done across... book editor They were essential in taking care of all the details necessary for publication Finally, I’d like to acknowledge the artists at Valve who provided the cover image for this edition of Game Programming Gems I have been blessed to have had exposure to numerous inspirational individuals— friends who refused to accept norms, parents who satiated my educational desires, teachers willing to spend... Richard Tonge Steven Tovey Gabriel Ware Ben Wyatt G Michael Youngblood Jason Zink Robert Zubek S E C T I O N 1 G RAPHICS Introduction Jason Mitchell, Valve jason@pixelmaven.com n this edition of the Game Programming Gems series, we explore a wide range of important real-time graphics topics, from lynchpin systems such as font rendering to cutting-edge hardware architectures, such as Larrabee, PlayStation... Magnification for Vector Textures and Special Effects.” Course on Advanced Real-Time Rendering in 3D Graphics and Games SIGGRAPH 2007 San Diego Convention Center, San Diego, CA 8 August 2007 [Hicks03] Hicks, O’Dell “Screen-aligned Particles with Minimal VertexBuffer Locking.” ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0 Ed Wolfgang F Engel Plano, TX: Wordware Publishing, Inc., 2004 107–112... OpenCL, a new open standard for programming heterogeneous platforms of today, and we also have two gems that leverage PhysX for collision detection and fluid simulation The PhysX components were used in Batman: Arkham Asylum by Rocksteady Studios Ltd As the computing capabilities of the platform evolve, I expect game developers will face the decision of what to compute, where to compute, and how to manage . deliver to game developers. I’m excited to introduce a new section in this edition of Game Programming Gems 8 that I’m calling “General Purpose Computing on GPUs.” This is a new area for the Gems. edition of the Game Programming Gems series, started by Mark DeLoura in 2000. The first edition was inspired by Andrew Glassner’s popular Graphics Gems series. Since then, other Gems series have. . . . . 487 Chris Lomont 5.2 Social Networks in Games: Playing with Your Facebook Friends . . . . 4 98 Claus Höfele, Team Bondi vi Table of Contents 5.3 Asynchronous I/O for Scalable Game Servers