mshah.ioCourse ScheduleCourse Information


Module 27 - Systems programming - Parallelism/Concurrency - 2025-Apr-10

Overview

In this module we learn about concurrency and parallelism in game engines

  • Concurrency vs Parallelism
  • Thread Examples
  • Job Systems in Games

Slides and Class Content

Please note: Your in-class activity is graded. Your first attempt will be graded. You can use your notes and slides if you like. You have 1 week from the date of this module opening to complete the in-class activity. In-class activities are completed individually.

Audio/Video Recording

Note: Audio/Video recordings are made in a best effort in case you have to miss class or you would otherwise like to re-watch a portion of lecture. Occassional recording errors (e.g. missing sound, corrupted video, etc.) may occur, and I apologize in advance if a recording is not able to be made available.

Readings

    Please use the following resources to supplement this lecture. You may choose to read 1 or more of these before/during/after the lecture to fully immerse into the material.

  1. Parallelizing the Naughty Dog Engine Using Fibers
    • (video & slides)
  2. Game Connection Europe 2017 - Concurrency and Parallelism
    • (Excellent slide deck)
  3. Performance and Memory Post Mortem for Middle-earth: Shadow of War
    • (Excellent talk on solving problems with threads)
  4. Task-based multithreading GDC 2010
    • (Higher level talk on building task-based systems)
  5. Multithreading the Entire Destiny Engine
    • (Technical talk on the game engine, showcases job system and dependency graph)
  6. SDL Threads
    • (Usnig threads in SDL2)
  7. GCAP 2016: Parallel Game Engine Design
    • (Talk about different styles of multi-threading that are relevant to game engines)
  8. Multi-Threading for Game Development
    • (DigiPen Game Engine Architecture Talk)
Please do not redistribute or host any materials without e-mailing me first. Thank you for your time!