Destiny 2: You Don't Know Anything About Game Engines - Server Issues, DCV, Destiny 3 Talk

preview_player
Показать описание
I don't know that much either. But what I do know is that the response of "just get a new engine," is not the brilliant take people think it is. While the stability issues and the server issues since Lightfall have been annoying, this problem is so much more complex than "make Destiny 3." And the "you" in the title is the general you, I'm speaking to select subset of people, gimme a break with that one, aight?

FIX THE SERVERS - 0:00
Game Engines - 3:03
The DCV - 14:31
Destiny 3 - 18:37

Thank you to Shy (debug test at AAA game studio), Ganny (tools/automation engineer at AAA tech company, former gameplay programmer at AAA game studio) and [redacted] (technical designer at AAA game studio) for your insight into the dev world.

Extra reading:

Epic Games Store Creator Code: HelloDatto

Datto Does Destiny Social Media:
Рекомендации по теме
Комментарии
Автор

Datto's point of "Devs probably won't change code that isn't broken" is more true in programming then many people will understand.

benacales
Автор

When Datto said “if you think it’s that easy I got a place for you to go and it’s linked in the description” I wasn’t quite sure what he meant and as soon as I saw a link to Bungie’s career page I nearly lost it 😂😂😂😂

dillonryan
Автор

I think the most important takeaway from this video is that Datto could fit this whole rant in a single run of the Mars Battleground Nightfall 💀

kausmedia
Автор

PLEASE make more of these, I think it added a year onto my lifespan.

janesmith
Автор

The car analogy was close but rather than take the engine out, it's like stripping off every single piece of the car until only the chassis remained, then trying to fit on parts from a completely different make and model

FinnKaiden
Автор

Posting my reply to another video about “Destiny 3” here (I’m a software engineer).

Three things about the need for a Destiny 3:
1) Some software engineers love rewrites. If a system is complex enough, they say a rewrite is the solution (rewrite here is “Destiny 3”). But rewrites are typically a non-solution; they may start off great because you are focusing on the core functionality, but once you start addressing the edge cases you end up finding they need the same exceptions you had and thought were just bad code.
2) The only recent issues that look like a systemic problem are the error codes, and those are likely to be caused by a recent change, not an engine issue.
3) New games typically have many more bugs than older games. Destiny 2’s list of known issues is minuscule compared to most games. It’s guaranteed Destiny in a new engine would have many more problems than it has now.

Автор

To further Datto's point about migration complexity
Satisfactory by Coffee Stain Studios is moving from UE4 to UE5. They talk a lot about what small modifications to the engine they have made, and how many people and how long they were working on the upgrade. While the team investigating the feasibility was small, it is worth keeping in mind how limited their customizations were. This all in mind, it has been months, even a year since they started looking into the upgrade to when they announced that they were going to do it. And that is UE4 to UE5, with a near ideal candidate for uplift. Moving a game like D2 to a completely different engine would be worlds apart more complicated.

I am a software dev, not for gaming but for another industry. I am working on an application that replaces a legacy application used by all of our clients. This application is nowhere near the complexity of D2, yet has taken us YEARS to get to the point where it can replace the legacy app for the majority of our clients. Every time I see the community complain about the speed of Bungie disabling an exploit vs the speed of patching a bug that is hurting them it kills me. Even from the outside, I know that the two are no where near the same level of complexity, and I can't even always gauge how long it will take me to fix a bug in my own code because I'll think it's something simple but it ends up being something complex and dependent on some bit of legacy code that is used all over the place, and only in this one context does it break. And that's when I have access to the code! I don't have access to the D2 code, and couldn't imagine what layers I would need to unravel to fix any given bug because I can only guess at the interactions that might be causing it. I get that it sucks when something that benefits us gets disabled quickly, yet something that hurts us takes time. But that happens often because the things that do benefit us like the shard exploit CAN be disabled by toggling a switch. Notice that the Vorpal bug has been around for a long time, that benefits us and it's still not patched, nor is it disabled because it can't be disabled without disabling every weapon in the game that has the trait. The same thing goes for things that hurt us, they usually don't take the form of something that can be easily switched off. I get that it sucks, I get that there is this desire to balance good bugs with bad bugs, and I do think that Bungie could do a bit better about addressing timelines to resolution or internal priorities about what is getting fixed, but it must be understood that easy "fixes" will almost always get prioritized over more complex ones simply because they are simple

Jaaxfo
Автор

Thanks to the link in the description, I now work at Bungie and can put my degree in "I know better" to use and help the developers learn what's what.

xcrucialbladex
Автор

this was honestly extremely therapeutic to hear as someone in engineering who also has friends who work in game design, thank you for this

andrewpohl
Автор

I do art for game engines, like Unreal. I watched a GDC talk on how Bungie renders PBR, a system that allows multiple overlapping textures to create reflections, illusion of depth etc. and thankfully it’s a similar system. But if anyone suggests implementing anything other than textures, and model files into a new engine, you’re insane. Skeletons, effects, lighting, oh my god, PHYSICS, you’re insane.

Defiant
Автор

As someone who actually works in the tech industry i am glad you took even a small amount of time to actually learn yourself, you've done more than most and that even goes beyond just the game itself.

hybridthery
Автор

I'm glad I'm not the only one who was confused by the "Why don't we take Destiny 2 and push it to another engine" take. People online made it sound so easy that I started to second guess my very basic knowledge of what a game engine is and how it works. An engine is the backbone of how a game works like you can't just copy and paste a game into a new system.

kristalgic
Автор

With the beyond light engine upgrade and scripting changes . There is definitely a link on why we will likely not get older missions in the exotic rotation.

captaincoblastnoid
Автор

guy who works with engines here! this was like scratching an itch i cannot reach. thank you datto for educating the masses

WhizXGames
Автор

To add my own piece:

Coming from somebody who works with and manages physics engines on the daily, replacing even just the physics system alone in any form of simulation wouldn't just mean changing around a few parameters, it would mean COMPLETELY re-programming a huge amount of the kinematic pieces in the game, unless somehow said new engine almost perfectly matches their old one.

Luckily, in my industry (Computational Chemistry), there's a lot of agreement about how physics should be handled, so most engines are fairly similar. Even still, trying to set up or boot a simulation in a new engine is horrendous, and can take hours to port even something simple.

If you take one look at even engines as common as Unreal vs. Unity, they're WILDLY different, way more so than the systems that I deal with. Even just rotating an object is a completely different process in each one.

It's really difficult to explain in words just how difficult porting something from one system of physics to another is - It's like trying to translate an entire book into an entirely different language - some words match up nicely, some are a bit iffy and need a lot of fine tuning, and a lot of them straight up do not have counterparts in this new system and need to be rebuilt from square one.

imagineabuild
Автор

As someone who worked to an extent with unity, I once looked into UE4 and it was so completely different, that nothing you know carries over. That in mind, going from a custom engine to a standard one would not only require massive amounts of work, but also break the workflow of the development team. Also I feel like the video explains this problem quite well for non-programmers, Good Job.

rajaken
Автор

I’m sure a lot of developers are very happy that this video exists. I don’t really know how game engines work but I am in the IT field and everything you said about users and their expectations vs reality is very relatable

gave
Автор

As a programmer and developer, this entire video actually had me laughing because of how obvious some of this is to me. Great information, Datto. Thank you for taking the time to make this video

espritdraco
Автор

I love the fact that datto is in a place where he can make money off of telling people he's tired of them looking to him to validate their thoughts about destiny.

oomantlyoo
Автор

I'm a programmer working in AAA game engines. Most of this was about right, but a few small things to correct:
Some game engines give you full access to their engine source code (Unreal Engine). This means that if you had a blocking issue, you don't have to wait on Epic to release a fix, you can just allocate some engineering time to modify the engine to do what you need it to do. This is a huge selling point for Unreal Engine.
Unity is a company which makes 100% of its revenue from licensing their engine to game devs, so if the engine source was publicly available, it would affect their bottom line. So, they guard that super closely. When I worked at Facebook, even they couldn't get engine code access even by offering truckloads of cash.
If you wanted to switch your game to a different engine, you pretty much have to rebuild it from the ground up. You also have to learn the ins and outs of that new engine. That can be months of ramp up time. You still have the texture, models, animations, sound & music, and all of the raw "art" assets you can reuse, but you'll certainly have to redo all the shaders, particle systems, game logic, user interfaces, etc. You're basically building a new game. The business case working for years to reproduce the same content, which already exists, and you won't make new sales off of... is a really bad business case. Not to mention, QA would need to thoroughly retest absolutely everything again. Is the bug an engine incompatibility issue or a dev implementation issue?
If you switch engines, build a new game and expect 6-12 months of ramp up time for your team of cross disciplinary devs to become proficient -- then expect the 3-5 year dev cycle.

slayemin