Courseware - Game Engine Programming

  • The nature of games engines (as an integrated development environment) and their purpose
  • Hardware support including use of threading; performance issues; input devices
  • Typical components including 3D rendering, and support for real-time graphics and interaction; also physics simulation, collision detection, sound, artificial intelligence; terrain rendering

 

 

Parallel Architecture for Games Using the Smoke Demo

 

 

Material Type:

Lecture / Presentation, Coding example, Lab

ISN Logo

Technical Format:

Powerpoint presentation, zip archive, .htm, Word document

Location:

Go to materials

Date Added:

08/17/2010

Date Modified:

08/17/2010

Author

Intel® Innovative Software Education, Intel
Description:

This courseware explores how to support and overcome the challenges of parallelism in the context of a computer game. This module introduces a parallel framework on which to build threaded scalable games. The overview includes both an introduction to parallel frameworks as well as a hands-on demo. The game demo was specially developed by Intel to demonstrate how take advantage of all CPU cores available within a system.

Recommended Audience:

Graduate students, Undergraduate students

Language:

English

Keywords:

parallelism, threaded scalable games, parallel frameworks

 

 

Threading a 3-D Game: Analysis & Methodology Using Destroy the Castle

 

 

Material Type:

Lecture / Presentation, Coding example

ISN Logo

Technical Format:

Powerpoint presentation, .htm, zip archive, Word document

Location:

Go to materials

Date Added:

08/17/2010

Date Modified:

08/17/2010

Author

Intel® Innovative Software Education, Intel
Description:

In this module, participants will learn some principles for threading a simple 3D graphics game. We will decompose the problem into separate pipelined domains that can be threaded separately. Specifically we will look at how to accomplish concurrent processing of Physics, AI, and other game components and how to achieve speedup on multi-core platforms.

Recommended Audience:

Undergraduate students

Language:

English

Keywords:

Physics, AI, multicore platforms, threading

 

 

Threading Games for Performance Workshop Using Destroy the Castle Demo

 

 

Material Type:

Lecture / Presentation, Coding example

ISN Logo

Technical Format:

zip archive, .htm

Location:

Go to materials

Date Added:

08/08/2010

Date Modified:

08/08/2010

Author

Intel® Innovative Software Education, Intel
Description:

This mid-level workshop takes a sample game, Destroy the Castle, from serial to parallel over the course of one day. Strategies are considered for optimal threading of components such as physics, AI, and rendering. Tools are employed to identify workload hotspots, profile threading performance, and trap threading errors such as race conditions. Ample time is dedicated to lab exercises.

Course Objective:

  • Thread game applications using an systematic approach
  • Use the appropriate tools for analysis, profiling and thread correctness
  • Improve application performance of game application on Intel Multi-Core Architecture
  • Optimize threaded algorithms for execution on an increasing number of cores

Course Agenda :

  • Multi-threading in Games: case studies
  • Introduction to Destroy the Castle, a demonstration game
  • Functional decomposition: performance, correctness, and scalability
  • Data decomposition
  • Additional threading considerations

Recommended Audience:

Advanced programmers, Graduate students, Undergraduate students

Language:

English

Keywords:

optimal threading, workload hotspots, trap threading errors

 

 

Multi-core Game Engines

 

 

Material Type:

Coding example, Lecture / Presentation

ISN Logo

Technical Format:

.htm

Location:

Go to materials

Date Added:

08/06/2010

Date Modified:

08/06/2010

Author

Prof. James Long, CST Department, Oregon Institute of Technologies
Description:

The overall goal of the course is for students to gain an understanding of Multi-core Game Engine by working on a series of labs and projects. The topics of the course are:

  • Initial Game Engine Introductions (Orx, Dark Places; Irrlicht, Ogre 3D)
  • Tools and Vtune Analyzer (Destroy the Castle lab)
  • Game Engine Architecture Presentations ( HAAF Game Engine, IOQUAKE 3, Dark Places)
  • Destroy the Castle- Data Decomposition
  • OpenMP and Posix Threads
  • Threading Methodology - Thread Checker Lab, Smoke lab
  • Game Engine Presentation and Demonstration

Recommended Audience:

Advanced programmers, Graduate students, Undergraduate students

Language:

English

Keywords:

Game Engine Architecture, Threading Methodology, OpenMP

 

 

Destroy The Castle - OpenMP

 

 

Material Type:

Lecture / Presentation, Coding example, Lab

ISN Logo

Technical Format:

zip archive

Location:

Go to materials

Date Added:

05/25/2010

Date Modified:

05/25/2010

Author

Robert Chesebrough, SSG/DRD/SPO/ISE
Description:

This version of Destroy the Castle was created to show how to parallel such a game application using OpenMP Tasks. The project is built using Intel® Parallel Studio composer compiler.

There are three activities to follow to complete the parallelization. The first activity places an omp parallel & single region in WinMain. The second activity places omp task & omp taskwait clauses at appropriate points to allow the Physics, AI, & Particles to be computed in parallel. The thrid activity replaces one of the omp taskwaits in OnFrameMove with a block of WaitForSingleObject calls that wait on signals to indicate completion of various tasks.

The demo is a modification of the original demo created by Intel Engineers: Scott Crabtree, Jonathan Story, Spencer Boomhower, Eric Reinhart, Leigh Davies. The OpenPM parallelization method was completed by Bob Chesebrough

Recommended Audience:

Advanced programmers, Graduate students, Undergraduate students

Language:

English

Keywords:

OpenMP, Tasks, Game, Threading, DtC, Parallelizing, Games
Per informazioni più dettagliate sulle ottimizzazioni basate su compilatore, vedere il nostro Avviso sull'ottimizzazione.