WEBVTT

1
00:00:00.120 --> 00:00:04.320
<v Speaker 1>When you walk into a massive, sprawling theme park. The

2
00:00:04.360 --> 00:00:08.359
<v Speaker 1>goal is total immersion, Like do you take in the

3
00:00:08.400 --> 00:00:13.880
<v Speaker 1>towering castles, the incredibly lifelike animatronics, the fireworks perfectly sync

4
00:00:13.960 --> 00:00:17.359
<v Speaker 1>to the orchestral swells, and you just sort of accept it, right,

5
00:00:17.399 --> 00:00:20.519
<v Speaker 1>You don't really question it exactly. The illusion works provided

6
00:00:20.559 --> 00:00:22.039
<v Speaker 1>you don't look down, because.

7
00:00:21.800 --> 00:00:24.280
<v Speaker 2>If you look down, I mean, you'd be confronted with

8
00:00:24.519 --> 00:00:28.359
<v Speaker 2>miles of subterranean utility tunnels. You'd see the high pressure

9
00:00:28.399 --> 00:00:32.759
<v Speaker 2>hydraulic pumps, the massive server farms timing well, every single

10
00:00:32.840 --> 00:00:37.479
<v Speaker 2>sparkle of light. Yeah, the magic relies entirely on this relentless,

11
00:00:37.759 --> 00:00:41.320
<v Speaker 2>hyperstructured mechanical reality running right beneath your feet.

12
00:00:41.600 --> 00:00:44.560
<v Speaker 1>And today we are going down into those punnels. Welcome

13
00:00:44.600 --> 00:00:48.799
<v Speaker 1>to the deep dive. We are exploring the invisible, hypercomplex

14
00:00:48.840 --> 00:00:52.719
<v Speaker 1>software frameworks that run today's multi billion dollar digital worlds.

15
00:00:52.960 --> 00:00:54.759
<v Speaker 1>We are talking about game engines.

16
00:00:54.799 --> 00:00:55.960
<v Speaker 2>It's a huge topic, it.

17
00:00:55.960 --> 00:00:59.119
<v Speaker 1>Really is, and we're basing this analysis on a brilliantly

18
00:00:59.119 --> 00:01:01.920
<v Speaker 1>detailed source. Today excerpts from the third edition of the

19
00:01:01.920 --> 00:01:05.079
<v Speaker 1>textbook Game Engine Architecture by Jason Gregory, which came out

20
00:01:05.079 --> 00:01:05.879
<v Speaker 1>in twenty nineteen.

21
00:01:06.040 --> 00:01:08.400
<v Speaker 2>It is essentially the bible for this stuff totally.

22
00:01:08.719 --> 00:01:11.519
<v Speaker 1>Our mission for you today is to demystify what a

23
00:01:11.560 --> 00:01:15.519
<v Speaker 1>game engine actually is, how it orchestrates literally everything from

24
00:01:15.640 --> 00:01:19.280
<v Speaker 1>you rendering a single beam of refracted light to simulating

25
00:01:19.319 --> 00:01:22.359
<v Speaker 1>the gravity of an entire planet. And we'll look at

26
00:01:22.400 --> 00:01:26.439
<v Speaker 1>why these massive digital infrastructures are ultimately custom tailored to

27
00:01:26.599 --> 00:01:28.239
<v Speaker 1>hack the human visual system.

28
00:01:28.319 --> 00:01:31.719
<v Speaker 2>Yeah, because it's an industry built on art and narrative, right, Yeah,

29
00:01:31.760 --> 00:01:36.319
<v Speaker 2>But beneath the surface esthetics, these engines are ultimately highly

30
00:01:36.359 --> 00:01:38.760
<v Speaker 2>sophisticated mathematical models of reality.

31
00:01:38.959 --> 00:01:39.280
<v Speaker 1>Right.

32
00:01:39.400 --> 00:01:44.920
<v Speaker 2>They are just gargantuan numerical simulations operating under immense computational constraints.

33
00:01:45.120 --> 00:01:48.280
<v Speaker 1>Okay, let's unpack this because the concept of a game

34
00:01:48.280 --> 00:01:51.719
<v Speaker 1>engine as a standalone piece of software, it wasn't always

35
00:01:51.760 --> 00:01:52.079
<v Speaker 1>a thing.

36
00:01:52.239 --> 00:01:52.879
<v Speaker 2>No, not at all.

37
00:01:52.959 --> 00:01:55.840
<v Speaker 1>If you look at the architecture of early console eras

38
00:01:55.920 --> 00:01:58.599
<v Speaker 1>like the Intellivision or the Atari, there was no engine.

39
00:01:59.239 --> 00:02:02.519
<v Speaker 1>The source material emphasizes that these early games were completely

40
00:02:02.560 --> 00:02:03.760
<v Speaker 1>monolithic blocks of.

41
00:02:03.719 --> 00:02:06.000
<v Speaker 2>Coupe written directly in assembly right.

42
00:02:06.000 --> 00:02:09.800
<v Speaker 1>Directly addressing the specific silicon of the hardware. The game

43
00:02:09.879 --> 00:02:12.639
<v Speaker 1>and the hardware were essentially one fused entity.

44
00:02:13.039 --> 00:02:16.840
<v Speaker 2>And the memory constraints were so incredibly tight that programmers

45
00:02:16.840 --> 00:02:20.639
<v Speaker 2>had to manually flip individual memory registers just to draw

46
00:02:20.680 --> 00:02:22.960
<v Speaker 2>a single pixel. Oh wow, Yeah, you couldn't just take

47
00:02:23.000 --> 00:02:25.520
<v Speaker 2>the codebase for a maze game like pac Man and

48
00:02:25.599 --> 00:02:29.120
<v Speaker 2>poured it over to a space shooter. The logic governing

49
00:02:29.120 --> 00:02:32.039
<v Speaker 2>how a ghost moved was hopelessly tangled up with the

50
00:02:32.080 --> 00:02:37.039
<v Speaker 2>actual hardware interrupt telling the cathode raypube to draw the color.

51
00:02:36.840 --> 00:02:39.840
<v Speaker 1>Red, which sounds like a nightmare for reusability. But the

52
00:02:39.919 --> 00:02:43.759
<v Speaker 1>nineteen nineties kind of shattered that monolithic approach, largely spearheaded

53
00:02:43.800 --> 00:02:46.840
<v Speaker 1>by a John Carmack and AID Software with Doom and Quake.

54
00:02:47.039 --> 00:02:49.120
<v Speaker 2>Yes, absolute revolutionary stuff.

55
00:02:49.159 --> 00:02:52.639
<v Speaker 1>What they did was architecturally massive. They decoupled the core

56
00:02:52.719 --> 00:02:56.879
<v Speaker 1>software components, the three D graphics renderer, the audio spatialization,

57
00:02:57.719 --> 00:03:00.719
<v Speaker 1>the physics from the art assets, and the secific rules

58
00:03:00.759 --> 00:03:01.639
<v Speaker 1>of the game itself.

59
00:03:01.879 --> 00:03:04.280
<v Speaker 2>And that separation of concerns didn't just clean up the

60
00:03:04.319 --> 00:03:07.879
<v Speaker 2>code base, it accidentally birthed the entire modern community.

61
00:03:08.159 --> 00:03:08.280
<v Speaker 1>Right.

62
00:03:08.439 --> 00:03:12.080
<v Speaker 2>Players suddenly realized they could swap out the demons for

63
00:03:12.159 --> 00:03:16.240
<v Speaker 2>aliens while keeping all the foundational physics and rendering intact.

64
00:03:15.960 --> 00:03:18.439
<v Speaker 1>Which brings us to a core concept the author calls

65
00:03:18.520 --> 00:03:22.240
<v Speaker 1>the reusability gamut because on one extreme of this spectrum

66
00:03:22.280 --> 00:03:26.520
<v Speaker 1>you have the highly specific, single use code of the Arcade.

67
00:03:26.159 --> 00:03:28.319
<v Speaker 2>Era right the glued together so yeah.

68
00:03:28.360 --> 00:03:30.439
<v Speaker 1>And in the middle you have early engines like the

69
00:03:30.479 --> 00:03:34.520
<v Speaker 1>original Quake framework. Those could be heavily modified, but realistically,

70
00:03:34.599 --> 00:03:36.280
<v Speaker 1>I mean, you're really only going to use it to

71
00:03:36.319 --> 00:03:37.879
<v Speaker 1>make other first person shooters.

72
00:03:37.960 --> 00:03:40.560
<v Speaker 2>You weren't making a puzzle game with the Quake engine exactly.

73
00:03:40.759 --> 00:03:42.599
<v Speaker 1>But on the far end of the spectrum you have

74
00:03:42.719 --> 00:03:47.280
<v Speaker 1>today's highly reusable platforms like Unreal Engine or Unity, which

75
00:03:47.319 --> 00:03:51.479
<v Speaker 1>are engineered to build virtually any interactive experience you can imagine.

76
00:03:51.520 --> 00:03:54.120
<v Speaker 2>And reaching that far end of the gamut relies entirely

77
00:03:54.319 --> 00:03:58.520
<v Speaker 2>on data driven architecture, meaning a true modern engine doesn't

78
00:03:58.520 --> 00:04:02.000
<v Speaker 2>have a concept of say, a wizard or a racecar

79
00:04:02.439 --> 00:04:05.280
<v Speaker 2>hard coded into it C plus plus rendering loop.

80
00:04:05.439 --> 00:04:06.280
<v Speaker 1>Okay, so what does it have?

81
00:04:06.479 --> 00:04:09.080
<v Speaker 2>Well, the engine is just a blind, hyper efficient factory

82
00:04:09.120 --> 00:04:13.800
<v Speaker 2>for drawing polygons and calculating light bounces. The specific wizardness

83
00:04:13.800 --> 00:04:17.199
<v Speaker 2>of a character is defined entirely externally by data files

84
00:04:17.279 --> 00:04:19.560
<v Speaker 2>and scripts that get fed into the engine at runtime.

85
00:04:19.839 --> 00:04:22.040
<v Speaker 1>So to use an analogy. Building a game in the

86
00:04:22.079 --> 00:04:25.519
<v Speaker 1>early eighties was basically like building a house where the furniture,

87
00:04:25.639 --> 00:04:29.040
<v Speaker 1>the wallpaper, and the appliances are permanently glued to the

88
00:04:29.040 --> 00:04:29.639
<v Speaker 1>floor plan.

89
00:04:29.879 --> 00:04:31.079
<v Speaker 2>Huh, yes, exactly.

90
00:04:31.160 --> 00:04:33.279
<v Speaker 1>If you want a new couch, you literally have to

91
00:04:33.319 --> 00:04:36.519
<v Speaker 1>tear down the load bearing walls. But a modern game

92
00:04:36.560 --> 00:04:40.240
<v Speaker 1>engine is like buying a hyper advanced prefab foundation. You

93
00:04:40.279 --> 00:04:43.000
<v Speaker 1>get the plumbing, the electrical grid, and the physical laws

94
00:04:43.000 --> 00:04:45.120
<v Speaker 1>of gravity right out of the box, and you just

95
00:04:45.199 --> 00:04:47.959
<v Speaker 1>swap out the drywall and the decor at will.

96
00:04:48.199 --> 00:04:51.959
<v Speaker 2>That's spot on the engine is just the utility grid.

97
00:04:52.000 --> 00:04:55.240
<v Speaker 2>It doesn't care if it's powering a toaster or a supercomputer.

98
00:04:55.720 --> 00:04:58.560
<v Speaker 2>It just routes the electricity flawlessly.

99
00:04:58.839 --> 00:05:01.680
<v Speaker 1>But I'd assume that if you unity or unreal handles

100
00:05:01.720 --> 00:05:04.480
<v Speaker 1>all that underlying plumbing out of the box, building a

101
00:05:04.519 --> 00:05:08.000
<v Speaker 1>game should theoretically be leaner today, right you would think so? Yeah, yeah.

102
00:05:08.040 --> 00:05:10.800
<v Speaker 1>When you look at modern game development studios require these

103
00:05:10.879 --> 00:05:15.160
<v Speaker 1>multidisciplinary armies of hundreds of engineers and artists. If the

104
00:05:15.160 --> 00:05:17.920
<v Speaker 1>foundation is already built for them, why has the workforce

105
00:05:17.959 --> 00:05:19.360
<v Speaker 1>scale up so dramatically.

106
00:05:19.680 --> 00:05:23.600
<v Speaker 2>What's fascinating here is how modularity actually triggered an arms

107
00:05:23.680 --> 00:05:27.879
<v Speaker 2>race and fidelity because the engine is so incredibly capable. Now,

108
00:05:28.240 --> 00:05:31.240
<v Speaker 2>the sheer volume of data required to make a modern

109
00:05:31.279 --> 00:05:34.800
<v Speaker 2>digital world feel real to you is astronomical.

110
00:05:34.879 --> 00:05:37.399
<v Speaker 1>Oh, I see, it's the content itself that's bloated.

111
00:05:37.600 --> 00:05:42.000
<v Speaker 2>Exactly. You no longer have one programmer meticulously drawing pixels.

112
00:05:42.279 --> 00:05:46.160
<v Speaker 2>You have a massive structural divide in the engineering department alone.

113
00:05:46.240 --> 00:05:49.759
<v Speaker 2>You have runtime engineers writing the high performance C plus

114
00:05:49.800 --> 00:05:52.120
<v Speaker 2>plus that executes while you play.

115
00:05:52.240 --> 00:05:54.000
<v Speaker 1>And then you have tools engineers, right.

116
00:05:54.000 --> 00:05:57.240
<v Speaker 2>Yes, tools engineers whose entire job is just building the

117
00:05:57.279 --> 00:05:59.720
<v Speaker 2>custom plugins that allow the artists to even get their

118
00:05:59.720 --> 00:06:01.720
<v Speaker 2>masses of files into the engine in the first place.

119
00:06:01.839 --> 00:06:02.800
<v Speaker 1>That's wild.

120
00:06:03.079 --> 00:06:08.120
<v Speaker 2>The art pipeline alone requires concept artists, photogrammetry specialists, rigging engineers,

121
00:06:08.199 --> 00:06:12.000
<v Speaker 2>motion capture technicians. I mean, the engine is a bottomless furnace,

122
00:06:12.319 --> 00:06:16.000
<v Speaker 2>and it requires a tremendously complex human organization just to

123
00:06:16.040 --> 00:06:18.079
<v Speaker 2>shovel enough high quality data into it.

124
00:06:18.199 --> 00:06:21.480
<v Speaker 1>So you have this massive team feeding high fidelity assets

125
00:06:21.519 --> 00:06:25.800
<v Speaker 1>into a modular foundation, but a beautifully modeled million polygon

126
00:06:25.920 --> 00:06:29.160
<v Speaker 1>character as well. It's entirely useless if it's static.

127
00:06:28.920 --> 00:06:31.040
<v Speaker 2>Right, It's just a digital statue.

128
00:06:30.519 --> 00:06:33.519
<v Speaker 1>Exactly, the engine has to bring it to life, which

129
00:06:33.519 --> 00:06:37.839
<v Speaker 1>introduces the ultimate constraint time. The textbook uses a highly

130
00:06:37.879 --> 00:06:41.959
<v Speaker 1>specific phrase to define this environment. It calls modern video

131
00:06:42.000 --> 00:06:47.839
<v Speaker 1>games soft real time interactive agent based computer simulations, and.

132
00:06:47.879 --> 00:06:50.959
<v Speaker 2>Every single modifier in that phrase is doing a lot

133
00:06:50.959 --> 00:06:51.759
<v Speaker 2>of heavy lifting.

134
00:06:51.879 --> 00:06:53.240
<v Speaker 1>Break that down for us well.

135
00:06:53.360 --> 00:06:55.800
<v Speaker 2>To understand the simulation aspect, we really have to look

136
00:06:55.800 --> 00:06:59.199
<v Speaker 2>at the math. In applied mathematics, you generally deal with

137
00:06:59.279 --> 00:07:03.680
<v Speaker 2>either analyst models or numerical models. An analytic model can

138
00:07:03.720 --> 00:07:05.759
<v Speaker 2>be solved mathematically in a closed.

139
00:07:05.439 --> 00:07:07.279
<v Speaker 1>Form, meaning you can predict it perfectly.

140
00:07:07.519 --> 00:07:10.120
<v Speaker 2>Right. If I fire a cannon ball in a vacuum,

141
00:07:10.439 --> 00:07:13.199
<v Speaker 2>I can plug time into a standard ballistic equation and

142
00:07:13.240 --> 00:07:16.040
<v Speaker 2>tell you the exact coordinates of that cannonball at any

143
00:07:16.040 --> 00:07:17.160
<v Speaker 2>millisecond in the future.

144
00:07:17.600 --> 00:07:20.360
<v Speaker 1>But a game engine can't rely on closed form equations

145
00:07:20.439 --> 00:07:23.360
<v Speaker 1>because of the interactive part of that definition. You have

146
00:07:23.439 --> 00:07:25.519
<v Speaker 1>no idea when the player is going to suddenly apply

147
00:07:25.600 --> 00:07:28.279
<v Speaker 1>the brakes, fire a weapon, or just you know, crash

148
00:07:28.279 --> 00:07:28.959
<v Speaker 1>a car into a.

149
00:07:28.920 --> 00:07:32.959
<v Speaker 2>Wall precisely, which is why games rely on numerical models.

150
00:07:33.480 --> 00:07:36.439
<v Speaker 2>They utilize a main game loop, which is essentially just

151
00:07:36.639 --> 00:07:40.040
<v Speaker 2>a massive wild loop running continuously in.

152
00:07:40.000 --> 00:07:42.240
<v Speaker 1>The background just constantly looping.

153
00:07:42.120 --> 00:07:45.319
<v Speaker 2>Over and over. During every single iteration of that loop,

154
00:07:45.480 --> 00:07:49.120
<v Speaker 2>the engine calculates a delta time, which is the tiny

155
00:07:49.199 --> 00:07:51.959
<v Speaker 2>fraction of a second since the last loop, and uses

156
00:07:52.079 --> 00:07:55.360
<v Speaker 2>numerical integration to step the entire state of the world

157
00:07:55.480 --> 00:07:59.279
<v Speaker 2>forward by that exact margin. It's reading player inputs and

158
00:07:59.399 --> 00:08:00.959
<v Speaker 2>updating THEVLA on the fly.

159
00:08:01.439 --> 00:08:03.279
<v Speaker 1>So what does this all mean for the listener? If

160
00:08:03.279 --> 00:08:05.959
<v Speaker 1>I'm visualizing the game loop, it's almost like a wildly

161
00:08:06.040 --> 00:08:09.639
<v Speaker 1>complex flip book animation. But the frames aren't pre drawn.

162
00:08:09.800 --> 00:08:11.720
<v Speaker 2>No, they're completely blank.

163
00:08:11.560 --> 00:08:14.639
<v Speaker 1>Right, They're being sketched in real time by this hyperactive

164
00:08:14.680 --> 00:08:18.639
<v Speaker 1>mathematician who has to recalculate the physics, the lighting, the

165
00:08:18.680 --> 00:08:22.120
<v Speaker 1>audio propagation, and the AI behavior of an entire universe

166
00:08:22.160 --> 00:08:23.439
<v Speaker 1>before turning the page.

167
00:08:23.519 --> 00:08:26.639
<v Speaker 2>And that mathematician is working under the tyranny of the deadline,

168
00:08:26.680 --> 00:08:30.439
<v Speaker 2>which is the defining characteristic of any real time system, because.

169
00:08:30.199 --> 00:08:32.240
<v Speaker 1>If the monitor refreshes and the frame isn't.

170
00:08:32.000 --> 00:08:36.320
<v Speaker 2>Ready, the illusion shatters. For the cognitive illusion of motion

171
00:08:36.440 --> 00:08:39.679
<v Speaker 2>to hold, the game loop must finish all its calculations

172
00:08:39.759 --> 00:08:42.000
<v Speaker 2>before the monitor is ready to draw the next frame.

173
00:08:42.679 --> 00:08:45.799
<v Speaker 2>If a game targets sixty frames, per second, the engine

174
00:08:45.840 --> 00:08:50.759
<v Speaker 2>has exactly sixteen point six milliseconds to calculate the entire universe.

175
00:08:50.840 --> 00:08:54.720
<v Speaker 1>Sixteen point six milliseconds. That is barely any time at all.

176
00:08:54.759 --> 00:08:59.360
<v Speaker 2>And to complicate matters, the engine is orchestrating overlapping deadlines asynchronously.

177
00:09:00.039 --> 00:09:02.840
<v Speaker 2>The graphics pipeline needs to update sixty times a second,

178
00:09:03.120 --> 00:09:05.200
<v Speaker 2>but the physics engine might be running at one hundred

179
00:09:05.240 --> 00:09:08.320
<v Speaker 2>and twenty hertz just to ensure fast moving objects don't

180
00:09:08.320 --> 00:09:09.600
<v Speaker 2>clip through walls.

181
00:09:09.360 --> 00:09:11.759
<v Speaker 1>Right otherwise, a fast bullet might pass right through a

182
00:09:11.799 --> 00:09:13.720
<v Speaker 1>thin wall between frames exactly.

183
00:09:14.320 --> 00:09:17.120
<v Speaker 2>Meanwhile, the aipath finding might only need to update twice

184
00:09:17.159 --> 00:09:20.000
<v Speaker 2>a second, so the engine is essentially a master conductor,

185
00:09:20.120 --> 00:09:23.559
<v Speaker 2>keeping all these distinct tempos perfectly synchronized.

186
00:09:23.080 --> 00:09:25.879
<v Speaker 1>Which brings us to the distinction between soft and hard

187
00:09:26.080 --> 00:09:30.039
<v Speaker 1>real time systems. Video games operate in soft real time,

188
00:09:30.480 --> 00:09:34.039
<v Speaker 1>meaning if our hyperactive mathematician misses that sixteen point six

189
00:09:34.080 --> 00:09:37.000
<v Speaker 1>millisecond deadline, the system doesn't completely crash.

190
00:09:37.399 --> 00:09:41.080
<v Speaker 2>No, the game simply drops a frame, the animation stutters,

191
00:09:41.279 --> 00:09:44.720
<v Speaker 2>the player gets slightly annoyed, but you know, everyone lives.

192
00:09:44.879 --> 00:09:48.000
<v Speaker 1>Whereas in a hard real time system, a miss deadline

193
00:09:48.200 --> 00:09:49.399
<v Speaker 1>is literally fatal.

194
00:09:49.639 --> 00:09:54.039
<v Speaker 2>Yes, If the avionic software stabilizing a helicopter or the

195
00:09:54.120 --> 00:09:57.799
<v Speaker 2>automated control rod mechanism and a nuclear reactor takes twenty

196
00:09:57.879 --> 00:10:02.440
<v Speaker 2>milliseconds to execute instead of sixteen, the system fails catastrophically.

197
00:10:02.679 --> 00:10:05.759
<v Speaker 1>So games have the luxury of being soft real time,

198
00:10:06.120 --> 00:10:11.240
<v Speaker 1>Yet developers still bend their entire architectural strategy around never missing.

199
00:10:10.960 --> 00:10:14.759
<v Speaker 2>That deadline because the human visual cortex is just agonizingly

200
00:10:14.799 --> 00:10:18.039
<v Speaker 2>sensitive to the illusion breaking hit the deadline and your

201
00:10:18.039 --> 00:10:22.639
<v Speaker 2>brain perceives discrete numerical calculations as a continuous, breathing reality.

202
00:10:22.759 --> 00:10:26.720
<v Speaker 1>And hitting those deadlines consistently while simulating millions of polygons

203
00:10:26.720 --> 00:10:30.639
<v Speaker 1>and complex physics is computationally impossible. If you try to

204
00:10:30.639 --> 00:10:33.720
<v Speaker 1>render reality perfectly, Engines have to cheat.

205
00:10:33.879 --> 00:10:35.000
<v Speaker 2>Oh, they cheat constantly.

206
00:10:35.120 --> 00:10:37.720
<v Speaker 1>The architecture of the illusion is highly dependent on the

207
00:10:37.720 --> 00:10:40.679
<v Speaker 1>specific genre constraints of the experience you're building.

208
00:10:40.879 --> 00:10:45.039
<v Speaker 2>You are entirely governed by trade offs. The algorithmic shortcuts

209
00:10:45.080 --> 00:10:48.120
<v Speaker 2>you take depend entirely on what the player is actually

210
00:10:48.200 --> 00:10:50.279
<v Speaker 2>expected to do in that specific game.

211
00:10:50.519 --> 00:10:53.720
<v Speaker 1>Take a traditional first person shooter, for example, you're demanding

212
00:10:53.799 --> 00:10:58.279
<v Speaker 1>hyperrealistic rendering, but structurally you are usually moving the camera

213
00:10:58.320 --> 00:11:00.720
<v Speaker 1>down in closed corridors or type site lines.

214
00:11:00.840 --> 00:11:02.519
<v Speaker 2>Right, you can't see the whole world at once.

215
00:11:02.480 --> 00:11:06.240
<v Speaker 1>So the engine aggressively optimizes for high detailed geometry right

216
00:11:06.240 --> 00:11:08.919
<v Speaker 1>in front of the camera. The weapon models the character

217
00:11:09.080 --> 00:11:13.000
<v Speaker 1>arms to ensure the game doesn't waste its precious sixteen

218
00:11:13.039 --> 00:11:16.799
<v Speaker 1>milliseconds calculating light bounces in a room you aren't even in. FPS.

219
00:11:16.840 --> 00:11:21.120
<v Speaker 1>Engines historically rely on spatial partitioning algorithms.

220
00:11:20.480 --> 00:11:23.000
<v Speaker 2>Like binary space partitioning or BSP.

221
00:11:22.759 --> 00:11:27.360
<v Speaker 1>Tree exactly, they mathematically slice the level geometry along planes,

222
00:11:27.759 --> 00:11:31.279
<v Speaker 1>allowing the engine to instantly call or hide any room

223
00:11:31.360 --> 00:11:33.600
<v Speaker 1>that isn't currently intersecting your field of view.

224
00:11:33.960 --> 00:11:37.360
<v Speaker 2>The GPU never even receives the instruction to draw the

225
00:11:37.399 --> 00:11:40.879
<v Speaker 2>monster weighing behind the solid door. It's aggressively wiped from

226
00:11:40.879 --> 00:11:41.799
<v Speaker 2>the rendering cue.

227
00:11:41.840 --> 00:11:45.279
<v Speaker 1>But the moment you change the genre, those specific algorithmic

228
00:11:45.320 --> 00:11:48.960
<v Speaker 1>chets become completely useless. Strip away the walls and drop

229
00:11:49.000 --> 00:11:51.879
<v Speaker 1>the player into a racing simulator going two hundred miles

230
00:11:51.879 --> 00:11:56.039
<v Speaker 1>an hour. A BSP tree fails completely in a sprawling

231
00:11:56.200 --> 00:11:57.240
<v Speaker 1>outdoor environment.

232
00:11:57.440 --> 00:11:59.200
<v Speaker 2>It just can't handle the open space right.

233
00:11:59.480 --> 00:12:03.879
<v Speaker 1>Instead, racing engines divide long corridor tracks into sectors. They

234
00:12:03.879 --> 00:12:08.279
<v Speaker 1>strip out complex AI pathfinding and focus memory bandwidth entirely

235
00:12:08.320 --> 00:12:12.159
<v Speaker 1>on texture streaming. They often utilize old Hollywood tricks like

236
00:12:12.200 --> 00:12:16.039
<v Speaker 1>two D background cards. Ah, yes, those distant mountains aren't

237
00:12:16.080 --> 00:12:18.639
<v Speaker 1>three D models at all, They're just flat images. But

238
00:12:18.720 --> 00:12:21.399
<v Speaker 1>because the camera is hurtling forward so fast, the lack

239
00:12:21.440 --> 00:12:23.159
<v Speaker 1>of parallax is completely hidden.

240
00:12:23.279 --> 00:12:25.159
<v Speaker 2>Then take the camera off the bumper of the car

241
00:12:25.440 --> 00:12:27.519
<v Speaker 2>and suspend it five hundred feet in the air for

242
00:12:27.559 --> 00:12:32.200
<v Speaker 2>a real time strategy game, Suddenly the rendering budget shifts entirely.

243
00:12:32.320 --> 00:12:34.919
<v Speaker 1>You're not looking at one detailed car anymore.

244
00:12:34.559 --> 00:12:37.480
<v Speaker 2>Right, you aren't processing a high fidelity car model. You're

245
00:12:37.639 --> 00:12:42.759
<v Speaker 2>tracking five hundred independent AI units navigating a massive battlefield simultaneously.

246
00:12:43.080 --> 00:12:46.799
<v Speaker 1>Right, and at that scale, running complex collision detection on

247
00:12:47.000 --> 00:12:50.159
<v Speaker 1>every single soldier's footstep would just melt the CPU.

248
00:12:50.320 --> 00:12:54.440
<v Speaker 2>Oh absolutely so, RTS engines just abandon high resolution collision

249
00:12:54.480 --> 00:12:58.080
<v Speaker 2>meshes entirely. They rely on simple grid based height fields

250
00:12:58.320 --> 00:12:59.519
<v Speaker 2>and navigation meshes.

251
00:12:59.600 --> 00:13:02.919
<v Speaker 1>So they just simplify the terrain mathematically exactly.

252
00:13:03.080 --> 00:13:06.600
<v Speaker 2>The engine calculates paths based on a low resolution geometric

253
00:13:06.639 --> 00:13:11.919
<v Speaker 2>abstraction of the terrain, sacrificing visual fidelity for massive computational scale.

254
00:13:11.519 --> 00:13:15.320
<v Speaker 1>And that scale reaches its absolute architectural limit with massively

255
00:13:15.480 --> 00:13:20.039
<v Speaker 1>multiplayer online games because in an MMOG, the true authoritative

256
00:13:20.039 --> 00:13:22.360
<v Speaker 1>engine doesn't even live on the player's hardware.

257
00:13:22.519 --> 00:13:24.639
<v Speaker 2>No, the definitive say of the world resides on a

258
00:13:24.679 --> 00:13:27.480
<v Speaker 2>massive server array in a data center somewhere.

259
00:13:27.600 --> 00:13:30.120
<v Speaker 1>So the local engine running on your machine essentially acts

260
00:13:30.120 --> 00:13:32.240
<v Speaker 1>as a highly advanced dumb terminal.

261
00:13:32.519 --> 00:13:33.720
<v Speaker 2>That's a great way to put it.

262
00:13:33.720 --> 00:13:36.360
<v Speaker 1>It renders the graphics and sends your inputs, but its

263
00:13:36.399 --> 00:13:40.480
<v Speaker 1>primary architectural constraint is masking network latency. It has to

264
00:13:40.559 --> 00:13:44.240
<v Speaker 1>constantly synchronize with the server that is concurrently processing combat map,

265
00:13:44.480 --> 00:13:48.639
<v Speaker 1>inventory databases and micro transactions for ten thousand other clients.

266
00:13:48.879 --> 00:13:51.200
<v Speaker 1>It's juggling a lot, it is, But this brings up

267
00:13:51.200 --> 00:13:53.360
<v Speaker 1>a point I want to push back on. I know

268
00:13:53.440 --> 00:13:56.840
<v Speaker 1>that modern platforms like Unreal in Unity market themselves as

269
00:13:57.039 --> 00:14:02.039
<v Speaker 1>highly modular universal tools. But if the fundamental math required

270
00:14:02.039 --> 00:14:05.039
<v Speaker 1>to call a room in a shooter is completely useless

271
00:14:05.039 --> 00:14:08.159
<v Speaker 1>for pathfinding in a strategy game, why push for a

272
00:14:08.159 --> 00:14:09.279
<v Speaker 1>master engine at all?

273
00:14:09.399 --> 00:14:10.480
<v Speaker 2>That's a very qure question.

274
00:14:10.559 --> 00:14:13.919
<v Speaker 1>I'd assume that attempting to build one master algorithm for

275
00:14:14.120 --> 00:14:18.360
<v Speaker 1>spatial subdivision that dynamically scales across all genres would just

276
00:14:18.399 --> 00:14:23.080
<v Speaker 1>create a bloated, inefficient nightmare. Shouldn't standardizing actually be worse

277
00:14:23.120 --> 00:14:23.919
<v Speaker 1>for performance?

278
00:14:24.480 --> 00:14:29.600
<v Speaker 2>It is the eternal tension in software engineering generality versus optmalody.

279
00:14:29.720 --> 00:14:32.279
<v Speaker 2>You are completely right that a generalized solution carries a

280
00:14:32.320 --> 00:14:33.080
<v Speaker 2>performance text.

281
00:14:33.080 --> 00:14:33.720
<v Speaker 1>So why do it?

282
00:14:33.840 --> 00:14:36.320
<v Speaker 2>Well, if you build a custom racing engine from scratch,

283
00:14:36.879 --> 00:14:39.600
<v Speaker 2>you strip out every line of code related to RTS,

284
00:14:39.879 --> 00:14:43.120
<v Speaker 2>unit pathing or FPS inventory management. You can press your

285
00:14:43.120 --> 00:14:46.639
<v Speaker 2>memory footprint, you maximize your cash coherence, and you squeeze

286
00:14:46.639 --> 00:14:47.759
<v Speaker 2>out a few extra frames per.

287
00:14:47.679 --> 00:14:49.440
<v Speaker 1>Second, Which sounds ideal.

288
00:14:49.480 --> 00:14:53.440
<v Speaker 2>It is computationally, but the financial and temporal cost of

289
00:14:53.480 --> 00:14:58.240
<v Speaker 2>building that bespoke engine is astronomical. A universal engine offers

290
00:14:58.240 --> 00:15:01.919
<v Speaker 2>a sprawling buffet of algorithms. It provides a BSP tree

291
00:15:02.039 --> 00:15:05.080
<v Speaker 2>and a height field navigation system, allowing the developer to

292
00:15:05.159 --> 00:15:06.559
<v Speaker 2>just toggle systems on and off.

293
00:15:06.639 --> 00:15:08.360
<v Speaker 1>Oh I see, so you're trading a little bit of

294
00:15:08.440 --> 00:15:10.080
<v Speaker 1>speed for convenience exactly.

295
00:15:10.120 --> 00:15:13.840
<v Speaker 2>You trade a slight margin of computational optimality for years

296
00:15:13.840 --> 00:15:15.039
<v Speaker 2>of saved engineering time.

297
00:15:15.360 --> 00:15:18.240
<v Speaker 1>Here's where it gets really interesting, though, because the display

298
00:15:18.279 --> 00:15:23.480
<v Speaker 1>paradigms themselves are shifting, and emerging technologies are completely shattering

299
00:15:23.600 --> 00:15:25.159
<v Speaker 1>these traditional trade offs.

300
00:15:24.919 --> 00:15:27.039
<v Speaker 2>Right, the old rules don't always apply anymore.

301
00:15:27.200 --> 00:15:30.799
<v Speaker 1>The rules of genre optimization don't apply when you fundamentally

302
00:15:30.840 --> 00:15:33.919
<v Speaker 1>alter how the brain interfaces with the screen, which is

303
00:15:33.960 --> 00:15:36.039
<v Speaker 1>exactly what happens with virtual reality.

304
00:15:36.320 --> 00:15:40.960
<v Speaker 2>VR forces engine architects to essentially throw out decades of

305
00:15:41.000 --> 00:15:46.320
<v Speaker 2>accepted rendering hacks. The most immediate constraint is stereoscopic rendering.

306
00:15:46.000 --> 00:15:48.480
<v Speaker 1>Which means drawing everything twice right yes.

307
00:15:49.240 --> 00:15:52.159
<v Speaker 2>To create the illusion of depth, the engine must render

308
00:15:52.200 --> 00:15:56.320
<v Speaker 2>the entire scene twice per frame, once for the left eye,

309
00:15:56.600 --> 00:16:01.320
<v Speaker 2>once for the right. From slightly offset virtual care rope positions.

310
00:16:00.919 --> 00:16:03.639
<v Speaker 1>And the frame rate deadlines are unforgiving. We mentioned sixty

311
00:16:03.679 --> 00:16:06.279
<v Speaker 1>frames per second as the standard target for a soft

312
00:16:06.279 --> 00:16:09.440
<v Speaker 1>real time game. In VR, dropping to sixty is a

313
00:16:09.440 --> 00:16:11.279
<v Speaker 1>physiological disaster.

314
00:16:11.039 --> 00:16:14.600
<v Speaker 2>Because of the vestibular system. If a VR engine drops

315
00:16:14.639 --> 00:16:18.320
<v Speaker 2>below ninety frames per second, the latency between the physical

316
00:16:18.399 --> 00:16:20.840
<v Speaker 2>rotation of your head and the visual update on the

317
00:16:20.879 --> 00:16:23.679
<v Speaker 2>screen creates a sensory mismatch in your brain.

318
00:16:23.840 --> 00:16:25.919
<v Speaker 1>The inner ear tells the brain you were moving, but

319
00:16:25.960 --> 00:16:28.320
<v Speaker 1>the eyes report on microscopic.

320
00:16:27.720 --> 00:16:31.440
<v Speaker 2>Delay, and the evolutionary response to that sensory mismatch is

321
00:16:31.480 --> 00:16:35.360
<v Speaker 2>to assume you've been poisoned. Wow really yeah, inducing severe nausea.

322
00:16:35.440 --> 00:16:37.879
<v Speaker 2>So the engine has to push twice as many pixels

323
00:16:38.159 --> 00:16:42.399
<v Speaker 2>significantly faster, with absolutely zero tolerance for dropped frames.

324
00:16:42.559 --> 00:16:46.399
<v Speaker 1>It also breaks standard gameplay mechanics like locomotion. The visual

325
00:16:46.440 --> 00:16:48.840
<v Speaker 1>trick of pushing a joystick forward to slide across a

326
00:16:48.919 --> 00:16:51.200
<v Speaker 1>room works totally fine on a television.

327
00:16:50.840 --> 00:16:55.200
<v Speaker 2>But in VR, smooth artificial locomotion causes instant motion sickness.

328
00:16:55.559 --> 00:16:59.360
<v Speaker 1>Right, So engines had to quickly integrate totally new paradigms

329
00:16:59.440 --> 00:17:04.440
<v Speaker 1>like click teleportation meshes. You even see engines handling vrception

330
00:17:05.079 --> 00:17:07.359
<v Speaker 1>where the player picks up a pair of virtual glasses,

331
00:17:07.720 --> 00:17:11.440
<v Speaker 1>puts them on their virtual head, and seamlessly shifts into

332
00:17:11.480 --> 00:17:15.519
<v Speaker 1>an alternate rendering pipeline within the simulation. It's incredibly meta,

333
00:17:15.640 --> 00:17:19.160
<v Speaker 1>it is, But hardware isn't the only boundary pushing the engine.

334
00:17:19.359 --> 00:17:23.400
<v Speaker 1>The source material highlights the explosion of player authored content.

335
00:17:24.079 --> 00:17:27.240
<v Speaker 1>Look at games like Minecraft or Dreams on the PlayStation.

336
00:17:27.440 --> 00:17:28.839
<v Speaker 2>Tire's doing some wild stuff in.

337
00:17:28.839 --> 00:17:31.920
<v Speaker 1>Those they really are. Players are using in game materials

338
00:17:32.000 --> 00:17:35.599
<v Speaker 1>like Redstone and Minecraft to build fully functioning logic circuits.

339
00:17:35.839 --> 00:17:38.759
<v Speaker 1>If I'm wiring up a complex Redstone logic gait to

340
00:17:38.799 --> 00:17:42.240
<v Speaker 1>automate a massive farm in the game, I'm basically intercepting

341
00:17:42.359 --> 00:17:45.279
<v Speaker 1>and modifying the engine's underlying tick rate. Right.

342
00:17:45.440 --> 00:17:47.720
<v Speaker 2>If we connect this to the bigger picture, you are

343
00:17:47.759 --> 00:17:52.599
<v Speaker 2>engaging in visual programming. Titles like Minecraft and Dreams have

344
00:17:52.680 --> 00:17:55.559
<v Speaker 2>abstracted their engines to such a degree that the game

345
00:17:55.559 --> 00:17:57.599
<v Speaker 2>itself acts as an operating system.

346
00:17:57.720 --> 00:18:00.680
<v Speaker 1>It's almost like you're under the hood without realizing it exactly.

347
00:18:01.000 --> 00:18:04.000
<v Speaker 2>The engine provides a visual interface that allows the player

348
00:18:04.079 --> 00:18:09.240
<v Speaker 2>to manipulate the underlying mathematical simulation, setting boolean variables, writing

349
00:18:09.279 --> 00:18:12.640
<v Speaker 2>conditional logic without ever catching a single line of C

350
00:18:12.880 --> 00:18:16.440
<v Speaker 2>plus plus bag. You are programming the runtime loop using

351
00:18:16.519 --> 00:18:18.240
<v Speaker 2>virtual electrical wire, and.

352
00:18:18.160 --> 00:18:21.279
<v Speaker 1>We are seeing that same level of dynamic simulation replace

353
00:18:21.480 --> 00:18:26.119
<v Speaker 1>traditional art pipelines too. Particularly with character movement, the text

354
00:18:26.160 --> 00:18:30.240
<v Speaker 1>focuses on biomechanical middleware, like a tool called Euphoria.

355
00:18:30.480 --> 00:18:32.240
<v Speaker 2>This is where it gets really sci fi right.

356
00:18:32.359 --> 00:18:36.000
<v Speaker 1>For decades, character movement was basically just a rigid playback

357
00:18:36.039 --> 00:18:38.680
<v Speaker 1>of an animation drawn by an artist. If a character

358
00:18:38.720 --> 00:18:42.000
<v Speaker 1>got shot, they played a pre rendered falling animation. But

359
00:18:42.119 --> 00:18:44.640
<v Speaker 1>Euphoria abandons keyframes for physics.

360
00:18:44.880 --> 00:18:48.640
<v Speaker 2>It utilizes a real time biomechanical model that simulates the

361
00:18:48.720 --> 00:18:52.279
<v Speaker 2>character's muscle mass, their specific weight distribution, and their center

362
00:18:52.319 --> 00:18:52.759
<v Speaker 2>of gravity.

363
00:18:52.799 --> 00:18:54.200
<v Speaker 1>So it's not an animation plane.

364
00:18:54.400 --> 00:18:58.400
<v Speaker 2>No, it employs inverse kinematics and active rag doll physics.

365
00:18:59.279 --> 00:19:01.960
<v Speaker 2>When that digital character takes a hit, there is no

366
00:19:02.119 --> 00:19:07.000
<v Speaker 2>animation file. The physics engine dynamically calculates exactly how their

367
00:19:07.000 --> 00:19:10.119
<v Speaker 2>digital muscles would spasm and how they would stumble to

368
00:19:10.200 --> 00:19:13.640
<v Speaker 2>regain their balance based on the exact vector of the impact.

369
00:19:13.880 --> 00:19:17.400
<v Speaker 1>The complexity required to integrate that level of physical simulation

370
00:19:17.640 --> 00:19:22.799
<v Speaker 1>alongside graphics and audio in just sixteen milliseconds is just staggering, which.

371
00:19:22.599 --> 00:19:26.559
<v Speaker 2>Makes the actual architectural organization of the engine absolutely critical.

372
00:19:26.680 --> 00:19:30.039
<v Speaker 1>I imagine enforcing strict boundaries is the only way to stop, say,

373
00:19:30.160 --> 00:19:33.599
<v Speaker 1>the rendering code from accidentally bleeding into the audio code

374
00:19:33.599 --> 00:19:35.599
<v Speaker 1>and triggering an infinite loop of errors.

375
00:19:35.680 --> 00:19:37.480
<v Speaker 2>Oh, it would be chaos otherwise.

376
00:19:37.720 --> 00:19:41.200
<v Speaker 1>To explain how developers manage this chaos, the text breaks

377
00:19:41.240 --> 00:19:43.079
<v Speaker 1>the architecture down into a layer.

378
00:19:42.880 --> 00:19:47.160
<v Speaker 2>Cake, right, It's an exercise in extreme compartmentalization. At the

379
00:19:47.200 --> 00:19:49.480
<v Speaker 2>absolute bottom of the cake, you have the target hardware

380
00:19:49.519 --> 00:19:52.799
<v Speaker 2>and the operating system. In the early days, a console

381
00:19:52.880 --> 00:19:54.720
<v Speaker 2>was a dedicated games machine.

382
00:19:54.359 --> 00:19:55.119
<v Speaker 1>But not anymore.

383
00:19:55.319 --> 00:19:59.000
<v Speaker 2>No, today, an Xbox or a PlayStation is essentially just

384
00:19:59.079 --> 00:20:03.279
<v Speaker 2>a specialized PE. The engine isn't just talking to the silicon.

385
00:20:03.680 --> 00:20:07.039
<v Speaker 2>It has to negotiate with a hypervisor running background OS

386
00:20:07.039 --> 00:20:10.920
<v Speaker 2>tasks like downloading updates or capturing video buffers.

387
00:20:10.799 --> 00:20:14.119
<v Speaker 1>Which can randomly steal CPU cycles away from the game loop.

388
00:20:14.319 --> 00:20:17.240
<v Speaker 1>Exactly so, to protect the game from those hardware quirks,

389
00:20:17.440 --> 00:20:19.759
<v Speaker 1>you move up a layer to the platform independence layer.

390
00:20:19.960 --> 00:20:22.200
<v Speaker 1>Because a studio obviously doesn't want to write their game

391
00:20:22.200 --> 00:20:24.680
<v Speaker 1>three separate times for Xbox, PC and PlayStation.

392
00:20:24.799 --> 00:20:26.920
<v Speaker 2>That would be incredibly inefficient.

393
00:20:26.559 --> 00:20:30.319
<v Speaker 1>Right, This layer acts like a universal translator using C

394
00:20:30.480 --> 00:20:34.279
<v Speaker 1>plus plus wrapper classes. The core game logic just says

395
00:20:34.559 --> 00:20:38.680
<v Speaker 1>allocate this memory or read this file. The rapper function

396
00:20:38.799 --> 00:20:42.000
<v Speaker 1>intercepts that generic command and automatically translates it into the

397
00:20:42.079 --> 00:20:46.240
<v Speaker 1>highly specific proprietary system call required by whatever hardware it

398
00:20:46.279 --> 00:20:47.200
<v Speaker 1>happens to be running on.

399
00:20:47.319 --> 00:20:49.720
<v Speaker 2>And sitting above that hardware abstraction, you find the third

400
00:20:49.720 --> 00:20:54.720
<v Speaker 2>party stk's software development kits. Very huge studios build every

401
00:20:54.720 --> 00:20:56.079
<v Speaker 2>subsystem from scratch.

402
00:20:55.799 --> 00:20:57.960
<v Speaker 1>Anymore, why reinvent the wheel? Right?

403
00:20:58.319 --> 00:21:02.000
<v Speaker 2>Exactly? They license Havoc to handle their rigid body physics

404
00:21:02.480 --> 00:21:06.519
<v Speaker 2>or FOLLY for optimized data structures. The engine provides the

405
00:21:06.559 --> 00:21:10.839
<v Speaker 2>core memory, allogators, and resource managers, and these SDKs just

406
00:21:10.960 --> 00:21:13.000
<v Speaker 2>plug directly into that infrastructure.

407
00:21:13.200 --> 00:21:16.079
<v Speaker 1>And only above all of that foundational plumbing do you

408
00:21:16.119 --> 00:21:19.359
<v Speaker 1>finally reach the rendering engine, talking to the graphics processing

409
00:21:19.440 --> 00:21:21.920
<v Speaker 1>unit and the front end handling the hut and menus.

410
00:21:22.279 --> 00:21:24.960
<v Speaker 2>The strictness of this layer cake is what prevents the

411
00:21:25.000 --> 00:21:27.000
<v Speaker 2>engine from just collapsing under its own.

412
00:21:26.880 --> 00:21:29.960
<v Speaker 1>Weight, because if your low level memory manager relies on

413
00:21:30.000 --> 00:21:32.839
<v Speaker 1>the high level rendering system and the rendering system relies

414
00:21:32.839 --> 00:21:34.240
<v Speaker 1>on the memory manager, you.

415
00:21:34.160 --> 00:21:38.119
<v Speaker 2>Create a circular dependency. The moment the code executes, it

416
00:21:38.160 --> 00:21:41.359
<v Speaker 2>triggers a stack overflow, and the entire program crashes. Ah

417
00:21:41.559 --> 00:21:44.480
<v Speaker 2>I see the architecture dictates that higher layers can call

418
00:21:44.519 --> 00:21:47.799
<v Speaker 2>down to lower layers, but lower layers can never look up.

419
00:21:48.279 --> 00:21:51.839
<v Speaker 2>It's a masterclass in structured thinking just to manage millions

420
00:21:51.839 --> 00:21:53.200
<v Speaker 2>of lines of active code.

421
00:21:53.400 --> 00:21:58.160
<v Speaker 1>It fundamentally prevents the chaotic entanglement that plagued early console development.

422
00:21:59.079 --> 00:22:00.920
<v Speaker 1>The layer cake and s sure is that the massive

423
00:22:00.960 --> 00:22:05.839
<v Speaker 1>team of runtime engineers, tools programmers, and technical artists can

424
00:22:05.920 --> 00:22:10.440
<v Speaker 1>all work concurrently without their code catastrophically overwriting each other.

425
00:22:10.599 --> 00:22:12.759
<v Speaker 2>It's the only way to build worlds this complex.

426
00:22:13.039 --> 00:22:16.680
<v Speaker 1>It really completely reframes the whole theme park illusion we

427
00:22:16.720 --> 00:22:20.880
<v Speaker 1>started with all of those towering castles, the emotional narratives,

428
00:22:21.119 --> 00:22:24.359
<v Speaker 1>the sweeping vistas that you lose yourself in. Down in

429
00:22:24.400 --> 00:22:28.440
<v Speaker 1>the tunnels, it is just pure structure and relentless.

430
00:22:27.839 --> 00:22:29.599
<v Speaker 2>Math, just numbers flowing in the dark.

431
00:22:29.680 --> 00:22:34.680
<v Speaker 1>Exactly, you are experiencing a frantic, highly orchestrated numerical simulation

432
00:22:34.839 --> 00:22:38.400
<v Speaker 1>calculating physics and light bounces in exact sixteen point six

433
00:22:38.480 --> 00:22:42.799
<v Speaker 1>millisecond slices, perfectly optimized to trick your visual cortex into

434
00:22:42.799 --> 00:22:43.480
<v Speaker 1>seeing magic.

435
00:22:43.799 --> 00:22:46.680
<v Speaker 2>It is arguably one of the most complex software engineering

436
00:22:46.720 --> 00:22:49.039
<v Speaker 2>feats in the world. But you know, this raises an

437
00:22:49.039 --> 00:22:51.160
<v Speaker 2>important question, something for you to mull over as this

438
00:22:51.240 --> 00:22:55.119
<v Speaker 2>technology of als well, if game engines like Unreal and

439
00:22:55.160 --> 00:23:00.000
<v Speaker 2>physics models like Euphoria are successfully creating hyper accurate, biome

440
00:23:00.000 --> 00:23:04.799
<v Speaker 2>mechanically precise simulations of reality, what happens when this soft

441
00:23:04.880 --> 00:23:08.519
<v Speaker 2>real time entertainment tech crosses the barrier into the real world.

442
00:23:08.680 --> 00:23:12.000
<v Speaker 2>Oh wow, could the spatial subdivision algorithms and physics integration

443
00:23:12.240 --> 00:23:16.400
<v Speaker 2>that currently run your favorite racing simulator eventually be repurposed

444
00:23:16.680 --> 00:23:20.079
<v Speaker 2>to run the hard real time simulation required for an

445
00:23:20.079 --> 00:23:21.680
<v Speaker 2>autonomous self driving car.

446
00:23:21.839 --> 00:23:24.000
<v Speaker 1>When a game engine starts driving your car and a

447
00:23:24.079 --> 00:23:27.039
<v Speaker 1>drop frame means a real world collision, where does the

448
00:23:27.119 --> 00:23:30.240
<v Speaker 1>video game end and reality begin. It definitely makes you

449
00:23:30.279 --> 00:23:31.960
<v Speaker 1>look at the illusion of the digital world in a

450
00:23:32.000 --> 00:23:34.319
<v Speaker 1>completely different light. Thank you for joining us on this

451
00:23:34.400 --> 00:23:37.400
<v Speaker 1>deep dive into the architecture of virtual worlds. We'll see

452
00:23:37.400 --> 00:23:37.920
<v Speaker 1>you next time.
