Threaded Cross-Platform Game Development
Game Programming Lessons: The technology of computer gaming is undergoing a major conceptual shift: a shift to multi-threaded engines running on multi-core processors. Multi-core processors are powering the next generation of PCs and gaming consoles, and game developers want to target as many of these platforms as possible. Unfortunately, threaded execution and cross-platform support are non-trivial, and many developers find it difficult to get these features into their own code. This article will attempt to smooth this transition by exploring these two features in the context of a simple demo application.

Introduction

By Brad Werth, Intel Corp.

The technology of computer gaming is undergoing a major conceptual shift: a shift to multi-threaded engines running on multi-core processors. Multi-core processors are powering the next generation of PCs and gaming consoles, and game developers want to target as many of these platforms as possible. Unfortunately, threaded execution and cross-platform support are non-trivial, and many developers find it difficult to get these features into their own code. This article will attempt to smooth this transition by exploring these two features in the context of a simple demo application. By building up understanding of these technologies in a ground-up fashion, game developers can increase their understanding and implement these important features in their own projects.

The demo application created for this article can be found here. The demo application has a Microsoft Visual Studio* 2005 solution file for building and running on Windows, and a makefile for building on Linux. When run, the demo application opens a window and draws an OpenGL scene (Figure 1). This demo application and the code that comprises it will be used for examples throughout this article.


If you're interested in this topic, these articles may be helpful:

Manufacturing Mobility: Improve Productivity and Efficiency Across the Enterprise
Unlock the Full Value of Your Investments in Systems, People and Proce...
Education Success Brief: WLAN Cross-Campus Roaming Transforms Student Learning
Taiwan’s Ministry of Education (MoE) is working in a joint effor...
Accelerating .NET applications with the Intel VTune Performance Analyzer 6.1
by Alan Zeichick, The Intel VTune Performance Analyzer is more than...
IBM offers FOSS implementation of Open Firmware standard
IBM is offering a free open source implementation of the IEEE-1275 Ope...
Sea Change* in the Software World: Multi-Core Processing Opens Innovative Business Possibilities
Every so often a technology change sweeps through the industry and sha...

Related Jobs:

SW Engineer III #6053 - CA - Redwood City - Electronic Arts Inc.
Post Description SOFTWARE ENGINEER III EA is looking for a lead e...
Programming Writer #132580 - WA - Redmond - Microsoft Corporation
The Windows Client SDK team is looking for an experienced Programming ...
Software Development Engineer #149400 - WA - Redmond - Microsoft Corporation
Generalist Programmer Bungie Studios is looking for skilled programm...
Senior Technical Writer #2342 - CA - Sunnyvale - Ariba Inc.
Requirements The ideal candidate is comfortable working as an int...
Manager, Technical Support #841 - NC - Raleigh - Red Hat, Inc.
The Manager, Technical Support is responsible and accountable for the ...
Gameplay Programmer and PC Lead #287 - IL - Chicago - Midway Games Inc.
Gameplay Prgmr and PC Port Lead Category: Programming Descript...
Software Development Engineer #134749 - WA - Redmond - Microsoft Corporation
Graphics Programmer Bungie Studios is looking for a programmer of uns...
Software Development Engineer #151482 - WA - Redmond - Microsoft Corporation
We are passionate about building simulation titles based in real-world...
Business Analyst #2425147 - NY - New York - Ajilon
Description : This position requires a self-motivated individual...
Usability Engineer #134186 - WA - Redmond - Microsoft Corporation
Do you love games? Are you a great researcher? Can you imagine working...