HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Multithreading the Entire Destiny Engine

GDC Festival of Gaming1 HN recommender · recommended in 1 month, 2017-2022
YouTube
65K views · 9 years ago · talk · evergreen

A 2015 GDC talk by Bungie's Barry Genova on how Destiny's engine was restructured into a job graph with limited thread pre-emption. It is aimed at programmers of demanding game engines.

HN points to it as a real-world example of game engine multithreading and of safety annotations in C.

Game programming & enginesSoftware performance & optimization#jobsystem#destiny#bungie#concurrency#gdc

4 comments from Hacker News

@jesse__2022 · in “In what programming language would you write new OS?”

> But, what would be your design criteria for the new language? I'd aim for somewhere between Rust and <other_imperitive_languages>. I'm certainly not qualified to speak with any authority on the matter of provably correct programs, but it seems to me there's a middle ground there that has yet to get a lot of attention. Something like C, but with markup describing data lifetimes, value ranges, permissible access, etc. The guys at Bungie did something similar for Destiny: ▶ this video There are also some PHd folks working on adding type annotations to C and restricting aliasing rules. Those annotations/rules get fed through a solver that proves it's free of latent memory bugs. As far as I remember they're trying to prove the Android thread scheduler. I couldn't find the talk/slides, but it turns out that's hard in C, but with a brand new language you could probably do it pretty easily (easily being a few man-years, instead of tens of).

CitesView on HN
@cpeterso2019 · in “Game Loop”

"Multithreading the Entire Destiny Engine" is a 2015 GDC talk by Bungie's Barry Genova explaining how Bungie turned almost every part of Destiny's engine into a job graph that can be processed in parallel. ▶ this video

CitesView on HN
@maccard2017 · in “How Unreal Renders a Frame”

Here’s a good talk on a system used for the PS4 - link And another one on multithreading a cross platform game - ▶ this video There’s also this talk - link which talks about collision detection and collision resolution on the GPU that actually explains the architecture of the cpu engine quite well and shows what parts are serial and what parts are well parallelised.

RecommendsView on HN
@cpeterso2017 · in “Ask HN: Will Rust ever become a mainstream systems programming language?”

Are there any AAA game studios using or evaluating Rust yet? I saw some GDC talks about the multithreaded game engine for Bungie's Destiny game. Given the debugging and QA challenges of their multithreaded architecture, something like Rust's ownership model seems like a good fit. Does the Rust toolchain support Xbox and PlayStation? * Destiny's Multithreaded Rendering Architecture: link * Multithreading the Entire Destiny Engine: ▶ this video

CitesView on HN
Destiny's Multithreaded Rendering Architecture1:06:37

Destiny's Multithreaded Rendering Architecture

GDC Festival of Gaming
45K views • 11 years ago
CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"1:04:33

CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"

CppCon
53K views • 12 years ago
I Shot You First: Networking the Gameplay of Halo: Reach1:49:07

I Shot You First: Networking the Gameplay of Halo: Reach

GDC Festival of Gaming
58K views • 8 years ago
8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 259:38

8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2

GDC Festival of Gaming
94K views • 7 years ago
Breaking Conventions with The Legend of Zelda: Breath of the Wild1:28:30

Breaking Conventions with The Legend of Zelda: Breath of the Wild

GDC Festival of Gaming
565K views • 9 years ago
HandmadeCon 2015 - Mike Acton1:11:48

HandmadeCon 2015 - Mike Acton

Molly Rocket
102K views • 10 years ago
Handmade Hero Day 001 - Setting Up the Windows Build1:13:51

Handmade Hero Day 001 - Setting Up the Windows Build

Molly Rocket
465K views • 11 years ago
Overwatch Gameplay Architecture and Netcode1:04:04

Overwatch Gameplay Architecture and Netcode

GDC Festival of Gaming
196K views • 7 years ago
Simple Code, High Performance2:50:14

Simple Code, High Performance

Molly Rocket
463K views • 5 years ago
Dennis Gustafsson – Parallelizing the physics solver – BSC 20251:07:09

Dennis Gustafsson – Parallelizing the physics solver – BSC 2025

Better Software Conference
77K views • 1 year ago
Unity DOTS vs Handbuilt: Sample Project27:56

Unity DOTS vs Handbuilt: Sample Project

Nick Caston
687K views • 6 years ago
Killing the Walk Monster50:00

Killing the Walk Monster

Molly Rocket
59K views • 6 years ago
The Implementation of Rewind in Braid26:56

The Implementation of Rewind in Braid

GDC Festival of Gaming
141K views • 9 years ago
HandmadeCon 2015 - Pat Wyatt1:07:22

HandmadeCon 2015 - Pat Wyatt

Molly Rocket
33K views • 10 years ago
Reboot Develop 2017 - Jonathan Blow, Thekla Inc. / Making Game Programming Less Terrible1:02:49

Reboot Develop 2017 - Jonathan Blow, Thekla Inc. / Making Game Programming Less Terrible

Reboot Develop
112K views • 9 years ago
'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]1:02:17

'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]

ACCU Conference
34K views • 10 years ago
HandmadeCon 2016 - History of Software Texture Mapping in Games1:22:13

HandmadeCon 2016 - History of Software Texture Mapping in Games

Molly Rocket
15K views • 9 years ago
the rapidly dwindling sanity of valve programmers as expressed through code comments2:03

the rapidly dwindling sanity of valve programmers as expressed through code comments

shounic
5.5M views • 6 years ago
Procedurally Crafting Manhattan for Marvel's Spider-Man1:07:26

Procedurally Crafting Manhattan for Marvel's Spider-Man

GDC Festival of Gaming
89K views • 7 years ago
Godot Engine - Apps & Tools - 2022 Showreel2:46

Godot Engine - Apps & Tools - 2022 Showreel

Godot Engine
172K views • 4 years ago