TRANSKRIPTEnglish

Tim Sweeney: Fortnite, Unreal Engine, and the Future of Gaming | Lex Fridman Podcast #467

4h 25m 10s47,980 ord6,384 segmentsEnglish

FULLSTÄNDIGT TRANSKRIPT

0:00

- Humans are by far the hardest part of computer graphics

0:03

because millions of years of evolution

0:05

have given us dedicated brain systems

0:08

to detect patterns and faces and infer emotions and intent

0:12

because cavemen had to,

0:14

when they see a stranger determine whether they were

0:16

likely friendly or they might be trying to kill them.

0:19

And so people in the world have extraordinarily

0:22

detailed expectations of a face

0:24

and we can notice imperfections,

0:26

especially perfect arising

0:27

from computer graphics limitations.

0:30

Okay, one part is capturing humans.

0:31

And so it involved really advanced, dedicated hardware

0:34

that puts a human in a capture sphere

0:37

with dozens of cameras in them, taking high resolution,

0:41

high frame rate video of them as they go

0:42

through a range of motions.

0:44

And then capturing the human face is complicated

0:46

because the nuance detail of our faces

0:48

and how all the muscles and sinews

0:50

and fat work together to give us different expressions.

0:53

So it's not only about the shape of a person's face,

0:55

but it's also about the entire range of motion

0:57

that they might go through.

0:59

So that's the data problem.

1:00

There's a lot of other problems with computer graphics.

1:01

You know, there's technology for rendering hair,

1:04

which is really hard 'cause you can't render every, again,

1:07

we know the laws of physics.

1:08

It would be easy to just render every hair.

1:09

It would just be a billion times too slow.

1:12

So you need approximations that capture the net effect

1:14

of hair on rendering and on pixels

1:17

without calculating every single interaction

1:20

of every light with every strand of hair.

1:23

That's one part of it.

1:23

There's detailed features for different parts of faces.

1:26

There's subsurface scattering

1:27

because we think of humans as opaque.

1:30

But really our skin is, we light travels through it.

1:33

It's not completely opaque.

1:34

And the way in which light travels

1:36

through skin has a huge impact on our appearance.

1:38

And this is why there's no way you can paint a mannequin

1:40

to look realistic for a human.

1:43

You know, it's just a solid surface

1:45

and we'll never have the sort of detail you see.

1:48

- That kind of blew my mind, like thinking through that.

1:51

I think I heard that sort of the oiliness of the skin

1:55

creates very specific, nuanced, complex reflections

2:01

and then some light is absorbed

2:04

and travels through the skin

2:05

and that creates textures that are humanized,

2:08

able to perceive and it creates the thing

2:10

that we consider human, whatever that is.

2:14

All of that, while considering all the muscles involved

2:18

in making the nuance expression, just the subtle squinting

2:22

of the eyes or the subtle formation of a smile,

2:25

it's a subtlety of human faces that you have to capture.

2:29

Like the difference between a real smile and a fake smile.

2:31

But the way to show like beginning of a formation of a smile

2:36

that actually reveals a deep sadness.

2:38

All of that, like when I watch a human face,

2:41

I can like read that.

2:42

I could see that.

2:43

You have to have the tools

2:45

that in real time can render something like that.

2:48

And that's incredibly difficult.

2:50

- That's right, getting faces right requires the interplay

2:53

of literally dozens of different systems

2:55

and aspects of computer graphics.

2:56

And if any one of them is wrong,

2:59

your eye is completely drawn to that

3:01

and you find it on the wrong side of uncanny valley.

3:06

- The following is a conversation with Tim Sweeney,

3:09

a legendary video game programmer,

3:11

Founder and CEO of Epic Games

3:14

that created many incredible games of technologies,

3:17

including the Unreal Engine and "Fortnite,"

3:20

which both revolutionized the video game industry

3:23

and the experience of playing and creating video games.

3:29

This is the Lex Fridman podcast.

3:31

To support it, please check out our sponsors

3:33

in the description.

3:34

And now, dear friends, here's Tim Sweeney.

3:39

When did you first fall in love with computers

3:41

and maybe with programming?

3:42

- I had a brother, Steve Sweeney,

3:44

who 16 years older than me,

3:47

and at some point when I was a little kid,

3:49

he went off to work in California for a tech company

3:52

and he'd gotten one of the first IBM PCs.

3:55

And so for one summer, I think I was about 11,

3:57

I went to visit him in California.

3:59

It was my first like trip away from my family

4:01

just to hang out with him.

4:02

And he had this brand new IBM computer

4:04

and I learned to program over the course of a few days

4:07

in BASIC, I was just blown away with the capabilities

4:10

of computers at the time.

4:11

It was unbelievable what they could accomplish.

4:13

And I was hooked from that point onward

4:16

and very much wanted to be a programmer.

4:19

- Do you remember what you wrote in BASIC?

4:21

Is it a video game type thing?

4:22

Is it like for loop, some numerical thing?

4:26

Do you remember?

4:27

- Yeah, it's funny, I have a perfectly vivid memory

4:30

of all of the first things I learned to program. (laughs)

4:34

I have a hard time remembering people's names,

4:35

but like code really sticks with me.

4:37

Every step and every challenge there were lessons learned

4:40

and you know, some of which I've come to realize

4:42

were just like me getting over some learning hurdles.

4:45

But other things were actually shortcomings

4:47

of programming languages

4:50

and the realization that there are actually better ways than

4:52

what a programmer is learning to program for the first time.

4:55

You know, a lot of what they're facing

4:57

isn't the challenge of learning a new art.

4:59

It's friction introduced by failures

5:02

of programming language design.

5:03

And so I've constantly come back to those early lessons

5:06

there as I've progressed and done more

5:09

and more things including building programming languages.

5:11

- Yeah, the friction and the pain is the guide

5:16

to learning in programming.

5:18

Like if I were to describe programming journey

5:21

that would be marked by pain.

5:23

And that pain, you shouldn't escape the pain.

5:26

The pain is instructive for you

5:27

to understand programming languages.

5:29

But do you remember what kind of stuff you were writing

5:33

at that time?

5:34

Just the early programs?

5:35

- Yeah, in the early days

5:36

I wrote a little bit of everything.

5:37

I wrote some games.

5:39

The first game I wrote on the Apple II was...

5:42

Since I only knew how to program in text mode,

5:45

the computer would throw asterisks across the screen.

5:48

They'd flow from left to right

5:49

and you'd have a parentheses on the right hand side

5:51

of the screen and yeah, looks like a baseball mitt

5:53

and you're supposed to catch the asterisks.

5:55

That was my very first game.

5:56

It took about a couple hours to build

5:58

and tune and I went from there.

6:01

But I built a lot of things.

6:01

I built databases at different points.

6:04

I built a programming language

6:05

and a full compiler for a language like Pascal

6:07

'Cause I didn't know where you went to buy one of those.

6:11

So I made my own.

6:13

And you know, one of the fun things at that time

6:16

was Bulletin Boards.

6:17

Before we had the internet in the hands of consumers,

6:20

you used your modem and you dialed into a local phone number

6:25

and connected to whoever was running the computer there.

6:27

And every town or city

6:28

had hundreds of these Bulletin Boards

6:30

run by different people

6:31

with their own personalities and teams.

6:33

And so I spent a lot of time Bulletin Board program

6:36

and learning how to deal

6:37

with database management and user interface

6:39

and dealing with multiple users concurrently and things.

6:41

And so I don't know, I'd probably spend about 10,000

6:45

or 15,000 hours writing code just on my own as a kid

6:48

between like age 10 and you know, age 20

6:53

before I actually shipped a program to the outside world.

6:56

- 10,000 to 15,000 hours.

6:59

What was the value of the hours as a kid you put in,

7:01

in programming that led

7:03

to the success you've had in later life?

7:06

Maybe this is by way of advice to younger people

7:08

in terms of how they allocate the hours of their early life.

7:12

- Yeah, you know, it's not just hours.

7:14

It's really striving to learn to understand

7:19

what knowledge you have, what knowledge you lack,

7:21

and to continually do experiments

7:22

and work on projects that improve your knowledge base.

7:26

And I didn't do this with a great amount

7:29

of structure or planning.

7:30

I was rather just going from project to project,

7:32

doing things that I thought would be fun and cool.

7:34

And with each project I learned new things.

7:37

You know, learning about how to store and manage data,

7:39

learning how to deal with advanced data structures,

7:42

how to write complex programs

7:43

that have deeply nested data and control flow.

7:48

Each one of those, you know, provided a lesson

7:50

which were later essential, you know,

7:53

when in 1991 I released my first game

7:56

and over the course of that decade we went from,

8:00

you know, zero commercial releases

8:01

to the first generation Unreal Engine.

8:03

But you know, this was largely just using the knowledge

8:05

that I'd built up over the previous decade

LÅS UPP MER

Registrera dig gratis för att få tillgång till premiumfunktioner

INTERAKTIV VISARE

Titta på videon med synkroniserad undertext, justerbart överlägg och fullständig uppspelningskontroll.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

AI-SAMMANFATTNING

Få en omedelbar AI-genererad sammanfattning av videoinnehållet, nyckelpunkter och slutsatser.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

ÖVERSÄTT

Översätt transkriptet till över 100 språk med ett klick. Ladda ner i valfritt format.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

MIND MAP

Visualisera transkriptet som en interaktiv mind map. Förstå strukturen med ett ögonkast.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

CHATTA MED TRANSKRIPT

Ställ frågor om videoinnehållet. Få svar från AI direkt från transkriptet.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

FÅ UT MER AV DINA TRANSKRIPT

Registrera dig gratis och lås upp interaktiv visning, AI-sammanfattningar, översättningar, mind maps och mer. Inget kreditkort krävs.