Multithreading the Entire Destiny Engine

  Рет қаралды 53,125

GDC

GDC

7 жыл бұрын

In this 2015 GDC Talk, Bungie's Barry Genova explains how Bungie turned almost every part of Destiny's engine into a a job graph, with only limited use of thread-based pre-emption. This talk should prove useful to programmers working on demanding game engines of their own.
GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every weekday. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives.
Follow us on Twitter
/ official_gdc
Check out our Facebook page for GDC exclusives
/ gamedevelopersconference
Visit our site: ubm.io/2ctNvqZ

Пікірлер: 50
@dandymcgee
@dandymcgee 4 жыл бұрын
I knew multi-threading was difficult.. but goddamn. Someone give this guy a hug.
@alengm
@alengm 3 жыл бұрын
Hey I'm subscribed to you :D
@TripleMoonPanda
@TripleMoonPanda 2 жыл бұрын
Man Destiny's community needs to hug this guy and also hug all the rest of the Devs that keep this game going season to season. This games community gives Bungie so much shit like calling them such a greedy developer with bad monetization practices because prices on content are slowly increasing due to inflation and also because they're now one of the only AAA level independent game studios while apparently not getting any founding from outside, at least no there no public information about any recent outside founding. A game company with ~1000 employees isn't a cheap thing to keep running especially when that game company is doing their own publishing. Or the community say things about how lazy Bungie is about making new content and at the same time they bitch about how bungie have to vault old content to be able to add new content because they're trying to keep the games files size at a realistic amount for console gamers and also keeping the core game at a manageable size to help keep it stable. Plus over the past year Bungie has been working with basically a new and most likely very different game engine because of all the major under the hood changes they made last year with the engine updates they launched with beyond light. Before those updates it took 4-6 months for them to be able to push out any major updates while over the past year they've been able to push out major updates in less then 2 months. Its' like almost no one ever takes the time to learn about any aspect of how game development works. No one seems to even bothering to get a base line basic level of learning about how insanely difficult and complicated game development can be. From the coders to marketing and PR all the way up to the management CEO there's so much going on inside a company and it's like most people are incapable of realizing that everything going on at all levels creates so many variables that effect even the smallest aspects related to a game. Hell I'm not even a dev, the most experience I have with game developing was some really shitty mods I made for oblivion, skyrim, and fallout games that I thought were so bad I was to embarrassed to even share them with anyone. That's not a lot of experience but working with those modding tools that bethesda released to the community gave me a very good idea about how hard this shit is. Learning to make even a few very basic mods for a game was a very humbling experience.
@austinfritzke4326
@austinfritzke4326 6 жыл бұрын
Destiny has destroyed this man's soul.
@iucidium1982
@iucidium1982 6 жыл бұрын
Austin Fritzke it destroyed every Bungie Dev lol, 8+hours to implement changes... I'd have no soul too
@ZKtheMAN
@ZKtheMAN 3 жыл бұрын
Y'know, at first I was like, "Damn, this guy's got _no_ presentation ability," but after a while it got really soothing. Not sure about information retention, but hey.
@JuanCamiloAcostaArango
@JuanCamiloAcostaArango 5 жыл бұрын
This man makes me feel depressed... I'm going to cry
@bcuz8998
@bcuz8998 2 жыл бұрын
He wants to
@buffetize
@buffetize 3 жыл бұрын
haha, comments are funny. I kind of like his talking voice for some weird reason. Kind of soothing
@Luorax
@Luorax 7 жыл бұрын
Thanks for uploading this video, I wanted to watch this so much ever since I first read about it!
@Cerekay
@Cerekay 6 жыл бұрын
Great video! Good multi-threading techniques I haven't used. I'm not in the game industry, but this is still useful where I work as general C++ techniques to go try.
@daarekcabrera8247
@daarekcabrera8247 3 жыл бұрын
Very interesting and insightful. I'm wondering how the engine has changed over the past five years. Especially since there were talks about the engine overhaul with beyond light and vaulting content. The fiber system makes a lot of sense... I wonder if it is industry standard at this point? Now that every other game is a live service.
@NocturnalJin
@NocturnalJin 6 жыл бұрын
I'm sold. Jobs with permissions is superior to thread syncing. Reminds me of the design philosophy behind ZeroMQ (the best cluster comms system available IMO).
@foobar2285
@foobar2285 4 жыл бұрын
Unfortunately it's only as good as your policies.
@andmefikri7555
@andmefikri7555 Жыл бұрын
Thank you for this talk!
@capability-snob
@capability-snob 7 жыл бұрын
Region-parametric effect typing in C++ : check everything dynamically. I hope at some point we have tools that do this for us and the freedom to use them.
@adud6764
@adud6764 7 жыл бұрын
Wow, never listened to a less enthusiastic speaker.
@MyLittleMagneton
@MyLittleMagneton 7 жыл бұрын
Very interesting talk! A shame he sounds so depressed : /
@mikerathbun5449
@mikerathbun5449 7 жыл бұрын
I would imagine an hour of high energy multithreaded engine talk would have been exhausting for everyone. A great talk of course!
@rodericasmoana6937
@rodericasmoana6937 7 жыл бұрын
not everyone can bring the showmanship of the nickelodeon kids choice awards, you so crave.
@thedankestdungeon8091
@thedankestdungeon8091 7 жыл бұрын
I would be too if i worked on Destiny.
@amfern
@amfern 7 жыл бұрын
multi-theaded game engines makes you depressed.
@westonford6317
@westonford6317 7 жыл бұрын
Yeah, but the alternative isn't to sound like a depressed high schooler who's only doing it because his parents are making him.
@anton6650
@anton6650 2 жыл бұрын
Does this mean that they create the entire execution tree and all markup for all those jobs before execution?
@nutritionalyeast7978
@nutritionalyeast7978 4 жыл бұрын
what is the software he used to create the graph at 15:30? he said "tuner" i think, but i cant find anything by that name besides radio tuners EDIT: its SN Tuner from the PS3 devkit
@kidkool27
@kidkool27 3 жыл бұрын
I think it was part of the PS3 SDK
@randomfootages9120
@randomfootages9120 2 жыл бұрын
I wish Epic also bring Full Multi-threaded-rendering in UE5
@ENZO-xu4sn
@ENZO-xu4sn 10 ай бұрын
PREACH! 🙏
@randomfootages9120
@randomfootages9120 10 ай бұрын
@@ENZO-xu4sn should I or not
@YRBYD
@YRBYD 7 ай бұрын
UE5 rendering is single threaded?!
@SirMo
@SirMo 6 жыл бұрын
How does an i3 dual core beat a Ryzen 7 8core if this thing is so well threaded?
@rixzin5046
@rixzin5046 3 жыл бұрын
It isn't
@raingloom5334
@raingloom5334 7 жыл бұрын
Soo I'm not an industry person, but this sounds like something Rust (the language) would have been good for. Of course back in 2015 it wasn't where it is now and it is still not as mature and the middleware Bungee uses probably wouldn't support it, but I imagine the multithreading would have been easier.
@Raattis
@Raattis 7 жыл бұрын
The development on Destiny begun in 2010 and it's built on an even older codebase. Even if that wasn't the case it is not trivial to transition to a new language when the programmers aren't used to it and its benefits to game development have yet to be proven in practice.
@raingloom5334
@raingloom5334 7 жыл бұрын
True, but needing that huge farm of machines for validating your threading model... that kind of thing is only feasible for a huge studio. Of course a smaller one wouldn't be making a huge mmo anyway.
@GladerDev
@GladerDev 4 жыл бұрын
​@@raingloom5334 Many millions of dollars at stake. Worth the money.
@alexkfridges
@alexkfridges 2 жыл бұрын
it's not common practice to just rewrite an entire ecosystem in a new language for every project. They probably had >1 million lines of existing c++ code in their engine that is well tested and shipped games when the project began.
@YRBYD
@YRBYD 7 ай бұрын
Multithreading is always complex, no matter the language
@MentalJihadist
@MentalJihadist 7 жыл бұрын
LeRuse
@voxelamateur
@voxelamateur 2 жыл бұрын
why is he wearing a red hat? is his head freezing or something?
@pcuimac
@pcuimac 6 жыл бұрын
Multithreading the terribly stupid one dimensional storylines would have been of greater importance.
@vast634
@vast634 3 жыл бұрын
Why is he wearing his grandma's swimming hat?
@KlutchKwonDo
@KlutchKwonDo 2 жыл бұрын
Sounds like someone forced this guy to do this talk. So monotone
@greyfoxzero
@greyfoxzero 6 жыл бұрын
Bullshit, they could never get the multi-threaded render path to work properly.
@GnoClip
@GnoClip 7 жыл бұрын
Is this guy for real with that hat?
@ddostesting
@ddostesting 7 жыл бұрын
Why is he wearing such a warm wool hat indoors? Seems bad form and uncomfortable.
@Obmats
@Obmats 7 жыл бұрын
The same reason every man wears a hat... Balding
@ryanscottwright
@ryanscottwright 7 жыл бұрын
weak
50 Game Camera Mistakes
1:00:53
GDC
Рет қаралды 496 М.
Trágico final :(
01:00
Juan De Dios Pantoja
Рет қаралды 33 МЛН
Destiny 2 - Why Bungie Doesn't Care
15:46
NovemberHotel
Рет қаралды 59 М.
Building Customizable Characters for Bungie's Destiny
55:35
Exploring the Tech and Design of Noita
31:00
GDC
Рет қаралды 216 М.
Performance Bottlenecks in My Game Engine
22:45
The Cherno
Рет қаралды 41 М.
Ten Principles for Good Level Design
1:00:47
GDC
Рет қаралды 467 М.
Unreal Inertialization Blend와 Normal Blend 비교
0:36
Jacob Lee
Рет қаралды 488
Bob Nystrom - Is There More to Game Architecture than ECS?
23:06
Roguelike Celebration
Рет қаралды 189 М.
The Complete History of Bungie's Tiger Engine
20:44
Aztecross
Рет қаралды 124 М.
Modernizing Rendering at Supercell
50:55
GDC
Рет қаралды 19 М.