第 467 期

蒂姆·斯威尼:堡垒之夜、虚幻引擎与游戏的未来

Tim Sweeney: Fortnite, Unreal Engine, and the Future of Gaming

Epic 创始人回顾虚幻引擎与堡垒之夜的历程,谈游戏技术演进、平台生态与行业的下一步。

官方音频00:00 / --:--
中英对照:英文为官方 Transcript 原文,中文为逐句机器翻译(Google 神经机器翻译),仅供学习英文参考,请以英文原文为准。
Tim Sweeney00:00

Humans are by far the hardest part of computer graphics because millions of years of evolution have given us dedicated brain systems to detect patterns in faces and infer emotions and intent because cavemen had to, when they see a stranger, determine whether they were likely friendly or they might be trying to kill them.

人类是迄今为止计算机图形学中最难的部分,因为数百万年的进化为我们提供了专门的大脑系统来检测面部模式并推断情绪和意图,因为穴居人在看到陌生人时必须确定他们是否可能是友好的还是可能试图杀死他们。

00:00 And so people in the world have extraordinarily detailed expectations of a face and we can notice imperfections, especially perfections arising from computer graphics limitations.

因此,世界上的人们对面孔有着非常详细的期望,我们可以注意到缺陷,尤其是由于计算机图形限制而产生的完美。

Okay, one part is capturing humans and so [inaudible 00:00:33] really advanced, dedicated hardware that puts a human in a capture sphere with dozens of cameras in them taking high resolution, high frame rate video of them as they go through a range of motions.

好的,其中一部分是捕捉人类,所以 [听不清 00:00:33] 非常先进的专用硬件,将人类置于一个捕捉球体中,其中有数十个摄像机,在他们经历一系列动作时拍摄高分辨率、高帧率的视频。

And then capturing the human face is complicated because the nuanced detail of our faces and how all the muscles and sinews and fat work together to give us different expressions.

然后捕捉人脸是很复杂的,因为我们脸部的细微细节以及所有的肌肉、肌腱和脂肪如何协同工作以赋予我们不同的表情。

00:53 So it’s not only about the shape of a person’s face, but it’s also about the entire range of motion that they might go through.

因此,这不仅与人脸的形状有关,还与他们可能经历的整个运动范围有关。

So that’s the data problem.

这就是数据问题。

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

计算机图形学还有很多其他问题。

There’s technology for rendering hair, which is really hard.

有渲染头发的技术,这确实很难。

Because you can’t render every…

因为你无法渲染每一个……

Again, we know the laws of physics.

再说一遍,我们知道物理定律。

It would be easy to just render every hair.

渲染每根头发会很容易。

It would just be a billion times too slow.

这只会慢十亿倍。

So you need approximations that capture the net effect of hair on rendering and on pixels without calculating every single interaction of every light with every strand of hair.

因此,您需要近似值来捕获头发对渲染和像素的净影响,而无需计算每个光线与每根头发的每一个交互。

That’s one part of it.

这是其中的一部分。

There’s detailed features for different parts of faces.

脸部不同部位有详细的特征。

There’s subsurface scattering because we think of humans as opaque, but really our skin, light travels through it.

之所以存在次表面散射,是因为我们认为人类是不透明的,但实际上我们的皮肤,光会穿过它。

It’s not completely opaque, and the way in which light travels through skin has a huge impact on our appearance.

它并非完全不透明,光线穿过皮肤的方式对我们的外观有着巨大的影响。

01:38 And this is why there’s no way you can paint a mannequin to look realistic for a human.

这就是为什么你无法将人体模型画得对人类来说看起来很真实。

It’s just a solid surface and we’ll never have the sort of detail you see.

它只是一个坚固的表面,我们永远不会有你看到的那种细节。

Lex Fridman01:48

That kind of blew my mind, thinking through that.

仔细想想,这让我大吃一惊。

01:48 I think I heard that sort of the oiliness of the skin creates very specific, nuanced, complex reflections and then some light is absorbed and travels through the skin and that creates textures that our human eye is able to perceive and it creates the thing that we consider human, whatever that is.

我想我听说皮肤的油性会产生非常具体、细致、复杂的反射,然后一些光被吸收并穿过皮肤,从而产生我们人眼能够感知的纹理,并创造出我们认为是人类的东西,无论那是什么。

All of that, while considering all the muscles involved in making the nuanced expression, just the subtle squinting of the eyes or the subtle formation of a smile, it’s the subtlety of human faces that you have to capture, like the difference between a real smile and a fake smile, but the way to show beginning of a formation of a smile that actually reveals a deep sadness, all of that, when I watch a human face, I can read that.

所有这些,考虑到做出微妙表情所涉及的所有肌肉,只是眼睛的微妙眯眼或微笑的微妙形成,你必须捕捉到人脸的微妙之处,就像真笑和假笑之间的区别,但显示微笑形成的方式实际上揭示了深深的悲伤,所有这些,当我观察人脸时,我可以读到这一点。

I could see that you have to have the tools that, in real time, can render something like that, and that’s incredibly difficult.

我可以看到你必须拥有可以实时渲染类似内容的工具,这是非常困难的。

Tim Sweeney02:50

That’s right.

这是正确的。

02:50 Getting faces right requires the interplay of literally dozens of different systems and aspects of computer graphics.

获得正确的面孔需要数十种不同系统和计算机图形学方面的相互作用。

And if any one of them is wrong, your eye is completely drawn to that and you find it on the wrong side of Uncanny Valley.

如果其中任何一个是错误的,你的眼睛就会完全被它吸引,然后你会发现它在恐怖谷的错误一侧。

Lex Fridman03:06

The following is a conversation with Tim Sweeney, a legendary video game programmer, founder and CEO of Epic games that created many incredible games and technologies, including the Unreal Engine and Fortnite, which both revolutionized the video game industry and the experience of playing and creating video games.

以下是与传奇视频游戏程序员、Epic games 创始人兼首席执行官 Tim Sweeney 的对话,他创造了许多令人难以置信的游戏和技术,包括虚幻引擎和 Fortnite,它们彻底改变了视频游戏行业以及玩和创建视频游戏的体验。

03:06 This is the Lex Fridman podcast.

这是莱克斯·弗里德曼播客。

To support it, please check out our sponsors in the description.

为了支持它,请在说明中查看我们的赞助商。

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

现在,亲爱的朋友们,这是蒂姆·斯威尼。

When did you first fall in love with computers and maybe with programming?

您什么时候第一次爱上计算机或者编程?

Tim Sweeney03:42

I had a brother, Steve Sweeney, who 16 years older than me, and at some point when I was a little kid, he went off to work in California for a tech company and he’d gotten one of the first IBM PCs.

我有一个兄弟 Steve Sweeney,他比我大 16 岁,当我还是个小孩子的时候,他去加利福尼亚州的一家科技公司工作,并获得了第一批 IBM PC 之一。

03:42 And so for one summer, I think I was about 11, I went to visit him in California.

有一年夏天,我想我大概 11 岁,我去加利福尼亚拜访了他。

It was my first trip away from my family just to hang out with him and he had this brand new IBM computer and I learned to program over the course of a few days in BASIC.

这是我第一次离开家人去和他一起出去玩,他有这台全新的 IBM 计算机,我在几天的时间里学会了用 BASIC 编程。

I was just blown away with the capabilities of computers at the time.

当时我对计算机的功能感到震惊。

It was unbelievable what they could accomplish, and I just was hooked from that point onward and very much wanted to be a programmer.

他们所取得的成就令人难以置信,从那时起我就被迷住了,非常想成为一名程序员。

Lex Fridman04:19

Do you remember what you wrote in BASIC?

你还记得你用 BASIC 写过什么吗?

04:19 Is it a video game type thing?

这是视频游戏类型的东西吗?

Is it like for loop, some numerical thing?

是不是像for循环,一些数值的东西?

Do you remember?

你是否记得?

Tim Sweeney04:27

Yeah, it’s funny.

是的,这很有趣。

04:27 I have a perfectly vivid memory of all of the first things I learned to program.

我对最初学会编程的所有事情都记忆犹新。

I have a hard time remembering people’s names, but code really sticks with me.

我很难记住人们的名字,但代码确实让我印象深刻。

Every step and every challenge, there were lessons learned, some of which I’ve come to realize were just like me getting over some learning hurdles.

每一步、每一个挑战,都有经验教训,其中一些我逐渐意识到,就像我克服了一些学习障碍一样。

But other things were actually shortcomings of programming languages and the realization that there are actually better ways than what a programmer is learning to program for their first time.

但其他的事情实际上是编程语言的缺点,以及意识到实际上有比程序员第一次学习编程更好的方法。

A lot of what they’re facing isn’t the challenge of learning a new art.

他们面临的很多问题并不是学习新艺术的挑战。

It’s friction introduced by failures of programming language design.

这是由编程语言设计失败引起的摩擦。

And so I’ve constantly come back to those early lessons there as I’ve progressed and done more and more things including building programming languages.

因此,随着我的进步并做了越来越多的事情(包括构建编程语言),我会不断地回顾早期的课程。

Lex Fridman05:11

Yeah, the friction and the pain is the guide to learning in programming.

是的,摩擦和痛苦是学习编程的指南。

05:11 If I were to describe programming journey that’d be marked by pain and that pain, you shouldn’t escape the pain.

如果我要描述以痛苦和痛苦为标志的编程之旅,那么你不应该逃避痛苦。

The pain is instructive for you to understand programming languages.

这种痛苦对于你理解编程语言是有启发的。

But do you remember what kind of stuff you were writing at that time?

但你还记得你当时写的是什么样的东西吗?

Just the early programs?

只是早期的节目吗?

Tim Sweeney05:35

Yeah.

是的。

05:35 In the early days, I wrote a little bit of everything.

早期,我什么都写一点。

I wrote some games.

我写了一些游戏。

The first game I wrote on the Apple II was, since I only knew how to program in text mode, the computer would throw asterisks across the screen, they’d flow from left to right, and you’d have a parenthesis on the right-hand side of the screen and it looks like a baseball mitt and you’re supposed to catch the asterisks.

我在 Apple II 上编写的第一个游戏是,因为我只知道如何在文本模式下编程,所以计算机会在屏幕上抛出星号,它们会从左向右流动,屏幕右侧会有一个括号,它看起来像棒球手套,你应该抓住星号。

That was my very first game.

那是我的第一场比赛。

It took about a couple hours to build and tune, and I went from there.

构建和调整大约花了几个小时,然后我就开始了。

But I built a lot of things.

但我建造了很多东西。

I built databases at different points.

我在不同的时间点建立了数据库。

I built a programming language and a full compiler for a language like Pascal because I didn’t know where you went to buy one of those.

我为 Pascal 这样的语言构建了一种编程语言和一个完整的编译器,因为我不知道你去哪里购买其中一种。

So I made my own.

所以我自己做了。

And one of fun things at that time was bulletin boards.

当时有趣的事情之一就是公告牌。

06:17 Before we had the internet in the hands of consumers, you used your modem and you dialed into a local phone number and connected to whoever was running the computer there.

在消费者掌握互联网之前,您可以使用调制解调器拨打本地电话号码并连接到那里运行计算机的任何人。

And every town or city had hundreds of these bulletin boards run by different people with their own personalities and themes.

每个城镇都有数百个这样的公告板,由不同的人管理,具有自己的个性和主题。

And so I spent a lot of time building a bulletin board program and learning how to deal with database management and user interface and dealing with multiple users concurrently and things.

因此我花了很多时间构建一个公告板程序并学习如何处理数据库管理和用户界面以及同时处理多个用户等事情。

And so, I don’t know, I’d probably spend about 10 or 15,000 hours writing code just on my own as a kid between age 10 and age 20 before I actually shipped a program to the outside world.

因此,我不知道,在 10 岁到 20 岁之间,我可能会花大约 10 或 15,000 小时独自编写代码,然后才真正将程序发布到外界。

Lex Fridman06:56

10 to 15,000 hours.

10 至 15,000 小时。

06:56 What was the value of the hours as a kid you put in in programming that led to the success you’ve had in later life?

你小时候花在编程上的时间对你后来的成功有什么价值?

Maybe this is by way of advice to younger people in terms of how they allocate the hours of their early life.

也许这是对年轻人如何分配早年生活的建议。

Tim Sweeney07:12

Yeah, it’s not just hours.

是的,这不仅仅是几个小时。

07:12 It’s really striving to learn, to understand what knowledge you have, what knowledge you lack, and to continually do experiments and work on projects that improve your knowledge base.

它真的是努力学习,了解你拥有什么知识,你缺乏什么知识,并不断地进行实验和从事能够提高你的知识基础的项目。

And I didn’t do this with a great amount of structure or planning.

我并没有通过大量的结构或计划来做到这一点。

I was rather just going from project to project, doing things that I thought would be fun and cool.

我只是从一个项目到另一个项目,做一些我认为有趣和酷的事情。

And with each project I learned new things, learning about how to store and manage data, learning how to deal with advanced data structures, how to write complex programs that have deeply nested data and control flow.

在每个项目中,我都学到了新东西,学习如何存储和管理数据,学习如何处理高级数据结构,如何编写具有深度嵌套数据和控制流的复杂程序。

Each one of those provide a lesson which were later essential.

其中每一个都提供了后来至关重要的教训。

In 1991, I released my first game and over the course of that decade went from zero commercial releases to the first generation Unreal Engine.

1991 年,我发布了我的第一款游戏,在这十年里,我从零商业发布发展到了第一代虚幻引擎。

But this was largely just using the knowledge that I’d built up over the previous decade, just doing fun hobby projects.

但这很大程度上只是利用了我在过去十年中积累的知识,只是做一些有趣的爱好项目。

And if I hadn’t done all of that work, there’s no way I could have ever built the things that came later.

如果我没有完成所有这些工作,我就不可能构建出后来的东西。

Lex Fridman08:15

All the experimentation and all the exploration somehow contributed, somehow made sense later on.

所有的实验和探索都以某种方式做出了贡献,后来以某种方式变得有意义。

08:15 All of that is integrated somehow in the stuff you build.

所有这些都以某种方式集成到您构建的东西中。

It’s funny how life works.

生活的运作方式很有趣。

The pieces kind of come together eventually.

这些碎片最终会拼凑在一起。

Tim Sweeney08:32

Yeah, there are definitely karate kid moments because all this time I was learning math in high school and in college I studied mechanical engineering.

是的,肯定有空手道孩子的时刻,因为我在高中学习数学,在大学学习机械工程。

08:32 And so you learn all kinds of math, vector calculus and vector math and matrices and all of these related fields, physics and stress and strain and how to deal with complex physical systems.

因此,您将学习各种数学、矢量微积分、矢量数学和矩阵以及所有这些相关领域、物理、应力和应变以及如何处理复杂的物理系统。

And yeah, I wasn’t really sure how engineers would actually make use of that knowledge.

是的,我不太确定工程师将如何实际利用这些知识。

Do you just forget about it when you actually go off to do work or do you write down equations on paper?

当你真正出去工作时,你会忘记它还是在纸上写下方程式?

It was actually not clear as an early engineering student what you do, but when I started writing the first generation Unreal Engine and I was dealing with 3DMS, I was like, wait, I know this stuff.

作为一名早期的工科学生,实际上并不清楚自己要做什么,但当我开始编写第一代虚幻引擎并且正在处理 3DMS 时,我当时想,等等,我知道这些东西。

I learned this.

我学到了这一点。

And so suddenly like the karate kid, you get to paint the fence and wax the car and suddenly put all the pieces together into a 3D engine based on a whole lot of accumulated programming language and math knowledge, often knowledge gained without ever anticipating that I might use it in that way.

突然间,就像空手道小子一样,你可以给栅栏上漆,给汽车打蜡,然后突然将所有部件组合成一个基于大量积累的编程语言和数学知识的 3D 引擎,这些知识通常是在我没有预料到我可能会以这种方式使用的情况下获得的。

Lex Fridman09:37

Also, I think what’s useful is over and over learning a hard thing and then showing to yourself that you can do it, that you can learn a hard thing.

另外,我认为有用的是一遍又一遍地学习一件困难的事情,然后向自己证明你可以做到,你可以学习一件困难的事情。

09:37 So then when you come to having to write a 3D engine in ways that haven’t been done before, you’re like, I’ve been here.

因此,当您不得不以前所未有的方式编写 3D 引擎时,您会想,我来过。

I’ve been here in this experience, I don’t know what to do, but we’ll figure it out.

我有过这样的经历,我不知道该怎么办,但我们会解决的。

We’ll learn.

我们会学习的。

I’ll learn all the necessary components.

我将学习所有必要的组件。

So just not being afraid of something new.

所以不要害怕新事物。

Tim Sweeney10:10

That’s right.

这是正确的。

10:10 And constantly striving to make connections between these fields and look for their applications.

并不断努力在这些领域之间建立联系并寻找它们的应用。

Long after I chipped Unreal Engine, it was like going back through an engineering textbook and looking at, oh yeah, I used that, I used that, I used that.

在我开发虚幻引擎很久之后,这就像回顾一本工程教科书并看着,哦,是的,我用过那个,我用过那个,我用过那个。

And then I got to the section on eigenvalues.

然后我进入了特征值部分。

I’m like, I don’t know what the hell this is.

我想,我不知道这到底是什么。

But it turns out eigenvectors and eigenvalues were the critical breakthrough that made the Google search engine technology work and stand apart from the rest because they found if you threw all the links that exist into the web and links from and to different sites and you put them in a giant matrix and you conclude it, you found a dominant eigenvalues.

但事实证明,特征向量和特征值是谷歌搜索引擎技术发挥作用并脱颖而出的关键突破,因为他们发现,如果你将网络中存在的所有链接以及来自和到不同网站的链接放入一个巨大的矩阵中,然后得出结论,你就会发现一个主导特征值。

10:46 Then those eigenvectors described the best search results for different things.

然后这些特征向量描述了不同事物的最佳搜索结果。

And so constantly picking up knowledge and looking for ways to put it together is the thing to do.

因此,不断地学习知识并寻找将其组合起来的方法是我们要做的事情。

And if you aspire to be a programmer, you’ve got to write a lot of code and you’ve got to continually learn new things and improve.

如果你渴望成为一名程序员,你就必须编写大量代码,并且必须不断学习新事物并进行改进。

And if you want to be an artist, you’ve got to continually draw artwork of all styles and all kinds and constantly push yourself to learn more and more, because you never know exactly what you’re going to end up doing in the long run, but the more knowledge you have and the more skills, the more chance you have putting it together and being successful.

如果你想成为一名艺术家,你就必须不断地画出各种风格、各种类型的艺术品,并不断地督促自己学习越来越多的东西,因为你永远不知道从长远来看你最终会做什么,但你拥有的知识越多,技能越多,你将它们组合在一起并取得成功的机会就越大。

Lex Fridman11:20

And whether you’re a programmer or an artist, you should probably take linear algebra, even though it doesn’t make sense at the time.

无论你是程序员还是艺术家,你都应该学习线性代数,尽管它在当时没有意义。

Tim Sweeney11:25

I found getting an engineering degree and then never working in an engineering field, just being a computer programmer, was immensely valuable.

我发现获得工程学位,然后从未在工程领域工作,只是成为一名计算机程序员,是非常有价值的。

11:25 I went to University of Maryland, which for some disciplines it’s kind of known as a party school, but they worked the engineers to death, worked really hard.

我去了马里兰大学,这所大学的某些学科被称为党校,但他们让工程师们工作到死,工作非常努力。

And if you learn any engineering discipline, you learn massive amounts of math and you learn the rigor of problem solving, not just what you find from the Wikipedia article, but going through all of the exercises of solving complex problems and building up series of solutions to derive in an answer.

如果你学习任何工程学科,你就会学习大量的数学知识,并且学习解决问题的严谨性,不仅仅是你从维基百科文章中找到的内容,而是完成解决复杂问题的所有练习并建立一系列解决方案以得出答案。

It’s valuable and it embodies the knowledge that you need as a programmer.

它很有价值,并且体现了作为程序员所需的知识。

And people often go to university and think, okay, my goal here is to get good grades, so I get a diploma and I prove to an employer that I’m valuable.

人们经常上大学并想,好吧,我在这里的目标是取得好成绩,所以我获得了文凭,并向雇主证明我是有价值的。

12:11 No, that’s just kind of the superficial bookkeeping of the university.

不,这只是大学的表面记账。

The real purpose of all of this is to learn, and whether you learn formally or you learn on your own, it’s the learnings that are really valuable in a career.

所有这一切的真正目的是学习,无论你是正式学习还是自学,学到的东西在职业生涯中才真正有价值。

And especially if you’re going to be entrepreneurial, it’s really knowing the stuff that matters and not having the diplomas.

尤其是如果你想创业,真正重要的是了解重要的东西,而不是拥有文凭。

There’s ever more pressure to rebuild society more and more around credentials.

越来越多地围绕证书重建社会的压力越来越大。

Do you have this certificate?

你有这个证书吗?

Do you have that proof?

你有那个证据吗?

But companies that are focused on just building great products and doing great things gravitate towards people who do the great work.

但那些专注于打造伟大产品和做伟大事情的公司会吸引那些做出伟大工作的人。

Lex Fridman12:48

Yeah, one of the great things about youth is there’s more freedom.

是的,年轻人的一大好处就是有更多的自由。

12:48 There’s just more time to learn.

只是有更多的时间来学习。

And people when they go to high school, they sometimes think, wow, I can’t wait to get out of this and be an adult and be free.

人们上高中时,有时会想,哇,我迫不及待地想摆脱这个困境,成为一个成年人,获得自由。

But it’s not quite freedom.

但这并不完全自由。

When you get a job and you start a family, all wonderful things, but you get more and more busy and less and less time to learn in the general sense, learn whatever the hell you want.

当你找到工作并组建家庭时,一切都是美好的事情,但你会变得越来越忙碌,一般意义上的学习时间越来越少,无论你想学什么。

That is a wonderful time in life, the teenage years, the early-twenties, the twenties when you could just learn random shit.

那是人生中美好的时光,青少年时期,二十出头,二十几岁时你可以随意学习一些东西。

Tim Sweeney13:25

Yeah, and I think this is something that’s kind of changing in America.

是的,我认为这在美国正在发生变化。

13:25 There’s so much focus on grades and homework and structure around kids’ lives.

人们非常关注成绩、家庭作业以及孩子们的生活结构。

When I was growing up, my mom would feed me and my neighbors’ moms would feed them breakfast and they’d be like, well, be back by dark.

当我长大的时候,我妈妈会喂我,我邻居的妈妈会喂他们早餐,他们会说,好吧,天黑就回来。

13:45 And, yeah, we’d go out and we’d play and we’d do all sorts of things.

是的,我们会出去玩,我们会做各种各样的事情。

We’d explore the woods, we’d build go-karts, we’d salvage old pieces of electronics and build what we thought were our spacecraft control panels for the fake spaceships we were building as play, and we’d have an enormous amount of freedom.

我们会探索树林,我们会建造卡丁车,我们会回收旧电子产品,并为我们正在建造的假宇宙飞船建造我们认为是我们的航天器控制面板的东西,我们将拥有巨大的自由。

And from basically being a little kid through the time I went off to college, I had an enormous amount of free time.

从基本上是个小孩子到我上大学,我有大量的空闲时间。

Some people just use that and waste it, and watched TV.

有些人只是用它并浪费它,然后看电视。

Some people socialized and some people really got into serious projects.

有些人参加社交活动,有些人真正投入到严肃的项目中。

So many people at all times were doing cool things.

很多人在任何时候都在做很酷的事情。

I was programming, I was learning to build things.

我正在编程,我正在学习构建东西。

14:27 Before I was releasing games to the world, I’d be having neighborhood folks over to play the things I was working on and check them out.

在我向全世界发布游戏之前,我会邀请邻居来玩我正在开发的游戏并检查它们。

And sometimes they’re impressed and sometimes they weren’t, and they’d have their own projects and often we’d have spare time jobs and everybody was entrepreneurial.

有时他们会留下深刻的印象,有时则不然,他们有自己的项目,我们通常有业余工作,每个人都具有创业精神。

Everybody had a side gig.

每个人都有副业。

Sometimes you’d go around and mow people’s lawns or you’d rake the leaves up and earn money.

有时你会四处修剪别人的草坪,或者把树叶耙起来赚钱。

And the freedom there and the organic learning that occurred there, I think, is something that is really critical to the American experience that I worry is increasingly going away as society is ever more protective and sheltering and makes it harder to get these experiences.

我认为,那里的自由和那里发生的有机学习对于美国的经历来说确实至关重要,我担心随着社会变得更加保护和庇护,并且使获得这些经历变得更加困难,这种体验正在逐渐消失。

Lex Fridman15:07

So on the video game side, when did you first fall in love with video games?

那么在电子游戏方面,您是什么时候第一次爱上电子游戏的?

Tim Sweeney15:13

I’ve had a funny relationship with games because my real aspiration has always been to program cool stuff.

我与游戏有着有趣的关系,因为我真正的愿望一直是编写很酷的东西。

15:13 And I get more enjoyment out of programming than anything else in the world.

我从编程中获得的乐趣比世界上任何其他事情都多。

And so my first really two formative experience with games were playing this game called Adventure for the Atari 2,600.

所以我真正的前两次游戏经历是玩这款名为 Adventure for the Atari 2,600 的游戏。

It was like you move this dot around the screen and picked up objects like swords and fought dragons and invaded castles and solved puzzles.

就像你在屏幕上移动这个点,拿起剑等物体,与龙战斗,入侵城堡并解决谜题。

Very, very simple iconic stuff rather than realistic graphics.

非常非常简单的标志性东西,而不是逼真的图形。

And then the other game that I really got immersed in was Zork, which was a text adventure game.

然后我真正沉迷的另一款游戏是《Zork》,这是一款文字冒险游戏。

It would tell you where you are and what you see and you type in commands like go north or pick up sword or open door and explore a world that way.

它会告诉你你在哪里,你看到了什么,然后你输入命令,比如向北或拿起剑或打开门,然后以这种方式探索世界。

So the game didn’t have any graphics, but in your mind you had this elaborate picture of what you were seeing there, and it really brought in [inaudible 00:16:09] inspired imagination more than other things.

所以游戏没有任何图形,但在你的脑海里你有一张你所看到的精美图片,它确实比其他东西更能激发想象力[听不清00:16:09]。

16:11 And playing those games led me to go off and want to learn to program everything that I saw there.

玩这些游戏让我开始想学习对我在那里看到的一切进行编程。

And that drove a lot of my programming.

这推动了我的很多编程工作。

I learned how to move a player around the screen.

我学会了如何在屏幕上移动玩家。

I learned how to build a design tool so I could build castles and save them off and then play them in a game.

我学会了如何构建一个设计工具,这样我就可以建造城堡并保存它们,然后在游戏中玩它们。

And I realized there was a separation between the tools that you use to build a game and the game itself, and that the more powerful tools you had, the more creativity you could unleash in yourself or others.

我意识到你用来构建游戏的工具和游戏本身是分开的,你拥有的工具越强大,你可以为自己或他人释放更多的创造力。

16:36 And I learned all the programming techniques that supported games, how to parse text, pick up sword and go north.

而且我学会了所有支持游戏的编程技术,如何解析文本,拿起剑向北走。

How do you make that sentence into an actual series of commands on the computer?

如何将这句话变成计算机上的一系列实际命令?

And that was really, really exciting.

这真的非常非常令人兴奋。

I have to say, until the time that Fortnite came out, I played video games primarily to learn what they were doing, so that I could go off and do that myself.

我不得不说,在《堡垒之夜》问世之前,我玩电子游戏主要是为了了解他们在做什么,这样我就可以自己去做。

I’d sit down when Wolfenstein came out and then Doom came out.

当《德军总部》出来时我会坐下来,然后《毁灭战士》也出来了。

I’d go through it and look at it Pixel by Pixel, I’d move the mouse very slightly and look exactly what was happening to figure out.

我会逐个像素地浏览它并查看它,我会轻轻地移动鼠标,看看究竟发生了什么,以找出答案。

Lex Fridman17:10

That’s funny.

那很好笑。

17:10 That’s great.

那太棒了。

Tim Sweeney17:10

What technique was being used there?

那里使用了什么技术?

And that was a puzzle solving at a grand scale, and it was so fun.

这是一次大规模的解谜活动,非常有趣。

Lex Fridman17:16

So take me there in the early 90s, so you launched Epic Games in 1991, so the writing of your first big video game ZZT, what was it like?

所以带我去90年代初期,所以你在1991年推出了Epic Games,那么你写的第一个大型视频游戏ZZT,是什么样的?

17:16 What was the technical challenges?

技术挑战是什么?

What were the psychological challenges of building that?

建造它的心理挑战是什么?

Tim Sweeney17:36

It was a funny project because I didn’t start out to build a video game.

这是一个有趣的项目,因为我一开始并不是为了制作视频游戏。

17:36 I’d just moved from an Apple II, so my brother bought my family an Apple II right after I’d visit him in California.

我刚刚从 Apple II 搬过来,所以我去加利福尼亚拜访我哥哥后,他就给我的家人买了一台 Apple II。

So I’ve been programming on that for a few years, learned a lot of techniques, but weren’t many Apple II users around still by the time that cycle came to an end.

所以我已经为此编程了几年,学到了很多技术,但到这个周期结束时,Apple II 用户已经不多了。

[inaudible 00:17:56] so I’d just gotten an IBM PC of my own and was learning to program and I realized I needed a text editor.

[听不清 00:17:56] 所以我刚刚买了一台自己的 IBM PC,正在学习编程,我意识到我需要一个文本编辑器。

So I started writing a text editor.

所以我开始编写一个文本编辑器。

A text editor is a program to edit text files.

文本编辑器是编辑文本文件的程序。

You have logic to move the cursor around and let people type things and backspace and delete and do all of those mundane actions.

你有逻辑来移动光标,让人们输入内容、退格、删除以及执行所有这些平凡的操作。

And one night I’d finished it up and I was like, well, okay, I have a text editor, but this is pretty boring.

有一天晚上,我完成了它,我想,好吧,我有一个文本编辑器,但这很无聊。

18:20 And so I made the cursor into a smiley face character and I had the different characters you could place in this document perform different gameplay actions.

因此,我将光标设置为笑脸角色,并且您可以在本文档中放置不同的角色来执行不同的游戏操作。

Some would be walls and some would kill you, and some would be moving objects that could fly around the screen.

有些是墙壁,有些会杀死你,有些是可以在屏幕上飞来飞去的移动物体。

And so this text editor I made evolved into a little game editor.

所以我制作的这个文本编辑器演变成了一个小游戏编辑器。

So I was building these levels for a game.

所以我正在为游戏构建这些关卡。

And I put a lot of time into building an editor and a primitive set of objects, about 20 or 30 different objects.

我投入了大量时间来构建一个编辑器和一组原始对象,大约 20 或 30 个不同的对象。

Enough to build a really cool and compelling game, but not so many that players would lose track of what they’re seeing.

足以构建一款非常酷且引人入胜的游戏,但又不会太多以至于玩家会忘记他们所看到的内容。

18:51 I started off just building different game levels.

我一开始只是构建不同的游戏关卡。

The idea is you’d be on a series of board, they’d be connected by going north [inaudible 00:18:59], the end of the current board would take you to a new one if it was open or maybe it was blocked and then you couldn’t go there.

这个想法是你会在一系列的棋盘上,它们会通过向北连接[听不清00:18:59],当前棋盘的末端会带你到一个新的棋盘,如果它是开放的,或者可能是被封锁的,那么你就不能去那里。

I built this [inaudible 00:19:05] game world around that, and this was the game that became ZZT and I was having fun with it, building it and playing it, but I didn’t know if it would really work.

我围绕它构建了这个 [听不清 00:19:05] 游戏世界,这就是后来成为 ZZT 的游戏,我玩得很开心,构建它并玩它,但我不知道它是否真的有效。

So I did this experiment.

所以我做了这个实验。

I’d started inviting neighbors over.

我开始邀请邻居过来。

Some adults, some kids of all different ages and I sat them down in front of it and say it, like, here’s the game I made, figure it out.

一些成年人,一些不同年龄段的孩子,我让他们坐在它前面,说,就像,这是我制作的游戏,弄清楚吧。

19:23 And I had to force myself not to tell them what they need to do because I really wanted to learn if they were able to discover it all for themselves.

我不得不强迫自己不要告诉他们需要做什么,因为我真的很想知道他们是否能够自己发现这一切。

Today we would call this a user experience test, and there’s a whole field of research around user experience research, but back then it was just inviting some kids over to play the game.

今天我们称之为用户体验测试,围绕用户体验研究有一个完整的研究领域,但当时只是邀请一些孩子来玩游戏。

I took notes about what they got stuck on and what they enjoyed and where they felt bored and just iteratively polished the game until I felt it was good then and I put it out and released it on, well, this was before the internet, so there were bulletin boards.

我记下了他们被困的事情、他们喜欢的事情以及他们感到无聊的地方,然后迭代地完善游戏,直到我觉得它很好,然后我把它放出来并发布在网上,好吧,这是在互联网出现之前,所以有公告板。

I uploaded it to a bunch of local bulletin boards, and from there it started spreading because the way to build up cred for bulletin board users was to upload new files and to claim that, hey, I was the first that brought this to you.

我将其上传到一堆本地公告板,从那里它开始传播,因为为公告板用户建立信誉的方法是上传新文件并声称,嘿,我是第一个将其带给您的人。

20:06 And so there was a natural tendency of the software to spread.

因此,该软件就有了传播的自然趋势。

And I decided to use the shareware model, so I didn’t just build this one game.

我决定使用共享软件模型,所以我不只是构建这一款游戏。

I built a trilogy of three games.

我制作了三款游戏的三部曲。

And I released the first one for free and I said, hey, if you like this, buy the two sequels.

我免费发布了第一部,我说,嘿,如果你喜欢这个,就买两部续集。

And I included my parents’ mailing address and said, send us $30 and you can get the sequels to this game.

我附上了我父母的邮寄地址,并说,寄 30 美元,你就可以得到这个游戏的续集。

And the checks started coming in within a few days and I was getting three or four orders a day.

几天之内支票就开始寄来,我每天收到三到四份订单。

I was making a hundred dollars a day.

我一天赚一百美元。

I’m like, woo, I’m rich.

我想,哇,我很有钱。

Because being a 20-year-old, that was a pretty big deal.

因为对于一个20岁的人来说,这是一件非常大的事情。

Lex Fridman20:43

What did that feel like, just getting money and probably feeling this immense success from something you’ve created?

刚拿到钱,并可能从自己创造的东西中感受到巨大的成功,那感觉如何?

Tim Sweeney20:51

Well, I’ve looked at money always just as a tool to help you fund accomplishing cool things and having enough to do the things you want to do is the critical thing.

嗯,我一直认为金钱只是一种工具,可以帮助你资助完成很酷的事情,而有足够的钱来做你想做的事情才是关键。

20:51 It’s always been just very utilitarian, but the knowledge that other people all around the country and then a month later, all around the world, were playing the game, that was mind-boggling that me, the solo kid who’d put out a game on a local bulletin board, could be doing international business and shipping discs all over the world to players because the software was spreading on its own, it was just magical.

它一直都是非常功利的,但是当我知道全国各地的其他人,然后一个月后,世界各地的其他人都在玩这款游戏时,令人难以置信的是,我这个在当地公告牌上发布游戏的独生子,可以做国际生意,并将光盘运送到世界各地的玩家,因为该软件正在自行传播,这真是太神奇了。

21:27 And that was a new thing for software.

这对于软件来说是一个新事物。

That did not happen with mechanical devices.

机械设备不会发生这种情况。

You manufactured one, you sold it to somebody and they had it, and that was it.

你制造了一个,你把它卖给某人,他们就拥有了它,仅此而已。

But software could spread.

但软件可能会传播。

That was just really cool to see.

看到这真是太酷了。

And it made me realize there was really no upward limit on the [inaudible 00:21:40] for a business like that.

这让我意识到,对于这样的企业来说,[听不清 00:21:40] 确实没有上限。

We saw Microsoft as the big juggernaut company at the time, but it was like, hey, if Epic does games good enough, we could accomplish what they’ve got accomplished with operating systems.

我们当时认为微软是一家巨头公司,但感觉就像是,嘿,如果 Epic 的游戏做得足够好,我们就可以完成他们在操作系统方面所取得的成就。

And the sky was the limit.

天空是极限。

And I think this is the age we live in now.

我认为这就是我们现在生活的时代。

It’s, you don’t have to be an industrialist manufacturing physical products, anybody who builds anything digitally, if it’s good enough, you can reach the entire world and build the next Microsoft or Meta or Apple or Google or Epic Games.

就是说,你不必是一个制造实体产品的实业家,任何以数字方式构建任何东西的人,如果它足够好,你就可以到达整个世界并构建下一个微软、Meta、苹果、谷歌或 Epic Games。

Lex Fridman22:12

That’s such a cool origin story though.

不过,这是一个很酷的起源故事。

22:12 You started out building a text editor, so you’re looking at this project, you’re playing around with it, you building up the tools.

您开始构建一个文本编辑器,因此您正在研究这个项目,您正在使用它,您正在构建工具。

And that’s such an inspiring moment because a lot of us start out building a project and to allow yourself to see the potential pivots, the potential trajectories that can go is really nice.

这是一个非常鼓舞人心的时刻,因为我们很多人开始构建一个项目,并让自己看到潜在的支点,潜在的发展轨迹真的很好。

To sit back, allow yourself to be bored and like, ah, I’m going to go this way.

坐下来,让自己感到无聊,然后说,啊,我要走这条路。

I mean, that’s like a crossroads.

我的意思是,这就像一个十字路口。

You came to a crossroads.

你来到了一个十字路口。

I mean, you built compilers, you design your own programming language, you built compilers, databases, all these things you’ve mentioned, and you started building a text editor and then here it came to this crossroad, I’m going to make this fun.

我的意思是,你构建了编译器,你设计了自己的编程语言,你构建了编译器、数据库,以及你提到的所有这些东西,你开始构建一个文本编辑器,然后它来到了这个十字路口,我会让这变得有趣。

And then from there, one of the most legendary gaming companies was created.

然后,最具传奇色彩的游戏公司之一诞生了。

It’s kind of cool.

这有点酷。

That’s an inspiring thing for sort of developers.

对于某些开发人员来说,这是一件鼓舞人心的事情。

Be open to the possibility of creating something you didn’t plan to create and just go with it.

对创造一些你不打算创造的东西的可能性持开放态度,然后顺其自然。

Right?

正确的?

That’s cool.

这很酷。

Tim Sweeney23:20

Yeah, and it was a bunch of learnings emerged really quickly there.

是的,那里很快就出现了很多知识。

23:20 The neat thing I did with ZZT was I didn’t just release the game, I also released the editor with it.

我对 ZZT 所做的最巧妙的事情是我不仅发布了游戏,还发布了它的编辑器。

I’d built this tool so I could make these ZZT boards that people could play, but I also gave it to all of the players themselves.

我构建了这个工具,这样我就可以制作人们可以玩的 ZZT 板,但我也将它提供给所有玩家自己。

And 30 years later, I still run into people when I go to a game industry event, it was like I grew up playing ZZT and here’s an adult who grew up playing my game.

30 年后,当我去参加游戏行业活动时,我仍然会遇到人们,就像我是玩 ZZT 长大的,而这是一个玩我的游戏长大的成年人。

And it was because it enabled anybody to become a creator too.

这是因为它使任何人都可以成为创造者。

It had this old board editor and it also had a little scripting language, so you could learn a little bit of programming in it too.

它有一个旧的板编辑器,还有一点脚本语言,所以你也可以在其中学习一些编程。

And it kind of impressed, and it really set a formative principle of Epic, which was that the company’s mission is to make awesome entertainment, but also awesome tools and to share those tools with everybody so that they can build their own amazing things too.

这给人留下了深刻的印象,它确实确立了 Epic 的形成原则,即公司的使命是创造出色的娱乐,同时也是出色的工具,并与每个人分享这些工具,以便他们也可以构建自己的惊人事物。

24:11 And when we got into Unreal Engine a few years later, the interplay between us building a game and us building a tool, tools that were widely used by others, was a critical part of that.

几年后,当我们进入虚幻引擎时,我们构建游戏和构建工具(被其他人广泛使用的工具)之间的相互作用是其中的关键部分。

And I think that’s the sole reason that Epic has been massively successful.

我认为这是 Epic 取得巨大成功的唯一原因。

And actually the reason that we’ve survived all of this time is by serving both creators and gamers.

事实上,我们能够生存下来的原因是同时为创作者和游戏玩家提供服务。

We’ve been able to weather the ups and downs of the game industry.

我们已经能够经受住游戏行业的起起落落。

It’s a brutal place for companies.

对于公司来说,这是一个残酷的地方。

We’ve been able to survive every financial downturn, and sometimes the engine’s been funding the business because we didn’t have a game.

我们能够度过每一次金融衰退,有时引擎一直在为业务提供资金,因为我们没有游戏。

And sometimes the games have been funding the business.

有时,游戏也在为业务提供资金。

And it really set a principle in our culture that’s persevered and is continually bought to the forefront.

它确实在我们的文化中树立了一条坚持不懈并不断走在前列的原则。

Lex Fridman24:53

But on the editor front, that’s such a fascinating philosophy that you always allow people to create their own worlds.

但在编辑方面,这是一种令人着迷的哲学,你总是允许人们创造自己的世界。

24:53 You have an engine from which you simulate the world that the game is in.

您有一个引擎可以用来模拟游戏所在的世界。

You have the actual game, and you also have the freedom for creators to create various, in Fortnite, islands of their own.

你拥有实际的游戏,并且创作者也可以自由地在《堡垒之夜》中创建各种属于他们自己的岛屿。

With everything you ship, that freedom to create is always there.

对于您运送的所有物品,创造的自由始终存在。

That’s really interesting.

这真的很有趣。

Tim Sweeney25:23

Yeah, and it’s something we aim to do more and more fully over time.

是的,随着时间的推移,我们的目标是越来越充分地做这件事。

25:23 In the course of building Fortnite, we’ve built a lot of other tools.

在构建《堡垒之夜》的过程中,我们构建了许多其他工具。

They’re useful for us too because it’s not just a game powered by Unreal Engine, but it’s also a social ecosystem where people can make friends and voice chat and get together and party.

它们对我们也很有用,因为它不仅仅是一款由虚幻引擎驱动的游戏,而且还是一个社交生态系统,人们可以在其中交友、语音聊天、聚会和聚会。

So we’ve opened up all of those social features into Epic Online services, and we give them away to all developers for free because we all benefit from growth and that user base.

因此,我们将所有这些社交功能开放到 Epic Online 服务中,并将它们免费提供给所有开发者,因为我们都从增长和用户群中受益。

And our goal is ultimately to build the company’s products and the same technology that we share with everybody else, and to hope that foster a bigger and bigger ecosystem over time where everybody benefits.

我们的最终目标是打造公司的产品和与其他人共享的相同技术,并希望随着时间的推移培育一个越来越大的生态系统,让每个人都受益。

Lex Fridman26:03

If we could just linger on the 90s, so you said bulletin boards, maybe you can explain what that’s like and also explain the birth of the internet, what that was like.

如果我们能停留在 90 年代,所以你说的是公告板,也许你可以解释那是什么样子,也可以解释互联网的诞生,那是什么样子。

26:03 What was the internet like in the 90s?

20世纪90年代的互联网是什么样的?

Tim Sweeney26:16

So the internet is a funny thing.

所以互联网是一件有趣的事情。

26:16 It started out as this defense department research project called the ARPANET, the Advanced Research Project Agency Network.

它最初是一个名为阿帕网(ARPANET)的国防部研究项目,即高级研究项目机构网络。

And it was kind of like this revered secret thing that became more and more open as they connected universities.

这有点像这种受人尊敬的秘密事物,随着大学之间的联系而变得越来越开放。

Universities connected to the internet in the mid-nineteen eighties.

十九世纪八十年代中期,大学接入了互联网。

And so if you’re at a prestigious institution with access to computers, you could get on there, but the consumer back then, we just had these modems, this thing you plug into your phone line and it dials up on a phone number and then it sends wild sound effects over the telephone line to send digital signals back and forth.

因此,如果你在一个可以使用计算机的著名机构,你可以在那里,但当时的消费者,我们只有这些调制解调器,这个东西你插入你的电话线,它拨打一个电话号码,然后它通过电话线发送狂野的声音效果,来回发送数字信号。

26:55 And these were really slow.

这些真的很慢。

The first modem I had was 300 boards.

我的第一个调制解调器有 300 个板。

That means 30 characters per second of data.

这意味着每秒传输 30 个字符的数据。

So you’re sitting there watching a sentence slowly emerge character by character as you’re going online, but that’s how we got online and we talked with each other.

所以当你上网时,你坐在那里看着一个句子一个字一个字地慢慢出现,但这就是我们上网并互相交谈的方式。

So you dial up to a local bulletin board, it’ll be run by a person.

所以你拨打当地的公告板,它将由一个人管理。

Usually they have a computer or two sitting in their kitchen or something that’s running the bulletin board, and they have a small community of a few hundred users all competing to connect to that one phone line.

通常他们的厨房里有一两台电脑或者运行公告板的东西,他们有一个由数百名用户组成的小社区,他们都竞相连接到那一条电话线。

It was often busy and you couldn’t get in.

经常很忙,你无法进去。

And the more popular bulletin boards were hardest to get to.

而更受欢迎的公告板是最难访问的。

Lex Fridman27:29

Nice.

好的。

Tim Sweeney27:29

But you had all kinds of communities develop, and you could see there was the programming communities where people talked about programming.

但是各种各样的社区都在发展,你可以看到人们在编程社区中讨论编程。

27:29 There was the news and events community.

有新闻和活动社区。

I lived in the outskirts of Washington DC so that was a big thing.

我住在华盛顿特区的郊区,所以这是一件大事。

But then there was the pirate community where they’re sharing pirated Apple II games and very different community ethos and mantras out there, but all really nice and also very small.

但还有盗版社区,他们在那里分享盗版 Apple II 游戏和非常不同的社区精神和口号,但都非常好,而且规模很小。

These bulletin boards couldn’t grow to the size of Facebook because your phone line couldn’t take that many calls.

这些公告板无法增长到 Facebook 的大小,因为您的电话线无法接听那么多电话。

And then later in the 1990s, the internet, which had been fostered in these colleges that started opening up to the public and anybody could connect to it.

然后在 20 世纪 90 年代后期,这些大学培育出来的互联网开始向公众开放,任何人都可以连接到它。

And suddenly the world took on life of its own.

突然间,世界有了自己的生命。

It became much, much easier to reach a global audience faster.

更快地接触全球受众变得非常非常容易。

Lex Fridman28:16

And you would start shipping games to the internet, which is a bit of a crazy thing to do because you’re supposed to have a physical copy, but to post on the internet is pretty innovative.

你会开始将游戏发布到互联网上,这是一件有点疯狂的事情,因为你应该有一个物理副本,但在互联网上发布是相当创新的。

28:16 Even shareware is pretty innovative.

甚至共享软件也相当创新。

Tim Sweeney28:31

Yeah, it’s been a funny transition for the game business.

是的,这对于游戏行业来说是一个有趣的转变。

28:31 Epic started out making shareware games, distribute it digitally, but as the first 3D games took off like Wolfenstein and Doom from id Software, and then Unreal from us took off to reach a huge audience of millions of users, we had to go into retail stores.

Epic 最初是制作共享软件游戏,并以数字方式进行分发,但随着 id Software 推出的首款 3D 游戏(如《德军总部》和《毁灭战士》)的腾飞,以及我们的《虚幻引擎》的成功,吸引了数百万用户的庞大受众,我们不得不进入零售商店。

So we worked with a retail publisher and they made a box and they put CD-ROMs in the box, and then the world started transitioning back to digitally.

因此,我们与一家零售出版商合作,他们制作了一个盒子,并将 CD-ROM 放入盒子中,然后世界开始向数字化过渡。

And that transition didn’t start well, right?

而且这种转变一开始并不顺利,对吧?

The initial transition of gaming to digital was all but torrent, all piracy and the other horror stories about games that would sell a hundred thousand copies but have 2 million users because most people pirated it.

游戏向数字化的最初转变几乎都是洪流,全是盗版和其他有关游戏的恐怖故事,这些游戏将售出十万份,但拥有 200 万用户,因为大多数人都盗版。

29:15 And then Steam came along and introduced digital distribution and made digital distribution of legit games so convenient that most players moved away from piracy towards that, and their practices were then followed by others, and the early digital industry took form.

然后Steam出现,引入了数字发行,使正版游戏的数字发行变得非常方便,使得大多数玩家从盗版转向盗版,他们的做法随后被其他人效仿,早期的数字产业就形成了。

Lex Fridman29:33

Yeah, it’s fascinating.

是的,这很有趣。

29:33 I mean, pirates do lead the way for innovation, the same as the story of Spotify.

我的意思是,盗版者确实引领了创新之路,就像 Spotify 的故事一样。

Basically, I think, most people when they derive value from things like video games, want to pay for those video games, they just want it to be easy.

基本上,我认为,大多数人当他们从视频游戏之类的东西中获得价值时,想要为这些视频游戏付费,他们只是希望它变得简单。

And so the same thing with music, with Spotify.

Spotify 的音乐也是如此。

But maybe just staying on the 90s, there are going to be a lot of indie game developers who will listen to us talking today.

但也许仅仅停留在 90 年代,就会有很多独立游戏开发者会听我们今天谈论。

Can you go back to that mindset and try to derive some wisdom and advice to those folks when you were just a solo developer or maybe just a small group of people creating your early games that eventually became this huge gaming company.

当你只是一个独立开发者,或者可能只是一小群人创建你的早期游戏,最终成为这个巨大的游戏公司时,你能否回到这种心态并尝试向那些人提供一些智慧和建议。

But in the early days, what were you going through?

但在早期,你经历了什么?

What were the ups and downs?

经历了什么风风雨雨?

What did it take to stay strong and persevere?

怎样才能保持坚强和坚持?

Tim Sweeney30:31

Well, one of the critical things that Epic always worked hard to do was to make something different that nobody else was doing, and to try to satisfy a small audience rather than competing globally with the game juggernauts.

嗯,Epic 一直努力做的最重要的事情之一就是做出一些其他人没有做过的不同的事情,并试图满足一小部分受众,而不是与全球游戏巨头竞争。

30:31 Back in the 1990s, Epic was new, but Electronic Arts and Activision and the other big publishers had been around for a decade, and they were huge companies.

早在 20 世纪 90 年代,Epic 还很新,但艺电和动视以及其他大型发行商已经存在了十年,而且它们都是大公司。

It had giant retail distribution networks.

它拥有庞大的零售分销网络。

If I tried to make a game and then convinced them to publish it, I doubt I could have had a chance.

如果我尝试制作一款游戏,然后说服他们发布它,我怀疑我是否有机会。

And I doubt that even if I had made a successful game, that I would’ve made much money from it, though they might have.

我怀疑即使我制作了一款成功的游戏,我也不会从中赚到很多钱,尽管他们可能会赚很多钱。

And so the really unique angle to Epic then was shareware.

因此,当时 Epic 真正独特的角度是共享软件。

And that was just the idea that if we distribute our game differently, then we can reach a much larger audience than these bigger competitors by virtue of this first episode of the game being free.

这只是一个想法,如果我们以不同的方式发行我们的游戏,那么我们可以凭借游戏的第一集免费而比这些更大的竞争对手吸引更多的受众。

31:24 It was kind of the advent of what later became free to play.

这有点像后来免费游戏的出现。

And the logic of that is just as true now as it was then.

这个逻辑现在和过去一样正确。

It’s, if the thing is free and anybody can get into it, then it’s going to spread from friend to friend as people bring their real world friends into the games they’re playing and you have the opportunity to build up a community around that.

如果这个东西是免费的并且任何人都可以参与,那么它就会从一个朋友传播到另一个朋友,因为人们将他们现实世界的朋友带入他们正在玩的游戏中,并且你有机会围绕它建立一个社区。

So the other lesson there was just minimize the friction of people getting into your game, make it easy to get into and make it fun.

因此,另一个教训就是尽量减少人们进入游戏的摩擦,让他们更容易进入并让它变得有趣。

I think the other, well, I was very fortunate.

我认为另一个,嗯,我很幸运。

ZZT was a funny game.

ZZT是一款有趣的游戏。

It was not much like any other game.

它与任何其他游戏都不太一样。

It had much worse graphics because it was all just text characters, smiley faces and other Greek letters and things participating in this game simulation.

它的图形效果要差得多,因为它只是文本字符、笑脸和其他希腊字母以及参与游戏模拟的东西。

32:09 They were kind of iconic representations of characters rather than real ones.

它们是人物的标志性表现,而不是真实的人物。

And this was decades into the age of real graphical games with interesting graphics.

几十年来,真正的图形游戏时代已经进入了有趣的图形时代。

And so it wasn’t even trying to compete in that area, but it was able to compete in a different area, which is that it wasn’t just the three games that I’d made and shipped as a trilogy that were successful and drove the success of the product.

因此,它甚至没有试图在该领域竞争,但它能够在不同的领域竞争,也就是说,不仅仅是我制作并作为三部曲发布的三款游戏取得了成功并推动了产品的成功。

It was the fact that I released an editor and there was a whole community around it.

事实上,我发布了一个编辑器,并且围绕它有一个完整的社区。

And you see that trend has repeated itself, like there was, ZZT was one of it.

你会发现这种趋势已经重演,就像以前一样,ZZT 就是其中之一。

Before that, there was Bill Budge’s Pinball construction set.

在此之前,还有比尔·巴奇的弹球搭建套装。

That was a 1980s Apple game that let users build their own pinball tables.

那是一款 20 世纪 80 年代的苹果游戏,让用户可以搭建自己的弹球桌。

And since then, you’ve had some of the world’s most successful games follow that path.

从那时起,世界上一些最成功的游戏就遵循了这条道路。

Like Minecraft, you can build your own stuff.

就像《我的世界》一样,您可以构建自己的东西。

32:52 Roblox, now Fortnite Creative and Unreal Editor for Fortnite.

Roblox,现在是《堡垒之夜》的创意和虚幻编辑器。

Games that become platforms for other people to build stuff was a real opportunity.

游戏成为其他人构建东西的平台是一个真正的机会。

I think the big thing to realize for indie developers right now is there’s massive, massive competition in every major genre, and it’s very unlikely that unless you just happen to be the world’s best at a particular thing that you’re going to release a game in an existing highly competitive genre and win.

我认为独立开发者现在需要意识到的一件大事是,每个主要类型都存在巨大的竞争,除非你恰好在某一特定领域成为世界上最好的,否则你不太可能在现有的高度竞争的类型中发布游戏并获胜。

A much better chance of success is in releasing something that hasn’t been done before.

成功的更大机会是发布一些以前从未做过的东西。

Being really unique and reaching an audience, even if big or medium size or small, reaching an audience and becoming really popular with that, making some money from it, and being able to reinvest and then expand towards your ultimate dream.

真正独特并吸引受众,无论规模大小,吸引受众并变得非常受欢迎,从中赚钱,并能够进行再投资,然后向您的最终梦想扩展。

I think the one shot go from idea to commercial success at massive scale is a lot less likely than the multistep process of continually build better and better stuff over time until you get into a position of excellence.

我认为从创意到大规模商业成功的一次性成功的可能性远小于随着时间的推移不断构建越来越好的产品直到达到卓越地位的多步过程的可能性。

Lex Fridman33:54

And constantly try to do something that others aren’t doing.

并且不断尝试做别人没有做的事情。

Tim Sweeney33:58

Yeah, that’s right.

是的,没错。

33:58 Because if you look at every market, there’s a few markets where the current leader…

因为如果你观察每个市场,就会发现有一些市场当前的领导者......

34:03 Look at every market.

看看每个市场。

There’s a few markets where the current leader came late to the space, usually because the prior leader failed so horribly.

在一些市场中,现任领导者进入该领域较晚,通常是因为前任领导者失败得非常严重。

But most of the time the company that’s succeeding and winning in a market is the first or second entrant there.

但大多数时候,在市场上取得成功并获胜的公司是第一个或第二个进入市场的公司。

They’ve just continually buoyed their success.

他们只是不断地推动自己的成功。

Lex Fridman34:20

Great advice and fascinating.

很好的建议而且很有趣。

34:20 But on a human level, was it lonely, was it scary, you sitting there as a developer?

但从人类的角度来看,你作为一名开发人员坐在那里,是否感到孤独、害怕?

Tim Sweeney34:29

I’d say it was the opposite of lonely because the thing that spurred me to actually release this was seeing kids playing the game in my neighborhood and having fun and being like, “This is really good.” And seeing them enjoying it and laughing and pointing at the screen and getting together and just wanting to play more.

我想说这与孤独相反,因为促使我真正发布这款游戏的是看到孩子们在我家附近玩这个游戏,玩得很开心,然后说:“这真的很棒。”看到他们很享受,笑着指着屏幕,聚在一起,只想玩更多。

Lex Fridman34:47

That’s awesome.

太棒了。

Tim Sweeney34:49

And the human element was always pervasive because I did not only receive orders, but people would actually write letters.

人的因素总是无处不在,因为我不仅收到订单,而且人们实际上也会写信。

34:49 We wrote letters back then in the 1990s.

20世纪90年代我们曾写过信。

People would say how much they were enjoying the game and how their kids were playing the game and so on and so on.

人们会说他们有多喜欢这个游戏以及他们的孩子玩这个游戏的情况等等。

So it felt very connected.

所以感觉非常有联系。

35:06 And I think a lot of businesses have to make scary decisions because you’re spending potentially all of the money you have to take a shot at something that you’re not sure will succeed.

我认为很多企业不得不做出可怕的决定,因为你可能会花掉所有的钱来尝试一些你不确定会成功的事情。

I was very fortunate starting a business like this because it didn’t really need any capital.

我很幸运能够创办这样的企业,因为它并不需要任何资金。

The capital is well, it’s several thousand dollars in computers I’d bought by mowing lawns.

资本很好,是我割草坪时买的几千美元的电脑。

And it wasn’t much risk.

而且风险并不大。

If that hadn’t succeeded, I guess I could have figured out how people get mechanical engineering jobs and pursued that.

如果这没有成功,我想我可以弄清楚人们如何获得机械工程工作并追求这一点。

But once it took off and once the orders started coming in and people started writing letters saying they were enjoying the game, I knew I was going to go all out and try to build a company there and succeed and that was going to be my big goal.

但一旦它起飞,一旦订单开始进来,人们开始写信说他们很喜欢这个游戏,我知道我将全力以赴,尝试在那里建立一家公司并取得成功,这将是我的大目标。

Lex Fridman35:48

So I’m sure people know, but Epic Games was created in 1991 and went on to transform the gaming industry several times, one of which is Unreal Engine.

我相信人们都知道,Epic Games 创建于 1991 年,并多次改变了游戏行业,其中之一就是虚幻引擎。

35:48 So let’s talk through the origin story of that.

那么让我们来谈谈它的起源故事。

You said that when Wolfenstein and Doom came out, that changed everything, so take me to that moment.

你说当《德军总部》和《毁灭战士》问世时,一切都改变了,所以带我回顾一下那一刻。

Tim Sweeney36:11

Yeah, that was a very interesting time.

是的,那是一段非常有趣的时光。

36:11 Epic had, after my first couple of games that had recruited developers, usually college students, high school students who were just working on their own, had real skills but didn’t have an outlet for their work, Epic had been matchmaking the best artists and programmers together from all over the world.

在我的前几款游戏招募开发者(通常是大学生、高中生,他们只是自己工作,有真正的技能,但没有工作出路)之后,Epic 一直在为来自世界各地最好的艺术家和程序员牵线搭桥。

Like Chaz Jackrabbit was Cliff Bleszinski, a high school kid in California, had made a really cool adventure game together with Arjan Brussee, a demo coder from Holland, who would make amazing graphical stuff and had built a 2D game engine.

就像 Chaz Jackrabbit 一样,Cliff Bleszinski 是一名来自加利福尼亚州的高中生,他与来自荷兰的演示程序员 Arjan Brussee 一起制作了一款非常酷的冒险游戏,Arjan Brussee 会制作令人惊叹的图形内容,并构建了 2D 游戏引擎。

They had connected them together, and a musician, Robert Allen in California.

他们将他们联系在一起,还有一位加利福尼亚州的音乐家罗伯特·艾伦。

And by telephone and modem and so on we were building these little 2D games and having quite a lot of success.

通过电话和调制解调器等,我们开发了这些小型 2D 游戏并取得了相当大的成功。

There were a bunch of people making thousands of dollars a month while they were still students in royalties from the games the Epic was producing and by coordinating with people and publishing through shareware.

有一群人在还是学生的时候,就通过 Epic 制作的游戏、与人协调以及通过共享软件发布游戏获得版税,每月赚取数千美元。

37:07 And that was all going great.

一切都很顺利。

The company had a little office and we were copying floppy disks and mailing them out.

公司有一个小办公室,我们正在复制软盘并将其邮寄出去。

But when Wolfenstein came out, we realized the future of gaming is going to be 3D.

但当《德军总部》问世时,我们意识到游戏的未来将是 3D。

There had been a lot of experiments in 3D before that hadn’t been great.

之前有过很多 3D 实验,但效果并不理想。

There were 3D renderings of mazes that were not in real time, and you were always looking north, south, east or west, and then there were vector graphics with little wire frames moving around and things.

迷宫的 3D 渲染不是实时的,你总是向北、南、东或西看,然后还有带有小线框移动的矢量图形和其他东西。

But Wolfenstein was the first game that was fast enough, running at 30 frames per second, it really felt immersive.

但《德军总部》是第一款足够快的游戏,以每秒 30 帧的速度运行,真的感觉身临其境。

It felt like you were there.

感觉就像你在那里一样。

You were in this Castle Wolfenstein fighting Nazis.

你在这座德军总部城堡里与纳粹作战。

And that was a really amazing and immersive experience.

那真是一次令人惊奇且身临其境的体验。

37:51 3D graphics were pretty primitive then and software followed shockingly fast with Doom, which was a much, much more capable 3D engine, which had stairs and though it was still what we call two and a half D, it was environments that were very realistic, textures that were very realistic, a form of lighting that was approximate, but incredibly realistic.

当时的 3D 图形还相当原始,软件也以令人震惊的速度跟进,《Doom》是一个功能强大得多的 3D 引擎,有楼梯,虽然它仍然是我们所说的两个半 D,但它的环境非常逼真,纹理非常逼真,光照形式是近似的,但非常逼真。

And just such great artistry and sound effects that it feeled completely visceral and real.

如此出色的艺术性和音效,让人感觉完全发自内心和真实。

You might look at it today from our point of view of a modern game player with 20 teraflops of computing power in your device and say, “Oh, that’s not very impressive.” But it was amazing at the time.

今天,您可能会从我们设备中拥有 20 teraflops 计算能力的现代游戏玩家的角度来看它,并说:“哦,这不太令人印象深刻。”但在当时却是令人惊叹的。

Lex Fridman38:33

I mean for me, just sorry to pause on that, I think Wolfenstein was one of the most amazing moments of my own life.

我的意思是对我来说,很抱歉暂停一下,我认为德军总部是我一生中最令人惊奇的时刻之一。

38:33 Just being able to, like you said, in real time move about a three-dimensional world.

就像你说的那样,能够在三维世界中实时移动。

I just remember just moving around just in what is that feeling like?

我只记得只是四处走动,那是什么感觉?

I mean, you feel transported into another world.

我的意思是,你感觉自己进入了另一个世界。

Tim Sweeney39:01

You feel that you’re there.

你感觉你就在那里。

Lex Fridman39:02

Yeah.

是的。

Tim Sweeney39:03

Especially when you turn the lights down in your room and you turn the sound up on your speakers and it will scare you.

尤其是当你关掉房间里的灯并打开扬声器的声音时,它会吓到你。

39:03 And you’ll feel like that fireball that’s coming at you is going to kill you.

你会觉得朝你袭来的火球会杀死你。

That was an amazing time.

那是一段美妙的时光。

Because we hadn’t experienced that before.

因为我们以前没有经历过。

There was nothing like that.

没有那样的事情。

You’d watch a movie, a scary movie or whatever.

你会看电影、恐怖电影或其他什么。

It was just this thing that was happening.

这就是正在发生的事情。

This was you.

这就是你。

This was you in a 3D world.

这就是 3D 世界中的你。

Lex Fridman39:30

So how did that change Epic, this realization that the future of gaming is going to be 3D?

那么,这对 Epic 带来了怎样的改变,让他们认识到游戏的未来将是 3D?

Tim Sweeney39:35

Well, at first I was really depressed.

嗯,一开始我真的很沮丧。

Lex Fridman39:37

Yeah.

是的。

Tim Sweeney39:37

Because the wizardry of Doom especially was so incredible that I gave up on programming for six months.

因为《毁灭战士》的魔力是如此令人难以置信,以至于我放弃了编程六个月。

39:37 I was like, “I’m never be able to compete with this.

我当时想,“我永远无法与之竞争。

I have no idea what we’re going to do.

我不知道我们要做什么。

We’ll just keep making 2D games and hope that the business goes on.” But that was the nature of Carmack’s wizardry.

我们将继续制作 2D 游戏,并希望业务能够继续下去。”但这就是卡马克魔法的本质。

He had done things that were not just one innovation leap ahead, but a dozen simultaneously, interplaying in a way that you couldn’t pick them apart into their component pieces.

他所做的事情不仅是一项创新飞跃,而且是同时进行的十多项创新,它们以一种你无法将它们分解成各个组成部分的方式相互作用。

40:05 But funny thing happened, Michael Abrash, long timer in computer graphics that wrote a book on the techniques for 3D graphics and texture mapping, and he wrote some articles in one of the programming magazines of the day and explained it and showed assembly code to do texture mapping, drawing these 3D graphics on the screen, and it was actually really simple stuff.

但有趣的事情发生了,长期从事计算机图形学的 Michael Abrash 写了一本关于 3D 图形和纹理映射技术的书,他在当时的一本编程杂志上写了一些文章,对其进行了解释,并展示了进行纹理映射的汇编代码,在屏幕上绘制这些 3D 图形,这实际上是非常简单的事情。

I was like, “Oh, I can do that.” And so a bunch of us at Epic independently went off and started writing our own 3D graphics code to figure it out.

我当时想,“哦,我能做到。”因此,我们 Epic 的一群人独立开始编写我们自己的 3D 图形代码来解决这个问题。

And we found at one point we had a number of people dabbling in this, doing different parts of it, and at that point we decided, “Okay, 3D graphics and 3D gaming is going to completely change the world.

我们发现曾经有很多人涉足这个领域,从事不同的部分,那时我们决定,“好吧,3D 图形和 3D 游戏将彻底改变世界。

We need to go all in on this.” And so we took the best people from our best 2D game development teams and put them all together to make a 3D game.

我们需要全力以赴。”因此,我们从最优秀的 2D 游戏开发团队中挑选了最优秀的人才,将他们聚集在一起制作 3D 游戏。

We didn’t really know what we were doing at the time.

我们当时并不真正知道自己在做什么。

None of us had ever chipped a 3D game and most of us were still learning, but everybody was trying different disciplines to see what they were best at.

我们中没有人曾经开发过 3D 游戏,而且大多数人仍在学习中,但每个人都在尝试不同的学科,看看自己最擅长什么。

And it was a combination of a bunch of people who came together to make Unreal.

这是一群人聚集在一起制作 Unreal 的组合。

41:09 I’d initially volunteered to make the 3D editor for the thing, and James Schmalz had made Epic Pinball.

我最初自愿为这个东西制作 3D 编辑器,而 James Schmalz 则制作了 Epic Pinball。

Epic Pinball, now that wasn’t a crazy game.

史诗弹球,现在这不是一个疯狂的游戏。

This was one of the 2D shareware games.

这是一款 2D 共享软件游戏。

He made it while he was in college and he was making like $30,000 a month from the royalties from this game.

他在大学期间就做到了这一点,每月通过这款游戏的版税赚取大约 30,000 美元。

Lex Fridman41:25

Wow.

哇。

Tim Sweeney41:26

Because everybody had wanted an awesome pinball game.

因为每个人都想要一场精彩的弹球游戏。

41:26 It was massively successful.

它取得了巨大的成功。

But he was a multi-disciplinary person.

但他是一个多学科的人。

He wrote the code for the game, the art for the game, and did basically everything.

他编写了游戏的代码、游戏的美术,并且基本上完成了所有的事情。

And the code was 30,000 lines of assembly language.

代码是3万行汇编语言。

And so he was initially going to write the 3D engine and I was going to write the editor and he sent me his code so I could integrate it into the editor and it was like this giant pile of assembly code.

所以他最初要编写 3D 引擎,我要编写编辑器,他向我发送了他的代码,以便我可以将其集成到编辑器中,这就像一大堆汇编代码。

I was like, “Hmm.

我当时想,“嗯。

Why don’t I just write this myself?” And so James instead started going off and building 3D models and 3D animations using the tools at the time.

我为什么不自己写这个呢?”因此 James 开始使用当时的工具构建 3D 模型和 3D 动画。

42:00 And so Cliff had done a lot of design work and built the levels on Jazz Jackrabbit, went off and started learning basics of level design.

因此,Cliff 完成了大量的设计工作,并在 Jazz Jackrabbit 上构建了关卡,然后开始学习关卡设计的基础知识。

And so I was writing this editor and Cliff Bleszinski was customer number one for it, starting to go off and build levels, and James Schmalz was joining awesome creatures, sending them to me, I’d get them implemented in game.

所以我正在写这个编辑器,Cliff Bleszinski 是它的头号客户,开始着手构建关卡,而 James Schmalz 正在加入很棒的生物,将它们发送给我,我会让它们在游戏中实现。

Then we brought in an animator to bring them into life and we brought in more and more people until at the peak of Unreal One development we had about 20 people working on it, which was a huge team for the time, and it was really stretching Epic’s finances nearly to the breaking point.

然后我们请来了一位动画师来将它们变为现实,我们又引进了越来越多的人,直到在 Unreal One 开发的顶峰时期,我们有大约 20 个人参与其中,这在当时是一个庞大的团队,这确实让 Epic 的财务状况几乎接近崩溃点。

We barely survived and almost ran out of money a number of times, but somehow we always pulled through.

我们勉强生存,好几次差点没钱,但总能渡过难关。

42:38 And it was a crazy project because it was three and a half years of development on a game that we always thought was six months from shipping.

这是一个疯狂的项目,因为我们一直认为这款游戏的开发时间为三年半,而我们一直认为距离发布还有六个月。

And it was like three and a half years of 70 or 80 hour weeks for most everybody working on the project, not even knowing what problems we’d need to solve next because we were so immersed in the current ones.

对于大多数从事该项目的人来说,这就像三年半的时间,每周工作 70 或 80 个小时,甚至不知道接下来需要解决什么问题,因为我们太沉浸在当前的问题中。

Lex Fridman43:00

Were there moments when you were losing hope that this might take too long and the company will run out of money?

是否有过这样的时刻,您对这可能需要太长时间并且公司会耗尽资金而失去希望?

Tim Sweeney43:08

We were always very financially stressed, so I was continually worried about that.

我们的经济压力总是很大,所以我一直担心这一点。

43:08 I had total confidence that we’d work out all the technical and artistic problems because we knew the pieces and it was largely a matter of typing code in and solving some problems.

我完全有信心我们能够解决所有的技术和艺术问题,因为我们知道这些部分,这主要是输入代码并解决一些问题。

And we knew we could ship a version of it.

我们知道我们可以发布它的一个版本。

And the thing that was continually really interesting was the ongoing discovery of new techniques as we went.

真正有趣的是我们不断发现新技术。

Because at the time Quake had shipped it had a little bit of dynamic lighting, Unreal really pushed dynamic lighting much higher than anybody else had done before, using colored dynamic lights with some shadow casting capabilities statically or moving lights without shadows and figured out how to do a volumetric fog so you could have foggy areas that were full of lights and you get the kind of glow of the lights standing out in the fog and affecting the appearance of the level.

因为在《Quake》发布时它有一点动态光照,虚幻确实比其他任何人都把动态光照推得更高,静态地使用具有一些阴影投射功能的彩色动态光或没有阴影的移动光,并弄清楚如何制作体积雾,这样你就可以拥有充满灯光的雾区域,并且你可以获得在雾中突出的灯光的光芒,并影响关卡的外观。

44:04 A whole lot of amazing techniques came together to build a game that made a number of leaps ahead of the state of the art at the time.

大量令人惊叹的技术汇集在一起​​,打造出了一款远远领先于当时技术水平的游戏。

Yeah, it was really crazy.

是的,这真的很疯狂。

But I think most companies wouldn’t have survived that, but the sheer talent of the people involved made it possible.

但我认为大多数公司都无法幸存下来,但相关人员的绝对才华使之成为可能。

And Epic has often done things that most companies will have failed at and we succeed not because of awesome management or awesome planning or awesome financing, but because of the sheer talent and willpower of the people involved to make it happen.

Epic 经常做大多数公司都会失败的事情,而我们的成功不是因为出色的管理、出色的规划或出色的融资,而是因为实现这一目标的人们的绝对才能和意志力。

Lex Fridman44:38

What about the interdisciplinary aspect of it?

它的跨学科方面又如何呢?

44:38 Like you said, sort of artists, engineers or programmers, designers, all of them working together.

就像你说的,艺术家、工程师或程序员、设计师,他们所有人一起工作。

What was that, the 20 people, what was the dynamic there like working insane hours?

那是什么,那 20 个人,那里的动态是什么样的,比如疯狂的工作时间?

What was it like to make a team like that work together well as an orchestra to actually deliver the game?

让这样的团队像管弦乐队一样紧密合作来真正交付游戏是什么感觉?

Tim Sweeney45:04

Yeah, that’s one of the really unique things that exist in gaming.

是的,这是游戏中存在的真正独特的事物之一。

45:04 Not in normal big tech companies, which are just engineering and business driven, but gaming really does require all of the best people across all the creative disciplines working together.

普通的大型科技公司并非如此,这些公司只是工程和业务驱动的,但游戏确实需要所有创意学科的所有最优秀的人才一起工作。

And Epic had grown organically by recruiting people with awesome talent.

Epic 通过招募才华横溢的人才实现了有机发展。

We always had a limited budget.

我们的预算总是有限的。

We could never pay to bid up people with salaries and hire them away by paying them more.

我们永远不可能通过抬高工资来雇佣他们,然后通过支付更高的工资来雇佣他们。

We just had to find awesome people who were at the beginning of their career and put them together.

我们只需找到处于职业生涯初期的优秀人才并将他们组合在一起。

45:37 And so everybody was very new to this and didn’t have any assumptions about how companies worked.

所以每个人对此都非常陌生,并且对公司如何运作没有任何假设。

And so you put all of these people together and it was really a constant interplay of talent as people were learning how to work together as a team.

所以你把所有这些人聚集在一起,这实际上是一种人才的不断相互作用,因为人们正在学习如何作为一个团队一起工作。

Nobody had management experience.

没有人有管理经验。

Most people hadn’t chipped a game before they worked with Epic.

大多数人在与 Epic 合作之前都没有开发过游戏。

And we were figuring it out as we went.

我们边走边想办法。

46:02 But it was a constant iterative cycle.

但这是一个不断迭代的循环。

We’d make several new versions of the game every day, be a new compile, introduce a new feature or fix some bugs, get it to the artists, artists improve their levels, continue building stuff, and then we see what they’re doing in their levels and like, “Oh, I see what you need now.” We’d constantly be improving the tools and just the iterative process and the speed at which that improves products is the critical element to success in games.

我们每天都会制作游戏的几个新版本,进行新的编译,引入新功能或修复一些错误,将其交给美术师,美术师提高他们的水平,继续构建东西,然后我们看到他们在他们的关卡中做了什么,就像,“哦,我明白你现在需要什么。”我们会不断改进工具,迭代过程和改进产品的速度是游戏成功的关键因素。

The slower the iteration cycle, if you make a build every week and you prove, you go through one iteration every week, you’re going to be way way way worse by the end of your project than a game company that makes new stuff every day.

迭代周期越慢,如果你每周进行一次构建,并且证明你每周都会进行一次迭代,那么到项目结束时,你的表现将比每天制作新东西的游戏公司糟糕得多。

And that was the magic that happened together and there was really nothing but passion and everybody’s individual dedication to it that made it work.

这就是一起发生的魔力,除了激情和每个人的个人奉献精神之外,什么都没有,才让它发挥作用。

Lex Fridman46:49

I heard you still program, but how much programming were you doing back then?

我听说你还在编程,但是你当时做了多少编程?

46:49 You mentioned the hours, probably insane hours, so it’d be almost fun to talk about your setup, what a day in the life of Tim Sweeney in the ’90 when you were building Unreal looked like.

你提到了工作时间,可能是疯狂的时间,所以谈论你的设置几乎是很有趣的,比如你在 90 年代构建虚幻引擎时 Tim Sweeney 生活中的一天是什么样的。

Tim Sweeney47:07

Well, we’d all gravitated towards a work schedule that maximized productivity.

好吧,我们都倾向于制定能够最大限度提高生产力的工作时间表。

47:07 And that usually meant waking up late.

这通常意味着起晚。

Usually we’d get to work around noon, usually work till like 2:00 A.M.

通常我们会在中午左右开始工作,通常会工作到凌晨 2:00 左右。

or so, 3:00 A.M.

大约凌晨 3:00

sometimes.

有时。

Lex Fridman47:24

Nice.

好的。

Tim Sweeney47:24

And I didn’t have anything else going on in my life so it was really just work and sleep and occasional eating.

我的生活中没有其他事情发生,所以实际上只是工作、睡觉和偶尔吃东西。

47:24 I found I always needed eight or nine hours of sleep a night.

我发现我每晚总是需要八九个小时的睡眠。

Without good sleep, I would just become a zombie and wouldn’t be nearly at my best.

如果没有良好的睡眠,我就会变成僵尸,无法达到最佳状态。

So I always needed to get sleep.

所以我总是需要睡觉。

But I didn’t need anything else going on.

但我不需要发生任何其他事情。

The programming itself was so energizing and enthralling.

节目本身是如此充满活力和迷人。

So it was three and a half years of that during the project.

所以这个项目花了三年半的时间。

Mostly spent programming.

主要花在编程上。

I would say probably 60 hours a week of programming, five hours a week of coordinating with other people and iterating and sitting down with them and looking at what’s going on on screen and figuring out what they needed.

我想说大概每周 60 小时的编程时间,每周 5 小时的时间与其他人协调、迭代,与他们坐下来观察屏幕上发生的情况并弄清楚他们需要什么。

Maybe five hours of business stuff.

也许是五个小时的商务活动。

And there was a good division of labor then.

而且当时有很好的分工。

Didn’t have a big executive team, but it was basically myself running the techno and development part of the company and Mark Rein running the business part of it, doing deals and maxing out his credit card and going around the world bringing in sources of revenue to keep the company funded.

没有一个庞大的执行团队,但基本上是我自己负责公司的技术和开发部分,马克·雷恩负责业务部分,做交易,刷爆他的信用卡,并到世界各地带来收入来源,以维持公司的资金来源。

Lex Fridman48:27

What programming language are we talking about?

我们在谈论什么编程语言?

48:27 C?

C?

You mentioned there’s this pile of assembly.

你提到有这堆组装品。

What was your decision in choosing the programming language that Unreal Engine would be written in?

您在选择编写虚幻引擎所用的编程语言时做出了什么决定?

Tim Sweeney48:39

I’d grown up learning with Pascal as my favorite language.

在我成长过程中,我最喜欢的语言是 Pascal。

Lex Fridman48:42

Nice.

好的。

Tim Sweeney48:43

In order to just get maximum performance and get the latest operating system features, I had to move to C for my second game, Jill of the Jungle, little Nintendo-style platformer.

为了获得最大性能并获得最新的操作系统功能,我不得不将我的第二款游戏《Jill of the Jungle》转向 C,这是一款任天堂风格的小型平台游戏。

48:43 And so when I started Unreal Engine, it was on 16-bit windows using the C programming language.

因此,当我启动虚幻引擎时,它是在 16 位 Windows 上使用 C 编程语言。

And over the course of the first year moved to 32-bit, using these DOS extenders and then using Windows NT, and I moved to the C++ language and just because it simplified the code so much went from a really complicated pile of code to a much simpler one making that transition.

在第一年的过程中,我转向了 32 位,使用了这些 DOS 扩展器,然后使用了 Windows NT,然后我转向了 C++ 语言,仅仅因为它大大简化了代码,我就从一堆非常复杂的代码变成了一个简单得多的代码,从而实现了这一转变。

And so almost the entirety of Unreal Engine development, about two and a half years of it, was all on C++, 32-bit, completely state-of-the-art then.

因此,几乎整个虚幻引擎的开发(大约两年半)都是基于 C++,32 位,当时完全是最先进的。

Like 32-bit protected mode was kind of a magical thing having come from the days when computers were much less reliable and crashed all the time.

就像 32 位保护模式一样,它是一种神奇的东西,它诞生于计算机可靠性低得多、经常崩溃的时代。

Lex Fridman49:38

Yeah and turned out to be a pretty good bet because C++ out of all of those languages ended up being the dominant performance-oriented language that survives to this day.

是的,事实证明这是一个相当不错的选择,因为在所有这些语言中,C++ 最终成为了主导的面向性能的语言,并延续至今。

Tim Sweeney49:50

Yeah, yeah.

是啊是啊。

49:50 It’s because it solves all the problems at scale.

这是因为它大规模地解决了所有问题。

Often through manual pain, but always solves them.

经常要经历手工疼痛,但总能解决问题。

Lex Fridman49:59

Yeah.

是的。

Tim Sweeney49:59

And a lot of other languages do better in a lot of theoretical aspects and are better for some usage cases, but you can’t do everything and that’s very limiting.

许多其他语言在很多理论方面都做得更好,并且对于某些用例来说也更好,但你不能做所有事情,这是非常有限的。

Lex Fridman50:10

All right, so ridiculous questions, but did you have one monitor, two monitors?

好吧,这么荒谬的问题,但是你有一台显示器,两台显示器吗?

50:10 Were you picking on the keyboard?

你是敲键盘的吗?

Tim Sweeney50:21

Okay.

好的。

Lex Fridman50:21

Were you picking on the chair?

你是在挑椅子吗?

50:21 What are we talking about?

我们在说什么?

Let’s paint a picture.

让我们画一幅画。

Tim Sweeney50:26

Okay.

好的。

50:26 I went through a big transition there.

我在那里经历了一个巨大的转变。

Lex Fridman50:27

Okay, great.

好的,太好了。

Tim Sweeney50:27

So I started out being pretty lazy.

所以我开始变得很懒。

50:27 I had a bunch of, I bought used computers because you would often get them at half the price of a new one.

我有一堆二手电脑,因为你通常可以以新电脑一半的价格买到它们。

They’d be good enough.

他们就足够好了。

So I had this old 486 I was developing on, I guess it was a 15-inch monitor at the time.

所以我有一台正在开发的旧 486,我猜当时它是一台 15 英寸显示器。

It was a poor workstation setup but it was very economical.

这是一个糟糕的工作站设置,但非常经济。

So as we started on Unreal, I realized that I had to write a ton of code.

因此,当我们开始使用虚幻引擎时,我意识到我必须编写大量代码。

I had to write at absolute maximum productivity, so I had to rearrange my entire life around delivering maximum output.

我必须以绝对最大的生产力写作,所以我必须围绕提供最大的产出重新安排我的整个生活。

And so at that point I realized actually spending money on getting good equipment was a good investment.

所以那时我意识到实际上花钱购买好的设备是一项很好的投资。

And we’re not talking about millions of dollars here or billions if you’re building a GPU farm, we’re just talking about buying some basic hardware.

我们这里讨论的不是数百万美元或数十亿美元(如果您正在构建 GPU 农场),我们只是讨论购买一些基本硬件。

And so I bought the biggest CRT you could buy at the time, because this was a CRT.

所以我买了当时能买到的最大的 CRT,因为这是一台 CRT。

It was 24 inches, it weighed like a 100 pounds.

它长 24 英寸,重约 100 磅。

I had back pain for a week after I installed it.

安装后我腰痛了一个星期。

But it got me 1920 by 1200.

但它让我 1920 乘 1200。

Lex Fridman51:24

Wow.

哇。

51:24 Nice.

好的。

Tim Sweeney51:24

View in 1996.

1996年见。

Lex Fridman51:24

State of the art.

最先进的。

Tim Sweeney51:28

In 1996 that was pretty cool.

1996 年,那真是太酷了。

51:28 So I’d upgraded to a 90 megahertz Pentium and did a of programming on that.

所以我升级到了 90 兆赫的 Pentium,并对其进行了一些编程。

It was on the 90 megahertz print.

它印在 90 兆赫的印刷品上。

These were the main consumer computers at the time and I’d optimized the Unreal Engine software renderer on that.

这些是当时主要的消费类计算机,我在此基础上优化了虚幻引擎软件渲染器。

The Pentium was the first superscaler architecture in consumer computing.

奔腾是消费计算领域第一个超大规模架构。

It could run up to two instructions a time.

它一次最多可以运行两条指令。

And if you wrote your assembly code very carefully, you could get absolute maximum throughput.

如果您非常仔细地编写汇编代码,您可以获得绝对的最大吞吐量。

So I’d gotten my texture mapping code down to six CPU cycles, comprising 11 instructions, and that was required for every pixel on the screen, and that was just enough performance to deliver that.

因此,我将纹理映射代码减少到 6 个 CPU 周期,包括 11 条指令,这是屏幕上每个像素所需的,而这足以实现这一点。

But Dell came out with these new workstations and Intel had just launched the Pentium Pro, the first out of order processor.

但戴尔推出了这些新工作站,而英特尔刚刚推出了奔腾 Pro,这是第一个故障处理器。

And so I basically bought the absolute maximum configuration that money can buy.

所以我基本上买的是钱能买到的绝对最高配置。

It cost $7,000.

花费了 7,000 美元。

I had a gigabyte of memory in 1996.

1996 年我有 1GB 内存。

Lex Fridman52:25

Wow.

哇。

Tim Sweeney52:25

And a 200 megahertz CPU.

还有一个200兆赫的CPU。

52:25 So it tripled the speed of compiles and just made me massively more productive.

因此,它使编译速度提高了两倍,并且大大提高了我的工作效率。

So that’s what I was using throughout Unreal Engine development and chipped with that.

这就是我在整个虚幻引擎开发过程中使用的内容,并对此进行了改进。

Lex Fridman52:37

By the way, people in the ’90s would’ve been blown away by this workstation.

顺便说一句,90 年代的人一定会对这个工作站感到震惊。

52:37 I love it.

我喜欢它。

Yeah, yeah.

是啊是啊。

In writing, were you considering the hardware much?

在写作中,您考虑过硬件吗?

Was there a sense, so for people who don’t know Unreal Engine, rendering, I guess, is all software.

有没有一种感觉,所以对于不了解虚幻引擎的人来说,渲染,我想,都是软件。

Doesn’t use the hardware.

不使用硬件。

But were you trying to optimize, as I understand, maybe you can correct me, but were you trying to optimize to the hardware at all?

但是,据我了解,您是否试图优化,也许您可​​以纠正我,但是您是否试图针对硬件进行优化?

Tim Sweeney53:02

Well, at the time.

嗯,当时。

53:02 So we did most Unreal Engine development before the first real GPUs came out.

因此,我们在第一个真正的 GPU 出现之前就完成了大部分虚幻引擎的开发。

The 3dfx Voodoo 1, the first GPU that actually delivered serious performance compared to software rendering, the first GPU that was really gainful came in in the end of the development and we supported it really quickly, but it was not the target all along.

3dfx Voodoo 1 是第一个与软件渲染相比真正提供了出色性能的 GPU,第一个真正有收益的 GPU 在开发结束时出现,我们很快就支持了它,但它并不是一直以来的目标。

And so development was focused on just building.

因此,开发的重点只是建设。

There are two parts of the engine.

发动机有两个部分。

There’s all of the gameplay systems that manage the simulation and physics and so on.

所有的游戏系统都管理模拟和物理等等。

That’s all written in very high level C++ code.

这些都是用非常高级的 C++ 代码编写的。

And maintainability is as much of a goal as performance because we had to build massive amounts of systems over time.

可维护性与性能一样重要,因为随着时间的推移,我们必须构建大量系统。

53:46 But one thing that was really bottleneck was graphics.

但真正的瓶颈之一是图形。

The cost of rendering a single pixel was really high, and so you had to do everything you possibly could to optimize the rendering of pixels on screen.

渲染单个像素的成本非常高,因此您必须尽一切可能来优化屏幕上像素的渲染。

And so we were talking about how many CPU cycles.

所以我们讨论的是有多少个 CPU 周期。

When you say your CPU runs at a gigahertz or whatever, it’s a billion instructions per second.

当你说你的 CPU 以千兆赫兹或其他速度运行时,它是每秒十亿条指令。

How many instructions do you need to run to get a pixel on screen?

您需要运行多少条指令才能在屏幕上显示一个像素?

And so there was a constant challenge to optimize that down.

因此,优化这一点一直是一个挑战。

And there was also a competition among all of the graphics programmers who’d often send emails bragging to each other about what new technique they’ve discovered to try to get the cost down.

所有图形程序员之间也存在竞争,他们经常发送电子邮件互相吹嘘他们发现了哪些新技术来试图降低成本。

And Abrash’s original articles took 12 CPU cycles to render a pixel and everybody else had figured out how to get it to down to six or sometimes even four cycles.

Abrash 的原始文章需要 12 个 CPU 周期来渲染一个像素,而其他人已经想出了如何将其减少到 6 个甚至有时甚至 4 个周期。

That involved lots of different trade-offs of caching and memory hierarchy and so on.

这涉及到缓存和内存层次结构等方面的许多不同权衡。

54:39 It was just like a magical time where a human could actually understand exactly what the CPU was doing under the hood and could write code that exactly targeted that.

这就像一个神奇的时代,人类实际上可以准确地理解 CPU 在幕后正在做什么,并且可以编写专门针对该目标的代码。

And that’s largely lost now.

现在,这一点基本上已经消失了。

When we talk about optimization in software now, it’s largely about heuristics and statistically this memory access is likely to hit the cache and this algorithm is faster than that algorithm because CPUs now have such advanced out-of-order execution that you really can’t micromanage what’s happening on an instruction-by-instruction basis.

当我们现在谈论软件优化时,主要是关于启发式方法,从统计上看,这种内存访问很可能会命中缓存,而且这种算法比那种算法更快,因为 CPU 现在具有如此先进的乱序执行能力,以至于您实际上无法对逐条指令所发生的情况进行微观管理。

You can only manage the aggregate performance of code.

您只能管理代码的总体性能。

And so there’s kind of this lost art.

所以这就是一种失落的艺术。

Some people miss it, some people don’t, in which the programmer had absolute control over the machine and could work miracles in special cases if you tried.

有些人会怀念它,有些人则不会,在这种情况下,程序员对机器有绝对的控制权,如果你尝试的话,在特殊情况下可以创造奇迹。

Lex Fridman55:27

It seems like there’s still value to that art when it comes to GPUs and ASICs.

当涉及到 GPU 和 ASIC 时,这种艺术似乎仍然具有价值。

55:27 So basically trying to understand the nuances of the hardware and how to truly, truly optimize it, whether it’s for machine learning applications or for ultra-realistic real-time graphics applications.

因此,基本上是试图了解硬件的细微差别以及如何真正、真正地优化它,无论是机器学习应用程序还是超现实的实时图形应用程序。

Is that true?

这是真的吗?

Tim Sweeney55:48

Yeah, that’s absolutely so.

是的,绝对是这样。

55:48 The optimization problems have just moved around.

优化问题刚刚发生变化。

Lex Fridman55:55

Yeah.

是的。

Tim Sweeney55:55

In a system like Nanite, the virtualized micropolygon geometry system that Brian Karis, a brilliant engineer with Epic built, was just one of those multi-year optimization efforts that required him understanding everything from the highest levels to the lowest levels of the hardware to figure out how to make this breakthrough technique work in a way that was actually maximally performant on GPUs.

在像 Nanite 这样的系统中,Epic 的杰出工程师 Brian Karis 构建的虚拟化微多边形几何系统只是多年优化工作之一,这些优化工作要求他了解从硬件的最高级别到最低级别的所有内容,以找出如何使这一突破性技术以在 GPU 上实际发挥最大性能的方式工作。

Lex Fridman56:23

And so Nanite is the system, will jump around in time.

所以 Nanite 是一个系统,会及时跳跃。

56:23 That takes us to today with Unreal Engine 5, that’s the system that does the geometry.

这就把我们带到了今天的虚幻引擎 5,这是处理几何图形的系统。

Tim Sweeney56:32

Yeah.

是的。

Lex Fridman56:32

So rendering the world sort of geometrically.

所以以某种几何方式渲染世界。

56:32 There’s many layers to this.

这有很多层。

We’ll probably talk, sneak up to each of those, but one, you have to actually create the geometry of the world around you and do that in real time and really efficiently and there’s a bunch of different ways to optimize that.

我们可能会讨论,偷偷地讨论其中的每一个,但有一点,你必须实际创建你周围世界的几何形状,并实时且非常有效地完成它,并且有很多不同的方法来优化它。

Can you just speak to it?

你能直接跟它说话吗?

Tim Sweeney56:49

Yeah.

是的。

56:49 With the advanced art tools we have today, it’s really easy to create a scene with billions of polygons.

借助我们今天拥有的先进艺术工具,创建具有数十亿个多边形的场景真的很容易。

The hard part is how to render it efficiently, because you can’t render billions of polygons in a frame.

困难的部分是如何有效地渲染它,因为你无法在一帧中渲染数十亿个多边形。

Basically, you want to render an image that’s indistinguishable from the full detailed geometry, if you rendered it, at ridiculous cost.

基本上,您想要渲染一个与完整详细几何形状无法区分的图像,如果您渲染它,则成本高得离谱。

And so the challenge is how to simplify every component of the rendering, the geometry, the lighting, and so on down to real time techniques.

因此,挑战在于如何将渲染、几何、照明等的每个组件简化为实时技术。

They’re efficient.

他们很有效率。

they capture a realistic view of what’s around you.

它们捕捉到您周围事物的真实视图。

And so when an object is up close to you, you want to render it with a lot more polygons than when it’s far away.

因此,当一个物体离你很近时,你会想要用比它很远的时候更多的多边形来渲染它。

But one of the cool principles of mathematics is the Nyquist sampling theorem that says if you’re trying to reconstruct a signal, there’s a limit to the amount of data you need to bother capturing.

但数学中最酷的原理之一是奈奎斯特采样定理,该定理表示,如果您尝试重建信号,则需要费心捕获的数据量是有限的。

If you want to render a texture at a certain resolution, then you never need more than twice the pixels than in the texture that you have on the screen.

如果您想以特定分辨率渲染纹理,那么您不需要的像素数量永远不会超过屏幕上纹理像素的两倍。

And that’s called the Nyquist limit.

这就是所谓的奈奎斯特极限。

57:49 And so one of the challenges of computer graphics is given the need to render objects at extreme close-up distances and extreme far away distances, you always want to be able to generate the right amount of geometry so that you have enough to be indistinguishable from reality, but not any more than necessary.

因此,计算机图形学的挑战之一是需要在极近的距离和极远的距离处渲染对象,您总是希望能够生成适量的几何图形,以便您有足够的几何图形与现实无法区分,但又不过分必要。

And with geometry, the idea is that if you render two triangles per pixel, you should get an image that is indistinguishable from thousands of triangles per pixel.

对于几何图形,其想法是,如果每个像素渲染两个三角形,则应该获得与每个像素数千个三角形无法区分的图像。

If you render less than two triangles per pixel, you’re going to start to see visible artifacts of the loss.

如果每个像素渲染的三角形少于两个,您将开始看到可见的损失伪影。

58:22 And GPUs have this amazing hardware in a lot of different pipelines, but it’s all very fixed function.

GPU 在许多不同的管道中都拥有这种令人惊叹的硬件,但它们的功能都非常固定。

There’s pixel shader hardware, there’s geometry processing hardware, and then there’s triangle rasterization hardware.

有像素着色器硬件,有几何处理硬件,然后有三角形光栅化硬件。

And one of the limits of GPUs is that the triangle rasterizers are built for pretty large triangles.

GPU 的限制之一是三角形光栅化器是为相当大的三角形构建的。

If you’re building a triangle or rendering a triangle with 10 pixels, that’s pretty efficient.

如果您正在构建一个三角形或渲染一个具有 10 个像素的三角形,那么效率非常高。

But if you’re building or rendering a triangle with one pixel, it’s very inefficient.

但如果你用一个像素构建或渲染一个三角形,那就非常低效了。

So one of the breakthroughs Brian made was to design an entire pipeline for avoiding the rasterization hardware in the GPU and just going straight to pixels and calculating what should be done with that pixel as a result of some ray tracing and geometry intersection calculations done in a pixel shader.

因此,Brian 取得的突破之一是设计了一个完整的管道,以避免 GPU 中的光栅化硬件,而是直接进入像素,并根据在像素着色器中完成的一些光线追踪和几何相交计算来计算应该对该像素执行的操作。

So instead of using the triangle pipeline, we’re just using pixel pipeline.

因此,我们不使用三角形管道,而是使用像素管道。

Lex Fridman59:09

Wow.

哇。

Tim Sweeney59:09

And getting a better result.

并获得更好的结果。

Lex Fridman59:12

Because of the limitations of the triangle rasterizer in the GPUs.

由于 GPU 中三角形光栅器的限制。

59:12 That’s fascinating.

这很有趣。

Because as you described, you need the tiny triangles for the detail for the stuff that’s up close.

因为正如您所描述的,您需要小三角形来显示近距离物体的细节。

I mean, this might seem obvious to people, but it’s not just stuff up close.

我的意思是,这对人们来说似乎是显而易见的,但这不仅仅是近距离的事情。

It’s like it depends where you’re looking.

这就像这取决于你在看哪里。

The human eye and the human focus and the human attention mechanism defines how much detail you want to show because the thing that the human is likely to be giving attention to, you want that to be super high resolution and everything else, including due to distance, can have less geometry and less texture, less information in it.

人眼、人类焦点和人类注意力机制定义了您想要显示多少细节,因为人类可能会注意的事物,您希望它具有超高分辨率,而其他一切(包括由于距离)可以具有更少的几何形状和更少的纹理,其中包含更少的信息。

Tim Sweeney59:56

Yeah.

是的。

59:56 Yeah, that’s right.

是的,没错。

But there’s a lot of challenges like that.

但类似的挑战还有很多。

It turns out it’s a lot easier to render one frame that looks perfect than it is to render a series of frames in motion that look perfect.

事实证明,渲染一个看起来完美的帧比渲染一系列看起来完美的运动帧要容易得多。

A lot of the problems with the earlier algorithms that aspired to do the sort of things was popping.

早期算法的许多问题都在解决这类问题。

You’d be running some number of triangles for a while and then you’d switch to a different number of triangles and you’d see a visible transition and the screen would look like it got shaken up.

你会运行一定数量的三角形一段时间,然后切换到不同数量的三角形,你会看到明显的过渡,屏幕看起来像是被震动了。

It’s a disturbing artifact that distracts you from the game.

这是一个令人不安的神器,会分散你对游戏的注意力。

So one of the magical trade-offs of Nanite was how to avoid all of the visible transitions and get them down to a point where though they exist statistically, they’re not really perceptible to a person looking at it.

因此,Nanite 的神奇权衡之一是如何避免所有可见的转变,并将它们降低到虽然它们在统计上存在,但人们实际上无法察觉的程度。

Lex Fridman1:00:38

You look at something like Nanite, I mean, there’s a nice blog post, there’s nice descriptions about the details, but you can tell even under the details, there’s just incredible engineering that goes on.

你看看像 Nanite 这样的东西,我的意思是,有一篇很好的博客文章,有关于细节的很好的描述,但你甚至可以在细节之下看出,那里正在进行令人难以置信的工程。

1:00:38 It’s so cool.

太酷了。

It’s so cool how underneath this, the actual experience of beautiful detailed scenery, there’s just incredible engineering to bring to you simulation, ultra realistic simulation, of reality in real time, like lights changing everything.

真是太酷了,在美丽细致的风景的实际体验之下,有令人难以置信的工程为您带来模拟,超现实的模拟,实时的现实,就像灯光改变一切一样。

And then it just takes you back to that feeling I had with Wolfenstein, but more.

然后它会让你回到我对德军总部的感觉,但更多。

And you can completely lose yourself in that world, and you would forget that this real world exists.

你可以完全迷失在那个世界里,你会忘记这个真实世界的存在。

What is the real world anyway?

到底什么是真实世界?

So that coupling of great engineering and great storytelling in terms of just feeling is super cool.

因此,伟大的工程和伟大的故事讲述在感觉上的结合是非常酷的。

It’s great to know.

很高兴知道。

It’s great to know that there’s these teams behind it.

很高兴知道背后有这些团队。

And it’s cool that you’re also releasing a bunch of details around it, at least for folks like me.

很酷的是,您还发布了一系列相关细节,至少对于像我这样的人来说是这样。

It’s inspiring to see.

看到它很鼓舞人心。

1:01:45 Unreal Engine is this fascinating creation.

虚幻引擎是一个令人着迷的创造。

It’s a big, bold, crazy bet that you’ve made.

这是你下的一个大的、大胆的、疯狂的赌注。

Maybe it’s good to actually explain what Unreal Engine is for people sort of outside this world.

也许为这个世界之外的人们真正解释一下虚幻引擎是什么是件好事。

I would say it transformed the gaming industry.

我想说它改变了游戏行业。

But that was a big bet in 1995, that most of the effort would be on creating the gaming engine, not the game.

但这在 1995 年是一个很大的赌注,大部分精力都花在创建游戏引擎上,而不是游戏上。

Tim Sweeney1:02:12

Yeah.

是的。

1:02:12 A new engine is a big bundle of code and tools, a huge software package that provides all the functions you need to build any sort of a 3D graphics application.

新引擎是一大堆代码和工具,是一个巨大的软件包,提供构建任何类型的 3D 图形应用程序所需的所有功能。

Game developers use it to make games and that’s the predominant use.

游戏开发者用它来制作游戏,这是主要用途。

But it’s also used in Hollywood film and television production to create 3D scenery in real time for production sets, to do a pre-visualization.

但它也用于好莱坞电影和电视制作中,为制作场景实时创建 3D 场景,进行预可视化。

It’s used by car makers to visualize their cars before they’re constructed or manufactured.

汽车制造商使用它在制造或制造汽车之前对其进行可视化。

It’s used by architects to preview buildings before they’re made and industrial designers of all sorts.

建筑师和各种工业设计师都用它来预览建筑物。

And it provides all of the 3D simulation features you need, both for creating highly realistic 3D graphics, but also physics and interactions between objects and making things happen like you might see in the real world.

它提供了您所需的所有 3D 模拟功能,不仅可以创建高度逼真的 3D 图形,还可以创建物理和对象之间的交互,并使事情发生就像您在现实世界中看到的那样。

And supports a huge variety of styles, from Pixar stylized movies to cell shading to photorealism.

并且支持多种风格,从皮克斯风格化电影到单元格着色再到照片写实主义。

And it can be used for anything that needs real-time 3D graphics.

它可用于任何需要实时 3D 图形的地方。

Lex Fridman1:03:17

Including humans that populate those three-dimensional worlds.

包括那些居住在三维世界中的人类。

1:03:17 And we’ll probably talk a bunch of the details involved in the process of creating ultra realistic humans, because we humans care about how other humans look and how they convey emotion and express, how they speak, all that kind of stuff.

我们可能会讨论创造超现实人类过程中涉及的一系列细节,因为我们人类关心其他人的外表以及他们如何传达情感和表达,他们如何说话,所有这些东西。

But so yes, it’s the 3D objects that are static, the 3D objects that are dynamic, and on the dynamic front, including humans that are ultra dynamic.

但是,是的,3D 对象是静态的,3D 对象是动态的,而在动态方面,包括超动态的人类。

1:03:53 So all of that.

所以这一切。

You have to create this engine that’s simulates that world, this beautiful world that we know and love.

你必须创建这个模拟那个世界的引擎,这个我们所知道和热爱的美丽世界。

But you’re early, so here you see Doom and you’re trying to create this world and trying to create an engine that would not just power Unreal the video game, but future video games.

但你还早,所以在这里你看到了《毁灭战士》,你正在尝试创造这个世界,并尝试创建一个引擎,不仅为虚幻视频游戏提供动力,而且为未来的视频游戏提供动力。

So how do you go about it?

那么你该怎么做呢?

What are you thinking?

你在想什么?

And I should sort of linger on that.

我应该在这一点上徘徊。

That is a crazy bet that we’re going to build an engine as a company.

这是一个疯狂的赌注,我们将作为一家公司来制造一个引擎。

Tim Sweeney1:04:27

Yeah.

是的。

1:04:27 Well, the philosophy began with ZZT and continued onward.

嗯,这一理念始于 ZZT 并继续向前发展。

We’re not just building a game for players to play.

我们不仅仅是在构建一款供玩家玩的游戏。

We’re also building tools that could be used for building that game or any other game and catering to all of the artists and designers who had used the tool.

我们还在构建可用于构建该游戏或任何其他游戏的工具,并满足所有使用过该工具的艺术家和设计师的需求。

And so that philosophy started at the very early parts of Uinreal development.

因此,这一理念从 Uinreal 开发的早期阶段就开始了。

I was building the tools for level designers like Cliff Bleszinksi and artists like James Schmalz.

我正在为 Cliff Bleszinksi 等关卡设计师和 James Schmalz 等艺术家构建工具。

And as we began marketing the game, thinking it was six months away, we were constantly releasing screenshots and things like that.

当我们开始营销游戏时,我们认为还有六个月的时间,所以我们不断发布屏幕截图和类似的东西。

Other companies started calling us and saying they wanted to build 3D games too, but they didn’t have the expertise for that and they wanted to license our 3D engine.

其他公司开始打电话给我们,说他们也想制作 3D 游戏,但他们没有这方面的专业知识,他们想获得我们的 3D 引擎的许可。

1:05:16 And this was one of the coolest pivots in Epic’s history.

这是 Epic 历史上最酷的转折点之一。

MicroProse called up Mark Rein, our pice President and long time business guy, and said they wanted to license our engine.

MicroProse 打电话给我们的 PICE 总裁兼长期业务人员 Mark Rein,并表示他们希望获得我们引擎的许可。

And Mark Rein was like, “What?

马克·雷恩说:“什么?

You what you want to license what?

你想许可什么?

An engine?

发动机?

What engine?” And they explained to him what they wanted to license.

什么发动机?”他们向他解释了他们想要许可的内容。

He said, “Oh, that engine.

他说:“哦,那个引擎。

Yeah, yeah, that’s very expensive.”

是啊是啊,太贵了。”

1:05:38 But this was one of the critical things that kept Epic going through that three and a half years.

但这是让 Epic 度过三年半的关键事情之一。

We were starting to license our engine out to other developers.

我们开始将我们的引擎授权给其他开发商。

MicroProse took two licenses and we got in half a million dollars from that.

MicroProse 获得了两个许可证,我们从中获得了 50 万美元。

And a company, GT Interactive, licensed our engine to build another game and we got paid for that.

GT Interactive 公司授权我们的引擎来开发另一款游戏,我们因此获得了报酬。

And so we had this revenue stream funding the development of Unreal Engine from other games that were being built by other developers.

因此,我们利用其他开发商开发的其他游戏的收入来源来资助虚幻引擎的开发。

And because they were the lifeline for the company, we took the engine business very seriously from the start.

因为它们是公司的生命线,所以我们从一开始就非常重视发动机业务。

We set up mailing lists so that our partners could ask us questions.

我们建立了邮件列表,以便我们的合作伙伴可以向我们提问。

And all the developers and artists working on our games were participating in helping customers.

所有参与我们游戏的开发者和美术师都参与帮助客户。

Everybody took that very seriously because it was our funding source.

每个人都非常重视这一点,因为这是我们的资金来源。

And that’s kind of set this dual spirit of Epic of building technology and supporting game developers simultaneous with building games and supporting gamers.

这就是 Epic 的双重精神:在构建游戏和支持游戏玩家的同时构建技术和支持游戏开发者。

It’s continued onward and just grown over time.

它不断向前发展,并且随着时间的推移而不断增长。

Lex Fridman1:06:36

Can you just go back to that, you programming.

你能回到那个,你的编程吗?

1:06:36 What are some interesting technical challenges you had to overcome?

您必须克服哪些有趣的技术挑战?

You mentioned dynamic lighting, create this three-dimensional world and try to figure out the puzzle of how you actually do that at a time when nobody, Carmack and you, doing this kind of thing.

你提到了动态照明,创造了这个三维世界,并试图弄清楚当没有人(卡马克和你)做这种事情时,你实际上是如何做到这一点的。

It’s a totally open Wild West.

这是一个完全开放的狂野西部。

So what are some interesting technical challenges you have to try to solve?

那么您必须尝试解决哪些有趣的技术挑战?

Tim Sweeney1:07:06

There’s a lot.

有很多。

1:07:06 Some of them are visible on screen and some are behind the scenes and still require a lot of innovation.

其中一些在屏幕上可见,一些在幕后仍然需要大量创新。

All of the graphical techniques were really interesting challenges.

所有的图形技术都是非常有趣的挑战。

And Unreal Engine in those early days went a lot further than the Quake engine and building environments using constructive solid geometry with a real-time editor.

早期的虚幻引擎比 Quake 引擎和使用构造性实体几何与实时编辑器构建环境走得更远。

And that was a really interesting technical challenge.

这是一个非常有趣的技术挑战。

The idea is building is extremely tedious if you are only adding objects to the world.

这个想法是,如果你只是向世界添加对象,那么构建是非常乏味的。

If you want to build a door, then you need to add like a dozen different pieces of door frames and add a bunch of different walls together to fit together in the right shape.

如果你想建造一扇门,那么你需要添加十几个不同的门框,并将一堆不同的墙添加在一起,以组合成正确的形状。

It sure would be easier if you could just start with a wall and subtract the door out.

如果你能从一堵墙开始,然后减去门,那肯定会更容易。

And so we had this way of adding geometry to the world and subtracting geometry and the engine would perform all of the calculations on that.

因此,我们采用了向世界添加几何图形和减去几何图形的方式,引擎将对此执行所有计算。

And this is something that I’d been anticipating was possible for-

这是我一直期待的事情——

1:08:03 This is something that I’d been anticipating was possible for a long time, but when I finally got around to it took this 30-hour coding session to figure out all of the special cases of the code that needed to be implemented to make that work.

这是我长期以来一直期待的事情,但当我最终抽出时间时,我花了 30 小时的编码时间来弄清楚需要实现的代码的所有特殊情况才能实现这一点。

In the course of 30 hours, I got constructive solid geometry up and running.

在 30 个小时的时间里,我建立并运行了构造实体几何。

1:08:18 I started doing that, handed it to James Schmaltz the next time we were together and it’s like, “Okay, I think you’re cheating here.” You create a giant Taurus and then add another giant Taurus interlocked with it and then subtracted a cylinder from it and created this really advanced composite object with just three operations.

我开始这样做,下次我们在一起时把它交给詹姆斯施马尔茨,就像,“好吧,我认为你在这里作弊。”您创建一个巨大的金牛座,然后添加另一个与其连锁的巨型金牛座,然后从中减去一个圆柱体,只需三个操作即可创建这个真正先进的复合对象。

He was like, “Whoa, I can’t believe this.” It’s like, “Yeah, we figured it out.” That was cool to see it for the first time.

他说:“哇,我简直不敢相信这一点。”就像是,“是的,我们想通了。”第一次看到它真是太酷了。

It was probably the first time somebody had done constructive solid geometry in real-time, but it was also a really useful artist tool that all the artists appreciated immediately began making use of.

这可能是第一次有人实时完成构造实体几何,但它也是一个非常有用的艺术家工具,所有欣赏的艺术家都立即开始使用。

Lex Fridman1:08:52

Can you actually speak to that, the 30-hour session?

你真的能谈谈 30 小时的会议吗?

1:08:52 I mean, this is not, from everything I know about computational geometry, doing this kind of thing from your perspective is not, that’s not easy.

我的意思是,这不是,从我对计算几何的了解来看,从你的角度做这种事情并不容易。

What is it?

它是什么?

The uncertainty, the open questions involved.

不确定性,涉及的开放性问题。

I mean, even just on the algorithm front, how to do that efficiently and then plus, the usual programming thing of debugging, like suffering through the trickiness of it.

我的意思是,即使只是在算法方面,如何有效地做到这一点,然后加上通常的编程调试,比如忍受它的棘手之处。

We don’t have really, at that time, you don’t have the tooling to really visualize everything that’s going on really well.

那时我们确实没有工具来真正可视化正在发生的一切。

You’re probably using some crappy editor, I mean, there’s just a lot of friction here, so the 30 hour session is one that’s probably rough.

你可能正在使用一些蹩脚的编辑器,我的意思是,这里有很多摩擦,所以 30 小时的会话可能很艰难。

It’s a rough one.

这是一个粗糙的。

Tim Sweeney1:09:44

Your brain works in different ways and depending on your state, right?

你的大脑会根据你的状态以不同的方式工作,对吗?

1:09:44 There are some things that require really working on a problem fresh, where you’ve put together a bunch of logical pieces and now you just need to write a whole lot of code to make it all work together and plumb a whole lot of data between a whole lot of different algorithms.

有些事情需要真正解决一个新的问题,你已经将一堆逻辑部分放在一起,现在你只需要编写大量代码来使其协同工作,并在大量不同的算法之间查找大量数据。

I think our brains have vastly more horsepower than we’re able to directly access by thinking of what code to type next.

我认为我们的大脑拥有比我们通过思考接下来要输入什么代码来直接访问的能力要强大得多的能力。

After you’ve been working for a very long time, you can get into a sleep-deprived state where you have much more direct access to that low-level knowledge.

当你工作了很长一段时间后,你可能会进入睡眠不足的状态,在这种状态下你可以更直接地获取低级知识。

Lex Fridman1:10:25

That’s great.

那太棒了。

Tim Sweeney1:10:26

Yeah, because there are symptoms that are well-studied of sleep deprivation.

是的,因为睡眠不足的一些症状已经得到了充分研究。

1:10:26 One of them is short-term memory loss.

其中之一是短期记忆丧失。

You’re working without the easy recall of the code you just typed, but your brain is then freed to think about other problems.

你在工作时无法轻松回忆起刚刚输入的代码,但你的大脑可以自由地思考其他问题。

I built up this intuition over a very long period of time.

我在很长一段时间内建立了这种直觉。

The foundation for the subject is the binary space partitioning tree.

该主题的基础是二元空间划分树。

This data structure invaded by a computer.

这种数据结构被计算机入侵。

Graphics researcher, Bruce Naylor.

图形研究员布鲁斯·内勒。

Carmack had picked up on that and had used the technique in Doom to really great effect.

卡马克注意到了这一点,并在《毁灭战士》中使用了该技术,取得了非常好的效果。

I’d picked up on that and no one really was using this technique for all of its graphics and rendering, but it was just additive geometry everywhere and it had a lot of overlapping polygons and it was pretty inefficient.

我注意到了这一点,但没有人真正在所有图形和渲染中使用这种技术,但它只是到处都是附加几何体,并且有很多重叠的多边形,而且效率相当低。

1:11:13 I had the idea that if we had a BSP tree, there was a really efficient way to do constructive solid geometry.

我的想法是,如果我们有一棵 BSP 树,就有一种非常有效的方法来构建构造实体几何。

To do that, you had to break down the ways that different pieces of geometry can fit together.

为此,您必须分解不同几何体的组合方式。

I’d broken it down into 14 different cases and most of them are pretty simple, cranked them out.

我把它分成了 14 个不同的案例,其中大多数都非常简单,我把它们都搞出来了。

Anyways, I got towards the end there were some pretty complicated things like, “Well, how do you deal with coplanar polygons?

不管怎样,我在最后遇到了一些非常复杂的事情,比如,“那么,你如何处理共面多边形?

They’re in the same plane and pointing in the same direction versus the other direction.

它们位于同一平面上,并且指向同一方向而不是另一个方向。

In what cases should you keep them in?

在什么情况下你应该保留它们?

What cases should you eliminate them,” and so on and so on to create really efficient geometry output and just plowing through it eventually through mostly a deduction, but some trial and error too.

在什么情况下你应该消除它们”等等,以创建真正有效的几何输出,并最终通过主要的推论,但也有一些尝试和错误来努力完成它。

Sometimes you just have to try the possibilities and see what works.

有时你只需要尝试各种可能性,看看什么有效。

Yeah, I cranked it out and it worked, and the next day I came in kind of weary and I was like, “Oh, wow, this actually did work.

是的,我把它搞出来了,它起作用了,第二天我有点疲倦了,我想,“哦,哇,这确实起作用了。

It wasn’t just a dream.”

这不仅仅是一个梦。”

Lex Fridman1:12:04

You’re considering the edge cases also.

您也在考虑边缘情况。

1:12:04 I mean, that’s the problem with geometry is like there’s probably just going to be all kinds of weird polygons that you have to …

我的意思是,这就是几何学的问题,就像可能会有各种奇怪的多边形,你必须......

So you’re thinking imagining the edge cases and trying to see how do I not create inefficiencies in this algorithm while still considering the edge cases, allowing for the edge cases?

因此,您正在考虑想象边缘情况,并尝试了解如何在考虑边缘情况、考虑到边缘情况的同时不导致该算法效率低下?

Tim Sweeney1:12:24

Yeah, it’s pretty easy to write software that’s like 99% correct.

是的,编写 99% 正确率的软件非常容易。

1:12:24 It’s the 1% that’s the really hard part and where the devil lies in the details.

这 1% 才是真正困难的部分,细节决定成败。

Lex Fridman1:12:35

What about lighting?

照明怎么样?

1:12:35 Is there other interesting-

还有其他有趣的吗——

Tim Sweeney1:12:37

Well, the funny answer is we know the laws of physics, so it’s actually really easy to do everything in computer graphics, but the direct solution of the laws of physics is immensely slow.

好吧,有趣的答案是我们知道物理定律,所以实际上在计算机图形学中做所有事情都很容易,但物理定律的直接求解速度非常慢。

1:12:37 What we’re finding are approximations rather than complete solutions because you need something that’s a million times faster than the brute force answer.

我们找到的是近似值而不是完整的解决方案,因为您需要比暴力答案快一百万倍的东西。

Lex Fridman1:12:58

We should say that the physics of the scene is you just take a bunch of photons and bounce them around.

我们应该说,场景的物理原理是,你只需获取一堆光子并将它们反弹回来即可。

1:12:58 That’s how light works.

这就是光的工作原理。

That’s going to be very inefficient because there’s a lot of bouncing and a lot of photons.

这将是非常低效的,因为有大量的弹跳和大量的光子。

Tim Sweeney1:13:11

Yeah, photon tracing is the subject matter that does brute force calculation of pixels on a screen from all of the light in the scene, and it works and it’s correct, and it just is an implementation of laws of physics and it’s millions or billions of times slower than what we do.

是的,光子追踪是根据场景中的所有光线对屏幕上的像素进行强力计算的主题,它有效且正确,它只是物理定律的实现,它比我们所做的慢数百万或数十亿倍。

1:13:11 Carmack had figured out how to do really cool lighting algorithms, including real-time lighting with objects moving around, and I hadn’t taken it very far.

卡马克已经弄清楚了如何实现非常酷的照明算法,包括物体移动时的实时照明,而我并没有走得太远。

With Unreal Engine, I realized we don’t have nearly enough computing performance on our CPU to compute the light of every pixel on the screen from all of the light sources that affect it.

借助虚幻引擎,我意识到我们的 CPU 没有足够的计算性能来计算屏幕上每个像素来自影响它的所有光源的光线。

Yeah, we were at a six-cycle texture mapper and we couldn’t afford 30 more cycles for lighting, and so the answer had to be some approximation.

是的,我们使用的是六周期纹理映射器,我们无法承担 30 个以上的照明周期,因此答案必须是某种近似值。

The one that Carmack had picked up on in the quake engine was lightmapping.

卡马克在地震引擎中发现的一个问题是光照贴图。

If we, instead of calculating all the lighting on every pixel, what if we made a big texture that we placed over all of the walls in the scene that was wallpaper, and what if we say at every foot, we’re going to compute a lighting value for just that one foot grid on the object rather than computing it everywhere.

如果我们不是计算每个像素上的所有照明,而是制作一个大纹理,将其放置在场景中作为壁纸的所有墙壁上,如果我们说在每一英尺处,我们将只计算对象上那一英尺网格的照明值,而不是在任何地方计算它。

Then, well, if we just linear interpolate that over the course of it, get a lighting solution that actually works pretty well and is fast enough to work.

然后,如果我们只是在整个过程中进行线性插值,就会得到一个实际上工作得很好并且足够快的照明解决方案。

A lot of Unreal Engine’s lighting techniques were based on lightmapping.

许多虚幻引擎的光照技术都是基于光照贴图的。

We introduced colored lighting, so you could have colored light sources.

我们引入了彩色照明,因此您可以拥有彩色光源。

Then we realized, “Oh, since we’re doing this and we’re doing it on light maps, we can actually do some pretty expensive calculations, hundreds of cycles since we’re only calculating it for every one foot of world space rather than every pixel.”

然后我们意识到,“哦,既然我们正在这样做,并且是在光照图上进行的,我们实际上可以进行一些相当昂贵的计算,数百个周期,因为我们只针对世界空间的每一英尺而不是每个像素进行计算。”

1:14:49 We introduced a whole bunch of elaborate lighting effects like torch flickering and the caustic effects of water bouncing off of a surface and so on, pulsing lights and blinking lights and everything else, and created a system.

我们引入了一大堆精心设计的照明效果,例如火炬闪烁和水从表面弹起的焦散效果等,脉冲灯和闪烁灯以及其他一切,并创建了一个系统。

I created a system for compositing them together.

我创建了一个将它们组合在一起的系统。

If you had an arbitrary number of light sources, they could all do that.

如果你有任意数量的光源,它们都可以做到这一点。

Then I implemented a shadowing algorithm.

然后我实现了一个阴影算法。

If you cast a ray from a light to a point on a surface and see whether it intersects any other geometry, if it doesn’t intersect, then the light hits the object.

如果将光线从光线投射到表面上的一点,并查看它是否与任何其他几何体相交,如果不相交,则光线会击中该对象。

If it does intersect, then the light hits something else first and that pixel on the object should be dark.

如果它确实相交,那么光线首先照射到其他物体上,物体上的像素应该是黑色的。

I built a real-time version of this and it ran at about a half a frame a second.

我构建了一个实时版本,它的运行速度约为每秒半帧。

I was running around at half a frame a second, shooting out light projectiles and looking at dynamic lighting, and it was like, someday computers will be fast enough for this, but not today.

我以每秒半帧的速度运行,发射光射弹并观察动态光照,就好像有一天计算机的速度足够快,可以做到这一点,但不是今天。

I made a non-real-time version that pre-calculates all the lighting and realized, “Oh wait, if you pre-calculated the shadowing on an object, you can still apply the lighting dynamically as long as the light’s not moving.” You could do torch flickering with shadows and figured out all the cases of dynamic and static lighting that were actually practical on a computer at the time and expose them to artists.

我制作了一个非实时版本,预先计算所有照明并意识到,“哦等等,如果您预先计算了对象上的阴影,只要灯光不移动,您仍然可以动态应用照明。”你可以让火炬在阴影中闪烁,并找出当时在计算机上实际可行的动态和静态照明的所有情况,并将它们暴露给艺术家。

This was the wonderful thing.

这是一件美妙的事情。

I was just typing in these old features, exposing them to artists, and every day they’d find like a dropdown with some more lighting options available to them, and they’d start using them and they’d do things that I never thought possible.

我只是输入这些旧功能,将它们展示给艺术家,每天他们都会发现一个下拉菜单,其中有更多可供他们使用的照明选项,他们会开始使用它们,他们会做一些我从未想过可能的事情。

1:16:18 This was always the coolest thing as a programmer building an engine, you might think you know the implications of the feature you’re building, but artists are so clever that you’ll always find that you’ve built the capability of doing vastly more than you ever anticipated as they start to use combinations of features together in concert to do ever more amazing things.

作为构建引擎的程序员,这始终是最酷的事情,你可能认为你知道你正在构建的功能的含义,但艺术家是如此聪明,当他们开始协同使用功能组合来完成更令人惊奇的事情时,你总是会发现你已经建立了比你预期的更多的能力。

Lex Fridman1:16:36

That’s the genius of artists, is they’re given constraints and within those constraints they create something you could have never possibly imagined given the constraints.

这就是艺术家的天才,他们受到限制,并在这些限制内创造出一些你在限制下永远无法想象的东西。

1:16:36 That’s such a beautiful coupling between engineering and artistry and art.

这是工程与艺术之间如此美妙的结合。

Tim Sweeney1:16:51

That’s right, and it’s timeless.

没错,而且它是永恒的。

1:16:51 What would the Renaissance painters do with paints and what do the early game artists do with early engines, everybody’s figuring out the capabilities of their medium and you’re seeing a revolution.

文艺复兴时期的画家会用颜料做什么,早期的游戏艺术家会用早期的引擎做什么,每个人都在弄清楚他们的媒介的功能,你正在看到一场革命。

Lex Fridman1:17:05

This is blowing my mind.

这让我大吃一惊。

1:17:05 This is so fun.

这太有趣了。

What about fog?

雾呢?

You mentioned fog.

你提到了雾。

How do you even do fog?

你怎么做雾?

You mentioned Unreal, so the first version had fog.

你提到了虚幻,所以第一个版本有雾。

Tim Sweeney1:17:16

Yeah, it was a funny thing.

是的,这是一件有趣的事情。

1:17:16 This graphics hardware company had just started up in Finland and they released a screenshot of what their GPU was doing, and they showed a scene filled with volumetric fog.

这家图形硬件公司刚刚在芬兰成立,他们发布了一张 GPU 运行情况的屏幕截图,展示了一个充满体积雾的场景。

They had a foggy room with some light sources in it.

他们有一个有雾的房间,里面有一些光源。

When that happens in the real world, what you see are glows around the lights as the light brightens the fog around it, but the brightening of the fog diminishes over time because the fog absorbs some lighting.

当这种情况发生在现实世界中时,您看到的是灯光周围的发光,因为灯光照亮了周围的雾,但雾的亮度随着时间的推移而减弱,因为雾吸收了一些光线。

The further you get away from the light, the more fall off there is.

距离光线越远,脱落的程度就越大。

We have a bunch of colored lights overlapping together in a space like that.

我们在这样的空间里有一堆彩色的灯光重叠在一起。

The effect is just absolutely magical, like being out on a foggy light with street lamps above.

效果绝对是神奇的,就像在雾蒙蒙的灯光下,上面有路灯一样。

It’s something that’s surreal and looked just beautiful.

这是一种超现实的东西,看起来很美丽。

I was like, “Oh my God, they figured out how to do real-time volumetric fog.

我当时想,“天哪,他们想出了如何制作实时体积雾。

I have to figure it out myself.” That was another 30-hour coding session.

我得自己想办法。”那又是一个 30 小时的编码课程。

Lex Fridman1:18:07

Nice.

好的。

Tim Sweeney1:18:08

At the core I realized, okay, what’s happening here is we have this lighting function saying that light at a particular point in space is falling off with the inverse square of the light, the distance from the light source, right?

我意识到,好吧,这里发生的事情是,我们有一个照明函数,表示空间中特定点的光随着光的平方反比(距光源的距离)而衰减,对吗?

1:18:08 The inverse square is all from Isaac Newton, which applies to lighting.

平方反比全部来自艾萨克·牛顿,适用于照明。

I had to realize that the way the fog interacted with the light was that you calculate the view from your eye’s position to a point on a surface in the world.

我必须意识到雾与光相互作用的方式是你计算从你的眼睛位置到世界表面上的一点的视图。

It’s going through fog and you’re accumulating more and more light as a function of the amount of light illuminating the fog at that point in time.

当它穿过雾时,你会积累越来越多的光,作为当时照亮雾的光量的函数。

1:18:41 Well, I’d studied that in mechanical engineering without even knowing it.

嗯,我在机械工程领域学过这一点,但我自己并不知道。

That’s the line integral.

这就是线积分。

You have an integral over a line of some function.

你在某个函数的线上有一个积分。

Well, this is exactly what it’s for.

嗯,这正是它的用途。

It’s for accumulating the values of a function over a continuous space and time.

它用于在连续的空间和时间上累积函数的值。

I did a bunch of math and realized that, oh wow, the integral.

我做了很多数学计算,然后意识到,哇,积分。

Then I looked in a reference book of all the integrals, and thankfully people have solved them all.

然后我查阅了所有积分的参考书,值得庆幸的是人们已经解决了所有这些问题。

I realized the integral of this transformed one over R-squared turns out to be solved by the arc tangent of R.

我意识到这个变换后的 R 平方积分可以通过 R 的反正切来求解。

If you calculate some parameters based on the position of the eye and the position of the surface point you’re ultimately seeing, then you calculate exactly how much fog you can accumulate from that.

如果您根据眼睛的位置和您最终看到的表面点的位置计算一些参数,那么您就可以准确计算出可以从中积累多少雾。

Of course, you can’t do that per pixel because that’s hundreds of cycles on CPU time.

当然,您无法对每个像素执行此操作,因为这需要数百个 CPU 周期。

What we had to do is calculate volumetric fog on something equivalent to a light map, but calculating fog every square meter in the world.

我们要做的是在相当于光照图的东西上计算体积雾,但计算世界上每一平方米的雾。

We had enough performance for that, built volumetric lighting and gave it to the artists and they started building magically detailed levels with volumetric fog in real time.

我们有足够的性能来实现这一点,构建了体积照明并将其提供给艺术家,他们开始使用体积雾实时构建神奇的详细关卡。

Then decades later, I was talking to one of the engineers who’d worked on that hardware and asked about their volumetric fog and told them how it inspired me to figure out how to do it in real time myself.

几十年后,我与一位从事该硬件工作的工程师交谈,询问了他们的体积雾,并告诉他们这如何激励我自己弄清楚如何实时做到这一点。

He was like, “Oh no, we cheated.

他说:“哦,不,我们作弊了。

We just rendered it out of 3D Studio Max.”

我们刚刚从 3D Studio Max 中渲染了它。”

Lex Fridman1:20:06

That’s awesome.

太棒了。

1:20:06 That is so awesome.

那真是太棒了。

That is so inspiring on so many levels that you saw that maybe it’s possible even if it was kind of smoke and mirrors, and then you actually made it happen.

这在很多层面上都是如此鼓舞人心,以至于你看到也许这是可能的,即使它是一种烟雾和镜子,然后你真的让它发生了。

It’s so inspiring to hear these kinds of stories when there’s so much uncertainty and you figure out and so many constraints and you figure out how to bring it to life in real time and create this world that Unreal did.

当存在如此多的不确定性并且你弄清楚了如此多的限制并且你弄清楚如何将其实时变为现实并创建虚幻世界时,听到这些故事真是太鼓舞人心了。

Maybe if we could just pause, since you mentioned John Carmack a few times, as a fellow pioneer in the game industry at that time, what do you admire about John?

也许我们可以暂停一下,既然您多次提到约翰·卡马克,作为当时游戏行业的先驱者,您对约翰有什么钦佩之处?

Tim Sweeney1:20:43

John singularly has this intense dedication to getting the best result from his code and having absolutely no attachment to passcode and some of the legendary things he did.

约翰非常热衷于从他的代码中获得最佳结果,并且完全不依赖密码和他所做的一些传奇性的事情。

1:20:43 The end result was an absolute breakthrough in real-time computer graphics, weren’t his first try.

最终的结果是实时计算机图形领域的绝对突破,这并不是他的第一次尝试。

They were like his seventh or eighth try after he’d done something time and time again, tried it, found a better approach, thrown out the old one, built it again, and continually rewrite his code until he found the absolute best solution to a problem.

就像他一次又一次地做了某件事之后的第七次或第八次尝试,尝试一下,找到更好的方法,扔掉旧的方法,重新构建它,并不断重写他的代码,直到找到问题的绝对最佳解决方案。

I think that stands as a lesson for every programmer to pick up on.

我认为这是每个程序员都应该吸取的教训。

When something is really, really important, its performance is absolutely critical to the product or its quality or its capabilities.

当某件事真的非常重要时,它的性能对于产品或其质量或功能绝对至关重要。

Just iterate on it until you’ve achieved perfection and don’t settle for the first or second solution is good enough.

只需迭代直到达到完美,并且不要满足于第一个或第二个解决方案就足够了。

Lex Fridman1:21:40

The result of that both you and him sort of define the future of gaming, of gaming worlds.

结果是你和他都定义了游戏、游戏世界的未来。

1:21:40 It’s so beautiful to see.

真是太漂亮了。

It’s just fascinating.

这真是令人着迷。

It’s inspiring because under so much uncertainty, under so many constraints, you figure out a way.

这是鼓舞人心的,因为在如此多的不确定性、如此多的限制下,你找到了一种方法。

That actually continues to this day because yes, the hardware is improved incredibly, but in order to create an ultra realistic, highly dynamic, real time rendering of the world around us, it’s still really, really difficult.

这种情况实际上一直持续到今天,因为是的,硬件得到了令人难以置信的改进,但为了创建我们周围世界的超现实、高度动态、实时渲染,它仍然非常非常困难。

There’s all these kinds of optimization, like you mentioned.

就像你提到的,有各种各样的优化。

Maybe you can speak to that Unreal Engine One journey from one to 5.5 or .6 now.

也许您现在可以谈谈从 1 到 5.5 或 0.6 的虚幻引擎 One 之旅。

For 30 years, you’ve been creating virtual worlds.

30 年来,您一直在创造虚拟世界。

What’s it like evolving a game engine for those 30 years when the hardware under you is improving exponentially?

在这 30 年里,当你手下的硬件呈指数级改进时,不断发展游戏引擎是什么感觉?

What are some things that changed and what are some universal truths that have not changed?

哪些事情发生了变化,哪些普遍真理没有改变?

Tim Sweeney1:22:50

It’s been an astonishing experience.

这是一次令人惊奇的经历。

1:22:50 Nobody 30 years ago had anticipated that we’d see the performance gains in hardware that we’ve actually seen in that timeframe.

30 年前,没有人预料到我们会在那个时间段内看到我们实际看到的硬件性能提升。

It’s something like 100,000 times higher CPU performance between multiple cores and higher clock rates and more parallelism.

多核、更高的时钟速率和更多的并行性之间的 CPU 性能大约提高了 100,000 倍。

If we had that in aviation, then we’d be taking a trip to neighboring stars.

如果我们在航空领域拥有这样的能力,那么我们就可以去邻近的恒星旅行。

Lex Fridman1:23:12

Alpha Centauri, yeah.

半人马座阿尔法星,是的。

Tim Sweeney1:23:13

Exactly, and in graphics, it’s been even more so.

确实如此,在图形领域更是如此。

1:23:13 It’s something like literally 10 million times more net usable GPU performance than we had back running on a Pentium 90 CPU all in 30 years.

这相当于我们 30 年来在 Pentium 90 CPU 上运行的 GPU 净可用性能的 1000 万倍。

It’s really made me appreciate that over the generations, some areas of our engine development have absolutely kept up with that technology, and the rendering team that works on Unreal Engine are the real miracle workers there.

这真的让我很感激,几代人以来,我们引擎开发的某些领域完全跟上了这项技术,而在虚幻引擎上工作的渲染团队是真正的奇迹创造者。

Just about every generation of Unreal, we’ve replaced most of the rendering code and the different leaders in different points and times, and the different luminaries have built systems that were absolutely rethought and optimized for the latest generation of hardware.

几乎每一代虚幻引擎,我们都在不同的时间点更换了大部分渲染代码和不同的领导者,不同的杰出人物构建了针对最新一代硬件进行彻底重新思考和优化的系统。

1:24:03 Unreal Engine One was built for software rendering and then the Voodoo One came along late in the cycle and we had support for it, but it wasn’t fully capable and utilized.

虚幻引擎 One 是为软件渲染而构建的,然后 Voodoo One 在该周期后期出现,我们对其提供了支持,但它并没有完全发挥作用并得到利用。

Unreal Engine Two was about bringing all of the latest GPU hardware acceleration features to the engine and keeping forward and building some new features like vehicles and a few other capabilities.

虚幻引擎二号旨在将所有最新的 GPU 硬件加速功能引入到引擎中,并不断向前发展并构建一些新功能,例如车辆和其他一些功能。

All this was in the early GPU era before GPUs had really broken out of everybody’s expectations and more That breakout occurred with DirectX Nine and the capabilities of programmable shaders.

所有这一切都发生在 GPU 时代的早期,当时 GPU 还没有真正突破每个人的期望,而且这种突破发生在 DirectX 9 和可编程着色器的功能上。

Once you had control of writing code, running on the GPU that could color every pixel on the screen, and that GPU code was literally a factor of 100 times faster than the equivalent code I wrote a few years earlier on the Pentium 90.

一旦你能够控制编写代码,在 GPU 上运行,可以为屏幕上的每个像素着色,那么 GPU 代码实际上比我几年前在 Pentium 90 上编写的等效代码快 100 倍。

1:24:55 DirectX Nine Generation was a godsend, and Andrew Scheidecker longtime Epic Luminary wrote the core of the Unreal Engine Three render around real-time pixel shading, real-time lighting, being able to do dynamic shadows using several different techniques and multi-thread the render to support bits of the early dual core CPUs that were starting to show up at the time.

DirectX 九代是天赐之物,Andrew Scheidecker 的长期 Epic Luminary 围绕实时像素着色、实时光照编写了虚幻引擎三渲染的核心,能够使用几种不同的技术进行动态阴影以及多线程渲染以支持当时开始出现的早期双核 CPU 的位。

It was a massive, massive graphical upgrade.

这是一次巨大的图形升级。

Unreal Engine Four, made a number of improvements and just continued to add features to make more and more give artists more and more options for lighting and for geometry that created realism.

虚幻引擎四进行了许多改进,并继续添加功能,使越来越多的功能为艺术家提供越来越多的照明和创造现实主义的几何体的选择。

1:25:40 Then I think probably our biggest single level of a leap came with Unreal Engine Five with a Nanite Micropolygon geometry solution and with Lumen Global Illumination Lighting Solution, which I think really bridged the gap from game-ish computer graphics to total observable photorealism for artists who wanted to create that.

然后我认为我们最大的单一飞跃可能是虚幻引擎 5 与 Nanite Micropolygon 几何解决方案和 Lumen 全局照明照明解决方案,我认为这确实弥合了从游戏式计算机图形到完全可观察的照片写实主义的差距,对于想要创造它的艺术家来说。

That’s been the evolution and the progress on the graphics side is absolutely astonishing as it is on the audio side in a number of other areas.

这就是演变,图形方面的进步绝对是惊人的,就像在许多其他领域的音频方面一样。

Parts of the engine also, haven’t changed all that much since the version I wrote and shipped in 1998.

自 1998 年我编写并发布的版本以来,引擎的某些部分也没有发生太大变化。

The file management system has been optimized a number of times, but it hasn’t been completely rethought.

文件管理系统已经优化了很多次,但还没有完全重新考虑。

The networking system, the ways that clients and servers talk together and negotiate game State is still an evolution of the thing I wrote and it’s feeling kind of dated now.

网络系统、客户端和服务器相互通信以及协商游戏状态的方式仍然是我写的东西的演变,现在感觉有点过时了。

You still see networking bugs in Fortnite where for some reason when you’re spectating, you’re not seeing some parameters update.

您仍然会在《堡垒之夜》中看到网络错误,由于某种原因,当您观看时,您没有看到某些参数更新。

Well, that’s because of the lossful nature of that networking model.

嗯,这是因为该网络模型的有损性质。

1:26:51 The biggest limitation that’s built up over time is the single-threaded nature of game simulation in Unreal Engine.

随着时间的推移,最大的限制是虚幻引擎中游戏模拟的单线程特性。

We run a single-threaded simulation.

我们运行单线程模拟。

If you have a 16 core CPU, we’re using one core for game simulation and running with the complicated game logic because single-threaded programming is orders of magnitude easier than multi-threaded programming.

如果您有 16 核 CPU,我们将使用一个核心来进行游戏模拟并运行复杂的游戏逻辑,因为单线程编程比多线程编程容易几个数量级。

We didn’t want to burden either ourselves or our partners or the community with the complications of multi-threading.

我们不想因为多线程的复杂性而给自己、合作伙伴或社区带来负担。

Over time that becomes an increasing limitation.

随着时间的推移,这将成为越来越大的限制。

We’re really thinking about and working on the next generation of technology and being on Unreal Engine Six.

我们正在认真思考并致力于下一代技术以及虚幻引擎六。

That’s the generation we’re actually going to address a number of the really core limitations that have been with us over the history of Unreal Engine and get those on a better foundation that the modern world deserves, given everything that’s been learned in the field of computing in that timeframe.

在这一代人中,我们实际上将解决虚幻引擎历史上一直存在的一些真正核心限制,并根据当时在计算领域学到的一切,为这些限制奠定现代世界应有的更好基础。

Lex Fridman1:27:46

That’s a terrifyingly challenging engineering problem.

这是一个极具挑战性的工程问题。

1:27:46 It seems like every version of Unreal Engine, the amazing teams behind it are willing to just throw away most of the code, or maybe I’m being a little bit too dramatic, but basically throw away the old approaches, like you mentioned with Carmack and start again, like with Nanite and Lumen, just keep optimizing to the current hardware, but even rethinking how it’s all done going from single-threaded to multi-threaded.

似乎虚幻引擎的每个版本,其背后令人惊叹的团队都愿意扔掉大部分代码,或者也许我有点太戏剧化了,但基本上扔掉了旧的方法,就像你在 Carmack 中提到的那样,然后重新开始,就像 Nanite 和 Lumen 一样,只是不断优化当前的硬件,甚至重新思考如何从单线程到多线程。

Oh boy, that’s terrifying.

噢,天哪,太可怕了。

1:28:25 That’s in part, we’ll talk about it, why maybe you have to rethink even the programming language that’s being used to rethink a lot of things.

这在一定程度上是我们将讨论的,为什么你可能必须重新思考甚至用于重新思考很多事情的编程语言。

That’s fascinating.

这很有趣。

Can we just stick on Unreal Engine Five?

我们可以继续使用虚幻引擎 5 吗?

I watched a bunch of stuff, but the state of Unreal in GDC 2024.

我看了很多东西,但 GDC 2024 中虚幻的状态。

I was just giggling with excitement watching some of this stuff.

看着这些东西,我只是兴奋地咯咯笑。

If we can talk about different things here just to nerd out a little bit.

如果我们可以在这里谈论不同的事情只是为了稍微放松一下。

People should go watch this video.

人们应该去看这个视频。

They talked about the dirt.

他们谈论了污垢。

The ultra-realistic, and this is for Marvel 1943, which is kind of putting the Marvel universe into Nazi-occupied France in the winter.

超现实主义,这是《漫威 1943》的主题,有点像将漫威宇宙置于纳粹占领的法国的冬天。

There’s snow, and that’s a moment in history.

下雪了,这是历史性的一刻。

That’s a very intense moment in history, and it really creates a feeling and puts you there.

那是历史上一个非常激烈的时刻,它确实创造了一种感觉,让你身临其境。

There’s so much to that, including the snow.

有很多东西,包括雪。

1:29:31 Just looking at the dirt is a really nice way to show how do you add a lot of details to the scene in real time that gives this experience infinite detail?

仅仅观察泥土就是一种很好的方式来展示如何实时向场景添加大量细节,从而为这种体验提供无限的细节?

This is real, this is super real.

这是真实的,这是超级真实的。

Then I think in the talk they describe what’s entailed in the generation of the geometry, what’s entailed in the lighting, all that kind of stuff.

然后我认为在演讲中他们描述了几何生成所需的内容,照明所需的内容,所有此类内容。

Maybe can you speak about dirt?

也许你能谈谈污垢吗?

What are the components for people who might not know in creating this ultra-realistic, the texture, the lighting, the geometry, all of that, how Nanite, how Lumen all come together in this beautiful orchestra to paint in real time, the dirt in Nazi-occupied France in 1943?

对于那些可能不知道创造这种超现实主义作品的人来说,纹理、灯光、几何图形,所有这些,Nanite、Lumen 如何在这个美丽的管弦乐队中聚集在一起,实时绘制 1943 年纳粹占领的法国的泥土,这些元素是什么?

Tim Sweeney1:30:30

Yeah, there’s a lot happening here on screen.

是的,屏幕上发生了很多事情。

1:30:30 The real hero of this image isn’t Epic.

这张图片的真正英雄不是 Epic。

It’s the artists and technical artists who work together to build this environment.

艺术家和技术艺术家共同努力构建了这个环境。

Because the reason we showed it at GDC was it went way, way beyond what we realized the system was capable of doing, largely because of their brilliance.

因为我们在 GDC 上展示它的原因是它远远超出了我们意识到的系统能力,很大程度上是因为它们的才华横溢。

This is the magic of computer graphics.

这就是计算机图形学的魔力。

There’s not one feature that makes this cool.

没有一项功能可以让它变得很酷。

There’s a dozen technical features that each interplay, and because of the ways that they interplay with each other, you really don’t …

有十几个技术功能,每个功能都相互作用,并且由于它们相互作用的方式,你真的不......

It’s hard to actually identify the individual components of it.

很难真正识别它的各个组成部分。

1:31:05 One thing that’s happening here that’s really critical, oh yeah, now we’re seeing it being turned off, ’cause the lighting happening.

这里发生的一件事非常关键,哦,是的,现在我们看到它被关闭,因为照明发生了。

The Lumen lighting system that’s powering the scene is doing different kinds of lighting calculations at different scales.

为场景提供动力的 Lumen 照明系统正在不同尺度上进行不同类型的照明计算。

This was the work of Daniel Wright following a decade of moving the state-of-the-art of lighting forward.

这是 Daniel Wright 十年来不断推动最先进的照明技术发展的成果。

His theory, which was rather controversial at the time, was that if you have enough levels of lighting calculation, then you can get everything global illumination working everywhere from the absolute highest levels of a scene that buildings are casting correct shadows, all the way down to details like you see on the dirt here, all working in concert and without distinguishable boundaries.

他的理论在当时颇具争议,它是,如果你有足够级别的照明计算,那么你就可以让所有全局照明在任何地方发挥作用,从场景的绝对最高级别(建筑物投射正确的阴影),一直到你在泥土上看到的细节,所有这些都协同工作,没有可区分的边界。

There’s a good decade of foundational work there to make the lighting work.

为了使照明发挥作用,我们进行了十年的基础工作。

In particular, when you see the very detailed shadows interplaying between the ice and the dirt there, there’s screen space sliding.

特别是,当你看到冰和泥土之间相互作用的非常详细的阴影时,屏幕空间会发生滑动。

There’s actually shadow calculation going on, not based on the world, but on the pixels on the screen because that is the only way that we could possibly do these calculations fast enough, running them on a pixel shader.

实际上正在进行阴影计算,不是基于世界,而是基于屏幕上的像素,因为这是我们可以足够快地进行这些计算的唯一方法,在像素着色器上运行它们。

Lex Fridman1:32:21

Yeah, watch this.

是的,注意这个。

1:32:21 Watch, when you add the objects, when you add the textures, the different layering, all the shadows that have to be computed.

注意,当您添加对象时,当您添加纹理时,不同的分层以及必须计算的所有阴影。

Boy.

男生。

Tim Sweeney1:32:32

That shadowing is an amazing thing.

这种阴影真是一件了不起的事情。

1:32:32 The reason that works is counterintuitive.

有效的原因是违反直觉的。

When somebody first explained it to me, I was like, “That’s really clever, but I don’t think that will work,” but it does work because if you observe the positions of incoming lights and the Z-coordinates of the different pixels on the screen, you can figure out how your geometry there is likely to occlude other geometry.

当有人第一次向我解释它时,我想,“这真的很聪明,但我认为这行不通”,但它确实行得通,因为如果你观察入射光的位置和屏幕上不同像素的 Z 坐标,你可以弄清楚你的几何图形如何可能遮挡其他几何图形。

Even though it’s only an approximation and isn’t perfect, it looks perfectly good to the human eye and gives you the subtle shadowing that you see in a scene like this that makes it look highly realistic.

尽管它只是一个近似值并且并不完美,但它对于人眼来说看起来非常好,并且为您提供了在此类场景中看到的微妙阴影,使其看起来非常逼真。

The shadowing influences other things.

阴影会影响其他事情。

1:33:11 There’s also, some really interesting things happening with the color here, and I’m not even sure what’s causing it looks like color is bleeding from some parts of the snow onto other parts of the snow.

还有,这里的颜色发生了一些非常有趣的事情,我什至不确定是什么导致颜色看起来从雪的某些部分渗到雪的其他部分。

It looks like there’s some subsurface scattering going on.

看起来好像发生了一些次表面散射。

I’m not even sure if that’s being used in this scene.

我什至不确定这个场景中是否使用了这一点。

Then there’s a material layering system for laying down layers of material, dirt and snow and other things all making that work.

然后还有一个材质分层系统,用于放置材质、泥土、雪和其他所有东西,使之发挥作用。

Then there’s the light bouncing off of the geometry, which is another system for lighting on top of the global illumination system.

然后是从几何体反射的光,这是全局照明系统之上的另一个照明系统。

Lex Fridman1:33:47

What about reflections too?

那么反射呢?

1:33:47 Does that count as the light bounce?

这算不算光反射?

There’s a light bouncing off of stuff to light it up in different interesting ways, but then there’s also, actually literal reflections in We’re looking at a puddle in the dirt.

光线从物体上反射出来,以不同有趣的方式照亮它,但实际上,《我们正在看着泥土中的一个水坑》中也有真正的反射。

Tim Sweeney1:34:01

Yeah, yeah, that’s right, but the engine supports a number of different reflection techniques.

是的,是的,没错,但是引擎支持许多不同的反射技术。

1:34:01 One is calculating basically textures that reflect the capture, all the lighting in the scene, and then bouncing that off of texture maps.

一种是计算反映捕获的基本纹理、场景中的所有照明,然后将其从纹理贴图上反射出来。

You can see different lights bouncing off of different pixels in different ways.

您可以看到不同的光线以不同的方式从不同的像素反射。

Then there’s individual lighting casting reflections off of things too.

然后还有单独的灯光也会从物体上投射反射。

A lot of this is under the control of designers.

其中很多都在设计师的控制之下。

One of the things that’s a yet to do problem for the future is that you don’t just press a few buttons and this kind of scene magically appears.

未来尚未解决的问题之一是,你不只是按几个按钮,这种场景就会神奇地出现。

1:34:33 This is a lot of work from some highly skilled people, not only building out this particular scene, but then setting up the material layers so that you get the dirt with the ice layered on top and all the reflections working.

这是一些高技能人员的大量工作,不仅构建了这个特定的场景,而且还设置了材质层,这样你就可以得到上面有冰层的污垢,并且所有反射都起作用。

They had to make a number of technical art decisions to make this work.

他们必须做出许多技术艺术决策才能完成这项工作。

If a novice who hadn’t worked very hard built that kind of scene like this, it wouldn’t look nearly as good.

如果一个不怎么努力的新手构建出这样的场景,看起来就不会那么好。

One of the challenges we have is to make building this kind of quality level even easier and more seamless and automatic.

我们面临的挑战之一是使建立这种质量水平变得更加容易、更加无缝和自动化。

You’d like to just build a scene and say, “Use this material here and have this appearance come out of it.”

您只想构建一个场景并说:“在这里使用这种材料并从中产生这种外观。”

Lex Fridman1:35:06

Yeah.

是的。

1:35:06 I mean, once you create the scene, you could do things.

我的意思是,一旦你创建了场景,你就可以做一些事情。

I remember where they said, “Can you turn off the headlights?” I forget.

我记得他们说:“你能关掉车头灯吗?”我忘记了。

You could control the lighting.

你可以控制灯光。

I mean, all of this, we should say, this is dynamic.

我的意思是,我们应该说,所有这一切都是动态的。

You can change the position of the light.

您可以更改灯光的位置。

You can turn on the lights and off the lights.

您可以打开灯和关闭灯。

That’s incredible.

那真是难以置信。

This is all real time, the geometry, the lighting, the textures, all of it, real time.

这一切都是实时的,几何、光照、纹理,所有的一切,都是实时的。

Tim Sweeney1:35:35

This is the power of awesome technical art, three decades of feature development.

这就是令人惊叹的技术艺术、三十年功能开发的力量。

1:35:35 You have to give credit, also, to the 20 teraflops of graphics performance that Nvidia is delivering.

您还必须赞扬 Nvidia 提供的 20 teraflops 图形性能。

Lex Fridman1:35:48

Thanks, Nvidia.

谢谢,英伟达。

Tim Sweeney1:35:51

90 megahertz to this, 90 megahertz is 90 megaflops.

90兆赫兹到此,90兆赫兹就是90兆浮点运算。

1:35:51 This is 20 teraflops.

这是 20 teraflops。

That’s a big change.

这是一个很大的变化。

Lex Fridman1:35:58

That’s a lot.

就这么多了。

1:35:58 One of the other things that they talk about in the presentation is about snow.

他们在演示中谈论的其他事情之一是关于雪。

If you’re talking about 1943 Nazi Germany in the winter, you have to create a feeling, one of which is the season, the winter, the cold, and you can have to cover everything in snow.

如果你谈论的是 1943 年纳粹德国的冬天,你必须创造一种感觉,其中之一就是季节、冬天、寒冷,你可能必须用雪覆盖一切。

Here shown is the ability to control how much snow covers the objects.

这里显示的是控制对象上积雪量的能力。

The ability to do that for the artist is incredible, just to control how much snow is in the scene dynamically like that.

对于艺术家来说,做到这一点的能力是令人难以置信的,就像这样动态地控制场景中的雪量。

That’s cool.

这很酷。

Tim Sweeney1:36:40

Yeah.

是的。

Lex Fridman1:36:41

That’s really cool.

这真的很酷。

Tim Sweeney1:36:41

It’s a cool system for material layering and a dozen pieces coming together here.

这是一个很酷的材质分层系统,十几个部件在这里组合在一起。

1:36:41 You also, notice there’s fogginess and there’s some hot objects emanating fog.

您还会注意到有雾,并且有一些热物体散发出雾。

An artist did that, that didn’t just arise automatically.

一位艺术家做到了这一点,这并不是自动出现的。

Lex Fridman1:36:54

That’s called material layering.

这就是所谓的材质分层。

1:36:54 An artist creates the different materials and are able to layer the scene with it.

艺术家创建不同的材料,并能够用它对场景进行分层。

Tim Sweeney1:37:02

Yeah, layer materials on top of each other and see how much of each material should be protruding in different places with the engine handling transitions and things like that.

是的,将材料叠加在一起,看看每种材料在引擎处理过渡等不同位置应该突出多少。

Lex Fridman1:37:10

That’s on top of the geometry that creates the structure of the scene and all the occlusions that have to be computed.

这是在创建场景结构和所有必须计算的遮挡的几何体之上。

1:37:10 Okay.

好的。

I got to go to the other one that was just blowing my mind, which is smoke.

我得去看看另一个让我大吃一惊的地方,那就是烟雾。

Let me see.

让我看看。

That.

那。

Look at that.

看看那个。

Yeah.

是的。

There’s a fire in a trash can with the smoke and the shadows, the lighting and the shadows interplaying on the smoke.

垃圾桶里着火了,烟雾和阴影,灯光和阴影在烟雾中相互作用。

This is real time.

这是实时的。

Tim Sweeney1:37:48

Yeah, that’s all real time.

是的,这都是实时的。

Lex Fridman1:37:49

What the hell?

我勒个去?

1:37:49 How do you do that?

你是怎么做到的?

How do you do the smoke?

你怎么做烟?

Tim Sweeney1:37:55

Well, there’s a really powerful particle system underneath.

嗯,下面有一个非常强大的粒子系统。

1:37:55 It’s providing the technological foundations for this sort of thing, but there’s awesome artistry on top of that and an awesome physics engine powering it.

它为此类事情提供了技术基础,但除此之外还有令人惊叹的艺术性和为其提供动力的令人惊叹的物理引擎。

It’s hard to tell exactly which piece is doing what, but you have several different particle systems there.

很难准确说出哪一部分在做什么,但那里有几个不同的粒子系统。

There’s one for the fire, and then there’s another one for the smoke coming out of it.

一个用于生火,另一个用于处理从火中冒出的烟。

The really interesting thing happening with the smoke here is that it’s occluding light.

这里的烟雾发生的真正有趣的事情是它遮挡了光线。

There’s calculation of how the light should diminish as it travels through smoke.

计算光线穿过烟雾时应如何减弱。

You’re seeing the lighting on the smoke being the really interesting thing.

你会看到烟雾上的灯光是非常有趣的事情。

There have been a lot of attempts, but this was the first demo where I felt like this kind of smoke had really no longer looked like a video game.

我们进行了很多尝试,但这是第一个演示,我觉得这种烟雾真的不再像电子游戏了。

It looked like just a burning trash can, billowing out dark smoke.

看起来就像是一个燃烧的垃圾桶,冒着滚滚黑烟。

Yeah, it’s the artist’s sophistication.

是的,这就是艺术家的修养。

It’s a very, very, very large part of it.

这是其中非常非常大的一部分。

Lex Fridman1:38:54

Yeah, again, it’s the interplay between the tooling and the artists.

是的,这又是工具和艺术家之间的相互作用。

1:38:54 Yeah, like that.

是的,就像那样。

I could watch that for a long time.

我可以看很长时间。

There’s something magical sitting around a fire in real life and just watching the fire and the smoke.

在现实生活中,坐在火边看着火焰和烟雾是一种神奇的感觉。

I mean, humans have been doing that for, I don’t know, hundreds of thousands of years maybe.

我的意思是,我不知道,人类这样做可能已经有数十万年了。

Then that same, I was just staring at that, and I wish the people would just stop talking and I could just watch the fire infinitely.

同样,我只是盯着那,我希望人们停止说话,我可以无限地看着火焰。

I mean, that’s immersion.

我的意思是,这就是沉浸感。

That’s like I want to be in there, I want to sit around that trash can with the fire and the smoke and watch and maybe warm myself because I was also feeling cold because of the snow.

就像我想在那里,我想坐在那个垃圾桶周围,有火和烟,看着,也许可以暖和自己,因为我也因为下雪而感到寒冷。

You’re like, you really get immersed into the thing.

你就像,你真的沉浸在这件事中。

I mean, it’s so beautiful.

我的意思是,它太漂亮了。

It’s true art.

这是真正的艺术。

It’s true art.

这是真正的艺术。

It’s just really wonderfully done.

做得真的很棒。

1:39:45 Okay, so I got to ask you about the humans.

好吧,我得问你关于人类的事。

We talked about what’s it like to create the scenes, but creating realistic humans is really tough.

我们讨论了创建场景的感觉,但创建逼真的人类确实很困难。

Can you speak to that?

你能谈谈吗?

How to create ultra-realistic humans?

如何创造超现实的人类?

You have an actor behind this to convey emotion, show the nuances and details of the faces, and maybe this is a good opportunity to also mention metahuman creator, that’s part of Unreal Engine.

背后有一个演员来传达情感,展示面部的细微差别和细节,也许这是一个很好的机会来提及超人类创造者,这是虚幻引擎的一部分。

Tim Sweeney1:40:14

Yeah, that’s right.

是的,没错。

1:40:14 Humans are, by far, the hardest part of computer graphics because millions of years of evolution have given us dedicated brain systems to detect patterns in faces and infer emotions and intent because cavemen had to, when they see a stranger determine whether they were likely friendly or they might be trying to kill them.

到目前为止,人类是计算机图形学中最难的部分,因为数百万年的进化为我们提供了专门的大脑系统来检测面部模式并推断情绪和意图,因为穴居人在看到陌生人时必须确定他们是否可能是友好的还是可能试图杀死他们。

1:40:35 Humans, we people in the world have extraordinarily detailed expectations of a face, and we can notice imperfections, especially perfections arising from computer graphics limitations.

人类,我们这个世界上的人们对面孔有着非常详细的期望,我们可以注意到缺陷,尤其是由于计算机图形限制而产生的完美。

It becomes by far the hardest problem.

它成为迄今为止最难的问题。

The metahumans effort is part of a decades-long initiative that Vladimir Mostilovic, the most talented digital humans visionary in the world, has been working on for generations and generations of games, serving individual clients around the game industry for a while.

超人类的努力是世界上最有才华的数字人类梦想家弗拉基米尔·莫斯蒂洛维奇 (Vladimir Mostilovic) 长达数十年的计划的一部分,他一代又一代地致力于游戏,为游戏行业的个人客户服务一段时间。

Then joining Epic as part of the three-lateral team and leading now a worldwide effort to build all of the technologies required to make digital humans realistic.

然后加入 Epic 作为三边团队的一员,现在领导全球范围内的努力,构建使数字人类变得现实所需的所有技术。

1:41:18 One part is capturing humans.

其中一部分是捕捉人类。

We’ve got really advanced dedicated hardware that puts a human in a capture sphere with dozens of cameras in them, taking high-resolution, high-frame-rate video of them as they go through a range of motions.

我们拥有非常先进的专用硬件,可以将人类置于一个带有数十个摄像头的捕捉范围内,在他们进行一系列运动时拍摄高分辨率、高帧速率的视频。

Then capturing the human face is complicated because the nuanced detail of our faces and how all of the muscles and sinews and fat work together to give us different expressions.

然后捕捉人脸就很复杂,因为我们脸部的细微细节以及所有的肌肉、肌腱和脂肪如何协同工作以赋予我们不同的表情。

It’s not only about the shape of a person’s face, but it’s also about the entire range of motion that they might go through.

这不仅与人脸的形状有关,还与他们可能经历的整个运动范围有关。

Capturing one human requires a few hours of capture work in a dedicated environment like that.

捕捉一个人需要在这样的专用环境中进行几个小时的捕捉工作。

Then thousands of hours of processing work to capture a precise and real-time replicatable version of that human in the environment, and so one of the things that …

然后,经过数千小时的处理工作,以捕获环境中该人的精确且实时的可复制版本,因此其中的一件事......

1:42:03 …

……

that human in the environment.

环境中的那个人。

One of the things that’s done is just capturing an actor or actress in the real world and then using them in a video game.

所做的事情之一就是捕捉现实世界中的演员,然后在视频游戏中使用它们。

But the much more interesting thing going on is capturing thousands of humans to form a dataset whose goal is to encompass the entire range of faces in all of humanity, so going around every culture, every continent, every age and every face variety and capturing representative people so the entire range of faces is represented.

但更有趣的事情是捕获成千上万的人来形成一个数据集,其目标是涵盖全人类的所有面孔,因此遍历每种文化、每个大陆、每个年龄和每种面孔种类并捕获有代表性的人,以便代表整个面孔。

1:42:29 Then being able to combine and merge those together to enable recreating an arbitrary face that the system’s never seen before.

然后能够将它们组合并合并在一起,以重新创建系统以前从未见过的任意面孔。

One of the ideas is capture giant amounts of this high-precision data and then you use it to reconstruct a face at a consumer level, like maybe take an iPhone photo of somebody’s face and then capture a very accurate depiction of that, not by synthesizing it then and there on that device, but by combining all the known details of human faces to accurately capture the most accurate representation of that.

其中一个想法是捕获大量这种高精度数据,然后用它来重建消费者级别的脸部,就像用 iPhone 拍摄某人脸部的照片,然后捕获该脸部的非常准确的描述,不是通过在该设备上当场合成它,而是通过结合所有已知的人脸细节来准确捕获该脸部的最准确的表示。

That’s the data problem.

这就是数据问题。

1:43:03 There’s a lot of other problems with computer graphics.

计算机图形学还有很多其他问题。

There’s technology for rendering hair, which is really hard because you can’t render every, again, we know the laws of physics.

有渲染头发的技术,这真的很难,因为你不能渲染每一个,再说一遍,我们知道物理定律。

It would be easy to just render every hair.

渲染每根头发会很容易。

It would just be a billion times too slow.

这只会慢十亿倍。

You need approximations that capture the net effect of hair on rendering and on pixels without calculating every single interaction of every light with every strand of hair.

您需要近似值来捕捉头发对渲染和像素的净影响,而不需要计算每个光线与每根头发的每一个交互。

That’s one part of it.

这是其中的一部分。

1:43:27 There’s detailed features for different parts of faces.

脸部不同部位有详细的特征。

There’s subsurface scattering because we think of humans as opaque, but really our skin is light travels through it.

存在次表面散射,因为我们认为人类是不透明的,但实际上我们的皮肤是光穿过它的。

It’s not completely opaque.

它并不是完全不透明的。

The way in which light travels through skin has a huge impact on our appearance.

光线穿过皮肤的方式对我们的外观有着巨大的影响。

This is why there’s no way you can paint a mannequin to look realistic for a human.

这就是为什么你无法将人体模型画得对人类来说看起来很真实。

It’s just a solid surface and we’ll never have the sort of detail you see.

它只是一个坚固的表面,我们永远不会有你看到的那种细节。

Lex Fridman1:43:52

We should actually just linger on that.

我们实际上应该停留在这一点上。

1:43:52 That kind of blew my mind thinking through that.

这样的想法让我大吃一惊。

I think I heard that the oiliness of the skin creates very specific nuanced, complex reflections, and then some light is absorbed and travels through the skin and that creates, would it be fair to say micro shadows or something?

我想我听说皮肤的油性会产生非常具体、细致、复杂的反射,然后一些光被吸收并穿过皮肤,从而产生微阴影之类的东西,这样说公平吗?

It creates textures that are humanized, able to perceive and it creates the thing that we consider human, whatever that is.

它创造了人性化的、能够感知的纹理,它创造了我们认为人类的东西,无论那是什么。

You have to compute both that, the reflection, how light interacts with the oiliness of the skin and how it is also absorbed in, and all of that while considering all the muscles involved in making the nuanced expression, just the subtle squinting of the eyes or the subtle formation of a smile.

你必须计算反射、光如何与皮肤的油性相互作用以及它如何被吸收,以及所有这些,同时考虑所有参与做出微妙表情的肌肉,只是眼睛的微妙眯眼或微笑的微妙形成。

1:44:44 It’s a stupid, annoying subtlety of human faces that you have to capture, the difference between a real smile and a fake smile.

这是你必须捕捉到的人脸的愚蠢而烦人的微妙之处,即真笑和假笑之间的区别。

Man, I love human faces.

伙计,我喜欢人类的面孔。

I love humans in general.

我总体上爱人类。

But the way to show the beginning of a formation of a smile that actually reveals a deep sadness, all of that.

但是,展现微笑的开始方式实际上揭示了深深的悲伤,所有这些。

When I watch a human face, I can read that.

当我观察人脸时,我可以读懂这一点。

I can see that.

我看得出来。

Again, this is the engineering and the artist.

再说一次,这就是工程和艺术家。

You have to have the tools that in real time can render something like that and that’s incredibly difficult.

你必须拥有可以实时渲染类似内容的工具,而这是非常困难的。

But anyway, sorry.

但无论如何,抱歉。

There’s a lot of this kind of complexity in even just the lighting of a face.

即使只是脸部的照明,也存在很多这种复杂性。

Tim Sweeney1:45:23

That’s right.

这是正确的。

1:45:23 Getting faces right requires the interplay of literally dozens of different systems and aspects of computer graphics.

获得正确的面孔需要数十种不同系统和计算机图形学方面的相互作用。

If any one of them is wrong, your eye is completely drawn to that and you find it on the wrong side of uncanny valley.

如果其中任何一个是错误的,你的眼睛就会完全被它吸引,然后你会发现它处于恐怖谷的错误一侧。

The level of perfection needed in this area is vastly, vastly higher than world rendering or grass or any of these other things.

该领域所需的完美程度远远高于世界渲染或草地或任何其他事物。

If the shadows on a work of architecture are slightly wrong, you’re pretty [inaudible 01:45:53] with it actually.

如果建筑作品上的阴影略有错误,那么您实际上对它很满意[听不清 01:45:53]。

Your brain doesn’t really care that much.

你的大脑并不太关心。

But if anything wrong with a human, it’s totally jarring.

但如果人类出了什么问题,那就完全不和谐了。

Lex Fridman1:46:01

Can you speak more to the creation of digital humans with MetaHuman, both on the editor side and sort of bringing it to life side?

您能否更多地谈谈使用 MetaHuman 创建数字人类,无论是在编辑方面还是在将其变为现实方面?

1:46:01 It seems like because I’ve watched a bunch of videos, a bunch of individual developers doing it, it’s not too difficult to bring a human to life using the tooling that Unreal Engine editor provides.

似乎因为我看过一堆视频,一群独立开发者在做这件事,所以使用虚幻引擎编辑器提供的工具让人类变得栩栩如生并不是太困难。

Tim Sweeney1:46:24

There are two main tools.

有两个主要工具。

1:46:24 Compared to the old days where every face was created by hand by an artist from scratch, one is the MetaHuman creator tool for creating faces where you have a huge number of parameters you can adjust to create a unique human by adjusting all the different capabilities of them.

与过去每一张面孔都是由艺术家从头开始手工创建的时代相比,MetaHuman 创建者工具用于创建面孔,您可以在其中调整大量参数,通过调整它们的所有不同功能来创建独特的人类。

You can then get that with MetaHuman creator into Unreal Engine.

然后您可以使用 MetaHuman Creator 将其导入到虚幻引擎中。

Then you can add all kinds of computer graphics features there in the engine.

然后您可以在引擎中添加各种计算机图形功能。

You could add clothing using the cloth simulation system and you can adjust the hair and all these other parameters on the thing.

您可以使用布料模拟系统添加衣服,并且可以调整头发和物体上的所有其他参数。

1:46:59 Then there’s MetaHuman Animator, a tool for animating a human based on a facial capture, which can be done on a device as simple as an iPhone and transfers the captured animation to the human you want, which is not straightforward.

然后还有 MetaHuman Animator,这是一种基于面部捕捉来制作人类动画的工具,可以在 iPhone 这样简单的设备上完成,并将捕捉到的动画传输给你想要的人物,这并不简单。

If the actor has one face shape and the character on screen has another face shape, the translation that needs to be done from the actor to the face is actually really sophisticated and non-obvious.

如果演员有一种脸型,而屏幕上的角色有另一种脸型,则需要从演员到脸部的转换实际上非常复杂且不明显。

If you just applied it literally, then it would be completely wrong from your point of view.

如果你只是从字面上应用它,那么从你的角度来看,这是完全错误的。

1:47:27 Those are the main tools that people are using now.

这些是人们现在使用的主要工具。

Then within the Unreal Engine, then you have a face and you can do absolutely anything you want to it.

然后在虚幻引擎中,你就有了一张脸,你可以对它做任何你想做的事情。

You could also, if you decide to go outside of the MetaHuman geometry pipeline, you could build your own face, like any creature of any sort, and then use the animation tools to animate it.

如果您决定超越 MetaHuman 几何管道,您还可以构建自己的脸部,就像任何类型的任何生物一样,然后使用动画工具对其进行动画处理。

But this is 30 years into a project that’s probably like 50 years in total to get to absolute photorealism and controllability for absolutely everything.

但这是一个项目 30 年的时间,可能总共需要 50 年才能达到绝对的真实感和绝对可控性。

There’s vast amounts of work still to do, and we don’t feel like we’ve solved the problem at all.

还有大量工作要做,而且我们觉得我们根本没有解决问题。

We’ve just given artists a big productivity multiplier and a quality multiplier, but this is not in a state that we would say is done.

我们刚刚为艺术家提供了巨大的生产力倍增和质量倍增,但这还没有达到我们所说的完成状态。

Lex Fridman1:48:07

Nevertheless, I’ve seen people use it really effectively.

尽管如此,我还是看到人们非常有效地使用它。

1:48:07 I saw it almost like plugins, maybe external services where you can get the faces to approximate the mouth movements required to speak a thing.

我认为它几乎就像插件,也许是外部服务,你可以让面孔模拟说话所需的嘴巴动作。

That’s a really useful feature.

这是一个非常有用的功能。

Tim Sweeney1:48:25

That’s right.

这是正确的。

1:48:25 When you have an artist or actor in your studio and you’re recording a specific performance, you can just capture their facial motion and apply it.

当您的工作室中有一位艺术家或演员并且您正在录制特定的表演时,您只需捕捉他们的面部动作并应用即可。

But if all you have is a voice recording or you’re generating a voice recording or it’s parametric or procedural or AI generated, then you need the system to translate that speech not only to movement of the mouth and lips, but also to facial expressions and the whole intent.

但是,如果您拥有的只是录音,或者您正在生成录音,或者是参数化或程序化或人工智能生成的录音,那么您需要系统不仅将语音翻译为嘴巴和嘴唇的运动,而且还翻译为面部表情和整个意图。

When we’re speaking, it’s our whole face that’s active and emoting in different ways and not just a mechanical motion of the pieces.

当我们说话时,我们的整张脸都在以不同的方式活跃和表达情感,而不仅仅是各个部分的机械运动。

Lex Fridman1:48:55

We spoke a bit about Nanai, so the magic behind the virtual eye geometry system, but can you speak a little bit to Lumen and in general what it takes to dynamically light in all the complicated ways, the faces, the scenes that we discussed.

我们谈到了 Nanai,虚拟眼睛几何系统背后的魔力,但是您能谈谈 Lumen 吗?一般来说,以我们讨论的所有复杂方式、面孔和场景进行动态照明需要什么。

1:48:55 What are some interesting things to you that made the magic of it happen?

有哪些对你来说有趣的事情让它的魔力发生了?

Tim Sweeney1:49:15

Lumen is a system for global illumination, meaning it’s supposed to calculate the interaction of light with the entire scene in a way that mimics reality.

Lumen 是一个全局照明系统,这意味着它应该以模仿现实的方式计算光与整个场景的相互作用。

1:49:15 The first generation of engines that did lighting just said, “Well, the light casts light and the surfaces it hits are lit and the surfaces it doesn’t directly hit are dark, and that’s just all the techniques we have.” You’d have an area that wasn’t hit by any light being completely black.

第一代做照明的引擎只是说,“嗯,光投射光,它击中的表面被照亮,而它没有直接击中的表面是黑暗的,这就是我们拥有的所有技术。”你会有一个没有受到任何光线照射的区域,它是完全黑色的。

1:49:41 But in reality, light bounces around the entire scene dynamically.

但实际上,光线在整个场景中动态反射。

When a light hits a red wall, then most of the blue and green light is absorbed, but the red light reflects off and now is hitting other things.

当光照射到红色墙壁时,大部分蓝色和绿色光被吸收,但红色光反射掉,现在照射到其他物体上。

If you have a red wall with a white floor, light is bouncing off of the red wall into the floor, and now the floor is being turned red.

如果你有一堵红色的墙壁和白色的地板,光线会从红色的墙壁反射到地板上,现在地板会变成红色。

The entire bouncing of light around the scene through multiple bounces is the critical challenge to solve here.

通过多次反射来实现场景周围光线的整体反射是这里要解决的关键挑战。

1:50:09 Again, laws of physics are known and so the complete solution to this, it was written down in the 1950s, I think.

再说一次,物理定律是众所周知的,所以我认为这个问题的完整解决方案是在 20 世纪 50 年代写下来的。

The real magic here in Lumen is this system that Daniel Wright developed over the course of many years based on ideas formed over a longer period of time to calculate the way lighting bounces around at different scales ranging from the scale of miles or kilometers down to the scale of pixels and millimeters.

Lumen 真正的魔力在于 Daniel Wright 多年来根据长期形成的想法开发的这个系统,用于计算照明在不同尺度(从英里或公里尺度到像素和毫米尺度)的反射方式。

To not only calculate at each level, but integrate it seamlessly at each level to give the appearance of completely seamless and accurate lighting.

不仅要在每个级别进行计算,还要在每个级别进行无缝集成,以提供完全无缝且准确的照明外观。

Previous techniques were highly specialized and artists had to make a decision for each light about exactly what it did.

以前的技术是高度专业化的,艺术家必须针对每种灯光的具体用途做出决定。

The goal, and a lot of the practice with it right now is you build a scene, you place lights in it, and it just works to make it that much easier.

现在的目标以及很多实践都是构建一个场景,在其中放置灯光,它只是让事情变得更加容易。

Lex Fridman1:51:02

I mean, we’re watching, I’d recommend people go to this blog post, look at that.

我的意思是,我们正在观看,我建议人们去这篇博文,看看。

1:51:02 It’s a dynamically, we should say that so there’s the indoors and the outdoors, and to be able to dynamically compute the impact of outdoor light, just look at that.

这是一个动态的,我们应该说,所以有室内和室外,并且能够动态计算室外光的影响,只要看一下就可以了。

Look at how gorgeous that is.

看看那是多么华丽。

It’s just the lighting like look, we’re looking now at an image of a cave.

这只是像灯光一样的外观,我们现在看到的是一个洞穴的图像。

External light lighting the intricate complexity of the insides of a cave.

外部光线照亮了洞穴内部错综复杂的结构。

Look at that.

看看那个。

Tim Sweeney1:51:31

Light in the real world goes through a lot of bounces and the effects of it are very subtle, but when they’re not there, you miss them.

现实世界中的光会经历很多次反射,其效果非常微妙,但当它们不存在时,你就会错过它们。

1:51:31 Often a person can’t point out why a scene is wrong, but they know it looks wrong, and it’s the lack of the subtle lighting cues that we’re seeing here.

通常,一个人无法指出为什么场景是错误的,但他们知道它看起来是错误的,这是因为缺乏我们在这里看到的微妙的灯光提示。

Lex Fridman1:51:46

For great, because we mentioned for great video games, but also for great films, lighting can make a film, and we’re just looking at sort of a very dramatic lighting of a scene.

对于伟大的,因为我们提到了伟大的视频游戏,而且对于伟大的电影,灯光可以制作一部电影,而我们只是在寻找一种非常戏剧性的场景灯光。

1:51:46 I can imagine stepping into the scene.

我可以想象走进那个场景。

It’s exciting, it’s terrifying, and all of that has to do with light, the interplay between light and darkness.

这令人兴奋,也令人恐惧,而这一切都与光有关,与光明与黑暗之间的相互作用有关。

It’s incredible.

太不可思议了。

It’s really, truly, truly incredible.

这真的、真的、真的令人难以置信。

Light is everything.

光就是一切。

Then to put the power of the tooling in the hands of an artist, that is really special.

然后将工具的力量交给艺术家,这真的很特别。

Tim Sweeney1:52:16

The industry has gone through a massive evolution and there’s so many supporting systems to make this awesome, and always artists.

这个行业已经经历了巨大的演变,有如此多的支持系统来让这个令人惊叹的、而且总是艺术家的作品。

Lex Fridman1:52:25

We’re looking at reflections on smooth surfaces.

我们正在研究光滑表面上的反射。

1:52:25 Oh boy.

噢,孩子。

Oh boy, look at how gorgeous that is.

哦,孩子,看看那是多么华丽。

Tim Sweeney1:52:35

That’s right.

这是正确的。

Lex Fridman1:52:36

Wow.

哇。

Tim Sweeney1:52:36

You have to appreciate the algorithms are doing quite a lot here.

你必须意识到算法在这里做了很多事情。

1:52:36 You can have a scene with a huge number of not just lights, but also bright objects that reflect light off of them.

您的场景不仅可以包含大量灯光,还可以包含反射光线的明亮物体。

Every one of those has to be captured in the reflections in order for it to be realistic.

必须在反射中捕捉到其中的每一个,才能使其真实。

You can’t calculate every photon in the scene.

您无法计算场景中的每个光子。

You need really detailed approximations, and that’s the field of computer graphics.

你需要非常详细的近似值,这就是计算机图形学领域。

It’s about increasingly effective approximations of the laws of physics, which are just totally intractable.

这是关于物理定律日益有效的近似,而物理定律是完全棘手的。

Lex Fridman1:53:04

But the result of that graphics is a feeling, is an experience by the viewer.

但图形的结果是一种感觉,是观看者的一种体验。

1:53:04 It’s just to me as a fan of, well, let’s say beauty in the world, it’s exciting that we can create that synthetically, artificially, via graphics.

对我来说,作为一个粉丝,好吧,比如说世界上的美丽,我们可以通过图形合成、人工地创造它,这是令人兴奋的。

That just, it blows wide open the possibilities of storytelling.

就这样,它开启了讲故事的可能性。

1:53:25 Outside of video games, a lot of people are using Unreal Engine for movies, for films, and big congrats.

除了视频游戏之外,很多人都在使用虚幻引擎来制作电影,恭喜你。

I saw War is Over, a short film that was made with Unreal Engine, won an Oscar.

我看了《战争结束》,一部用虚幻引擎制作的短片,获得了奥斯卡奖。

You can add that to the resume.

您可以将其添加到简历中。

That’s huge, an Oscar-winning film made with Unreal Engine.

这是一部用虚幻引擎制作的巨大的奥斯卡获奖电影。

What do you see as the future of the use of Unreal Engine in creating stories in the film industry?

您认为使用虚幻引擎在电影行业创作故事的未来是什么?

Tim Sweeney1:53:57

Increasing capabilities and productivity.

提高能力和生产力。

1:53:57 The limiting factor in every one of these businesses is cost, and the more the engine can make their jobs easier, the more power that brings them.

每一项业务的限制因素都是成本,发动机越能让他们的工作变得更轻松,为他们带来的动力就越大。

One of the big revolutions we’ve seen in Hollywood is the moving away from doing computer graphics integration into a human scene with green screens to moving to these large LED wall panels where they’re displaying real-time computer graphics powered by the Unreal Engine.

我们在好莱坞看到的重大革命之一是从将计算机图形集成到绿屏的人类场景中,转向使用大型 LED 墙板,在这些面板上显示由虚幻引擎提供支持的实时计算机图形。

That’s a massive improvement in quality.

这是质量的巨大进步。

1:54:29 You can recognize the old green screen movies because the lighting on the characters is just wrong.

你可以认出旧的绿屏电影,因为角色的灯光是错误的。

As much as they try to fix it up, it never really works.

尽管他们试图修复它,但它从来没有真正起作用。

But when you’re filming in front of an LED panel with LED light emitters in front of you as well, the actor not only picks up all of the lighting from the actual natural scene that they’re supposed to appear in the movie, but they also can look around and see it, and they’re aware of exactly what set they’re acting in, and just the overall end result is that much higher.

但是,当您在 LED 面板前拍摄且 LED 发光器也在您面前时,演员不仅可以从电影中出现的实际自然场景中拾取所有灯光,而且还可以环顾四周并看到它,并且他们确切地知道自己正在表演的场景,而且总体最终结果要好得多。

It’s as much because the actors are able to do their jobs better seeing the scene they’re in because the technology is enabling a better lighting calculation and a better interplay of virtual light and real-world light to make the end result awesome.

这同样是因为演员能够更好地完成他们的工作,看到他们所处的场景,因为该技术可以实现更好的照明计算以及虚拟光和现实世界光更好的相互作用,从而使最终结果更加出色。

Lex Fridman1:55:09

There’s a lot of excitement around generative AI.

生成式人工智能有很多令人兴奋的地方。

1:55:09 What do you think is the future of the interplay between what a human artist creates and what an AI system can create in Unreal Engine?

您认为人类艺术家的创作与人工智能系统在虚幻引擎中创作的作品之间的相互作用的未来是什么?

Tim Sweeney1:55:23

I think a lot of people in the industry are overly optimistic about the rate of progress of AI for video and other things like that.

我认为业内很多人对视频和其他类似领域的人工智能进展速度过于乐观。

1:55:23 The real problem is consistency, like spurting out an image is really high quality, but with video over the course of seeing all the AI approaches have consistency issues going from one place to another.

真正的问题是一致性,就像喷出的图像质量确实很高,但在视频中,所有人工智能方法从一个地方到另一个地方都存在一致性问题。

I don’t think that those will just be remedied easily.

我认为这些问题不会轻易得到纠正。

Fundamentally, AI just doesn’t have anything resembling an understanding of the entire scene they’re in, the entire arc of the movie or plot they’re in and the entirety of the world around them and how it might affect the scene.

从根本上说,人工智能无法理解他们所处的整个场景、电影的整个弧线或他们所处的情节以及他们周围的整个世界以及它如何影响场景。

Whereas game engines have that exactly where they need to be.

而游戏引擎恰恰拥有它们需要的地方。

I think what we’re going to see in the space of world-class high-quality productions isn’t just everybody moves to AI and a large part of the human creatives contributing to that are obsolete.

我认为,在世界级的高质量作品领域,我们将看到的不仅仅是每个人都转向人工智能,而且为人工智能做出贡献的大部分人类创意都已经过时了。

I think what we’re going to see is AI becoming a multiplying force on the power of human creatives, making them able to create better stuff more quickly and with higher quality end results.

我认为我们将看到人工智能成为人类创造力的倍增力量,使他们能够更快地创造出更好的东西,并获得更高质量的最终结果。

1:56:28 I think unlike the fields of generative 2D art and generative text, I think the future of AI is much more complex and nuanced.

我认为与生成 2D 艺术和生成文本领域不同,我认为人工智能的未来更加复杂和微妙。

I think your interview with Mark Zuckerberg conducted in VR was a really good first example of this.

我认为你在 VR 中对马克扎克伯格的采访是一个很好的第一个例子。

You did this VR discussion.

你做了这个 VR 讨论。

It was capturing your faces and then rendering a completely 3D computer graphics model of your faces.

它捕捉你的脸部,然后渲染出你脸部的完整 3D 计算机图形模型。

Then the end result was patched up by an AI image enhancer that was able to add an awful lot of the missing subtleties that are lost by normal computer graphics rendering.

然后,最终结果由人工智能图像增强器进行修补,该增强器能够添加普通计算机图形渲染所丢失的大量缺失的微妙之处。

That’s the first step.

这是第一步。

1:57:05 You can imagine the output of Unreal Engine being enhanced by an AI pixel shading post processor is one thing.

您可以想象通过 AI 像素着色后处理器增强虚幻引擎的输出是一回事。

You can imagine creation of objects being enhanced, especially mashing up high quality objects that have already been created, like Epic’s Quixel team went around the world and scanned tens of thousands of real world objects at extremely high levels of quality.

你可以想象对象的创建得到增强,特别是混合已经创建的高质量对象,就像 Epic 的 Quixel 团队走遍世界,以极高的质量扫描了数以万计的现实世界对象。

They have everything from rocks to trees to archeological finds and so on, all captured there.

他们拥有从岩石到树木到考古发现等一切物品,全部都是在那里捕获的。

We have an awesome library of them on the fab content site.

我们在精彩的内容网站上有一个很棒的库。

What’s missing is the ability to create arbitrary amounts of new content.

缺少的是创建任意数量的新内容的能力。

I think using data like that and AI to create completely new trees that meet your specification from all of the knowledge that has built up of high quality scan trees, it’s going to be a really valuable thing.

我认为使用这样的数据和人工智能来创建符合您的规格的全新树,从建立高质量扫描树的所有知识中,这将是一件非常有价值的事情。

1:57:55 But I don’t see this reducing the need for people or the role of people.

但我并不认为这会减少对人的需求或人的作用。

Rather, I think it actually is probably an enhancer on that.

相反,我认为它实际上可能是一个增强器。

I can’t help but think when I go on Amazon and Netflix to watch a movie there’s an awful lot of linear content and most of it isn’t very good because of the limitations of the media and the budgets and of other things.

我不禁想到,当我在亚马逊和 Netflix 上看电影时,有大量的线性内容,而且由于媒体、预算和其他因素的限制,其中大部分内容都不是很好。

If we can use AI as an enhancer on that, then everybody’s going to have even more opportunity than they have now.

如果我们可以使用人工智能作为增强器,那么每个人都将拥有比现在更多的机会。

Every single technological revolution has changed the way that people work, but it’s ultimately created more opportunity for people.

每一次技术革命都改变了人们的工作方式,但最终为人们创造了更多机会。

The pundits predicting that this might be the last, but I think just the opposite.

专家预测这可能是最后一次,但我认为恰恰相反。

I’m an optimist on this and an optimist that it’s going to create opportunity for everyone.

我对此持乐观态度,并且乐观地认为这将为每个人创造机会。

Lex Fridman1:58:40

Do you think it will be possible to generate, so use generative AI to create dynamic objects, like you mentioned trees, in the Unreal Engine world to create meshes and textures and empower the creator to create faster, use meta knobs like hyperparameters versus very nuanced, where you can control much faster the look of a face, the look of a tree, all that kind of stuff?

你认为有可能生成吗?使用生成式人工智能来创建动态对象,就像你提到的树一样,在虚幻引擎世界中创建网格和纹理,并使创建者能够更快地创建,使用像超参数这样的元旋钮,而不是非常细致的,在那里你可以更快地控制脸的外观、树的外观,所有类似的东西?

Tim Sweeney1:59:10

I think that’s the central challenge of the next decade of game engines and AI for content creation of all sorts, because you have two very different models to the world that are emerging.

我认为这是未来十年游戏引擎和人工智能用于各种内容创建的核心挑战,因为正在出现的世界有两种截然不同的模型。

1:59:10 There’s the scene graph, the technical term we use to describe the set of all of the objects in the world in a 3D world maintained by Unreal Engine or another engine.

场景图是我们用来描述由虚幻引擎或其他引擎维护的 3D 世界中世界上所有对象的集合的技术术语。

In the videos you saw, it’s the rocks and the trees and the snow and the bridge and the people and all of these things.

在你看到的视频中,有岩石、树木、雪、桥、人和所有这些东西。

Each one has enormous amounts of data attached to it.

每一项都附有大量数据。

Some are like texture maps, some are sound files, some are animation files and enormous amounts of detail all stored there in that procedural and in this precise computer graphics representation that enables rendering it from any perspective with any settings and so on.

有些像纹理贴图,有些是声音文件,有些是动画文件和大量细节,所有这些细节都存储在该程序和这种精确的计算机图形表示中,可以从任何角度、任何设置等进行渲染。

It’s a completely general system that has complete context about the state of the world at any point.

这是一个完全通用的系统,在任何时候都有关于世界状况的完整背景。

You can always precisely reproduce it.

您始终可以精确地重现它。

If you play the same scene 10 times in a row, it’s always the same.

如果你连续播放同一个场景 10 次,它总是一样的。

It’s never randomly changing.

它永远不会随机变化。

You’re like, “Oh no, why did this character’s face change midstream?”

你会想,“哦不,为什么这个角色的脸在中途变了?”

2:00:14 But it’s also rather limited because you have to build everything manually.

但它也相当有限,因为你必须手动构建所有内容。

That’s costly and it’s time-consuming.

这既昂贵又耗时。

It requires expertise.

它需要专业知识。

Then you have this other model of the world, which is what AI sees or thinks.

然后你就有了另一个世界模型,这就是人工智能所看到或想到的。

If we could peer into what’s really happening in its parameters, there’s something like the mushy connections of neurons in a brain.

如果我们能够深入了解其参数中真正发生的情况,就会发现大脑中神经元的糊状连接。

It has a vast amount of knowledge about the world and about graphics and about images and about people and about everything else.

它拥有关于世界、图形、图像、人以及其他一切的大量知识。

It’s stored in a human incomprehensible form, but it can be extracted through queries like asking it to produce an image from a prompt or a video from a prompt or whatever.

它以人类无法理解的形式存储,但可以通过查询来提取,例如要求它根据提示生成图像或根据提示生成视频等。

2:00:50 But the huge problem with that is it’s very mushy data.

但最大的问题是数据非常混乱。

We don’t know how to give it a command that will give us a precise result.

我们不知道如何给它一个命令来给我们一个精确的结果。

If it produces one image one time and we change our prompt slightly, it might produce something completely different.

如果它一次生成一张图像并且我们稍微改变提示,它可能会生成完全不同的东西。

We are unable to art-direct it.

我们无法对其进行艺术指导。

It’s this completely untamed tool.

这是一个完全不受驯服的工具。

I think when we figure out more and more ways to merge these and connect these two together, you can imagine AI enhancing the process of content creation in a traditional scene representation.

我认为,当我们找到越来越多的方法将它们合并并将两者连接在一起时,您可以想象人工智能会增强传统场景表示中的内容创建过程。

You can imagine the scene representation being shared with the AI so the AI not only sees a prompt, but also here’s a list of all of the objects in the world and the characteristics and so on.

您可以想象与 AI 共享场景表示,这样 AI 不仅会看到提示,而且还会看到世界上所有对象及其特征等的列表。

It can learn more about how those objects should move and interact.

它可以更多地了解这些对象应该如何移动和交互。

2:01:35 If you get a constant feedback cycle going back and forth between an engine and AI, then I think you can get the best of both worlds, stable scenes, but also the higher productivity of being able to get content out and the ability to select specific parts of it and art-direct those and to have those art-direction stick and be recognized as part of this permanent scene representation.

如果你在引擎和人工智能之间得到一个持续的反馈循环,那么我认为你可以两全其美,稳定的场景,而且还能获得更高的生产力,能够获取内容,选择内容的特定部分并对其进行艺术指导,并使这些艺术指导坚持下去并被认为是永久场景表示的一部分。

Lex Fridman2:01:57

I can’t wait until AI can operate not in the space of pixels, but in the space of scene graphs, creating objects in the scene graph, whether it’s like you mentioned, audio or any of the things that you mentioned about that empower the creator.

我迫不及待地希望人工智能能够不在像素空间中运行,而是在场景图空间中运行,在场景图中创建对象,无论是像你提到的那样,音频还是你提到的任何赋予创作者力量的东西。

2:01:57 That’s a super exciting future.

这是一个超级令人兴奋的未来。

I wonder if you could speak to a fear that people have on this topic of artists, engineers are losing their jobs, being replaced by AI.

我想知道你是否能谈谈人们对艺术家、工程师正在失业、被人工智能取代这一话题的恐惧。

Are there words of hope that you could offer them?

您可以向他们表达希望的话吗?

Tim Sweeney2:02:32

This is certainly the most extreme example of it because AI is just so far ahead of prior technologies, but similar fears were had in every other industry.

这当然是最极端的例子,因为人工智能远远领先于现有技术,但其他所有行业也有类似的担忧。

2:02:32 There’s a fear that digital music synthesis would obsolete musicians.

人们担心数字音乐合成会淘汰音乐家。

There was a very brief period of time in which songs with digital music instruments, like the early Minimoogs and Yamaha synthesizers weren’t allowed to win certain music industry awards because they weren’t considered real music.

在很短的一段时间内,使用数字乐器(例如早期的 Minimoogs 和 Yamaha 合成器)的歌曲不允许赢得某些音乐行业奖项,因为它们不被认为是真正的音乐。

Then over time, the people were educated and realized these are just instruments people are playing and they’re controlling them the same way they did before.

然后随着时间的推移,人们接受了教育,意识到这些只是人们演奏的乐器,他们像以前一样控制它们。

There are similar questions about is computer art built in Photoshop really art, or is it just goofy computer stuff?

还有类似的问题是,用 Photoshop 构建的计算机艺术真的是艺术,还是只是愚蠢的计算机东西?

I think nowadays digital artists have gained respect.

我认为如今数字艺术家已经赢得了尊重。

I think if you look at just the tools that have existed in Photoshop, some of them are pretty sophisticated and nowadays they have AI features.

我认为如果你只看 Photoshop 中已有的工具,其中一些工具非常复杂,现在它们具有人工智能功能。

But I think AI is ultimately going to be another tool in the artist’s tool set.

但我认为人工智能最终将成为艺术家工具集中的另一个工具。

2:03:33 I think it’s going to become a more powerful directable and human serving tool in the future.

我认为它未来将成为一个更强大的可指导和人性化的服务工具。

I think a lot of the alienation comes from the prompt either being immensely powerful at giving you an entire creation, but then being completely unwilling to let you control the nuances of it.

我认为很多疏离感来自于提示要么非常强大地给你一个完整的创作,但又完全不愿意让你控制它的细微差别。

That feels alienating.

那感觉很疏远。

You give it an image, but you’re like, replace the image of this part of it with this thing or make that object green and it just, it can’t do it.

你给它一个图像,但你会想,用这个东西替换它这部分的图像,或者让那个物体变成绿色,但它做不到。

Often it can’t be convinced with any number of words in the prompt.

通常,提示中的任何单词都无法令人信服。

That makes it feel like the computer is taking control away from us, humans and artists, and is refusing to do what we want and has its own opinions.

这让人感觉计算机正在从我们、人类和艺术家手中夺走控制权,拒绝做我们想做的事,并有自己的观点。

It feels like a competitor.

感觉就像是竞争对手。

2:04:14 I think when we have much, much, much more nuanced control of it and artists can join and just like let’s enhance this object, do this, do that, do that, it’ll feel like some of the tools that exist in Photoshop, which are in some ways compared to a paintbrush or superpowers already.

我认为,当我们对它有更多、更多、更细致的控制时,艺术家可以加入,就像让我们增强这个对象一样,做这个、做那个、做那个,它会感觉就像 Photoshop 中存在的一些工具,在某些方面已经可以与画笔或超能力相比了。

AI will come to feel like that too, and will increasingly serve creators creating and enhancing a work in a way that feels just a natural extension of their own bodies and minds.

人工智能也会有这样的感觉,并将越来越多地为创作者提供服务,以一种感觉只是他们自己身体和思想的自然延伸的方式来创作和增强作品。

Lex Fridman2:04:40

Of course, there is a real human pain to layoffs and there’s a hype around AI and then companies might try to implement AI systems, and in so doing, layoff a bunch of folks and the pain that those folks feel is real.

当然,裁员确实是人类的痛苦,而且人们对人工智能进行了炒作,然后公司可能会尝试实施人工智能系统,这样做就解雇了一群人,而这些人感受到的痛苦是真实的。

2:04:40 I think there’s always going to be pain with these kinds of transformation that’s happening and it’s a terrible pain.

我认为正在发生的这些转变总是会带来痛苦,而且是可怕的痛苦。

Pain in general in the human experience is terrible.

人类经历的痛苦一般来说是可怕的。

2:05:08 But I think I’m personally excited by the human AI collaboration as you’ve described in this whole process.

但我认为我个人对您在整个过程中所描述的人类人工智能协作感到兴奋。

I think if you just keep being open to using the tools, constantly trying the cutting edge tools, how they can make you more productive, how can they empower you as a creator, as an artist, or as an engineer, I think you’re going to just keep winning.

我认为,如果你坚持使用这些工具,不断尝试尖端工具,了解它们如何提高你的工作效率,如何赋予你作为创造者、艺术家或工程师的能力,我认为你将会不断获胜。

Tim Sweeney2:05:32

There’s a lot of complicated trends underway.

许多复杂的趋势正在发生。

2:05:32 It can be hard to break them down and distinguish them.

很难分解并区分它们。

I think a lot of people like the theories that get the biggest traction on social media often don’t capture the real underlying motive forces at play there.

我认为很多人喜欢在社交媒体上获得最大关注的理论,但往往无法捕捉到其中真正的潜在动力。

But I think AI involved in code production will probably create a net benefit for the need for humanity to be involved in coding.

但我认为人工智能参与代码生成可能会为人类参与编码的需求创造净效益。

It may change parts of jobs.

它可能会改变部分工作。

I don’t think it’s going to obsolete anybody who’s willing to learn new ways of doing things.

我不认为它会淘汰任何愿意学习新做事方式的人。

It’s always been this way.

一直都是这样。

2:06:05 I think that there’s also a lot of over hype in AI.

我认为人工智能也有很多过度炒作的情况。

AI is really great at spewing out code that does something that a million GitHub repositories already do because it’s learned the underlying pattern.

人工智能非常擅长喷出代码,这些代码可以完成一百万个 GitHub 存储库已经完成的事情,因为它学习了底层模式。

It’s notoriously hard to get to do something new that hasn’t been done before, especially when it’s a complex task.

众所周知,做一些以前没有做过的新事情是非常困难的,尤其是当它是一项复杂的任务时。

The bigger amount of code you ask AI for, the more it leaves you with just a mess of code that sort of works.

你要求人工智能提供的代码量越多,它给你留下的能运行的代码就越混乱。

Then that’s the problem with code, it like 99% works, but the 1%, it might be harder to get to 100% with AI than with hand coding.

这就是代码的问题,99% 的代码都可以,但是 1% 的代码,用 AI 实现 100% 可能比手工编码更难。

Everybody who’s looking at this topic should actually try using the coding assistants on hard problems and see how they do there.

每个关注这个主题的人都应该实际尝试使用编码助手来解决难题,看看它们是如何做到的。

Lex Fridman2:06:43

I think for me personally, it makes it more fun and faster to generate boiler play code so I can focus on the harder decisions, harder big picture decisions and harder innovative decisions and all that kind of stuff, and just makes programming more fun for me because I feel less lonely.

我认为对我个人来说,它让生成锅炉游戏代码变得更有趣、更快,这样我就可以专注于更困难的决策、更困难的大局决策和更困难的创新决策以及所有类似的事情,并且让编程对我来说更有趣,因为我感觉不那么孤独。

2:06:43 Even when it gives the wrong code, I get like, “Oh, okay, well that’s a way to do it.

即使它给出了错误的代码,我也会想,“哦,好吧,好吧,这是一种方法。

That’s interesting.” Then you could talk to it.

这很有趣。”然后你就可以和它说话了。

Maybe that shows something about the programming experience that it is in part sometimes a bit lonely.

也许这表明编程体验有时会有点孤独。

Tim Sweeney2:07:20

The topic of boilerplate code is an interesting one because the mere existence of boilerplate code is a failure of programming language and of the idea of creating software modules.

样板代码这个话题很有趣,因为样板代码的存在本身就是编程语言和创建软件模块思想的失败。

2:07:20 You ask AI to create a sorting function, great.

你让人工智能创建一个排序功能,太棒了。

Now you have another sorting function that might be buggy alongside the million others that different people have written.

现在你有了另一个排序函数,它可能与不同人编写的数百万个其他排序函数一起存在错误。

It would be better to have a sorting function that’s been written and tested and optimized and everybody relies on it.

最好有一个经过编写、测试和优化并且每个人都依赖它的排序函数。

More modular software I think will actually reduce the opportunity of AI because people doing programming work will largely be solving unique problems.

我认为更多的模块化软件实际上会减少人工智能的机会,因为从事编程工作的人很大程度上将解决独特的问题。

They’re actually hard problems in themselves and not just connecting other widgets.

它们实际上本身就是难题,而不仅仅是连接其他小部件。

Lex Fridman2:07:59

I think as in many cases, AI will just help improve the human systems by shining a mirror to ourselves.

我认为,在许多情况下,人工智能只会通过照照我们自己的镜子来帮助改善人类系统。

2:07:59 I have to apologize for the pothead question ahead of time, but you’ve been, let’s talk about the metaverse broadly.

我必须提前为这个痴迷的问题道歉,但你已经,让我们广泛地谈论一下虚拟宇宙吧。

You’ve been a big proponent of the idea of the metaverse.

您一直是虚拟宇宙理念的大力支持者。

We’ll talk more specifically what that means today, but we’ve been talking about simulating reality better and better and better.

今天我们将更具体地讨论这意味着什么,但我们一直在讨论更好地模拟现实。

The pothead question is what does it take to simulate reality to the level we see around us today?

令人困惑的问题是如何才能将现实模拟到我们今天所看到的水平?

How far away from that are we to simulate this ultra-realistic, immersive fun reality that earth is?

我们距离模拟地球这个超现实、身临其境的有趣现实还有多远?

What does it take?

需要什么?

Tim Sweeney2:08:45

We’re going to get shockingly close over the coming years, certainly less than 20 years.

未来几年,当然不到 20 年,我们将会非常接近这个目标。

2:08:45 If you look at the progress, what areas where we have achieved total photorealism and what areas where we fall short, we’re getting very close in all non-human interactions you see in the world walking through a jungle or a city, all the lighting, it’s very close, and that might be just a few years away.

如果你看一下进展,我们在哪些领域实现了完全的照片级真实感,哪些领域还存在不足,你会发现,在你在世界上走过丛林或城市时看到的所有非人类互动中,我们已经非常接近了,所有的灯光都非常接近,而这可能只是几年后的事情。

But then all of the problems that involve humans, human dialogue and intent have a much, much, much higher bar that they need to meet to satisfy our brains and convince us that they’re realistic or real.

但所有涉及人类、人类对话和意图的问题都有一个非常非常高的标准,它们需要满足才能满足我们的大脑并让我们相信它们是现实的或真实的。

I think that’s going to be the primary challenge of graphics development and simulation development over the coming decade.

我认为这将是未来十年图形开发和模拟开发的主要挑战。

Lex Fridman2:09:27

The realistic humans, that’s going to be the bottom line.

现实的人类,这将是底线。

2:09:27 Visual and behavior too, so everything?

视觉和行为也是如此,那么一切呢?

Tim Sweeney2:09:35

Yeah, I was asked about this about 10 years ago, and I said that even if you gave us an infinite amount of computing power, we couldn’t simulate realistic humans because we simply don’t have the algorithms.

是的,大约 10 年前有人问我这个问题,我说即使你给我们无限的计算能力,我们也无法模拟现实的人类,因为我们根本没有算法。

2:09:35 We have no idea how to simulate human intelligence.

我们不知道如何模拟人类智能。

That was absolutely the case then, but it’s not really true anymore.

当时的情况确实如此,但现在已经不再是这样了。

What we’re seeing with generative text AI is not only at a level that you could say that it’s actually doing a pretty good job of simulating a human, at least humans at the text level, not at the emotional level yet, but at least at the level of words spoken and find more and more ways of training on more and more scenarios that you might have a very, very compelling human simulation going on in the next five years even.

我们所看到的生成文本人工智能不仅在某种程度上可以说它实际上在模拟人类方面做得相当好,至少是在文本层面上,而不是在情感层面上,而且至少在口头语言层面上,并且找到了越来越多的训练方法,可以在越来越多的场景中进行训练,甚至在未来五年内,你可能会进行非常非常引人注目的人类模拟。

I’m not saying it’s a good idea, but I think the arc of the technology is inextricably heading in that way, and it’s heading at a shocking rate.

我并不是说这是一个好主意,但我认为这项技术的弧线正不可避免地朝着这个方向发展,而且正以令人震惊的速度发展。

Lex Fridman2:10:27

We don’t say this enough, but the current state of LLMs, I mean if you put Alan Turing in conversation with chat GPT, I mean it really passes the Turing test, like almost definitively passes the Turing test.

我们说的还不够,但法学硕士的现状,我的意思是,如果你让艾伦图灵与聊天GPT对话,我的意思是它确实通过了图灵测试,就像几乎肯定通过了图灵测试一样。

2:10:27 Of course, we keep raising the bar.

当然,我们不断提高标准。

Well, the Turing test is not a real test, it’s not a useful test, whatever.

好吧,图灵测试不是一个真正的测试,无论如何它都不是一个有用的测试。

We just keep raising the bar for AI where it’s always going to be lesser than.

我们只是不断提高人工智能的标准,而人工智能的标准总是低于这个标准。

But you have increasingly ultra-realistic faces and bodies combined with increasingly moving and powerful full of emotion, speech, text.

但你拥有越来越超现实的面孔和身体,以及越来越动人、充满力量的情感、言语和文字。

2:11:09 I work with this amazing company called Level Labs that does text-to-speech well.

我与一家名为 Level Labs 的出色公司合作,该公司在文本转语音方面做得很好。

There’s companies that specialize in bringing text to life.

有些公司专门致力于将文本变为现实。

That’s going to increase different companies to do that very well.

这将促使更多的公司做得更好。

Then all of a sudden you have this synthetically created scene where a human is speaking and you’re moved to the point of tears because of the scene, beautifully lit face in the full darkness, the emotion, the drama of the scene.

然后突然间你就看到了这个合成的场景,一个人在说话,你被感动得流下了眼泪,因为这个场景,在完全黑暗中美丽的脸庞,情感,场景的戏剧性。

I think so you’re saying five, 10 years, maybe 20?

我想你是说五年,十年,也许二十年?

Tim Sweeney2:11:42

Yeah, absolutely.

是的,绝对是。

2:11:42 We’ll definitely see it in our lifetimes.

我们有生之年一定会看到它。

Lex Fridman2:11:46

Increasing the level of potheadness in my question.

增加了我的问题的沉闷程度。

2:11:46 Do you think we might live in a simulation?

你认为我们可能生活在模拟中吗?

If we do or don’t, how hard would it be to build such a simulation where we’re fully convinced we’re in it?

如果我们这样做或不这样做,那么构建这样一个我们完全确信自己身处其中的模拟有多难?

Tim Sweeney2:12:03

Well, I don’t think that these questions are necessarily unanswerable.

嗯,我不认为这些问题一定是无法回答的。

2:12:03 I think I’d like to see more actual effort to ascertain what is the underlying mechanism of the universe.

我想我希望看到更多的实际努力来确定宇宙的根本机制。

I don’t think we’re here for no reason at all.

我不认为我们来这里是无缘无故的。

I think the world’s a pretty cool place, and the fact that we can exist and know the laws of physics and especially the standard model of physics and all of the parameters that lead to these atoms and life evolving in the presence of thermodynamic gradients, that’s really cool.

我认为这个世界是一个非常酷的地方,事实上我们可以存在并了解物理定律,尤其是物理的标准模型以及导致这些原子和生命在热力学梯度存在下进化的所有参数,这真的很酷。

I think it’s a worthy field to study more about that holistically.

我认为这是一个值得进行更多整体研究的领域。

2:12:37 I don’t know.

我不知道。

The question of are we living in a simulation ourselves always boils down to, well, if we are living in a simulation, what are they living in?

我们自己是否生活在模拟中的问题总是归结为,如果我们生活在模拟中,那么他们生活在什么中?

Because at some point there has to be some base reality.

因为在某些时候必须有一些基本的现实。

One of the philosophical theories that was put forth seriously was that there’s no physical reality.

认真提出的哲学理论之一是不存在物理现实。

If you have a system of equations such as the laws of physics, then all possible evolutions of dynamical systems under those equations kind of have a physical reality.

如果你有一个方程组,例如物理定律,那么在这些方程下动力系统的所有可能的演化都具有物理现实。

We just are kind of a manifestation of laws of math rather than needing an actual universe around us.

我们只是数学定律的体现,而不需要我们周围有一个实际的宇宙。

I don’t know.

我不知道。

I like dabbling in that philosophy.

我喜欢涉足这种哲学。

As we get AI becoming smarter and smarter and we get closer and closer to really capturing the full laws of physics, these questions become quite a lot more compelling.

随着人工智能变得越来越聪明,我们越来越接近真正捕捉到完整的物理定律,这些问题变得更加引人注目。

Lex Fridman2:13:23

You start to think if we’re not living in a simulation, what are the things about this reality that are not simulatable?

你开始思考,如果我们不是生活在模拟中,那么这个现实中有哪些东西是不可模拟的?

2:13:23 What are the big mysteries around us?

我们周围有哪些大谜团?

It feels like the physics is simulatable.

感觉物理是可以模拟的。

It feels like a lot of the incredible stuff that we talked about, while super nice, seems simulatable.

感觉就像我们谈论的很多令人难以置信的东西,虽然超级好,但似乎是可以模拟的。

But then there’s the flame of consciousness, the feeling of it, whatever that is that lights up in our eyes as humans.

但随之而来的是意识的火焰,它的感觉,无论是什么在我们人类的眼中点亮。

Maybe that’s not simulated.

也许这不是模拟的。

Maybe that is the thing.

也许就是这样。

Maybe that’s a thread that connects to the explanation of the mechanism, as you said, of the universe that’s really important to understand and we’re completely clueless about that mechanism.

也许这是一条与解释宇宙机制有关的线索,正如你所说,宇宙的理解非常重要,而我们对此机制完全一无所知。

I mean, a lot of the religious texts sneak up on what that mechanism is, but we’re still mostly clueless.

我的意思是,很多宗教文献都偷偷地介绍了这种机制是什么,但我们仍然一无所知。

We only have these leaps of faith and believe in what that mechanism might be.

我们只有这些信念的飞跃并相信该机制可能是什么。

Tim Sweeney2:14:16

The whole idea of nested simulations, perhaps given sufficiently advanced technology is kind of mooted such that if you wanted to simulate another reality, you’re kind of just actually creating the reality.

嵌套模拟的整个想法,也许考虑到足够先进的技术,如果你想模拟另一个现实,你实际上就是在创造现实。

2:14:16 You’re doing quantum mechanical operations that would produce the same result anyway, and you’re running them at full performance.

你正在进行的量子力学运算无论如何都会产生相同的结果,并且你正在以全部性能运行它们。

It’s not really a nested simulation, it’s just another thing that’s happening in the universe.

这并不是真正的嵌套模拟,这只是宇宙中发生的另一件事。

That would be interesting.

那会很有趣。

2:14:44 But I think it’s ultimately a theological question.

但我认为这最终是一个神学问题。

Because it’s no longer cool to deal with theology as part of science, there’s not been much work on that.

因为将神学作为科学的一部分来处理已经不再酷了,所以在这方面的工作并不多。

You can’t publish results on those topics in a respected physics journal.

你不能在受人尊敬的物理学期刊上发表这些主题的结果。

I think that it’s kind of been set aside.

我认为它已经被搁置了。

But it’s interesting to note that the laws of quantum mechanics themselves have a place for God or souls or whatever external source of input you might want to attach to such a thing and that there’s this idea of quantum waves function collapse, that when we look at a quantum system evolving in perfect superposition of many possibilities and you go to observe it, you actually just see a specific possibility in the multi-slit experiment.

但有趣的是,量子力学定律本身对于上帝或灵魂或任何你可能想要附加到这样的东西的外部输入源都有一席之地,并且存在量子波函数崩溃的想法,当我们观察一个在许多可能性的完美叠加中演化的量子系统并且你去观察它时,你实际上只是在多缝实验中看到了一种特定的可能性。

The light ultimately ends up being observed going through one slit or the other.

最终,光线通过一个狭缝或另一个狭缝最终被观察到。

That’s a place where there’s this random number of being injected into everything around us, trillions of trillions of trillions of times per second, and everything we’re observing.

在那里,我们周围的一切事物都会被随机注入,每秒数万亿次,以及我们所观察到的一切。

If you want to attach some external input, well there’s a place.

如果你想附加一些外部输入,这里有一个地方。

Lex Fridman2:15:46

It could be seriously accessible to the rigors of science, but we just know so little there.

它可以通过严谨的科学来真正实现,但我们对此知之甚少。

Tim Sweeney2:15:52

It’s funny.

这很有趣。

2:15:52 In that area, we know nothing more than cavemen knew whatsoever.

在那个地区,我们所知道的并不比穴居人所知道的多。

We know the laws of quantum mechanics and we have computers that may be soon more advanced than we are.

我们知道量子力学定律,而且我们拥有的计算机可能很快就会比我们先进。

2:16:03 Computers that may be soon more advanced than we are, but we just don’t have any answers to the fundamental questions about life, the universe, and everything.

计算机可能很快就会比我们更先进,但我们对生命、宇宙和一切的基本问题还没有任何答案。

Lex Fridman2:16:13

Do you think, sort of more practically, do you think we’ll create video games, video game worlds of the metaverse variety in which humans will want to stay?

你是否认为,更实际一点,你认为我们会创造电子游戏,人类愿意留在其中的虚拟宇宙的电子游戏世界吗?

2:16:13 So I mean, to me, this kind of discussion of a simulated reality, the real test of immersion is not wanting to go back to the real world.

所以我的意思是,对我来说,这种对模拟现实的讨论,沉浸感的真正考验是不想回到现实世界。

As a perfectly healthy, excited, normal human being, choosing to stay in that world, how hard is that, do you think?

作为一个完全健康、兴奋、正常的人,选择留在那个世界,你觉得有多难?

Tim Sweeney2:16:48

Well, I think the technology is coming and then there’s a human question of should we go that far?

嗯,我认为技术即将到来,然后人类就面临一个问题:我们应该走那么远吗?

Lex Fridman2:16:54

Should we?

我们应该吗?

2:16:54 Yeah.

是的。

Tim Sweeney2:16:56

Yeah, certainly as a game developer ourselves, Epic doesn’t aspire to that.

是的,作为一名游戏开发者,Epic 并不希望这样。

2:16:56 We make fun games.

我们制作有趣的游戏。

Lex Fridman2:17:01

Yeah.

是的。

Tim Sweeney2:17:01

And the ultimate manifestation that we found is fun games that people play together to have fun in between work and the other things in their real lives.

我们发现的最终表现是人们一起玩有趣的游戏,在工作和现实生活中的其他事情之间获得乐趣。

2:17:01 But as the simulations get more and more realistic and the capabilities become more and more real, I think we have to ask ourselves some hard questions about how should humanity operate in that space?

但随着模拟变得越来越真实,能力也越来越真实,我认为我们必须问自己一些棘手的问题:人类应该如何在那个空间中运作?

What are the limits that we should go to and what are the limits we should set?

我们应该达到哪些界限以及我们应该设定哪些界限?

Lex Fridman2:17:23

Yeah, I think there’s going to be some hard questions, and I think maybe I’m just being human centric here, but there should probably be some legal bounds on two things, sort of not creating a reality in which humans would want to stay too long, sort of yeah, focusing more on the game side, and more importantly, not creating simulations of humans that could suffer.

是的,我认为会有一些棘手的问题,我想也许我只是以人类为中心,但在两件事上可能应该有一些法律界限,有点不创造一个人类想要停留太久的现实,有点是的,更多地关注游戏方面,更重要的是,不创建可能受苦的人类模拟。

2:17:23 To me, as we talked about creating ultra-realistic humans, eventually that means creating humans that can suffer, that can fall in love and experience heartbreak and loss, they can fear death.

对我来说,当我们谈论创造超现实的人类时,最终这意味着创造可以受苦、可以坠入爱河、经历心碎和失落、可以恐惧死亡的人类。

And the more you simulate that to the full reality of the human condition, the more you get to this place where you have a simulated humans that is able to suffer.

你越是模拟人类状况的全部现实,你就越能得到一个能够承受痛苦的模拟人类。

2:18:23 And I think legally speaking, I think you have to get to a place where that’s not allowed.

我认为从法律上讲,我认为你必须到达一个不允许这样做的地方。

There is a line you can’t cross, and that’s a hard thing for humans to deal with.

有一条线是你无法逾越的,这对人类来说是一件很难处理的事情。

That’s going to be some interesting Supreme Court cases.

这将是一些有趣的最高法院案件。

Once you create a human sufficiently realistic to where they can suffer, means that human could be tortured and do terrible things to that human that’s artificial, quote, unquote but boy, that still feels wrong.

一旦你创造出一个足够现实的人类,让他们能够承受痛苦,就意味着人类可能会受到折磨,并对那个人造的人做可怕的事情,引用,不引用,但是男孩,这仍然感觉不对。

I don’t know what that is, but it feels wrong to torture a simulated human.

我不知道那是什么,但折磨模拟人感觉不对。

Now when you play a video game and it’s a shooter and everybody’s having fun, that doesn’t feel wrong, but there’s a line and that’s going to be a fascinating line for the Supreme Court to explore.

现在,当你玩一款电子游戏时,它是一款射击游戏,每个人都玩得很开心,这并没有感觉错,但有一条界限,这将是最高法院探索的一条迷人的界限。

Oh man, what an exciting future we’re living in.

天啊,我们生活在多么令人兴奋的未来啊。

Huh?

啊?

Tim Sweeney2:19:28

Yeah.

是的。

2:19:28 I think the thing to appreciate is game developers have just generally been on the good-spirited side of things.

我认为值得欣赏的是游戏开发者通常都处于积极的一面。

If you look at the worst things that people do in popular video games today, it’s like what?

如果你看看人们在当今流行的电子游戏中所做的最糟糕的事情,会是什么样的?

You rob a bank in GTA?

你在大多伦多地区抢劫银行吗?

But it’s clearly fictional and all in fun and not serious and over the top.

但这显然是虚构的,而且都是有趣的,而不是严肃的和夸张的。

I think yeah, as things get more realistic, especially simulation of humans, yeah, there are some hard questions that will have to be answered there.

我认为是的,随着事情变得更加现实,特别是对人类的模拟,是的,有一些棘手的问题必须得到解答。

But I think the thing that all game developers need to remember is we’re here to make people’s lives better by entertaining them, providing them with fun and a diversion from other things and being a part of their lives and not trying to be too big or being too much and not trying to provide an alternate to reality, but to just provide a fun source of entertainment like the many other things that people do for fun.

但我认为所有游戏开发者都需要记住,我们的目的是让人们的生活变得更好,为他们提供娱乐,为他们提供乐趣,让他们从其他事情中解脱出来,成为他们生活的一部分,而不是试图变得太大或太多,也不是试图提供现实的替代品,而只是提供一个有趣的娱乐来源,就像人们为好玩而做的许多其他事情一样。

Lex Fridman2:20:22

So you spoken, like I mentioned about the metaverse for many years.

所以你说的,就像我多年来提到的虚拟宇宙一样。

2:20:22 Let’s step back.

让我们退后一步。

What is the metaverse?

什么是元宇宙?

And speaking of fun, Fortnite, just hundreds of millions of people just enjoying themselves in this huge scale social game.

说到乐趣,《堡垒之夜》,数亿人只是在这款大规模社交游戏中享受乐趣。

You could call it a metaverse.

你可以称之为元宇宙。

Maybe you can describe the different flavors, the layers of how you see what the metaverse is.

也许你可以描述不同的风格,以及你如何看待虚拟宇宙的层次。

Tim Sweeney2:20:52

The metaverse is an idea who stock price goes up and down depending on who says what on what day, and some have an ability to drive it way down by opening their mouths, but ultimately this is about multiplayer social gaming experiences, you and your friends getting together in a 3D world and having fun together in any way you want.

虚拟宇宙的理念是,股票价格的上涨和下跌取决于谁在哪一天说什么,有些人有能力通过张口就让股价大幅下跌,但最终这是关于多人社交游戏体验,你和你的朋友在 3D 世界中聚在一起,以任何你想要的方式一起享受乐趣。

2:20:52 If you’re playing Fortnite Battle Royale, in my view, that is capturing the essence of the metaverse, and it’s especially in Fortnite when we got Sony on board so that all players on all platforms in Fortnite could play together, could voice chat together, and could be part of a single game experience, it really took on a new nature, which was not just like a multiplayer game with Heritage from Doom, but also a true social experience between you and your friends.

在我看来,如果你正在玩《堡垒之夜:大逃杀》,那就捕捉到了虚拟世界的精髓,尤其是在《堡垒之夜》中,当我们与索尼合作时,《堡垒之夜》所有平台上的所有玩家都可以一起玩,可以一起语音聊天,并且可以成为单一游戏体验的一部分,它确实呈现出一种新的性质,这不仅仅是《毁灭战士》中的《遗产》的多人游戏,也是你和你的朋友之间真正的社交体验。

And Fortnite Battle Royale is just one manifestation of that.

《堡垒之夜:大逃杀》只是其中的一种体现。

Another one is Rec Room: VR, where you’re standing around in VR with friends playing billiards and or shooting hoops or doing other light entertainment things.

另一种是《Rec Room:VR》,您可以在 VR 中与朋友一起打台球、投篮或做其他轻松的娱乐活动。

2:21:54 I think every game that has a huge number of players who play together socially as part of their entertainment lives, yeah, I think is really getting at the core essence of the aspiration for the metaverse.

我认为每一款拥有大量玩家一起玩社交游戏作为娱乐生活一部分的游戏,是的,我认为这确实抓住了虚拟宇宙渴望的核心本质。

And we’re still in the very early days of it.

我们仍处于早期阶段。

I was on the internet in like 1992 or so, and it was a pretty bare bones thing.

我大约在 1992 年左右就接触过互联网,那是一件非常简单的事情。

And I think when we look back at the state of gaming today, we’ll realize that there’s a lot further to go to get to the ultimate version of it, but I think it’s all on track.

我认为,当我们回顾今天的游戏状况时,我们会意识到要达到最终版本还有很多路要走,但我认为一切都已步入正​​轨。

And I think it was the time we released Fortnite Battle Royale and started playing together.

我想那是我们发布《堡垒之夜:大逃杀》并开始一起玩的时候。

All of the people at Epic and squads and experiencing that world that we realized that this trend was afoot and that we needed to do everything we could to bring in other creators so that anybody could pile on to the work we were doing by creating their own worlds through Fortnite, Creative and UEFN, and creating more games and more genres that people could play and ever expanding the repertoire of fun.

Epic 和小队的所有人员在体验这个世界时都意识到这种趋势正在发生,我们需要尽一切努力引入其他创作者,以便任何人都可以通过《堡垒之夜》、Creative 和 UEFN 创建自己的世界来加入我们正在做的工作,并创造更多人们可以玩的游戏和更多类型,并不断扩展乐趣。

Lex Fridman2:22:57

Yeah, I would love to sort of talk about different aspects of that a little bit more because Epic has created a lot of amazing games, Unreal Tournament, Gears of War, but the game that I think is fair to say that transformed the gaming industry was Fortnite, Fortnite Battle Royale especially.

是的,我很想多谈谈这方面的不同方面,因为 Epic 创造了很多令人惊叹的游戏,《虚幻竞技场》、《战争机器》,但我认为公平地说,改变游戏行业的游戏是《堡垒之夜》,尤其是《堡垒之夜:大逃杀》。

2:22:57 Can you explain the origin story of Fortnite?

你能解释一下《堡垒之夜》的起源故事吗?

Tim Sweeney2:23:16

Well, Fortnite has humble beginnings.

嗯,《堡垒之夜》的出身并不起眼。

2:23:16 In 2011, we just been in the final days of finishing one of the Gears of War games, and we wanted to explore ideas for new games, and we’d had a general idea that we would like to build some smaller games, online games and or to learn more about yeah, that space and not just have one single massive game in production at all times and only one.

2011 年,我们刚刚完成一款《战争机器》游戏的最后几天,我们想要探索新游戏的想法,我们有一个总体想法,我们想要制作一些小型游戏、在线游戏,或者了解更多关于这个领域的信息,而不是一直只制作一款大型游戏。

And so everybody in the company was given a week to form a team and work with whichever co-workers they wanted and build a game using Unreal Engine so you can actually build something pretty interesting in a week.

因此,公司中的每个人都有一周的时间组建团队,与他们想要的任何同事一起工作,并使用虚幻引擎构建游戏,这样你就可以在一周内构建一些非常有趣的东西。

And one of the teams built the very first version of what became Fortnite.

其中一个团队构建了《堡垒之夜》的第一个版本。

The very first version of it had a different art style, but it had the idea at the core that you’re going to build forts by day using this building system.

它的第一个版本有不同的艺术风格,但它的核心思想是你将使用这个建筑系统在白天建造堡垒。

Then night would come and you’d defend the forts against zombies, and the longer you could go, the more elaborate forts you could build and the more survival waves you could withstand, and it would get cooler and cooler with time.

然后夜幕降临,你要保卫堡垒抵御僵尸,你走的时间越长,你可以建造的堡垒就越复杂,你可以承受的生存浪潮就越多,随着时间的推移,天气会变得越来越凉爽。

Lex Fridman2:24:20

Nice.

好的。

Tim Sweeney2:24:21

And that game was in development for a very long time.

该游戏已经开发了很长时间。

2:24:21 We always saw the potential, just the building aspect of it was incredibly fun, but we made different pivots at different times.

我们总是看到潜力,只是它的构建方面非常有趣,但我们在不同的时间做出了不同的转变。

At one point we had moved to the current Fortnite art style away from kind of more of a realistic style, made it more in the Pixar vein of cool stylized characters.

在某一时刻,我们已经转向当前的《堡垒之夜》艺术风格,远离了一种更现实的风格,使其更像皮克斯风格的酷风格角色。

Lex Fridman2:24:43

What was that decision like?

这个决定是什么样的?

2:24:43 Because what you mentioned Gears of War is this incredible, like shows off the graphics to the fullest, different than the artistic style of Fortnite.

因为你提到的《战争机器》是如此令人难以置信,就像将图形展示得淋漓尽致,与《堡垒之夜》的艺术风格不同。

It’s amazing that the same company would make this fun, silly graphic style of Fortnite.

令人惊奇的是,同一家公司竟然能够制作出这种有趣、愚蠢的图形风格的《堡垒之夜》。

Tim Sweeney2:25:01

People come to Epic because they want to work with the best people in the world, and artists bring a lot of different personal art aspirations and style capabilities, and many of them are very multi-talented in British photoreal content or highly stylized content.

人们来到Epic是因为他们想与世界上最优秀的人一起工作,而艺术家带来了很多不同的个人艺术抱负和风格能力,其中许多人在英国照片级内容或高度风格化的内容方面非常多才多艺。

2:25:01 And a lot of the best artists on Fortnite were a lot of the best artists on Gears of War too, change styles, but continue doing awesome work.

《堡垒之夜》中的许多最优秀的艺术家也是《战争机器》中的许多最优秀的艺术家,他们改变了风格,但继续创作出色的作品。

We’d realized that Fortnite could be really mainstream and it could be a game people play for a long time.

我们意识到《堡垒之夜》可能会真正成为主流,并且可能成为人们长期玩的游戏。

And so having a more visually pleasing art style that’s not as stressful as a Call of Duty game where you’re constantly like pixel hunting in a dark scene for somebody’s rifle scope.

因此,拥有一种视觉上更令人愉悦的艺术风格,不像《使命召唤》游戏那么有压力,在《使命召唤》游戏中,你需要不断地在黑暗场景中寻找某人的步枪瞄准镜的像素狩猎。

That was the goal.

这就是目标。

So a few of the artists got through into find a new art style and we moved to it and at different points it evolved towards being kind of like a light MMO like Destiny with rather complex RPG and stat systems.

因此,一些艺术家找到了一种新的艺术风格,我们转向了它,在不同的阶段,它演变成一种像《命运》这样的轻型 MMO,具有相当复杂的 RPG 和统计系统。

2:25:50 And that evolved into kind an MMO like tower defense game.

这后来演变成了一款类似 MMO 的塔防游戏。

MMO only ended up persistence of items and stats, which became Fortnite: Save the World mode, which we launched in early 2017, and it was a moderate success.

MMO 最终只保留了物品和统计数据,这成为了我们于 2017 年初推出的《堡垒之夜:拯救世界》模式,并取得了一定的成功。

It paid its budget and we come out ahead.

它支付了预算,我们取得了领先。

And then at the same time the Battle Royale genre was booming, PUBG had just come out.

然后在大逃杀类型蓬勃发展的同时,PUBG 也刚刚问世。

Tons of people at Epic were playing at.

Epic 里有很多人在玩。

They were like, “Oh, this would be so cool if it had Fortnite building.”

他们说,“哦,如果有《堡垒之夜》的建筑,那就太酷了。”

2:26:18 And so we assembled a team in a war room, like 30 people in one big room, and they worked insanely hard for four weeks to build Battle royale.

所以我们在作战室里组建了一个团队,就像一个大房间里 30 个人一样,他们疯狂地工作了四个星期来打造《大逃杀》。

So the nice thing is all of the content for Fortnite had been built over the previous seven years.

因此,令人高兴的是《堡垒之夜》的所有内容都是在过去七年里构建的。

They had a huge library of content but no game play of the type they wanted.

他们拥有庞大的内容库,但没有他们想要的游戏类型。

So they had to build it all in that four weeks and ship it.

因此,他们必须在四个星期内完成所有工作并发货。

And that put Epic on an exponential growth curve where we went from 300 employees to thousands of employees and went from about a $100 million in revenue to billions of dollars in revenue and became the center of the gaming world at the time.

这让 Epic 走上了指数增长曲线,我们的员工从 300 名增加到数千名,收入从约 1 亿美元增加到数十亿美元,成为当时游戏世界的中心。

Lex Fridman2:26:54

Can you actually speak to the technical challenge of going from mostly a not online large scale gaming platform to being able to support with Battle Royale, a huge number of people playing with each other at the same exact time.

您实际上能谈谈从主要是非在线大型游戏平台到能够支持大逃杀(大量人在同一时间互相玩游戏)的技术挑战吗?

2:26:54 What’s the technical, four weeks.

技术是什么,四个星期。

What’s the technical challenges there that had to be overcome?

必须克服哪些技术挑战?

Tim Sweeney2:27:17

Since 2012, we’ve been building online backend system to support player accounts and log in and all of the different systems there needed to make a multiplayer game.

自 2012 年以来,我们一直在构建在线后端系统来支持玩家帐户和登录以及制作多人游戏所需的所有不同系统。

2:27:17 And we’d been building them to be scalable, and by some miracle, we built them stably enough that they were able to scale up.

我们一直在将它们构建为可扩展的,并且奇迹般地,我们将它们构建得足够稳定,以至于它们能够扩展。

And so the online team who was responsible for patching that code, spent a year of intense work getting it to scale from 40,000 concurrent users to 15 million concurrent users.

因此,负责修补该代码的在线团队花了一年的时间进行紧张工作,将其从 40,000 个并发用户扩展到 1500 万个并发用户。

Lex Fridman2:27:45

Yeah, I mean they’re scaling.

是的,我的意思是他们正在扩大规模。

2:27:45 They’re scaling.

他们正在扩大规模。

That’s a lot.

就这么多了。

Tim Sweeney2:27:49

That’s immense.

那是巨大的。

2:27:49 But they’ve done such an awesome job of building the foundations that found it was tractable, it was doable.

但他们在建立基础方面做得非常出色,发现这是容易处理的,是可行的。

If they hadn’t done that, then the company would’ve died.

如果他们不这样做,那么公司就会消亡。

Fortnite just wouldn’t have been playable and the whole thing would’ve failed.

《堡垒之夜》根本无法玩,整个事情就会失败。

Lex Fridman2:28:03

I mean, there’s just so much detail there.

我的意思是,那里有太多细节。

2:28:03 That makes all the difference because I mean, that’s what Spotify has talked about that, like the latency.

这使得一切变得不同,因为我的意思是,这就是 Spotify 所谈论的,比如延迟。

It’s like how quickly you can deliver the song changes the product from being this shitty thing that I’d rather pirate the songs to.

这就像你能多快地交付歌曲,从而改变产品,使之不再是我宁愿盗版歌曲的糟糕东西。

This is good enough to where I really enjoy the experience, I want to use it.

这对于我真正喜欢这种体验的地方来说已经足够好了,我想使用它。

So yeah, that’s really important, to create an experience for 15 million concurrent users to where it’s not lagging or it actually works.

所以,是的,这真的很重要,为 1500 万并发用户创造一种不滞后或真正有效的体验。

Right.

正确的。

Is there something you could say to sort of, like how difficult that is to pull off?

您是否可以说一些事情,例如实现这一目标有多么困难?

Tim Sweeney2:28:50

The trend nowadays for building online services is microservices.

如今构建在线服务的趋势是微服务。

2:28:50 There’s not one big server that handles all of the interactions with Fortnite.

没有一台大型服务器可以处理与《堡垒之夜》的所有交互。

There’s game servers running 100 player game instances for each Battle Royale session, and then there’s an account server and many instances of it all talking to a shared database, and there’s hundreds of different microservices talking to each other.

每个 Battle Royale 会话都有游戏服务器运行 100 个玩家游戏实例,然后有一个帐户服务器和许多实例都与共享数据库通信,并且有数百个不同的微服务相互通信。

And so scaling is a matter of identifying what are the bottlenecks in that system and making sure that each one can scale and has enough redundancy to be able to handle the load.

因此,扩展就是确定系统中的瓶颈是什么,并确保每个瓶颈都可以扩展并具有足够的冗余来处理负载。

Thank God for Amazon Web Services and cloud hosting because Epic went to 15 million concurrent users without buying any server hardware.

感谢上帝的 Amazon Web Services 和云托管,因为 Epic 在没有购买任何服务器硬件的情况下就拥有了 1500 万并发用户。

2:29:33 We were able to just call up Amazon and say, we need more.

我们可以打电话给亚马逊说,我们需要更多。

And there was a period of time there where Fortnite was undergoing this exponential growth and we’d find one week we ran out of servers in Brazil during a heavy weekend of play, and next week we had an even heavier weekend of play and there were servers to handle it.

有一段时间,《堡垒之夜》经历了指数级增长,我们发现有一周,我们在巴西的服务器在一个繁忙的周末比赛中耗尽了,而下周我们又迎来了一个更加繁忙的周末,并且有服务器来处理它。

Somebody at Amazon had drop shipped millions of dollars of server hardware into Brazil and turned it on just in time for Fortnite to need it.

亚马逊的某个人将价值数百万美元的服务器硬件空运到巴西,并在《堡垒之夜》需要时及时启动。

And yeah, there are a lot of unsung heroes in that story, many of whom we have never heard of.

是的,这个故事中有很多无名英雄,其中许多人我们从未听说过。

Lex Fridman2:30:05

Yeah, I mean behind AWS, many unsung heroes.

是的,我的意思是 AWS 背后有许多无名英雄。

2:30:05 There’s like so much of those folks who run the modern internet, all the incredible services, the games, the services that we take for granted are currently being run on AWS or were originally and Google Cloud and so on.

就像很多运行现代互联网的人一样,所有令人难以置信的服务、游戏、我们认为理所当然的服务目前都在 AWS 上运行,或者最初在 Google Cloud 上运行,等等。

Yeah.

是的。

Can you speak to how much money Fortnite made?

你能说说《堡垒之夜》赚了多少钱吗?

So this is one of the greatest successes in the history of video games also.

所以这也是电子游戏历史上最伟大的成功之一。

Tim Sweeney2:30:36

Fortnite makes billions of dollars a year, and that’s the majority of Epic’s revenue, that we have a robust business around Unreal Engine licensing, Rocket League and Fall Guys, and some other tools like the Fab content marketplace.

Fortnite 每年赚取数十亿美元,这是 Epic 收入的大部分,我们围绕虚幻引擎许可、Rocket League 和 Fall Guys 以及 Fab 内容市场等其他一些工具拥有强大的业务。

2:30:36 But the majority of it is Fortnite because we’ve chosen to reinvest heavily in building what we think is the future of technology.

但其中大部分是《堡垒之夜》,因为我们选择大力再投资来构建我们认为的技术未来。

We’re spending more every year than we’re making.

我们每年花的钱比赚的还多。

And for a bit of time we were spending over a billion dollars a year more than we were making, and we found that to be unsustainable.

有一段时间,我们每年的支出比我们的收入多了十亿美元,我们发现这是不可持续的。

And we went through some painful layoffs at that time, and then we stabilized and now we’re spending several hundred million dollars a year more than we’re making, which we can very well afford to do because we have billions of dollars in the bank.

当时我们经历了一些痛苦的裁员,然后我们稳定下来,现在我们每年的支出比我们的收入多几亿美元,我们完全有能力这样做,因为我们在银行有数十亿美元的存款。

2:31:20 Thanks to a combination of the profits we made when we were a very small company with a very big game and because of investment we’ve raised.

这要归功于我们在一家非常小的公司推出一款非常大的游戏时所获得的利润,以及我们筹集到的投资。

We’re not an oil well pumping oil out of the ground where we discovered oil.

我们不是从发现石油的地下抽油的油井。

We are growing to be a future technology powerhouse.

我们正在成长为未来的技术强国。

And we think the 3D space and the future of real-time 3D simulations is going to be one of the major facets of technology for humanity.

我们认为 3D 空间和实时 3D 模拟的未来将成为人类技术的主要方面之一。

And we’re all in investing in that.

我们都在这方面进行投资。

Lex Fridman2:31:45

Yeah, it’s exciting to see that investing in a long-term future, sort of taking the risk of doing the research and defining the next chapter of Epic.

是的,令人兴奋的是看到投资于长期的未来,冒险进行研究并定义 Epic 的下一章。

2:31:45 So using the successes of the day to invest into the successes of tomorrow, that might look very different, completely different.

因此,利用今天的成功来投资明天的成功,这可能看起来非常不同,完全不同。

And part of that is investing in the developments, the research and the innovation in the Unreal Engine.

其中一部分是投资于虚幻引擎的开发、研究和创新。

Tim Sweeney2:32:08

That’s right.

这是正确的。

2:32:08 We’re a company that can start working on a project knowing that we won’t reach fruition or make any money from it at all for three years, four years, five years.

我们是一家公司,在开始开展一个项目时,我们知道三年、四年、五年内我们都不会取得成果,也不会从中赚到任何钱。

We’re totally okay with that.

我们完全同意这一点。

And that’s the cycle that’s fueled our growth over time.

这就是随着时间的推移推动我们成长的循环。

It’s constantly investing in the future and being a serious company that’s doing serious R&D side by side with shipping and maintaining products and earning money from them.

它不断投资未来,成为一家认真的公司,在运输和维护产品的同时进行认真的研发,并从中赚钱。

Lex Fridman2:32:34

So can you speak to, I mean there’s several directions here.

那么你能谈谈吗,我的意思是这里有几个方向。

2:32:34 So one of them, sort of the future evolution of this idea of the metaverse, so potentially creating communities.

其中之一就是元宇宙这一想法的未来演变,因此有可能创建社区。

So Fortnite is this incredible, huge community of humans interacting, but your vision is to go outside of just one game.

所以《堡垒之夜》是一个令人难以置信的、巨大的人类互动社区,但你的愿景是超越一款游戏。

So what is the kinds of standards that you’re thinking about building such that people can sort of have an identity and almost travel between games and that kind of thing?

那么,您正在考虑建立什么样的标准,以便人们可以拥有某种身份,并且几乎可以在游戏之类的事物之间旅行?

Tim Sweeney2:33:11

Let me start with the present of gaming and why it sucks.

让我从游戏的现状以及它为何糟糕开始。

Lex Fridman2:33:15

That’s a good start.

这是一个好的开始。

2:33:15 Sure.

当然。

Tim Sweeney2:33:17

Fortnite is an awesome thing.

《堡垒之夜》是一件很棒的事情。

2:33:17 You go into Fortnite, there’s 100 million monthly active users there, a huge number of your own friends are there, you can play with them, go from experience to experience seamlessly without leaving the app.

你进入《堡垒之夜》,那里有 1 亿月活跃用户,那里有大量你自己的朋友,你可以和他们一起玩,无需离开应用程序即可无缝地体验不同的体验。

There are 100,000 different islands you can play on, and some of them are really awesome and they’re constant new ones coming out and constant things to do.

您可以在 100,000 个不同的岛屿上玩耍,其中一些真的很棒,并且不断有新的岛屿出现,并且有不断的事情可以做。

If you want to play Roblox, all right, you quit out of the Fortnite app, you launch the Roblox app, different program, different friend system, different account names, your username in Fortnite and your username in Roblox are different names and they’re not connected to each other.

如果你想玩 Roblox,好吧,你退出 Fortnite 应用程序,启动 Roblox 应用程序,不同的程序,不同的朋友系统,不同的帐户名称,你在 Fortnite 中的用户名和你在 Roblox 中的用户名是不同的名称,并且它们彼此不相关。

So you have to remake all of your friends and then find different things to play.

所以你必须重新塑造你所有的朋友,然后找到不同的东西来玩。

And now the controls are different.

现在控制方式不同了。

So you have to relearn how the joystick, mouse, keyboard, controller works in that experience and you have to go from place to place and you buy some stuff in Fortnite and it’s really cool and you can use it anywhere in Fortnite.

所以你必须重新学习操纵杆、鼠标、键盘、控制器在这种体验中的工作原理,你必须从一个地方走到另一个地方,然后在《堡垒之夜》中购买一些东西,这真的很酷,你可以在《堡垒之夜》中的任何地方使用它。

2:34:06 And then you go in Roblox and you don’t have that stuff, you have to buy different stuff.

然后你进入 Roblox,你就没有那些东西了,你必须购买不同的东西。

And that stuff only works in Roblox.

而这些东西只能在 Roblox 中使用。

And same with Call of Duty.

使命召唤也是如此。

It’s another isolated place.

这又是一个与世隔绝的地方。

And same with World of Warcraft, and same with League of Legends.

魔兽世界也是如此,英雄联盟也是如此。

And every place you go is its own unique place, different friends, different account names, different people, and there’s no social cohesion between them at all.

你去的每个地方都是它自己独特的地方,不同的朋友,不同的账户名,不同的人,他们之间根本没有社会凝聚力。

And a long time ago, consoles set out to solve this problem by creating their console-wide friend system in account.

很久以前,游戏机开始通过在帐户中创建全游戏机好友系统来解决这个问题。

So your friend on PlayStation in one game is your friend on PlayStation in another game, but only on PlayStation.

因此,您在一款游戏中的 PlayStation 上的朋友也是您在另一款游戏中的 PlayStation 上的朋友,但仅限于 PlayStation。

If you’re on Xbox, you can’t see PlayStation friends.

如果您使用的是 Xbox,则看不到 PlayStation 好友。

And so you have two basically orthogonal and cross-cutting divisions of the world into fiefdoms, which were not created with bad intentions but arose and are separated isolated islands.

因此,世界上有两个基本正交且交叉的划分,即封地,这些封地并不是出于恶意而创建的,而是出现的,并且是相互隔离的岛屿。

2:34:54 One is the platforms and they’re social services, Xbox, PlayStation, Nintendo, Steam, Epic if yet it to the list.

一是平台,它们是社交服务、Xbox、PlayStation、任天堂、Steam、Epic(如果还没有出现的话)。

And the other is these different games people play.

另一个是人们玩的不同游戏。

And because of this weird historical artifact, we’re left in a world where people can’t seamlessly move from games to games, bringing their friends and their stuff.

由于这个奇怪的历史文物,我们陷入了一个人们无法无缝地从一个游戏转移到另一个游戏的世界,带着他们的朋友和他们的东西。

So the solution to this is to federate and connect all of the systems together.

因此,解决方案是将所有系统联合并连接在一起。

All of the players on all of the different platforms can be recognized by their name and put the at sign in it so your Xbox names and your Fortnite or Epic names and your Steam names can all live together and interoperate together in a single space.

所有不同平台上的所有玩家都可以通过他们的名字来识别,并将 at 符号放入其中,这样您的 Xbox 名称、您的 Fortnite 或 Epic 名称以及您的 Steam 名称就可以在一个空间中共同存在并互操作。

So unifying the social ecosystems is one thing that needs to happen.

因此,统一社会生态系统是需要发生的一件事。

Next and bigger challenges to unify the economies too.

接下来也是更大的挑战是统一经济。

Now, I’m not talking about a sword you have and World of Warcraft should work in Fortnite.

现在,我不是在谈论你拥有的一把剑,《魔兽世界》应该可以在《堡垒之夜》中运行。

Lex Fridman2:35:47

Yeah.

是的。

Tim Sweeney2:35:49

Every game’s going to have its own gameplay rules and a lot of games are going to have stuff that only works in them.

每个游戏都会有自己的游戏规则,而且很多游戏都会有只适用于它们的东西。

2:35:49 But there’s a huge set of games that have in common the idea of a cosmetic system that does not affect gameplay outcomes but is purely cool looks and cool appearances.

但有很多游戏都有一个共同的理念,即化妆品系统,它不会影响游戏结果,但纯粹是很酷的外观和很酷的外观。

Most of the major multiplayer games have them.

大多数主要的多人游戏都有它们。

And if you look at games, you could probably bundle together about 70% of them and say they’re similar enough that they could actually interoperate, that you could own an outfit in Fortnite, own an outfit in Roblox, and own the same outfit in maybe Call of Duty and maybe 100 or 200 other games and actually expect they would work together.

如果你看一下游戏,你可能会把大约 70% 的游戏捆绑在一起,并说它们足够相似,实际上可以互操作,你可以在《堡垒之夜》中拥有一套服装,在《Roblox》中拥有一套服装,在《使命召唤》和也许 100 或 200 款其他游戏中拥有同样的服装,并且实际上期望它们能够协同工作。

And you find other kinds of items are probably interoperable too.

您会发现其他类型的项目也可能是可以互操作的。

Like Fortnite has car outfits, so you can buy different appearances of a car.

就像《堡垒之夜》有汽车装备一样,所以你可以购买不同外观的汽车。

And when you find a physical car in the world of Fortnite, if you’re the first person to get into it in that session, boom, it takes on your chosen car cosmetic and now you have a cool car that’s identifiable as yours.

当你在《堡垒之夜》的世界中找到一辆实体汽车时,如果你是该会话中第一个进入它的人,那么它就会呈现你选择的汽车装饰,现在你就拥有了一辆可以识别为你的很酷的汽车。

2:36:54 We realized early on with Fortnite that the key to making Fortnite work as a creator economy was to open up the revenue from the item shop to all of those sources of engagement.

我们很早就在《堡垒之夜》中意识到,让《堡垒之夜》成为创造者经济的关键是将物品商店的收入开放给所有这些参与来源。

Right.

正确的。

There are two big things happening in Fortnite that make it work as a product and as a business.

《堡垒之夜》发生了两件大事,使其成为一项产品和一项业务。

One is the game modes, Fortnite Battle Royale, and all of the user modes and everything else are sources of engagement.

一是游戏模式,《堡垒之夜:大逃杀》,所有用户模式和其他一切都是参与的来源。

People play there because it’s super fun and because they’re playing there, they’re willing to buy cool stuff to make their character look cooler.

人们在那里玩是因为它非常有趣,而且因为他们在那里玩,他们愿意购买很酷的东西来让他们的角色看起来更酷。

And so you have all of these sources of engagement, but the sources of engagement don’t make money directly.

所以你拥有所有这些参与来源,但参与来源并不直接赚钱。

You can’t spend money in Fortnite Battle Royale to buy a game item.

您不能在《堡垒之夜:大逃杀》中花钱购买游戏物品。

The gameplay is not paid to win, and it’s all just a game.

游戏玩法并不是为了获胜而付费的,这只是一个游戏。

So we make money from the item shop and the item shop only adjusts because of the sources of engagement.

因此,我们从商品商店赚钱,而商品商店只会根据参与度的来源进行调整。

If you weren’t playing Battle Royale, trust me, nobody would want to buy a Fortnite outfit.

如果你不玩大逃杀,相信我,没有人会想买《堡垒之夜》的服装。

If you weren’t playing any Fortnite games, why would you buy Fortnite outfits?

如果您没有玩任何《堡垒之夜》游戏,为什么要购买《堡垒之夜》服装?

2:37:50 And so you have all the revenue in this item shop economy and all of the engagement in this engagement economy.

因此,您拥有该商品商店经济中的所有收入以及该参与经济中的所有参与度。

And the thing that magically makes the Fortnite creator economy works is revenue sharing, item shop spending according to sources of engagement by engagement.

而让《堡垒之夜》创作者经济神奇地运转起来的因素是收入分享,以及根据参与度来源的物品商店支出。

If you buy an item and you’ve played 40% of your time in Battle Royale and 60% of your time in these user modes, the amount you spent, the portion of that that’s profit can be separated out and paid out to all the different creators who participate in that economy.

如果你购买了一件物品,并且你在大逃杀中玩了 40% 的时间,在这些用户模式中玩了 60% 的时间,那么你花费的金额,即利润的一部分可以分开支付给参与该经济的所有不同的创作者。

And that’s why Fortnite scaled up to a $400 million creator economy so far, and it’s growing.

这就是为什么《堡垒之夜》的创作者经济迄今为止已扩大到 4 亿美元,而且还在不断增长。

Lex Fridman2:38:23

It’s amazing.

太棒了。

Tim Sweeney2:38:25

One of the really critical things we aim to do in designing that is ensure it’s a creator economy that could scale to other companies, other ecosystems and say right now we have many industry standards bodies, one standardized game ratings, age ratings of games, another standardized file formats for the web, another standardizing file formats for 3D, like Khronos Groups in The Metaverse Standards Forum.

我们在设计中要做的真正关键的事情之一是确保它是一个可以扩展到其他公司、其他生态系统的创作者经济,并且说现在我们有许多行业标准机构,一个标准化游戏评级、游戏年龄评级,另一种标准化网络文件格式,另一种标准化 3D 文件格式,例如元宇宙标准论坛中的 Khronos Groups。

2:38:25 If we had a standards body standardized what are portable outfits in games, game outfits you could buy in one game that work in another, what are their dimensions and what are their capabilities and what can you do and what can’t you do and so on.

如果我们有一个标准机构来标准化什么是游戏中的便携式装备,您可以在一款游戏中购买并在另一款游戏中使用的游戏装备,它们的尺寸是什么,它们的功能是什么,以及您可以做什么和不能做什么等等。

Then you could have an item economy where every game agrees to respect each other’s item purchases of that sort and revenue is shared between ecosystems as well.

然后你就可以拥有一个物品经济,其中每个游戏都同意尊重彼此的此类物品购买,并且收入也在生态系统之间共享。

Lex Fridman2:39:15

That would be incredible.

那将是令人难以置信的。

2:39:15 That would be so amazing.

那真是太神奇了。

First of all, it seems silly maybe for people who don’t play video games, but an outfit is an important, if an outfit can be persistent across video games, I mean, I don’t know.

首先,对于不玩电子游戏的人来说,这似乎很愚蠢,但服装很重要,如果一套服装可以在电子游戏中持久存在,我的意思是,我不知道。

What’s the purpose of life?

人生的目的是什么?

Why do we wear clothing?

我们为什么要穿衣服?

Clothing is a part of our identity.

服装是我们身份的一部分。

It’s how we present ourselves to the world.

这就是我们向世界展示自己的方式。

I wear this stupid suit and tie.

我穿着这套愚蠢的西装和领带。

It feels good.

感觉很好。

It feels good when I put it on.

当我穿上它的时候感觉很好。

And even the other outfit, I have two outfits, this and then a black t-shirt and jeans, and it feels good to wear that.

甚至另一套衣服,我有两套衣服,这套,然后是黑色T恤和牛仔裤,穿起来感觉很好。

It feels like me when I look in the mirror.

当我照镜子时,感觉就像我一样。

Okay, I know that guy.

好吧,我认识那个人。

2:39:59 And to be able to have that outfit go from game to game to game maybe across the years, that would be wonderful.

能够让这支球队在接下来的几年里从一场比赛到另一场比赛,那真是太棒了。

I wonder if you could just even comment, could there also be another standardization about the value sort of for more complicated items?

我想知道您是否可以发表评论,是否还有关于更复杂项目的价值排序的另一种标准化?

So take a sword from Diablo and transfer to a gun in Fortnite, but based on the value, some generic concept of money.

因此,将《暗黑破坏神》中的一把剑转移到《堡垒之夜》中的一把枪,但基于价值,一些通用的金钱概念。

So the value of a thing in one game versus the value of a thing in another game where you’re almost operating in a space of value versus the actual items.

因此,一款游戏中某物的价值与另一款游戏中某物的价值相对比,你几乎是在价值空间与实际物品之间进行操作。

Or is that already getting too general?

或者这已经变得太笼统了?

Tim Sweeney2:40:46

I think this can be done.

我认为这是可以做到的。

2:40:46 Yeah.

是的。

We did a lot of analysis of the Fortnite economy and found that some Fortnite experiences lead to or correlate with higher spending than others.

我们对《堡垒之夜》的经济进行了大量分析,发现某些《堡垒之夜》体验会导致比其他体验更高的支出或与之相关。

And Battle Royale is relatively strong in that area because you see your character from behind and see all of your other characters from the front, and you have lots of opportunities to really see who you are and to emote and to interact with other players.

而大逃杀在这方面相对较强,因为你从后面看到你的角色,从前面看到所有其他角色,你有很多机会真正看到自己是谁,表达情感并与其他玩家互动。

And a lot of games have that characteristic.

很多游戏都有这个特点。

2:41:22 One funny anomaly stood out.

一个有趣的异常现象脱颖而出。

There was this game that was one of the big breakthroughs in Fortnite, Only Up.

这款游戏是 Fortnite 的重大突破之一,Only Up。

It’s a game where you’re just climbing up and up by following paths of stacks of objects and things.

在这款游戏中,你只需沿着成堆的物体和东西的路径向上攀爬即可。

It was just stupid fun.

这只是愚蠢的乐趣。

Everybody loved, but we found people weren’t spending a lot of money on outfits when they were playing Only Up.

每个人都喜欢,但我们发现人们在玩《Only Up》时并没有在服装上花很多钱。

And it’s kind of intuitive actually.

实际上这很直观。

You’re not seeing other players.

你看不到其他玩家。

If you see anything, you’re seeing their butt as you’re trying to catch up to them jumping from object to object and they’re above you.

如果你看到任何东西,你会看到他们的屁股,因为你试图追上他们从一个物体跳到另一个物体,而他们就在你的上方。

And so it wasn’t a mode that shut off outfits very much, but you can determine the economic correlation between a game mode and spending.

因此,这并不是一种非常关乎服装的模式,但你可以确定游戏模式和支出之间的经济相关性。

Lex Fridman2:42:02

That’s so fascinating.

这太令人着迷了。

2:42:02 I mean, Fortnite is this gigantic economy where you could do those kinds of studies, you can understand markets, digital markets as they emerge amongst humans and what they value.

我的意思是,《堡垒之夜》是一个巨大的经济体,你可以在其中进行此类研究,你可以了解市场、数字市场在人类中出现的情况以及它们的价值。

And from that value, you can probably have a very stable kind of money that emerges.

从这个价值来看,你可能会得到一种非常稳定的货币。

Tim Sweeney2:42:18

Yeah, I think so.

是的,我想是的。

2:42:18 You don’t need an alternate currency system.

您不需要替代货币系统。

Unfortunately, a bunch of ideas have been conflated because people are trying to hype up different things.

不幸的是,由于人们试图炒作不同的事情,所以很多想法被混为一谈。

But this idea of large-scale multiplayer social gaming, that notion of the metaverse, there’s 600 to 800 million people playing that kind of game every month.

但是大规模多人社交游戏的想法,虚拟宇宙的概念,每个月有 600 到 8 亿人玩这种游戏。

So you know that’s real and that’s happening and it’s very much underway.

所以你知道这是真实的,而且正在发生,而且正在顺利进行中。

VR has a much smaller audience.

VR 的受众要少得多。

I don’t think you need VR to have anything like this.

我认为你不需要 VR 就能拥有这样的东西。

VR is hardware that may or may not enhance the experience for some usage cases.

VR 是一种硬件,可能会也可能不会增强某些使用案例的体验。

For some it will probably be better and for some it will probably be worse, but certainly there’s not any set of Battle Royale players flocking to VR.

对于某些人来说,它可能会更好,而对于某些人来说,它可能会更糟,但肯定没有任何大逃杀玩家涌向 VR。

2:43:02 And the other thing is NFT is trying to equate digital or cryptocurrency to the metaverse.

另一件事是 NFT 试图将数字或加密货币等同于元宇宙。

It’s like, well, it’s just a way of denoting money or value exchange.

就像,嗯,这只是表示金钱或价值交换的一种方式。

You can do that with money or you can do it with NFTs or whatever, but there’s nothing about this future digital economy that fundamentally requires cryptocurrency or whatever.

你可以用金钱来做到这一点,也可以用 NFT 或其他任何东西来做到这一点,但未来的数字经济从根本上不需要加密货币或其他东西。

What you need is interoperability.

您需要的是互操作性。

Interoperability can happen through a blockchain, it can happen through a database, it can happen through standards bodies with defining standards and protocols.

互操作性可以通过区块链实现,可以通过数据库实现,也可以通过定义标准和协议的标准机构实现。

And we’ve been doing it for hundreds of years since the railroads were standardized.

自从铁路标准化以来,我们已经这样做了数百年。

And it’s not something that totally requires a novel technological solution.

这并不完全需要新颖的技术解决方案。

Lex Fridman2:43:44

Yeah, I mean, even on the topic of cryptocurrency, it’s very frustrating.

是的,我的意思是,即使在加密货币这个话题上,这也非常令人沮丧。

2:43:44 Blockchain and crypto is a really powerful technology that I think can enable a lot of the things that we’re talking about, but so many people use it to try to make money to create these bubbles and the hype and the meme coins and the so on and so forth that becomes much less about, that drifts far away and rapidly from things that are actually of value, which is the experience of playing Fortnite and how you look when you play Battle Royale.

区块链和加密货币是一项非常强大的技术,我认为它可以实现我们正在谈论的很多事情,但很多人用它来试图赚钱来创造这些泡沫、炒作和模因硬币等等,这些都变得不再那么重要,它远离了真正有价值的东西,这就是玩《堡垒之夜》的体验以及你玩《大逃杀》时的样子。

I mean, it sounds ridiculous to say, but it’s true.

我的意思是,这听起来很荒谬,但却是事实。

But that’s valuable.

但这是有价值的。

That’s like you have gold in the physical space.

这就像你在物理空间里拥有黄金一样。

We know that holds value.

我们知道这具有价值。

How your outfit looks like in Fortnite, that as you’re saying, provably holds value.

正如你所说,你的服装在《堡垒之夜》中的样子确实有价值。

And so you want to connect like a standard definition of money value to that and not let it become this hype thing, which NFTs that you mentioned are just become that.

所以你想要像货币价值的标准定义一样与之联系起来,而不是让它成为炒作的东西,你提到的 NFT 就变成了那样。

It quickly drifts away into the land of people trying to buy and sell and trying to make money versus staying close to the thing that people actually value.

它很快就陷入了人们试图买卖、试图赚钱而不是接近人们真正珍视的东西的境地。

2:45:07 Forget the money.

忘记钱了。

It’s more about exchanging valuable experiences or things of value.

更多的是交流宝贵的经验或有价值的东西。

So you can play Fortnite and then go to another video game and continue the valuable experience and then come back to Fortnite and do that kind of thing.

所以你可以玩《堡垒之夜》,然后再玩另一个视频游戏,继续获得宝贵的体验,然后再回到《堡垒之夜》,做类似的事情。

So you’re saying there might be a way to do that to basically create standards the way the web has different standards for displaying websites and all this kind of stuff, or the communication that’s required on the networking side.

所以你说可能有一种方法可以基本上创建标准,就像网络有不同的标准来显示网站和所有此类内容,或者网络方面所需的通信一样。

So all the different standards that make the web work, there need to be those kinds of standards.

因此,使网络运行的所有不同标准,都需要有这些类型的标准。

What would those standards look like to enable the metaverse?

这些标准会是什么样子来启用元宇宙?

Tim Sweeney2:45:52

We need a lot of different things.

我们需要很多不同的东西。

2:45:52 The one area where the standards bodies have been very successful in creating working standards implemented by all of the major engines today is in low level file formats for data interchange.

标准机构在创建当今所有主要引擎实施的工作标准方面非常成功的一个领域是用于数据交换的低级文件格式。

The web has PNG files for 2D images and MP3 files for audio, and 3D has the Pixar USD file format, the Universal Scene Description, which is a description of the scene graph, the entire set of objects in the scene and all of their parameters so that any engine that supports those features could import that and then render the same scene as the engine they came from.

Web 具有用于 2D 图像的 PNG 文件和用于音频的 MP3 文件,而 3D 具有 Pixar USD 文件格式、通用场景描述(通用场景描述),它是场景图、场景中的整个对象集及其所有参数的描述,以便任何支持这些功能的引擎都可以导入这些功能,然后渲染与它们来自的引擎相同的场景。

Large parts of this work across Unreal Engine and Unity and Blender and all of these 3D packages of different sorts.

这项工作的大部分工作跨越虚幻引擎、Unity 和 Blender 以及所有这些不同类型的 3D 软件包。

2:46:35 And there’s the GLTF texture format, which stores textures and geometry and other low level data for 3D objects.

还有 GLTF 纹理格式,它存储 3D 对象的纹理和几何图形以及其他低级数据。

When you see a Fortnite character, that file format together with the image file formats can store their static appearance, the shape of their body, even their animations and their different poses and the appearance of them, the different standard file formats could store all the sounds they make in their emotes, but we’re still missing a bunch of pieces.

当你看到《堡垒之夜》角色时,该文件格式和图像文件格式可以存储他们的静态外观、身体形状,甚至他们的动画、不同的姿势和外观,不同的标准文件格式可以存储他们在表情中发出的所有声音,但我们仍然缺少一些片段。

The biggest missing piece is the programming language that’s at the center of standardizing the metaverse.

最大的缺失是作为元宇宙标准化核心的编程语言。

2:47:09 Now, if you look at the web, the web is a combination of a bunch of different technologies.

现在,如果你看看网络,就会发现网络是一堆不同技术的组合。

The two biggest ones are HTML, which describes the 2D scene graph or the 2D layout of controls and objects on the webpage.

最大的两个是 HTML,它描述网页上控件和对象的 2D 场景图或 2D 布局。

But that’s just static data.

但这只是静态数据。

It’s just a non-moving, non-animating webpage.

它只是一个不移动、无动画的网页。

And then you have the JavaScript programming language, which is used to manipulate that, to display things to the user and to implement anything you could implement in code.

然后你有 JavaScript 编程语言,它用于操纵它,向用户显示内容并实现你可以用代码实现的任何内容。

So it’s a little programming language that runs in your web browser and the metaverse needs something that performs that similar role.

因此,它是一种在网络浏览器中运行的小型编程语言,而元宇宙需要执行类似角色的东西。

2:47:44 But the metaverse and 3D gaming in general needs something that’s rather more powerful, more safe, more scalable, and more capable than JavaScript because the metaverse is actually a more difficult technical problem than a webpage.

但元宇宙和 3D 游戏通常需要比 JavaScript 更强大、更安全、更可扩展、能力更强的东西,因为元宇宙​​实际上是比网页更困难的技术问题。

A webpage like an app is just a single bundle of code and content that somebody, a company has prepared and they release it and it stays exactly what it is until they release a new version and it’s upgraded from version to version as it goes.

像应用程序这样的网页只是某人、一家公司准备好的代码和内容的捆绑包,他们发布它,并且它保持原来的样子,直到他们发布新版本,并且不断从一个版本升级到另一个版本。

But the metaverse needs to be a composite of code and content built by millions of different people that could potentially form a seamless world together.

但元宇宙需要是由数百万不同的人构建的代码和内容的组合,这些人有可能共同形成一个无缝的世界。

Lex Fridman2:48:25

Yes, it’s fully distributed, collaborative.

是的,它是完全分布式的、协作的。

2:48:25 First of all, also the amount of data, I mean, it doesn’t have to be that way, but websites are showing very little information.

首先,还有数据量,我的意思是,不一定是这样,但网站显示的信息很少。

The metaverse even when it looks like something like Fortnite, just the amount of information that’s conveyed in the scene graph as the individual players are collaborating is a huge, huge, huge amount.

即使元宇宙看起来像《堡垒之夜》那样,单是单个玩家协作时场景图中传达的信息量就非常非常巨大。

Tim Sweeney2:48:54

Yeah, the highest detail of Fortnite updates amount to about 60 gigabytes of data, and that’s just a small part of what exists in the Fortnite Creative economy.

是的,《堡垒之夜》更新的最详细数据约为 60 GB 数据,而这只是《堡垒之夜》创意经济中存在的一小部分。

2:48:54 And if you look at what this might be in a decade as standards emerge, you might have exabytes of data out there.

如果你看看十年后标准出现后会发生什么,你可能会拥有数艾字节的数据。

Fortnite Better Royale is I don’t think the ultimate manifestation of gameplay that will ever be invented.

我认为《堡垒之夜 Better Royale》不会是游戏玩法的最终体现。

What we’ve seen time and time again is that as we gain more technical capabilities, graphics gets more capable, CPUs become more performant, web services become ever more scalable.

我们一次又一次地看到,随着我们获得更多的技术能力,图形功能变得更加强大,CPU 变得更加高性能,Web 服务变得更加可扩展。

We’ve seen new genres of games that emerged that weren’t possible before, and Doom ushered in the era of deathmatch.

我们已经看到了以前不可能的新游戏类型的出现,《毁灭战士》开创了死亡竞赛时代。

The first time 3D multiplayer game was even possible at all.

3D 多人游戏甚至首次成为可能。

The early Battle Royale games starting about 10 years or 15 years ago.

早期的大逃杀游戏大约开始于 10 或 15 年前。

Only became possible back then.

那时才成为可能。

You couldn’t have built one 20 years ago because you just couldn’t have rendered an environment that’s as large as a VR game with that many players, with that level of interaction and performance.

你不可能在 20 年前构建一个这样的环境,因为你无法渲染一个像 VR 游戏一样大的环境,有那么多玩家,也无法达到这样的交互和性能水平。

It was just not possible to run it.

只是无法运行它。

So you got a certain level of technical…

所以你有一定的技术水平......

2:50:03 …

……

Not possible to run it.

不可能运行它。

So you got a certain level of technical capabilities and the genre came out that proved to be by far the best shooter genre ever invented.

所以你获得了一定水平的技术能力,并且这种类型的出现被证明是迄今为止发明的最好的射击游戏类型。

But I think there are numerous, numerous more genres, some of which are better than any of the existing ones that will be invented as we get more and more capabilities.

但我认为还有无数的流派,其中一些比任何现有的流派都要好,随着我们获得越来越多的能力,这些流派将会被发明出来。

Some of the capabilities we’re lacking now are the ability to build environments and game simulations that span more work than a single company can possibly create.

我们现在缺乏的一些能力是构建环境和游戏模拟的能力,这些能力所涉及的工作量比单个公司可能创建的工作量还要多。

And you see the birth of that idea in Fortnite and Roblox where there are tens of thousands of creators, each building content, and users are playing meaningful amounts of it all.

你可以在《堡垒之夜》和《Roblox》中看到这个想法的诞生,那里有数以万计的创作者,每个创作者都在构建内容,并且用户正在玩有意义的内容。

And so there’s an ecosystem that’s scaled larger than a company, but it’s still very much you go into one island and you play that creator’s work.

因此,存在一个规模比公司还要大的生态系统,但很大程度上仍然是你进入一个岛屿并玩该创作者的作品。

2:50:42 The other direction of its scalability is putting more and more of people’s work together in a seamless, continuous play space for games where that makes sense.

其可扩展性的另一个方向是将越来越多的人的工作放在一个无缝、连续的游戏空间中,这是有意义的。

You can imagine a game taking place in an environment that is the size of a continent or earth in which you can go from place to place and then see different areas which are maintained by different people.

您可以想象一场游戏发生在一个大陆或地球大小的环境中,您可以从一个地方走到另一个地方,然后看到由不同人维护的不同区域。

And so you go into different spaces.

所以你进入不同的空间。

The game rules are customized according to that, and you can go from experience to experience.

游戏规则是根据此定制的,你可以从一个体验到另一个体验。

And instead of having just one company’s authorship ever present wherever you are, you’d see, you’d be driving a car built by one person, carrying weapons built by 20 other people, and taking place in a simulation in an environment that’s built by thousands of other people, and working for separate companies or their own entrepreneurs, or indies, or enthusiasts all working together simultaneously.

无论你身在何处,你都会发现,你将驾驶一辆由一个人制造的汽车,携带由其他 20 个人制造的武器,在由数千人构建的环境中进行模拟,并为不同的公司或他们自己的企业家、独立开发者或同时工作的爱好者工作,而不是只有一家公司的作者。

2:51:37 And we totally lack the programming foundations for that.

我们完全缺乏这方面的编程基础。

The kinds of code you would need to write now to make that happen are just not practical.

您现在需要编写的代码类型来实现这一点是不切实际的。

And so we’re investing massively in building new programming language technologies around Verse and our proposed standards for future metaverse programming that we hope will solve those kinds of problems and make that kind of world possible.

因此,我们正在大力投资围绕 Verse 构建新的编程语言技术以及我们为未来元宇宙编程提出的标准,我们希望这些标准能够解决此类问题并使这样的世界成为可能。

Lex Fridman2:52:00

So first of all, that’s a super exciting future where it’s not hundreds or thousands, it’s millions of creators that can just create different, small, or big elements of a world as big as earth.

首先,这是一个超级令人兴奋的未来,不是数百或数千,而是数以百万计的创造者,他们可以在像地球一样大的世界中创造出不同的、小的或大的元素。

2:52:00 Just if you sort of close your eyes and imagine that world, that’s really exciting, where it’s not a centralized company controlling the release of a particular island or so on, it’s people constantly dynamically modifying all the islands of reality in this digital world.

只要你闭上眼睛想象一下那个世界,那真的很令人兴奋,不是一个中心化的公司控制某个特定岛屿的发布等等,而是人们不断动态地修改这个数字世界中现实的所有岛屿。

2:52:37 So if you could speak to some of the technologies that can enable that.

所以,如果你能谈谈一些可以实现这一点的技术。

You mentioned the Verse programming language.

您提到了 Verse 编程语言。

First of all, also, how legit is it for you, CEO of Epic Games to be a co-author?

首先,作为 Epic Games 的首席执行官,您作为合著者的合法性如何?

The programming language theorists are losing their mind.

编程语言理论家们正在失去理智。

So a co-author on a paper that’s describing some of the nuanced details of a programming language.

因此,合著者写了一篇论文,描述了编程语言的一些细微差别。

So maybe you could speak to this programming language called Verse.

所以也许你可以使用一种叫做 Verse 的编程语言。

It’s a functional logic language.

它是一种函数式逻辑语言。

What are some cool features of Verse?

Verse 有哪些很酷的功能?

Tim Sweeney2:53:13

Verse is a programming language that we’re building for large scale simulation programming.

Verse 是我们为大规模模拟编程而构建的编程语言。

2:53:13 It’s designed to make it easy to write code that can scale up to not only you building a Fortnite island, but you building modules or components that can be used by millions of other programmers and co-exist in a huge environment, and also can scale up to a huge scale simulation.

它的设计目的是让您可以轻松编写代码,这些代码不仅可以扩展到构建 Fortnite 岛,还可以构建可供数百万其他程序员使用并在巨大环境中共存的模块或组件,并且还可以扩展到大规模模拟。

Some games will be small.

有些游戏会很小。

Battle Royale might find that a hundred players is actually optimal.

大逃杀可能会发现一百名玩家实际上是最佳选择。

It might be that a thousand player version of Battle Royale would be worse, but I bet there are a thousand, million, and tens of million player experiences there are even better than that, that will yet to be discovered.

也许千人版本的大逃杀会更糟糕,但我敢打赌,还有一千、百万、千万玩家的体验甚至比这更好,这还有待发现。

Lex Fridman2:53:57

Wait a minute, tens of millions of players together?

等等,千万玩家齐聚?

Tim Sweeney2:54:03

Sure, we’ve had Fortnite events that have attracted 15 million concurrent users, but the fact that they’re all divided up into servers with a hundred players each for those events isn’t really a positive.

当然,我们举办的《堡垒之夜》活动吸引了 1500 万并发用户,但事实上,这些活动都被划分为多个服务器,每个服务器有 100 名玩家参与这些活动,这并不是一个积极的因素。

2:54:03 It’s just a limitation of the technology.

这只是技术的限制。

2:54:18 Tracing back to Unreal Engine 1 and its single threading decisions, if we could build a concert where all the concert participants, potentially tens of millions of them, could participate together simultaneously and see that there’s that massive a crowd, and they could all do interesting things and interact with each other, that would be way cooler.

回溯到虚幻引擎 1 及其单线程决策,如果我们能够构建一场音乐会,让所有音乐会参与者(可能有数千万)能够同时参与,并看到有如此多的人群,并且他们都可以做有趣的事情并相互互动,那就更酷了。

Lex Fridman2:54:36

Sorry, I’m just loading it in, just imagining together in one scene graph, 10 million people interacting.

抱歉,我只是加载它,只是想象在一个场景图中,有 1000 万人在互动。

2:54:36 What a cool world that is.

这是一个多么酷的世界啊。

Tim Sweeney2:54:49

Sure.

当然。

2:54:49 Well, 10 million people, you have less than 10 million pixels on your screen, so what does the Nyquist Sampling Theorem say?

好吧,1000万人,你屏幕上的像素还不到1000万,那么奈奎斯特采样定理怎么说呢?

It says that you don’t need full overhead for every player.

它表示您不需要为每个玩家提供全部开销。

You need to render the players who are around you and some approximation of everything else.

您需要渲染您周围的玩家以及其他所有事物的近似值。

Lex Fridman2:55:01

Yeah, but there’s also a networking component.

是的,但还有一个网络组件。

2:55:01 You’re speaking to the rendering, but oh boy.

你正在谈论渲染,但是天哪。

Tim Sweeney2:55:10

There’s a lot of work that has to happen there, but this is what we do for a living.

那里有很多工作要做,但这就是我们的谋生之道。

2:55:10 We solve hard problems.

我们解决难题。

Lex Fridman2:55:12

I understand.

我明白。

Tim Sweeney2:55:13

because if they’re easy then other people could have solved them already.

因为如果它们很简单,那么其他人可能已经解决了它们。

Lex Fridman2:55:16

That’s really cool though.

但这真的很酷。

2:55:16 Just sort of the possibility, the vision of that is really cool.

只是一种可能性,这个愿景真的很酷。

2:55:21 Even a hundred thousand people or like 10,000 together just, I mean, there’s a reason in the physical world when you go to a concert and you have all those people around you, that energy, or you go to a football game, that energy is unlike anything else.

我的意思是,即使是十万人或一万人在一起,在现实世界中也是有原因的,当你去听一场音乐会,周围有那么多人时,那种能量,或者你去看一场足球比赛,那种能量与其他任何东西都不一样。

And if you can bring that energy to the digital world, that’s amazing.

如果你能将这种能量带入数字世界,那就太棒了。

2:55:43 But anyway, sorry, what, on the technology side of bringing that to life on the programming language side, can you continue, as I rudely interrupt you, talking about Verse?

但无论如何,抱歉,在技术方面,在编程语言方面将其变为现实,您可以继续(我粗鲁地打断您)谈论 Verse 吗?

Tim Sweeney2:55:55

Verse is a functional logic language because we think that that’s the way to make the most simple and powerful language simultaneously.

Verse 是一种函数式逻辑语言,因为我们认为这是同时制作最简单和最强大的语言的方法。

2:55:55 Back in the 1970s, the programming language designer who built Pascal, one of the early programming languages, Niklaus Wirth or Nicholas Wirth as Americans might call him, stated this principle that programming language should achieve a high degree of power, not by having a lot of features, but by having a small number of features that work together and can be composed together arbitrarily so that you have to learn a relatively small set of things and then the real knowledge comes as you learn ways to combine them to achieve bigger and bigger programs.

早在 20 世纪 70 年代,创建早期编程语言之一 Pascal 的编程语言设计者 Niklaus Wirth 或美国人可能会称呼他为 Nicholas Wirth 就提出了这样的原则:编程语言应该实现高度的功能,不是通过拥有大量功能,而是通过拥有少量可以协同工作且可以任意组合的功能,这样你必须学习相对较小的一组东西,然后当你学习如何将它们组合起来以实现更大的目标时,真正的知识就会出现。更大的程序。

2:56:41 And so there’s a long history to the field of programming languages, but in the 1950s, the first programming language designers got together and built the first standardized language called ALGOL.

因此,编程语言领域有着悠久的历史,但在 20 世纪 50 年代,第一批编程语言设计者聚集在一起,构建了第一种标准化语言,称为 ALGOL。

And there was this meeting in 1956, very few people even know about it, but it’s where all the major foundations of modern programming languages were decided on, that the C family of languages inherited.

1956 年召开了一次会议,很少有人知道,但现代编程语言的所有主要基础都是在这次会议上决定的,C 语言家族继承了这一点。

And so we’re very much living in a world that was defined by them.

所以我们很大程度上生活在一个由他们定义的世界中。

And thankfully they got a whole lot of things right.

值得庆幸的是,他们在很多事情上都做对了。

They defined how functions should work, how variables should work, and how recursion should work.

他们定义了函数应该如何工作、变量应该如何工作以及递归应该如何工作。

Thank God they got those things right, but they got a few things wrong.

感谢上帝,他们做对了这些事情,但他们也做错了一些事情。

And Verse is trying to fix those.

Verse 正在努力解决这些问题。

And that’s the functional logic part of it.

这就是它的功能逻辑部分。

2:57:22 The interesting thing about functional logic languages is that in an old school language, an expression produces a value.

函数式逻辑语言的有趣之处在于,在老式语言中,表达式产生一个值。

In a functional logic language, an expression can produce zero, one, or multiple values.

在函数逻辑语言中,表达式可以产生零个、一个或多个值。

And if it produces zero values, we might say it fails, and if it produces one value, we say it succeeds.

如果它产生零值,我们可以说它失败,如果它产生一个值,我们说它成功。

And if it produces multiple values, it’s providing a set of values you could iterate over.

如果它产生多个值,它就提供了一组可以迭代的值。

2:57:45 And so there are a bunch of features in today’s programming languages that were defined in an ad hoc way without really thinking this through, this zero, one, or many values way.

因此,当今的编程语言中有很多功能都是以临时的方式定义的,而没有真正考虑到这一点,即零、一或多值的方式。

And that’s the problem that functional logic languages address.

这就是函数式逻辑语言要解决的问题。

And the most basic example is an if statement in a programming language.

最基本的例子是编程语言中的 if 语句。

If some condition holds, then do this thing, otherwise do that thing.

如果某个条件成立,则做这件事,否则做那件事。

And in a language today, this is done with variables of type boolean or expressions that produce booleans.

在当今的语言中,这是通过布尔类型的变量或生成布尔值的表达式来完成的。

We have boolean variables that are either true or false.

我们有布尔变量,要么为真,要么为假。

We have expressions that evaluate to booleans.

我们有计算结果为布尔值的表达式。

And so you can express a condition as a bunch of these features together, but you’ve lost any computation you’ve done in doing that boolean expression evaluation.

因此,您可以将条件表示为一堆这些特征,但是您会丢失在进行布尔表达式求值时所做的任何计算。

2:58:28 So in a functional logic language, your condition wouldn’t do that.

因此,在函数式逻辑语言中,您的条件不会这样做。

It would either succeed and produce a value or it would fail.

它要么成功并产生价值,要么失败。

If it succeeds, it goes to the then branch.

如果成功,则转到 then 分支。

Your operation succeeded, now you’re running this one batch of code.

您的操作成功了,现在您正在运行这一批代码。

And if your expression failed, then you go to the else branch.

如果你的表达式失败,那么你就转到 else 分支。

But the exciting thing about that is your expression that succeeds or fails can produce values and bind variables that are then accessed by the then branch.

但令人兴奋的是,成功或失败的表达式可以生成值并绑定变量,然后由 then 分支访问。

So you can write a conditional where you can only get to the inside of the condition, to the then, if a bunch of variables have successfully been bound to variables.

因此,您可以编写一个条件语句,只有在一堆变量已成功绑定到变量时,您才能到达条件内部,即 then。

So it lets you test if some conditions hold and then use the results of those tests.

因此,它可以让您测试某些条件是否成立,然后使用这些测试的结果。

And that gives you a much higher level of reliability.

这为您提供了更高水平的可靠性。

2:59:11 And then a for loop in a traditional language, it’s just a bunch of imperative code that’s woven together to produce a bunch of values iteratively.

然后是传统语言中的 for 循环,它只是一堆命令式代码编织在一起以迭代地产生一堆值。

It’s rather awkward to do complicated things in for loops.

在for循环中做复杂的事情是相当尴尬的。

And so you often end up with either ever more complicated constructs built to work around that like iterators and other things.

因此,您通常最终会得到更复杂的构造来解决这个问题,例如迭代器和其他东西。

The idea of functional logic languages is your for loop can just produce multiple values.

函数式逻辑语言的思想是 for 循环只能产生多个值。

And if it produces zero values, you’ve got to reiterate zero iterations, and it produces a bunch of values you’ve got to go through all of those as your iterations.

如果它产生零值,您就必须重复零次迭代,并且它会产生一堆值,您必须在迭代时经历所有这些值。

2:59:41 Rather than having a bunch of nested loops, you can write arbitrary things that look like SQL queries in a condition or in a for loop that bind a bunch of variables, do a bunch of tests, produce a series of results in some order that you’re iterating over, and then you can handle all of them and produce a result.

您可以在条件中或在绑定一堆变量的 for 循环中编写看起来像 SQL 查询的任意内容,而不是使用一堆嵌套循环,进行一系列测试,按迭代的某种顺序生成一系列结果,然后可以处理所有这些结果并生成结果。

So you gain the power of SQL queries, large complex queries that are data structures in a language that is much simpler in which your code is just performing simple iterative operations.

因此,您可以获得 SQL 查询的强大功能,大型复杂查询是一种更简单的语言中的数据结构,其中您的代码仅执行简单的迭代操作。

And so it gives you the best of databases and of regular programming in a much more uniform way.

因此,它以更统一的方式为您提供最好的数据库和常规编程。

And the power of this is now users can write functions that not only produce a value, you can write functions that might fail.

其强大之处在于,现在用户不仅可以编写产生值的函数,还可以编写可能失败的函数。

And so you can write a function that answers a question.

因此您可以编写一个函数来回答问题。

The answer can be either yes and my value is this, or no.

答案可以是“是”并且我的价值就是这个,也可以是“否”。

And you can combine these together into arbitrary queries.

您可以将它们组合在一起形成任意查询。

3:00:35 And I feel like the funny thing is that this is not how C++ works.

我觉得有趣的是,这不是 C++ 的工作原理。

And so when we have Epic programmers moving over from C++ and writing their first Verse code, they try to write C++ code in Verse style and it actually ends up being convoluted code that’s worse than good C++ or good Verse.

因此,当我们让 Epic 程序员从 C++ 转向并编写他们的第一个 Verse 代码时,他们尝试以 Verse 风格编写 C++ 代码,但实际上最终会成为比优秀的 C++ 或优秀的 Verse 更糟糕的复杂代码。

When we see…

当我们看到……

But after a few months they get up to speed and they’re writing really awesome code that’s tighter and more compact than before.

但几个月后,他们就加快了速度,并且编写了非常出色的代码,比以前更紧凑、更紧凑。

And with users who’ve never programmed before, but are learning programming for the first time in the context of Fortnite, it’s really fascinating.

对于以前从未编程过、但第一次在《堡垒之夜》中学习编程的用户来说,这真的很有趣。

You see these users are learning this as, it becomes their intuition.

您会看到这些用户正在学习这一点,因为这已成为他们的直觉。

They just assume programming works this way.

他们只是假设编程是这样工作的。

And they’re writing way more advanced and interesting for loops and conditions than we’re often writing internally because they’ve grokked the core concepts.

他们编写的循环和条件比我们经常在内部编写的更高级和有趣,因为他们已经掌握了核心概念。

Lex Fridman3:01:21

Yeah, you said a lot of really interesting stuff.

是的,你说了很多非常有趣的事情。

3:01:21 First of all, it’s very interesting that there’s a bunch of people, a lot of people learning programming for the first time with Verse, which is a very different way to look at programming.

首先,非常有趣的是,有很多人第一次使用 Verse 学习编程,这是一种非常不同的看待编程的方式。

And in some deep sense, as you’re saying, a very intuitive way to learn programming.

正如你所说,从某种深层意义上讲,这是一种非常直观的学习编程方式。

3:01:41 But there’s a lot of properties about this being a logical language, one of which, we’ll maybe speak also about confluence, but also correctness.

但作为一种逻辑语言,它有很多属性,其中之一,我们可能还会谈论融合,但也会谈论正确性。

So being able to prove the correctness of a code, it’s basically easier to write bug free code.

因此,能够证明代码的正确性,基本上更容易编写无错误的代码。

3:02:06 Can you just speak to that and the importance of that when you’re building the metaverse?

当你构建虚拟宇宙时,你能谈谈这一点以及它的重要性吗?

Tim Sweeney3:02:12

Yeah, right.

是的,对。

3:02:12 So the challenge with the metaverse is first of all that it’s a huge base of code that’s evolving over time and written by many authors.

因此,元宇宙面临的挑战首先是它是一个巨大的代码库,随着时间的推移不断发展,并由许多作者编写。

So you might see every second a new module is updated somewhere.

所以你可能会看到每秒都有一个新模块在某个地方更新。

And you expect in this live ever running simulation that never shuts down for everything to upgrade live in place.

您期望在这个实时运行的模拟中,永远不会关闭所有内容以进行实时升级。

And so, one critical component that is the ability to release an update to something you’ve already published and be sure that it’s backwards compatible with the one that you’ve already released.

因此,一个关键组件是能够发布对您已经发布的内容的更新,并确保它与您已经发布的内容向后兼容。

And that’s essentially a type checking problem, checking that your new interface is backwards compatible with your old one.

这本质上是一个类型检查问题,检查你的新界面是否与旧界面向后兼容。

And that comes down to the type system of the language.

这取决于语言的类型系统。

There’s been a lot of very interesting research on type systems over the years, most of which hasn’t ever made it into the C++ programming language unfortunately.

多年来,关于类型系统有很多非常有趣的研究,不幸的是,其中大部分尚未进入 C++ 编程语言。

3:03:01 But you see several branches of that whole field, one of the really interesting things that Java and C# did in the early days, and then later abandoned and didn’t bother update, was defining a very rigorous set of rules for if you publish a module with one set of types today, then what changes can you make to that module for your future updates to it that don’t break backwards compatibility?

但是你会看到整个领域的几个分支,Java 和 C# 早期所做的非常有趣的事情之一,后来被放弃并且不再更新,就是定义一组非常严格的规则,如果你今天发布一个具有一组类型的模块,那么你可以在不破坏向后兼容性的情况下为将来的更新对该模块进行哪些更改?

And that’s a problem for type checking.

这就是类型检查的一个问题。

Like, say you have a function that promises to return some integer, well, in the future you could say that returns some natural number because every natural number is an integer.

就像,假设你有一个函数承诺返回某个整数,那么,将来你可以说返回某个自然数,因为每个自然数都是整数。

So that’s a backwards compatible change, but you can’t say it returns a rational number because some rational numbers are not integers.

所以这是一个向后兼容的变化,但你不能说它返回一个有理数,因为有些有理数不是整数。

So the system ought to reject that kind of change.

所以系统应该拒绝这种改变。

3:03:43 But the much, much, much more interesting thing about type checking, it was the realization, it was actually made in the 1930s that if you design a programming language type system in a very particular way, then it becomes not only useful for expressing types of variables, the traditional thing every type system does is say like, “Variable X is of type integer.” But if you design a type system in a certain way, then your types can express theorems, like mathematical theorems.

但是关于类型检查,更有趣的事情是,它实际上是在 20 世纪 30 年代实现的,如果你以一种非常特殊的方式设计一种编程语言类型系统,那么它不仅对于表达变量类型有用,每个类型系统所做的传统事情就是这样说:“变量 X 是整数类型。”但如果你以某种方式设计一个类型系统,那么你的类型就可以表达定理,就像数学定理一样。

The Pythagorean theorem is a cool one, but one theorem you might have in a program is like the theorem that this function takes an array of integers and returns an array of the same integers, but the result is sorted.

毕达哥拉斯定理是一个很酷的定理,但是您在程序中可能有一个定理,就像该定理一样,该函数接受一个整数数组并返回一个相同整数的数组,但结果是排序的。

If you express that as a theorem and you follow this system of type theory, then you can actually require that anybody who writes that sorting function to prove that it has actually sorted its result.

如果你将其表达为一个定理并且遵循这个类型论系统,那么你实际上可以要求任何编写该排序函数的人证明它实际上已经对其结果进行了排序。

And so you have types or theorems, and values constructed a certain way can be proofs of those theorems.

因此,你有类型或定理,并且以某种方式构造的值可以作为这些定理的证明。

3:04:46 And nowadays in mathematical literature, you see more and more theorems are being proven mechanically.

如今,在数学文献中,你会看到越来越多的定理被机械地证明。

Mathematicians are proving theorems in a way that is verified by computer to be a correct proof.

数学家以计算机验证正确证明的方式证明定理。

In the old days of math, people would write down like language.

在过去的数学时代,人们会像语言一样写下来。

If you look at all of Euclid’s theorems, it was just language.

如果你看一下欧几里得的所有定理,就会发现这只是语言。

It was just writing in ancient Greek to say the steps of the proof to convince the reader that the thing is true.

它只是用古希腊语写出来,说出证明的步骤,让读者相信事情是真的。

3:05:08 Starting in the 1930s, mathematicians moved towards rigorous formal proofs in which there is a series of steps that can be mechanically verified, that they’re proving things.

从 20 世纪 30 年代开始,数学家转向严格的形式证明,其中有一系列可以机械验证的步骤,他们正在证明事物。

And when mathematicians say they’ve done a computer proof of a theorem, what they really mean is they’ve written a program in a proof language, like Lean is a theorem prover, Coq is a theorem prover, and there are several others.

当数学家说他们已经完成了定理的计算机证明时,他们真正的意思是他们用证明语言编写了一个程序,比如 Lean 是定理证明者,Coq 是定理证明者,还有其他几种。

It means they’ve written a mechanical proof in that language that a computer has checked so that it’s impossible to lie.

这意味着他们已经用这种语言编写了机械证明,并经过计算机检查,因此不可能撒谎。

If you say that you’ve proven a thing and the computer verifies it, then it’s definitely true.

如果你说你已经证明了一件事并且计算机验证了它,那么它肯定是真的。

3:05:44 And this is a feature of mathematical proof languages, but it’s also an idea that’s making its way into programming languages gradually over time.

这是数学证明语言的一个特性,但随着时间的推移,它也是一个逐渐进入编程语言的想法。

And our aim for Verse is to be the first mainstream programming language that fully adopts that approach and that technique.

我们对 Verse 的目标是成为第一个完全采用这种方法和技术的主流编程语言。

And not only adopts it but adopts it in a way that’s really user-friendly, so you don’t have to do that.

不仅采用它,而且以一种真正用户友好的方式采用它,所以你不必这样做。

And the idea of this is that you want gradually more information to be incorporated in the types of variables.

这样做的想法是,您希望逐渐将更多信息纳入变量类型中。

The property you want of a programming language is that if your compiler accepts your program, and doesn’t beep and tell you there is an error, then your program should work.

你想要的编程语言的属性是,如果你的编译器接受你的程序,并且不会发出蜂鸣声告诉你有错误,那么你的程序应该可以工作。

Now there are all kinds of ways humans can make mistakes there so that we’ll never achieve that ideal, but we can get closer and closer to it by having more and more language features that enable the compiler to catch more human coding errors and tell the user what went wrong.

现在,人类可能会以各种方式犯错误,因此我们永远无法实现这一理想,但通过拥有越来越多的语言功能,使编译器能够捕获更多的人类编码错误并告诉用户出了什么问题,我们可以越来越接近它。

3:06:37 And that becomes extremely important in the metaverse, the cost of fixing a bug that’s made it through to runtime and is in users’ hands, the cost of fixing a bug in a shipping program is hundreds of times higher than fixing a bug that you’ve just observed as you’re running your code yourself.

这在元宇宙中变得极其重要,修复已进入运行时并掌握在用户手中的错误的成本,修复交付程序中的错误的成本比修复您自己运行代码时刚刚观察到的错误高数百倍。

When it’s running on your computer, you just fix a line of code and your bug’s fixed.

当它在您的计算机上运行时,您只需修复一行代码即可修复错误。

When you have to fix it live, you have to release a patch, you have to release patch notes, you have to test the patch, you have to check for all the other bugs that might have been introduced, and everything becomes vastly, vastly more expensive.

当你必须实时修复它时,你必须发布补丁,你必须发布补丁说明,你必须测试补丁,你必须检查可能引入的所有其他错误,一切都变得非常非常昂贵。

So the real aim of the Verse program and approach is to catch all of these errors at compile time and make the metaverse a very reliable place.

因此,Verse 程序和方法的真正目标是在编译时捕获所有这些错误,并使虚拟节成为一个非常可靠的地方。

Lex Fridman3:07:18

Do you see a world where like at compile time you could prove that the program is correct in some sense of correctness?

您是否看到一个像在编译时一样可以证明程序在某种意义上是正确的世界?

Tim Sweeney3:07:25

Proving things becomes combinatorially harder as they get larger, right?

随着事物变得越来越大,证明事物的组合变得更加困难,对吗?

Lex Fridman3:07:29

Right.

正确的。

Tim Sweeney3:07:29

And so the really important thing about this whole field is that you should be able to adopt these capabilities gradually and apply it where you really need it.

因此,整个领域真正重要的是,您应该能够逐渐采用这些功能并将其应用到您真正需要的地方。

3:07:29 Like, if you’re writing something like a cryptography algorithm, that’s a good place to prove stuff.

就像,如果你正在编写类似密码算法的东西,那么这是证明东西的好地方。

If you’re writing a data decompressor that’s going to be used by an entire ecosystem, like proving that doesn’t overrun memory is actually really important.

如果您正在编写一个将由整个生态系统使用的数据解压缩器,那么证明不会超出内存实际上非常重要。

And a lot of the reason that security vulnerabilities happen today is because in a different language a compiler could have caught, were not caught in C because it just doesn’t have this feature.

今天发生安全漏洞的很多原因是因为在不同的语言中编译器可以捕获,但在 C 中却没有捕获,因为它没有这个功能。

3:08:04 But we shouldn’t see this as scary.

但我们不应该认为这很可怕。

Everybody working in a typed language like C, or C#, or Java is proving theorems all the time.

每个使用 C、C# 或 Java 等类型化语言工作的人都在不断证明定理。

If you have a variable of type integer and you assign some value to it, you’ve proven to the compiler that that value was an integer because otherwise it would have rejected it.

如果你有一个整数类型的变量并且给它分配了一些值,那么你就已经向编译器证明了该值是一个整数,否则它会拒绝它。

And so as we add more and more advanced proofs, we’ll get compositional properties flying out of our systems that they’re easy to use and people prefer to use.

因此,当我们添加越来越多的高级证明时,我们将从我们的系统中获得组合属性,它们易于使用并且人们更喜欢使用。

3:08:32 If we might think in the future where we have AI helping us write certain kinds of code, the big problem with AI is you ask it to do something, ask to write a fragment of code that does something, it might give you a perfectly valid fragment of code that compiles but does the wrong thing.

如果我们认为未来人工智能可以帮助我们编写某些类型的代码,那么人工智能的最大问题是你要求它做某事,要求编写一段执行某事的代码片段,它可能会给你一个完全有效的代码片段,该片段可以编译,但会做错误的事情。

And if we had languages where you could say, “Write a function that sorts this array and prove that it did that,” it could actually write the proof.

如果我们有语言,你可以说,“编写一个函数来对这个数组进行排序并证明它做到了这一点”,它实际上可以编写证明。

And if the compiler didn’t beep with it, you could trust that it was actually sorting the array.

如果编译器没有发出蜂鸣声,您可以相信它实际上正在对数组进行排序。

And otherwise you could go back to the AI and say, “Well, that didn’t work.” But getting to the point where we know that our programs do what we say they’re going to do or think they’re going to do is a very important thing.

否则你可以回到人工智能并说:“好吧,那不起作用。”但是,让我们知道我们的程序会按照我们所说的去做或认为它们会做的事情是一件非常重要的事情。

Lex Fridman3:09:12

And by the way, I should mention that you sent me a note about Curry-Howard correspondence, which I went down a rabbit hole, and that’s a whole fascinating field which shows the mathematical relationship between programs and proofs.

顺便说一句,我应该提一下,你给我发了一张关于库里-霍华德通信的便条,我陷入了一个兔子洞,这是一个令人着迷的领域,它展示了程序和证明之间的数学关系。

Tim Sweeney3:09:25

That’s right.

这是正确的。

3:09:25 This is a result from the 1930s.

这是20世纪30年代的结果。

It’s one of the most important results of computer science that almost nobody knows about, but they did this rigorous breakdown of type systems and the 1930s formulation of programming, and established that everything you can prove in mathematical logic you can prove within a type system if it has certain features.

这是计算机科学最重要的成果之一,几乎没有人知道,但他们对类型系统和 20 世纪 30 年代的编程公式进行了严格的分解,并确定了你可以在数学逻辑中证明的一切,如果它具有某些特征,你可以在类型系统中证明。

3:09:51 And if you break down what is a proof?

如果你分解什么是证据?

Well, a proof that integers exist is some integer, like five is a proof that integers exist.

嗯,整数存在的证明是某个整数,比如 5 就是整数存在的证明。

So when you have something like var X int, and you say “X = 5”, well you’re proving to the compiler that 5 is an integer.

所以当你有像 var X int 这样的东西,并且你说“X = 5”时,你就向编译器证明 5 是一个整数。

That comes as a secondhand nature, but you can prove more advanced things.

这是二手性质,但你可以证明更先进的东西。

If you want to prove that a pair of things are true, like theorem A is true and theorem B is true, then you need to provide a pair of values, one that proves theorem A and one that proves theorem B, and that’s the conjunctive law of proofs.

如果你想证明一对事物是真的,比如定理 A 是真的,定理 B 是真的,那么你需要提供一对值,一个证明定理 A,一个证明定理 B,这就是合取证明定律。

And there’s a disjunctive law too.

还有一个析取律。

3:10:23 And then there’s an implication law for proofs.

然后还有证明的蕴涵律。

And it turns out that that’s really satisfied by functions.

事实证明,功能真的很满足。

When you write a function in programming language, you’re saying, “If you give me this thing, I will give you that thing.” If you’ve given me a parameter of type something, then I’ll give you a result of some other type.

当你用编程语言编写一个函数时,你会说:“如果你给我这个东西,我就会给你那个东西。”如果你给了我一个某种类型的参数,那么我会给你一个其他类型的结果。

And if you write that, by writing that function, you’re proving that given one of these things, you can produce another thing.

如果你这样写,通过编写这个函数,你就证明了给定这些东西之一,你可以产生另一种东西。

And that’s a proof of an implication.

这是一个暗示的证明。

With only like seven laws, you can construct all of mathematical logic in a type system.

仅用七个定律,您就可以在类型系统中构造所有数学逻辑。

3:10:54 And one of the important things for programming languages that hasn’t been given enough attention is some aspects of programming languages are just subjective.

对于编程语言来说,没有得到足够重视的重要事情之一是编程语言的某些方面只是主观的。

They’re just machinations of the programming language designer.

它们只是编程语言设计者的阴谋。

And Guido van Rossum decided that Python should support indentation in a certain way.

Guido van Rossum 决定 Python 应该以某种方式支持缩进。

And as long as you’re dealing with things like human notation and naming of things, there’s always going to be that subjective layer.

只要你处理诸如人类符号和事物命名之类的事情,就总会存在主观层。

3:11:18 But there are other parts of programming languages that are not subjective but should be fundamental.

但编程语言的其他部分不是主观的,而是应该是基础的。

And when you look at type systems, there is a way to do type systems that gives you mathematical proofs.

当你研究类型系统时,有一种方法可以让类型系统为你提供数学证明。

And every other way of type systems that doesn’t give you mathematical proofs is just worse and should ultimately be rejected.

而所有其他不给你数学证明的类型系统方式都更糟糕,最终应该被拒绝。

3:11:38 And so I think one of the jobs of computing is to identify what we actually done right in the past and what have we done wrong.

所以我认为计算的工作之一就是确定我们过去实际上做对了什么以及我们做错了什么。

And for everything we’ve done wrong, actually going back and fixing it.

对于我们做错的一切,实际上要回去并修复它。

Otherwise, we just keep accumulating so much cruft that our systems eventually are crushed under their own complexity.

否则,我们只会不断积累太多的东西,以至于我们的系统最终会被自身的复杂性压垮。

3:11:54 And there have been massive announcements of horrible vulnerabilities in software and services over the past year.

在过去的一年里,有大量关于软件和服务中可怕漏洞的公告。

It turns out some nation-state backdoored a bunch of TELECO’s surveillance systems for wiretaps, like huge problem there.

事实证明,一些民族国家在 TELECO 的一系列监控系统中安装了后门以进行窃听,这就是那里的一个大问题。

But ultimately when you break it down, it’s probably because of some buffer overrun in some C program.

但最终当你分解它时,可能是因为某些 C 程序中的缓冲区溢出。

These decisions about programming languages have long-term implications.

这些有关编程语言的决定具有长期影响。

Lex Fridman3:12:21

It’s really fascinating that in building these systems that hundreds of millions of people use, you’re rethinking about how do you actually build it from first principles.

令人着迷的是,在构建数亿人使用的这些系统时,您正在重新思考如何从基本原则实际构建它。

3:12:29 So I should mention that Verse’s primary design goal is it should be simple enough to learn as a first-time programmer, general enough for writing any kind of code and data, productive in the context of building, iterating, and shipping a project in a team setting, statically verified to catch as many categories of runtime problems as possible, compile time as we were talking about, performant for real-time open-world multiplayer games.

因此,我应该提到 Verse 的主要设计目标是,它应该足够简单,适合新手程序员学习,足够通用,适合编写任何类型的代码和数据,在团队环境中构建、迭代和交付项目时高效,静态验证以捕获尽可能多的运行时问题类别,编译时间正如我们所讨论的那样,对于实时开放世界多人游戏具有高性能。

We didn’t really quite talk about performance.

我们并没有真正谈论性能。

Maybe I could ask you about that in a second.

也许我可以稍后问你这个问题。

Complete so that every feature of the language supports programmer abstraction over that feature, timeless, built for the needs of today and for foreseeable future needs.

完成后,语言的每个功能都支持程序员对该功能的抽象,永恒的,为当今的需求和可预见的未来需求而构建。

3:13:08 And then there’s some design goals that we talked about, that is strongly typed.

然后我们讨论了一些强类型的设计目标。

Multi-paradigm to use the best of functional programming, object-oriented programming, imperative programming so it’s as deterministic as possible.

多范式使用最好的函数式编程、面向对象编程、命令式编程,因此它尽可能具有确定性。

If you run it over and over, it runs in the exact same way.

如果你一遍又一遍地运行它,它会以完全相同的方式运行。

Failable expressions, as you talked about.

正如你所说,失败的表达。

It’s super fascinating, there’s so many cool features in this.

它非常令人着迷,其中有很多很酷的功能。

Speculative execution, concurrency.

推测执行、并发。

3:13:33 Maybe can you talk about concurrency?

也许你能谈谈并发吗?

What is it about Verse that allows for concurrency at the scale that you need?

Verse 有何特点可以实现您所需规模的并发?

Tim Sweeney3:13:41

This is the one biggest technical problem that we’re working to solve in this generation, and that is taming concurrency so that any ordinary programmer can achieve it by just writing ordinary code.

这是我们这一代人正在努力解决的一个最大的技术问题,那就是驯服并发性,以便任何普通程序员只需编写普通代码即可实现它。

Lex Fridman3:13:57

It’s hard, yeah.

这很难,是的。

Tim Sweeney3:13:59

Programming on a single-threaded computer is hard enough, but it is completely predictable.

在单线程计算机上编程已经够困难的了,但这是完全可以预见的。

3:13:59 If you have a language that’s deterministic and you’re on the same code, over and over, it’s always going to do exactly the same thing and there’s no unpredictability about what might happen, right?

如果你有一种确定性的语言,并且你一遍又一遍地使用相同的代码,那么它总是会做完全相同的事情,并且不会出现不可预测的情况,对吧?

You’re reading and writing variables in some order and you’re always going to see it behave the same.

您以某种顺序读取和写入变量,并且您总是会看到它的行为相同。

3:14:19 The problem is when you introduce multiple threads or multiple nodes in a data center, all working together on a single problem, is that they each want to read and write different pieces of data, and change of the state of the world as they go.

问题是,当您在数据中心中引入多个线程或多个节点时,所有这些线程或节点都一起处理一个问题,即它们每个都想要读取和写入不同的数据,并在运行过程中改变世界的状态。

And still almost all concurrency in real-world programs today is achieved manually.

如今,现实世界中的程序中几乎所有并发性仍然是手动实现的。

Programmers are writing this code that might run in multiple threads very, very carefully so that they are negotiating among each thread to get access to data in a way that’s going to give them predictable results.

程序员正在非常非常仔细地编写可能在多个线程中运行的代码,以便他们在每个线程之间进行协商,以某种方式访问​​数据,从而获得可预测的结果。

3:14:53 And it’s incredibly hard.

这非常困难。

It’s so hard that we’ve in five generations of Unreal Engine, every single generation decided we’re not going to try to scale up all of our gameplay code to multiple threads manually.

这太难了,我们已经使用了五代虚幻引擎,每一代都决定我们不会尝试手动将所有游戏代码扩展到多线程。

It’s just much, much, much too likely to go wrong, not only for ourselves, but for every partner company who licenses Unreal Engine and tries to use it for building a game.

出错的可能性非常非常大,不仅对我们自己而言,对每一个获得虚幻引擎许可并尝试使用它来构建游戏的合作伙伴公司也是如此。

It’s just a massive foot gun.

这只是一把巨大的脚枪。

3:15:17 There’s a variety of solutions to concurrency that are all rather suboptimal.

有多种并发解决方案,但都不是最理想的。

One attempted solution was like, just don’t try to solve this problem at all.

一种尝试的解决方案是,根本不要尝试解决这个问题。

Let’s break our program down into microservices.

让我们将程序分解为微服务。

And almost all online websites of massive scale like amazon.com work with hundreds of microservices where different servers negotiate with each other by sending messages to each other.

几乎所有像 amazon.com 这样的大规模在线网站都与数百个微服务一起使用,其中不同的服务器通过相互发送消息来相互协商。

And by programmers writing those things very carefully, they eventually get to being able to take your orders and not make a mess of them reliably.

通过程序员非常仔细地编写这些东西,他们最终能够可靠地接受你的命令,而不是把它们弄乱。

3:15:48 But this is totally not scalable to the metaverse where you have millions of programmers who are mostly not going to be computer scientists.

但这完全无法扩展到虚拟宇宙,在虚拟宇宙中,有数以百万计的程序员,他们大多不会成为计算机科学家。

They’re mostly going to be hobbyists, and enthusiasts, and first time programmers doing stuff for fun.

他们大多是业余爱好者、狂热分子,以及第一次程序员为了好玩而做的事情。

That’s never going to work for them because they’ll never be able to envision all of the different dependencies between different computations they’re running in parallel.

这对他们来说永远不会起作用,因为他们永远无法想象并行运行的不同计算之间的所有不同依赖关系。

3:16:07 But it turns out that there was an amazing foundational work done in 1980s that was made very real by a paper on Haskell concurrency.

但事实证明,在 20 世纪 80 年代,一篇关于 Haskell 并发的论文使这项基础性工作变得非常真实。

Composable Memory Transactions is the name of the paper.

《可组合内存事务》是论文的名称。

And it describes the system for transactional updates to programs.

它还描述了程序事务更新系统。

And the idea of a transaction is a transaction is a block of code that does a bunch of operations on memory, it might read, it might write, it might process an order, it might accept an order or reject an order.

事务的想法是事务是在内存上执行一系列操作的代码块,它可能读取,可能写入,可能处理订单,可能接受订单或拒绝订单。

It might transfer money between one bank account and another.

它可能会在一个银行账户和另一个银行账户之间转账。

It might make conditional decisions like, “Oh, you asked to transfer a hundred dollars from your account to this guy’s account.

它可能会做出有条件的决定,比如,“哦,你要求从你的账户转一百美元到这个人的账户。

We’re going to see if you have a hundred dollars.

我们要看看你是否有一百美元。

If you don’t, we’re going to reject it.

如果你不这样做,我们将拒绝它。

And if you have a hundred dollars, we’re going to take a hundred dollars out of your account and add it to this other guy’s account.”

如果你有一百美元,我们将从你的帐户中取出一百美元并将其添加到另一个人的帐户中。”

3:16:56 Without transactions, if everybody’s just randomly adding and subtracting each other’s bank balances, then you might have somebody read a bank balance, subtract a hundred dollars and write it out.

如果没有交易,如果每个人只是随机添加和减去彼此的银行余额,那么您可能会让人读取银行余额,减去一百美元并将其写出来。

But in the meantime, somebody has written something else in the meantime.

但与此同时,有人写了其他东西。

So you might get inconsistent bank balances arising if you don’t have a way of ensuring that these all run in a specific order.

因此,如果您没有办法确保所有这些都按特定顺序运行,则可能会出现不一致的银行余额。

3:17:16 So the idea of transactions is its way of dividing an entire program into updates, self-contained updates that do an arbitrary amount of computation but must run in a single threaded manner.

因此,事务的思想是将整个程序划分为更新的方式,独立的更新可以执行任意数量的计算,但必须以单线程方式运行。

And in the case of a game engine, that’s a gameplay object update.

对于游戏引擎来说,这是游戏对象的更新。

When you’re playing Fortnite, you see a gameplay object.

当您玩《堡垒之夜》时,您会看到一个游戏对象。

Every other player is a gameplay object.

其他每个玩家都是游戏对象。

Every enemy is a gameplay object.

每个敌人都是一个游戏对象。

Every rocket, and projectile, and car, and thing you see moving around and interacting, it’s not just a fixed static part of the world.

每一枚火箭、射弹、汽车,以及你看到的四处移动和相互作用的东西,它们不仅仅是世界上固定的静态部分。

That’s a separate game object.

这是一个单独的游戏对象。

And each of those objects is updated at a rate of one update per frame at 60 frames per second.

这些对象中的每一个都以每秒 60 帧每帧更新一次的速率进行更新。

3:17:52 And so then in the course of Fortnite Battle Royale gameplay, you have tens of thousands of object updates happening every frame with a hundred players.

因此,在《堡垒之夜:大逃杀》游戏过程中,一百名玩家每帧都会发生数以万计的对象更新。

In a simulation with billions of players, you’d have a whole lot more than that.

在拥有数十亿玩家的模拟中,你所拥有的远不止于此。

Lex Fridman3:18:04

So right now that’s done single-threaded?

那么现在是单线程完成的吗?

Tim Sweeney3:18:05

Yeah, that’s done single-threadedly in each game session.

是的,这是在每个游戏会话中单线程完成的。

3:18:05 This is why Fortnite has a hundred players limitation.

这就是为什么《堡垒之夜》有一百名玩家限制。

If you absolutely maxed out a server, maybe today you could get it up to 140 or something, but it’s not going to thousands, or millions, or billions.

如果你绝对最大限度地利用了一台服务器,也许今天你可以将其增加到 140 台或更多,但不会达到数千、数百万或数十亿。

3:18:18 And so what we need is a technique for magically automatically scaling our code to that.

因此,我们需要一种技术来神奇地自动将我们的代码扩展到这一点。

And transactions are the idea.

交易就是这个想法。

And the idea is a transaction is a granule of code that runs its entirety.

这个想法是,事务是一个完整运行的代码颗粒。

And so the idea of this transactional memory concept is that we’re going to have programmers write completely ordinary code that reads and writes variables in the completely ordinary way, and they’re not going to have to worry about concurrency at all.

因此,这种事务内存概念的想法是,我们将让程序员编写完全普通的代码,以完全普通的方式读取和写入变量,并且他们根本不必担心并发性。

And then the system, like today, a program, a computer just runs your program.

然后系统,就像今天一样,一个程序,一台计算机只是运行你的程序。

There’s no amount of speculation going on at the programming language level.

在编程语言层面上没有任何猜测。

3:18:50 The idea of transactions is since we have a bunch of operations we need to know we apply, we apply a large set of them concurrently, but instead of each one reading and writing from global memory shared by all, in which case they might be reading, and writing, and contending with each other for the same data, and might be doing contradictory things to it, we’re going to track all of our writes locally.

事务的想法是,因为我们有一堆需要知道我们应用的操作,所以我们同时应用一大组操作,但不是每个操作都从所有人共享的全局内存中读取和写入,在这种情况下,它们可能会读取、写入,并相互竞争相同的数据,并且可能会对其执行矛盾的操作,我们将在本地跟踪所有写入。

We’re not going to write changes out to global memory.

我们不会将更改写入全局内存。

We’re going to keep track of it in a buffer that’s just for that one transaction.

我们将在专门针对该一笔交易的缓冲区中跟踪它。

So it’s going to look to that code exactly as if it’s running on the global system affecting global game state, but it’s going to be isolated to just that one transaction.

因此,它将将该代码视为在影响全局游戏状态的全局系统上运行的代码,但它将仅与该一笔事务隔离。

And it’s going to be set aside and buffered up for consideration later.

它将被搁置并缓冲以供稍后考虑。

We’re going to run tens, or hundreds, or thousands of the updates concurrently.

我们将同时运行数十、数百或数千个更新。

We’re going to see which ones had read-write conflicts.

我们将查看哪些存在读写冲突。

Because if two transactions don’t read and write any of the same data, then you could have run them in either order or simultaneously, and it wouldn’t have changed the end result.

因为如果两个事务不读取和写入任何相同的数据,那么您可以按任意顺序或同时运行它们,并且不会改变最终结果。

Lex Fridman3:19:51

Yeah, the order doesn’t matter.

是的,顺序并不重要。

3:19:51 This is so fascinating.

这太令人着迷了。

To imagine this kind of system arbitrarily concurrent running millions of updates in parallel of gameplay objects, that’s the thing that enables the thing that we’re talking about, which is tens of millions of people together in one scene.

想象一下这种系统在游戏对象上并行运行数百万个更新,这就是我们正在谈论的事情的原因,即数以千万计的人聚集在一个场景中。

Tim Sweeney3:20:13

Yeah, exactly.

是的,完全正确。

3:20:13 And the key is that you’re running these updates speculatively, and you’re not committing their changes to memory until you’re sure that they’re free of conflicts.

关键是您正在推测性地运行这些更新,并且在确定它们不存在冲突之前不会将它们的更改提交到内存中。

So you might update 10,000 objects, you might find 9,000 of them were conflict-free.

因此,您可能会更新 10,000 个对象,您可能会发现其中 9,000 个对象是无冲突的。

So you apply those 9,000 updates to memory, and they could have run in any order and it wouldn’t have changed the result.

因此,您将这 9,000 个更新应用到内存中,它们可以按任何顺序运行,并且不会改变结果。

Lex Fridman3:20:33

That’s so cool.

太酷了。

Tim Sweeney3:20:34

Now there’s a thousand objects left over.

现在剩下一千件物品。

3:20:34 Now you have to run those again, try them, maybe interleave in a different way to get them to eventually commit to memory.

现在你必须再次运行它们,尝试它们,也许以不同的方式交错以使它们最终提交到内存中。

And in the meantime, you just throw all of their computations away and redo them later.

与此同时,您只需丢弃所有计算并稍后重做即可。

3:20:47 And by doing this, removing this from being a programming problem for the programmer to deal with, to being a language problem for us language designers to deal with.

通过这样做,将其从程序员需要处理的编程问题转变为我们语言设计者需要处理的语言问题。

And we’re moving a vast amount of pain that would be imposed on a million people, instead to a vast amount of pain imposed on a small number of people to have to actually make this work.

我们正在将原本会给一百万人带来的巨大痛苦转移到少数人身上,以真正实现这项工作。

Lex Fridman3:21:07

That’s amazing.

太棒了。

3:21:07 That’s really incredible.

这真是不可思议。

3:21:09 So what’s the state of things with Verse?

那么 Verse 的现状如何?

And I guess what you’re outlining is if, and hopefully it is successful, this will be a big part of Unreal Engine 6.

我想您所概述的是,如果并且希望它成功,这将成为虚幻引擎 6 的重要组成部分。

So what’s the timeline?

那么时间表是怎样的呢?

Where do we stand today?

今天我们站在哪里?

Tim Sweeney3:21:23

Well, there’s a lot going on in parallel.

嗯,有很多事情同时发生。

3:21:23 The key thing with Verse is that we have been specifying what we think is the ultimate version of the language with all of the features we want, whereas we’ve been shipping more modest versions of language over time, and we’ve released dozens of updates to it over the past year and a half.

Verse 的关键在于,我们一直在指定我们认为具有我们想要的所有功能的语言的最终版本,而随着时间的推移,我们一直在发布更温和的语言版本,并且在过去的一年半中我们发布了数十个更新。

3:21:44 And the idea is that the shipping version that gains more and more features over time, but each maintaining backwards compatibility with old versions, and each continuing to improve and approach the ultimate version of it as we go.

我们的想法是,随着时间的推移,发布版本将获得越来越多的功能,但每个版本都保持与旧版本的向后兼容性,并且每个版本都会随着我们的发展而不断改进并接近其最终版本。

And we’ve been doing this experiment entirely within the world of Unreal Editor for Fortnite for now.

目前我们一直在《堡垒之夜》的虚幻编辑器世界中进行这项实验。

We want to test this and iterate with Fortnite creators in just the metaverse usage case before we make it available to all of our partners using Unreal Engine for all of their projects.

我们希望在 Metaverse 使用案例中对此进行测试并与《堡垒之夜》创作者进行迭代,然后再将其提供给所有使用虚幻引擎进行项目的合作伙伴。

And the idea is to iteratively improve it and build it out.

我们的想法是迭代地改进它并构建它。

Because right now UEFN has relatively few features for programming.

因为目前 UEFN 的编程功能相对较少。

It needs a lot more.

它还需要更多。

And everything we add makes the world a much better place for Fortnite creators.

我们添加的一切都让《堡垒之夜》创作者的世界变得更加美好。

3:22:23 And we’re adding major, major new APIs every few months throughout the course of this year.

今年,我们每隔几个月就会添加主要的新 API。

Whereas Unreal Engine licensees who are building standalone games already have access to the full engine through C++.

而正在构建独立游戏的虚幻引擎被许可人已经可以通过 C++ 访问完整的引擎。

They have massive, massive expectations of an API.

他们对 API 抱有巨大的期望。

And so we can’t release this to them until we’ve built up all of the essential features that they’ll need for building their gameplay in the future.

因此,在我们构建出他们未来构建游戏玩法所需的所有基本功能之前,我们无法向他们发布此版本。

3:22:45 And so we have these two different tendrils of progress.

因此,我们有这两种不同的进步。

There’s Unreal Engine 5 for game developers, and there’s Unreal Engine 5 targeting the Fortnite community.

有针对游戏开发者的虚幻引擎 5,也有针对 Fortnite 社区的虚幻引擎 5。

And there’s different bits of development that are only in one area of it that aren’t applied to [inaudible 03:23:00].

并且有一些不同的开发,仅在其中一个领域,未应用于 [听不清 03:23:00]。

Not all of the Unreal Engine 5 features are actually available in Fortnite because some of them we haven’t figured out or haven’t gotten to the point where we can deploy them to all seven platforms in a platform-independent way.

并非虚幻引擎 5 的所有功能实际上都可以在《堡垒之夜》中使用,因为其中一些功能我们还没有弄清楚,或者还没有达到可以以独立于平台的方式将它们部署到所有七个平台的程度。

3:23:10 And so the place where all of these different threads of development come together is Unreal Engine 6.

因此,虚幻引擎 6 是所有这些不同开发线程汇聚在一起的地方。

And it’s a few years away.

还有几年的时间。

We don’t have an exact timeframe, but we could be seeing preview versions of it perhaps two to three years from now.

我们没有确切的时间表,但我们可能会在两到三年后看到它的预览版本。

And we’re making continuous progress towards it.

我们正在为此不断取得进展。

Lex Fridman3:23:27

So that’s really nice.

所以这真的很好。

3:23:27 So there’s this ultimate version of a language that you’re constantly working on and thinking through, and there’s the shipped version of the language that’s used by a large number of people, but still in the constrained environments of the Unreal Editor for Fortnite, so for the Fortnite game.

因此,有一种语言的终极版本需要你不断地研究和思考,还有一种语言的发布版本被很多人使用,但仍然处于《堡垒之夜》虚幻编辑器的受限环境中,对于《堡垒之夜》游戏也是如此。

And then there awaits the more general Unreal Editor on Unreal Engine for the lessons learned in the Fortnite context to be integrated in the more general context of creating simulated worlds for all-

然后等待虚幻引擎上更通用的虚幻编辑器,将在《堡垒之夜》环境中学到的经验教训整合到为所有人创建模拟世界的更通用环境中-

3:24:03 …

……

general context of creating simulated worlds for all kinds of games, including Fortnite.

为各种游戏(包括《堡垒之夜》)创建模拟世界的一般背景。

It’s a really nice setup because you’re both…

这是一个非常好的设置,因为你们都是……

it’s a testing ground of the language in Fortnite and you’re keeping an eye on what the ultimate thing will look like also necessary to deliver all the features that we mentioned.

它是《堡垒之夜》中语言的测试场,你会密切关注最终的结果,这也是提供我们提到的所有功能所必需的。

Brilliant.

杰出的。

Tim Sweeney3:24:19

Yeah.

是的。

3:24:19 The aim for UE 6 is to bring the best of both worlds together, a much easier gameplay programming for the Fortnite community and for licensees.

UE 6 的目标是将两个世界的优点结合在一起,为 Fortnite 社区和被许可人提供更简单的游戏编程。

More scalability to large- scale simulations of all sorts.

各种大规模模拟的可扩展性更高。

Greater ease of use, meaning it will be easier to hire programmers who are familiar with and experienced with a thing, but also ensure that every game developer has the full deployment capabilities so that they can build a game once and then ship it anywhere.

更高的易用性,意味着可以更轻松地雇用熟悉并有经验的程序员,同时也确保每个游戏开发人员都具有完整的部署能力,以便他们可以构建一次游戏,然后将其发布到任何地方。

3:24:47 The ultimate version of this enables a game developer to build a game of any sort, either or simultaneously both ship it into Fortnite as a Fortnite island that players can go into bringing their Fortnite items and cosmetics and interoperate properly or ship as a standalone game or both.

最终版本使游戏开发者能够构建任何类型的游戏,或者同时将其作为 Fortnite 岛屿运送到 Fortnite,玩家可以携带他们的 Fortnite 物品和化妆品并正确互操作或作为独立游戏运送或两者兼而有之。

And if they ship as a standalone game, they shouldn’t be missing out on the open economy either because, in this timeframe, we’ll have opened up the Fortnite item economy to third-party developers of all sort.

如果它们作为独立游戏发布,它们也不应该错过开放经济,因为在这个时间范围内,我们将向各种第三方开发者开放《堡垒之夜》的物品经济。

3:25:17 Hopefully, there is standards body, but there might be multiple phases of it so that if you choose to ship a standalone game, you can still choose to have Fortnite items work in your game and have your game items work in Fortnite and have your item economy integrated with the overall metaverse economy and solve a really core problem that…

希望有一个标准体,但它可能有多个阶段,这样如果你选择发布一款独立游戏,你仍然可以选择让《堡垒之夜》物品在你的游戏中工作,让你的游戏物品在《堡垒之夜》中工作,让你的物品经济与整体元宇宙经济相结合,并解决一个真正的核心问题……

of the game industry that Matthew Ball has been documenting over the past few years.

马修·鲍尔 (Matthew Ball) 在过去几年中一直在记录游戏行业的概况。

Lex Fridman3:25:40

Yeah, by the way, Matthew Ball has been really helpful.

是的,顺便说一下,马修·鲍尔真的很有帮助。

3:25:40 He’s a great…

他是一个伟大的…

He wrote a really great book that I recommend people check out.

他写了一本非常棒的书,我推荐人们阅读。

There’s an updated version.

有更新版本。

Let me just ask for because, again, there’s a bunch of indie developers listening to this.

让我问一下,因为有很多独立开发者在听这个。

I saw that a lot of solo developers out there that are using Unreal Engine, that they’re basically creating video games solo.

我看到很多独立开发者都在使用虚幻引擎,他们基本上是在独立开发视频游戏。

3:25:59 I saw…

我看到了……

can highly recommend.

强烈推荐。

It’s great.

这很棒。

Choo-Choo Charles.

丘丘查尔斯。

It’s a great video game.

这是一款很棒的视频游戏。

Gavin Eisenbeisz, he…

加文·艾森贝兹,他……

a great guy.

一个很棒的人。

He solo created this game that’s, I think, quite popular.

他独自创造了这款游戏,我认为该游戏非常受欢迎。

I believe he says he used visuals.

我相信他说他使用了视觉效果。

He didn’t even use C++, he used visual scripting.

他甚至没有使用 C++,他使用的是可视化脚本。

He used blueprints-

他使用了蓝图——

Tim Sweeney3:26:21

Yeah.

是的。

Lex Fridman3:26:21

…

……

3:26:21 to create it.

创建它。

Okay.

好的。

So I mean all that to say people should go check it out, support indie developers, support Gavin, and support everybody liked that.

所以我想说的是,人们应该去看看,支持独立开发者,支持加文,支持每个人都喜欢的。

I think it’s important to say because there’s so much genius and artistry out there that we want to support the crazy dreamers out there.

我认为这一点很重要,因为那里有如此多的天才和艺术,我们希望支持那里的疯狂梦想家。

3:26:37 Anyway, all that to say, what are the ways you think Epic can support indie developers like that?

总而言之,您认为 Epic 可以通过哪些方式支持独立开发者?

People like Gavin give them superpowers to create games from which they can make, at the very least, enough money that they can keep doing their art.

像加文这样的人赋予他们创造游戏的超能力,他们至少可以从中赚到足够的钱,让他们可以继续创作自己的艺术。

Tim Sweeney3:26:56

Well, that’s really about productivity because to be successful with a game, you have to have a great game.

嗯,这确实与生产力有关,因为要使游戏取得成功,您必须拥有一款出色的游戏。

3:26:56 If you’re targeting a…

如果您的目标是……

If you’re building a type of game that nobody’s ever built before, you might be able to build a smaller, simpler game than if you’re competing in a massive genre that has huge expectations.

如果你正在开发一种以前没有人开发过的游戏,那么与你在一个有着巨大期望的大型游戏类型中竞争相比,你可能能够开发出更小、更简单的游戏。

But it’s all about enabling somebody to do that in a reasonable amount of time they can spend and to be able to finish it and chip it and maintain it successfully.

但这一切都是为了让人们能够在合理的时间内完成它,并能够成功地完成它、碎片化和维护它。

The tools are a big part of that.

工具是其中的重要组成部分。

3:27:22 Having the tools be as productive as possible.

让工具尽可能高效。

But there are a lot of other facets as well like having a content marketplace is a big thing.

但还有很多其他方面,比如拥有一个内容市场是一件大事。

Just off the shelf, piles of content, some free, some paid, built by other creators can enable a small indie team to build a big game and just be able to focus on the unique content of the game.

大量现成的内容,有些是免费的,有些是付费的,由其他创作者构建,可以让小型独立团队构建一款大型游戏,并且能够专注于游戏的独特内容。

Being able to write their gameplay and lay out their environments the way they want but not have to build every tree and rock because somebody has already built one, and theirs is probably perfectly suitable for your game.

能够按照自己想要的方式编写游戏玩法并布置环境,但不必建造每棵树和岩石,因为有人已经建造了,而他们的可能非常适合您的游戏。

3:27:56 And over time, there’ll be more and more.

而且随着时间的推移,会越来越多。

There’s also a lot of indie developers living as content creators.

还有很多独立开发者以内容创作者的身份生活。

They’ll be releasing content on Fab Marketplace or the Unity Asset store and earn living for that.

他们将在 Fab Marketplace 或 Unity Asset 商店上发布内容并以此谋生。

But specialization of labor is a really, really valuable thing.

但劳动专业化是一件非常非常有价值的事情。

And the early days, pretty much one person would build one game.

早期,几乎一个人就能开发一款游戏。

That’s how a lot of the games were built in the 1980s.

20 世纪 80 年代很多游戏都是这样开发的。

3:28:16 Over time, you had a separation where artists became specialized and then programmers and then gameplay programmers and engine programmers.

随着时间的推移,美术师变得专业化,然后是程序员,然后是游戏程序员和引擎程序员。

Now you have technical artists, and you have dozens of different specialties contributing to a AAA 3D game now.

现在,您拥有了技术美术人员,并且您拥有数十种不同的专业知识,为 AAA 3D 游戏做出贡献。

And the more we can modularize those bits of content so you could get something off the shelf rather than having to build it or have to come…

我们越能模块化这些内容,这样你就可以得到现成的东西,而不是必须构建它或必须来......

engine synthesize it for you, the more we can enable creators to create stuff fast and successfully.

引擎为您合成它,我们就越能帮助创作者快速、成功地创造东西。

Lex Fridman3:28:46

So we should talk about the fact that, amongst many other things, you’ve been philosophically and spiritually battling monopolies in general, one of which is sort of the Apple marketplace that charges 30% from developers.

所以我们应该谈谈这样一个事实,除此之外,你一直在哲学上和精神上与垄断作斗争,其中之一就是向开发者收取 30% 费用的苹果市场。

3:28:46 Can you speak about this, this idea that you believe that Apple and other companies, Valve, should not be charging that kind of revenue cut?

您能谈谈您认为苹果和其他公司(Valve)不应该收取这种收入削减的想法吗?

Tim Sweeney3:29:23

Sure.

当然。

3:29:23 Well, let’s start from a very basic principle of computing.

好吧,让我们从一个非常基本的计算原理开始。

The first computer I owned was an Apple II Plus designed by Steve Wozniak and marketed by Apple, and then an IBM PC.

我拥有的第一台电脑是由 Steve Wozniak 设计并由 Apple 销售的 Apple II Plus,然后是 IBM PC。

And in those days, anybody could write code.

在那个时代,任何人都可以编写代码。

Your computer literally turned on with a programming language prompt in front of you.

您的计算机实际上已打开,并在您面前出现了编程语言提示。

You had to actually do work to not write a program and to instead run somebody else’s program.

你必须真正做工作,而不是编写程序,而是运行别人的程序。

That was incredibly empowering.

这真是令人难以置信的授权。

And anybody could write a program, and anybody could put it on a floppy disk.

任何人都可以编写程序,任何人都可以将其放入软盘上。

3:29:51 Anybody could share it with their friends.

任何人都可以与他们的朋友分享。

Anybody could make copies of that and put it in a store.

任何人都可以复制它并将其放在商店中。

They could sell it.

他们可以卖掉它。

They could build a business around it.

他们可以围绕它开展业务。

And they were completely able to, without seeking any big tech corporation’s permission, do however they want.

他们完全能够在不寻求任何大型科技公司许可的情况下为所欲为。

Even from IBM.

甚至来自IBM。

Remember, IBM was the dominant computer company on Earth at the time that they released IBM PC as an open platform.

请记住,IBM 在发布 IBM PC 作为开放平台时是地球上占主导地位的计算机公司。

And, yeah, so it’s really been firmly implanted in my mind that this is…

而且,是的,所以它确实已经牢牢地植入我的脑海中,那就是……

this was a magical and wonderful time of unmatched economic progress for technology in the entire world.

这是一个神奇而美好的时代,全世界的技术经济都取得了无与伦比的进步。

3:30:29 And over time, the big companies have realized that they could shut down and just block software makers from releasing software on their own and block software makers from doing business with customers directly.

随着时间的推移,大公司意识到他们可以关闭并阻止软件制造商自行发布软件,并阻止软件制造商直接与客户开展业务。

And I’ve always viewed this practice as terribly abusive because when you buy a computer you spend…

我一直认为这种做法是非常滥用的,因为当你购买电脑时,你会花......

or a phone, you spend good money on it.

或者手机,你花很多钱买它。

It’s your money you spent on that phone and now you own that phone.

这是你花在那部手机上的钱,现在你拥有了那部手机。

And there’s absolutely no reason that Apple should block you from installing apps from other developers directly if you want, going to their webpage or writing your own apps without their permission and running them yourself without having to get a developer account, without having to go through their bureaucracy.

如果你愿意的话,苹果绝对没有理由阻止你直接安装其他开发者的应用程序,访问他们的网页或在未经他们许可的情况下编写你自己的应用程序,并自己运行它们,而无需获得开发者帐户,无需通过他们的官僚机构。

3:31:16 And there’s no reason that any consumer who gets an app shouldn’t be able to do business directly with the developer of the consumer.

任何获得应用程序的消费者都没有理由不能直接与消费者的开发者开展业务。

You already bought that phone, why should Apple be adding a 30% junk fee to all commerce you do, and why do they selectively apply it to some things and not others?

你已经买了那部手机,为什么苹果要向你所做的所有商务收取 30% 的垃圾费,为什么他们有选择地将其应用于某些事情而不是其他事情?

I’ve always viewed this as deeply abusive and that it shuts down the competitive engine that once fueled the app and software economy.

我一直认为这是一种严重的滥用行为,它关闭了曾经推动应用程序和软件经济的竞争引擎。

It’s still a vibrant, competitive engine on Windows and on the internet, but it’s no longer with mobile apps because these stores have popped up, and they don’t provide any useful value to the user.

它在 Windows 和互联网上仍然是一个充满活力、有竞争力的引擎,但它不再适用于移动应用程序,因为这些商店已经出现,并且它们不为用户提供任何有用的价值。

3:31:55 Yes, they’re a search function to find software, but there’s no reason other companies couldn’t build a better one.

是的,它们是一种查找软件的搜索功能,但其他公司没有理由不能构建更好的功能。

And I bet if you had Steam or if you had Valve build Steam for iPhone, I bet Steam for iPhone would be a much better app store than the iOS App Store, and a lot of people would use it, and that Apple would be forced to build a better app store in competition and that everybody would improve their products as a result.

我敢打赌,如果你有 Steam,或者如果你让 Valve 为 iPhone 构建 Steam,我敢打赌 iPhone 版 Steam 将是一个比 iOS 应用商店更好的应用商店,很多人会使用它,苹果将被迫在竞争中建立一个更好的应用商店,结果每个人都会改进他们的产品。

But Apple and Google shutting down the competitive engine that drives the software economy has massive implications for everything.

但苹果和谷歌关闭驱动软件经济的竞争引擎对一切都会产生巨大影响。

And one of them is reshaping the nature of mobile apps to be really offensive to gamer sensibilities.

其中之一就是重塑移动应用程序的本质,使其真正冒犯玩家的情感。

3:32:32 If you call [inaudible 03:32:33] console, the best console games you see listed in the store…

如果您致电 [听不清 03:32:33] 控制台,您在商店中看到的最好的控制台游戏......

on the storefronts, the best console games that you see reviewed are awesome games that really have a lot of creative merit.

在店面中,您看到的评论中最好的主机游戏都是很棒的游戏,它们确实具有很多创意优点。

The ones that sell the best are really enormous values for their money, and they’re product of an immense amount of work.

那些卖得最好的产品确实物有所值,而且它们是大量工作的产物。

You don’t see that on iPhone.

你在 iPhone 上看不到这一点。

The top apps on iPhone or the top games on iPhone at almost all times are these ridiculously greedy, high-monetizing whale games, which are pervaded with pay-to-win and loot box practices.

iPhone 上的顶级应用程序或 iPhone 上的顶级游戏几乎在任何时候都是这些极其贪婪、高盈利的鲸鱼游戏,这些游戏充斥着付费获胜和开箱行为。

They have a sort of a legalized form of gambling, and these games are not driven by fun.

他们有一种合法化的赌博形式,而这些游戏并不是由乐趣驱动的。

They’re driven by manipulation of the players to greedy ends.

他们通过操纵玩家达到贪婪的目的。

Lex Fridman3:33:17

Yeah.

是的。

Tim Sweeney3:33:18

And it’s very hard for the fund-based games to actually succeed there.

而基金类游戏很难真正在那里取得成功。

3:33:18 And the cost of operating these online games now are enormously high.

而现在运营这些网络游戏的成本非常高。

So you have a game that’s based on fun.

所以你有一个基于乐趣的游戏。

It’s not loot-box- heavy.

它的战利品盒并不重。

You have to pay 30% of your revenue to Apple in order to just get access to the platform.

你必须向 Apple 支付 30% 的收入才能访问该平台。

And 30% is way, way, way more than most game companies make in profits right now.

30% 比目前大多数游戏公司的利润要高得多。

And so, if they…

所以,如果他们……

that fee is more than the profit from a natural company, then they can only stay in business by raising prices.

这笔费用超过了自然公司的利润,那么他们只能通过提高价格来维持经营。

3:33:48 So these 30% fees are raising prices of all digital goods.

因此,这 30% 的费用正在提高所有数字商品的价格。

It’s just inflationary is a force in the economy.

只是通货膨胀是经济中的一股力量。

That’s just the first drag tax.

这只是第一个拖累税。

But then to reach users, when a user searches for…

但为了接触用户,当用户搜索……

Before Apple blocked Fortnite on iOS, when a user searched for Fortnite, the first result was always some competing game that’s utterly anti-user.

在苹果在 iOS 上屏蔽《堡垒之夜》之前,当用户搜索《堡垒之夜》时,第一个结果总是一些完全反用户的竞争游戏。

Like you search for Steam for a game, and if that game’s on Steam, it’s the first result always because Steam’s not getting inshittified with advertising.

就像您在 Steam 上搜索游戏一样,如果该游戏在 Steam 上,它总是第一个结果,因为 Steam 不会被广告所困扰。

Apple is, and they do that so they can make even more than 30%.

苹果就是这样,他们这样做是为了赚取超过 30% 的利润。

3:34:22 So, if you want to be the search…

所以,如果你想成为搜索者……

the first search result for your game, you’re probably paying more like 45%.

如果您的游戏出现在第一个搜索结果中,您可能需要支付 45% 左右的费用。

If you want to reach users on social media, you’re paying another 20%.

如果你想在社交媒体上吸引用户,你还需要支付 20% 的费用。

So, literally, something like 70% of the revenue for your game is just going into junk fees to acquire users and get them in your game.

因此,从字面上看,您的游戏 70% 的收入都只是投入了垃圾费,以获取用户并让他们加入您的游戏。

And the money that’s left over is only enough to fund these games with rather abusive practices that do not look to normal gamers like games for the most part.

剩下的钱只够资助这些具有相当滥用行为的游戏,而这些游戏在大多数情况下并不适合普通玩家喜欢的游戏。

3:34:47 Now, there are some exceptions.

现在,有一些例外。

There are some great games on iOS, and there’s some games with good practices, but the engine has been really corrupted in a way that competition would fix.

iOS 上有一些很棒的游戏,也有一些具有良好实践的游戏,但引擎确实已经损坏,竞争可以修复。

If you unleashed lots of competing stores on iOS, then you’d have lots of awesome options, and you’d have much better deals and much better prices.

如果你在 iOS 上推出了大量的竞争商店,那么你就会有很多很棒的选择,并且会有更好的交易和更好的价格。

Lex Fridman3:35:04

I had a quick chat with Matthew.

我和马修聊了一会儿。

3:35:04 He asked me to ask you this question of why don’t more companies fight Apple in the way openly and totally as Epic has been?

他让我问你这个问题:为什么没有更多的公司像 Epic 那样公开、彻底地对抗苹果?

What makes you Epic so unique in this regard?

是什么让你们 Epic 在这方面如此独特?

And I should say, I think everything you said I agree with fully.

我应该说,我认为你所说的一切我完全同意。

I think what Apple is doing is just wrong.

我认为苹果的做法是错误的。

3:35:26 I think Apple, in many dimensions, is an incredible company.

我认为苹果公司在很多方面都是一家令人难以置信的公司。

They have brought so much good for the world.

他们为世界带来了很多好处。

In this regard, I just think it’s straight-up wrong what they’re doing that they’re not providing the value of 30%.

在这方面,我只是认为他们没有提供 30% 的价值,这是完全错误的。

And even if they were the monopolization, the centralized control without competition is wrong.

即使是垄断,没有竞争的集中控制也是错误的。

Anyway, why are you fearlessly Apple on this and other companies don’t seem to want to step up?

无论如何,为什么苹果在这方面无所畏惧,而其他公司似乎不想站出来呢?

Tim Sweeney3:35:58

All companies are terrified of Apple because Apple can destroy their business.

所有公司都害怕苹果,因为苹果可以摧毁他们的业务。

3:35:58 Epic was in a unique position with Fortnite, first of all, having the biggest game in the world at the time we started the fight with Apple.

Epic 在《堡垒之夜》中处于独特的地位,首先,在我们与苹果展开竞争时,它拥有世界上最大的游戏。

And second of all, having a majority of our users playing on PC and console meant that if we lost access to iOS during a fight, then we would still be able to survive.

其次,我们的大多数用户都在 PC 和游戏机上玩游戏,这意味着如果我们在战斗中失去了对 iOS 的访问,那么我们仍然能够生存。

That set Epic apart.

这让 Epic 与众不同。

Spotify, Facebook, you name the top 10 mobile apps, I think none of them would be able to survive without Apple.

Spotify、Facebook,你列出的十大移动应用程序,我认为如果没有苹果,它们都无法生存。

Literally, their business would be destroyed if Apple blocked access to them.

从字面上看,如果苹果阻止他们的访问,他们的业务就会被摧毁。

3:36:40 And Apple is incredibly clear with developers that they’re willing to deprive all users of access to any app if they get in a fight.

苹果对开发者非常明确,如果他们发生争执,他们愿意剥夺所有用户对任何应用程序的访问权限。

And if you look at how they dealt with Epic, they were not just legally maneuvering with the intent of winning the court case against us.

如果你看看他们如何处理 Epic,你会发现他们不仅仅是为了赢得针对我们的官司而进行法律操作。

They were also sending a message to all developers in the world.

他们还向世界上所有开发者传达了一条信息。

“We will destroy your business, or we will try our best if you fight us.” And a very small number of vocal developers have been willing to speak up, and Apple was actually refrained from crushing their businesses when they weren’t violating any Apple policies.

“我们会毁掉你的生意,否则如果你和我们打架,我们会尽力而为。”极少数敢于发声的开发者愿意发声,而在他们没有违反任何苹果政策的情况下,苹果实际上也没有压制他们的业务。

3:37:18 And that took a bit of discipline, which I think is also amount of calculation by Apple.

这需要一点纪律,我认为这也是苹果公司的计算量。

They couldn’t survive being seen as the company killer, that, “If you criticize this will crush your company.” But the other thing Apple has that they can and will readily deploy against every developer is soft power.

他们无法生存,被视为公司杀手,“如果你批评这一点,你的公司就会垮掉。”但苹果拥有的另一件事是软实力,他们可以并且愿意随时针对每个开发者部署这一点。

When they take 30%, and advertising is so expensive, soft power by Apple like approving your updates faster or slowing down all of your updates by a couple of weeks can also have a dramatic effect on your ability to compete successfully.

当他们占 30% 且广告如此昂贵时,Apple 的软实力(例如更快地批准您的更新或将所有更新放慢几周)也会对您成功竞争的能力产生巨大影响。

3:37:51 And Apple, it’s a very long history of playing cat-and-mouse games with developers.

而苹果,与开发者玩猫捉老鼠的游戏由来已久。

It’s like, what, a developer isn’t in Apple’s good graces, so just slow down the updates.

就像,什么,开发者不受苹果的青睐,所以就放慢更新速度吧。

So they’ve been slowing down updates for several major tech companies, sometimes for weeks, sometimes for months, without all going under the radar because everybody’s afraid to challenge them publicly.

因此,他们一直在放慢几家大型科技公司的更新速度,有时是几周,有时是几个月,但一切都没有受到关注,因为每个人都害怕公开挑战他们。

And so, Apple’s wielding a soft power can change a company’s economics for the worse enough to deter almost any public company.

因此,苹果运用软实力可以使公司的经济状况变得更糟,足以吓倒几乎所有上市公司。

3:38:19 And Epic is in the fight because I firmly believe that something like the metaverse will only arise.

Epic 正在战斗,因为我坚信像虚拟宇宙这样的东西只会出现。

It’s something like a billion-plus user real-time 3D social ecosystem that grows to encompass potentially all or most major games by all major developers tied together into an open economy where they all participate as peers, and they all compete to give users the best deals, and they grow and do business with their customers directly.

它就像一个拥有超过 10 亿用户的实时 3D 社交生态系统,不断发展壮大,涵盖了所有主要开发商的所有或大多数主要游戏,这些游戏捆绑在一起形成一个开放的经济体,他们都作为同行参与其中,他们都竞相为用户提供最好的交易,他们直接与客户发展和开展业务。

That thing can only exist if the and Google gatekeeping monopolies are lifted.

只有解除谷歌和谷歌的把关垄断,这种事情才能存在。

3:38:55 And it’s not just the 30% fees.

而且不仅仅是 30% 的费用。

30% fees are economically ruinous, but they impose other levels of control.

30% 的费用在经济上是毁灭性的,但它们强加了其他级别的控制。

Apple prevents all web browsers on iOS from implementing web standards better than Apple does.

Apple 阻止 iOS 上的所有 Web 浏览器比 Apple 更好地实施 Web 标准。

So, Apple has really limited data storage capabilities and 3D graphics capabilities on the iOS web APIs.

因此,Apple 在 iOS Web API 上的数据存储功能和 3D 图形功能确实有限。

So APIs, you can access from web apps running within a web browser, and that’s to intentionally cripple those apps to ensure that they can’t possibly compete with native apps.

因此,您可以从网络浏览器中运行的网络应用程序访问 API,这是为了故意削弱这些应用程序,以确保它们无法与本机应用程序竞争。

3:39:27 And by depriving web apps of those features, they prevent web apps from being competing with native apps.

通过剥夺网络应用程序的这些功能,它们可以防止网络应用程序与本机应用程序竞争。

Well, Apple, if they treat the metaverse the way they treat the web, they’ll say, “You can only use Apple’s metaverse engine.

好吧,苹果,如果他们像对待网络一样对待元宇宙,他们会说,“你只能使用苹果的元宇宙引擎。

Unreal Engine is disallowed.” And then they can impose all of their own limitations on the metaverse to force all commerce through Apple or force it to be so uncompetitive and lousy that it can’t compete.

虚幻引擎是不允许的。”然后他们可以对元宇宙施加自己的所有限制,迫使所有商业活动都通过苹果公司进行,或者迫使它变得毫无竞争力和糟糕到无法竞争。

3:39:51 And they have this giant array of these anti-competitive techniques that they use to disadvantage other app developers, saying only Apple can build certain kinds of apps or only Apple can integrate certain features in Europe, even where the DMA law requires Apple to allow competing stores, they say, “A store can only be a store.

他们拥有大量反竞争技术,用来让其他应用程序开发商处于不利地位,称只有苹果公司可以构建某些类型的应用程序,或者只有苹果公司可以在欧洲集成某些功能,即使 DMA 法要求苹果公司允许竞争商店,他们说,“商店只能是商店。

You can’t build a store into Facebook, you can’t build a social network into a store.

你无法在 Facebook 中构建商店,也无法在商店中构建社交网络。

3:40:13 A store must only be a store because a store that’s more than a store might be able to compete with us more effectively.” It’s just a giant…

商店必须只是商店,因为不仅仅是商店的商店可能能够更有效地与我们竞争。”这只是一个巨人……

To use the Soviet term, it’s a defense in depth strategy where they’ve constructed a massive series of barriers.

用苏联的术语来说,这是一种纵深防御战略,他们建造了一系列巨大的障碍。

Each are fatal to any attempt to compete so that even if one barrier is overcome, the others remain in place and shut down the whole scheme.

每一个障碍对于任何竞争尝试都是致命的,因此即使克服了一个障碍,其他障碍仍然存在并导致整个计划失败。

3:40:34 And that’s playing out in Europe, where Apple has enabled us to launch the Epic Game Store but has made it so difficult and uncompetitive both for Epic and for clients who we want to do business with that it has no chance of success until the European Union starts to really enforce the DMA law and impose harsh and serious penalties on Apple to force compliance.

这种情况正在欧洲上演,Apple 帮助我们推出了 Epic Game Store,但对于 Epic 以及我们想要与之开展业务的客户来说,这一切都变得非常困难且缺乏竞争力,除非欧盟开始真正执行 DMA 法并对 Apple 施加严厉的惩罚以迫使其遵守,否则它没有成功的机会。

Lex Fridman3:40:56

I think it should be said, once again, I think it’s wrong what they’re doing there and I hope there’s public pressure and government pressure for them to open up the platform.

我认为应该再说一遍,我认为他们在那里所做的事情是错误的,我希望公众和政府施加压力让他们开放这个平台。

3:40:56 I believe, as a person who loves Apple, I believe this is also good for Apple.

我相信,作为一个热爱苹果的人,我相信这对苹果来说也是有好处的。

There’s the natural thing in companies to want to close and control and crush competition, but Apple is full of brilliant engineers, open it up and win.

公司想要关闭、控制和压制竞争是很自然的事情,但苹果公司充满了才华横溢的工程师,开放它并赢得胜利。

It’s going to create the right kind of competitive incentive to make the Apple Store better to make…

它将创造适当的竞争激励,让 Apple Store 更好地……

because they’re great at creating great interfaces, but competition will sharpen the sword.

因为他们擅长创造出色的界面,但竞争会让剑变得锋利。

I mean, it is just going to make everything much better.

我的意思是,它只会让一切变得更好。

So I do hope there’s a lot of public pressure, and I appreciate that you’re speaking out in this way, sort of putting that pressure and letting people know it’s okay to say that this is wrong.

所以我确实希望有很大的公众压力,我很欣赏你以这种方式发声,有点施加压力,让人们知道说这是错误的是可以的。

Tim Sweeney3:41:58

Thanks.

谢谢。

3:41:58 Competition makes everybody better.

竞争让每个人都变得更好。

You have a monopoly that’s forced to compete.

你拥有被迫竞争的垄断地位。

Suddenly, the monopoly’s products get much better, the offerings to consumers get much better.

突然之间,垄断企业的产品变得更好,为消费者提供的产品也变得更好。

You see so many areas where Apple could be the best, but what they have is just really, really lousy, and it’s this old guard of leadership who is clinging to these old policies, turning themselves into the enemy of every developer, every regulator, and I think it’s ultimately massively to their detriment.

你会看到苹果在很多领域都可以做到最好,但他们所拥有的真的非常非常糟糕,而正是这些守旧的领导层坚持这些旧政策,把自己变成了每个开发者、每个监管者的敌人,我认为这最终对他们造成了巨大的损害。

3:42:24 And I can’t wait for a new generation to come in and paint a bright path to the future.

我迫不及待地等待新一代的到来,为未来描绘一条光明的道路。

We were…

我们是……

Epic was an awesome partner to Apple for more than a decade of demos and partnership and technology usage together, and we did amazing things together.

Epic 是 Apple 的出色合作伙伴,十多年来我们一起进行演示、合作和技术使用,我们一起做了令人惊叹的事情。

I’d love nothing more than to have that Apple.

我最想要的就是拥有那个苹果。

I mean, and bringing back Steve Wozniak’s original views.

我的意思是,带回史蒂夫·沃兹尼亚克最初的观点。

Just the Apple II was such an amazing thing.

光是 Apple II 就已经是一件了不起的事情了。

It’s a completely open platform.

这是一个完全开放的平台。

Lex Fridman3:42:51

Mm-hmm.

嗯嗯。

Tim Sweeney3:42:52

The manual to the Apple II included a listing for all the ROMs, the source code to the ROMs.

Apple II 的手册包括所有 ROM 的列表以及 ROM 的源代码。

3:42:52 You could understand exactly what was happening there, and you could learn from it.

你可以准确地了解那里发生了什么,并且可以从中学习。

It included a hardware schematic of the entire computer so you could learn how to make a peripheral and plug it in an open ecosystem, and that’s the awesome Apple.

它包括整个计算机的硬件原理图,因此您可以学习如何制作外围设备并将其插入开放的生态系统,这就是令人敬畏的苹果。

That company would be the best company in the world again.

那家公司将再次成为世界上最好的公司。

I think the current one is just on the wrong side of history and needs to change.

我认为现在的情况已经站在了历史的错误一边,需要改变。

Lex Fridman3:43:17

Well, I hope Epic and Apple find a path forward together and flourishing together, and Apple embraces competition better.

嗯,我希望Epic和苹果能找到一条共同前进的道路,共同繁荣,苹果也能更好地拥抱竞争。

3:43:17 One of the things I admire about this conversation that you mentioned, Steam a bunch, with kind word supportive and basically never mentioned Epic Game Store.

你提到的这次谈话中我欣赏的一件事是,Steam 一堆,善意的话语支持,基本上从未提到过 Epic Game Store。

I love that.

我喜欢那个。

So I really love that.

所以我真的很喜欢那个。

It really embodies the fact that you want variety, you want freedom for people to choose the best thing, and, in so doing, create this large network of humans interacting freely with each other.

它真正体现了这样一个事实:你想要多样性,你想要人们自由地选择最好的东西,并通过这样做,创建一个人类彼此自由互动的大型网络。

Okay.

好的。

3:43:55 That said, one of the competitive pressures that Epic has created a few years ago was by launching the Epic Game Store.

也就是说,Epic 几年前推出的竞争压力之一就是推出了 Epic Game Store。

And instead of Steam’s 30% revenue cut, you went with 12% revenue cut creating the competitive pressure saying, “Listen, this shouldn’t be that high of a cut,” which I thought was amazing.

Steam 没有削减 30% 的收入,而是削减了 12% 的收入,从而产生竞争压力,说:“听着,这不应该是那么高的削减”,我认为这太棒了。

This is a brilliant idea, and I think it still is a brilliant idea.

这是一个绝妙的主意,我认为它仍然是一个绝妙的主意。

It’s wonderful.

太棒了。

Now, in preparing for this conversation, I looked on the internet, and I saw there’s a lot of criticism of EGS, Epic Game Store.

现在,在准备这次谈话时,我上网查看,发现有很多针对 EGS、Epic Game Store 的批评。

First of all, I should say, the internet is full of drama and criticism.

首先,我应该说,互联网上充满了戏剧性和批评。

There’s not enough celebrating of awesome shit.

没有足够的庆祝很棒的狗屎。

3:44:46 That if I can ask the internet as a blob one request, can we just celebrate awesome shit and also criticize, but just like there’s not enough celebration.

如果我可以向互联网提出一个请求,我们可以一边庆祝很棒的狗屎,一边批评,但就像没有足够的庆祝一样。

Anyway, the two directions of criticism is just straight up, “The launcher interface is clunky and lacks a lot of the features of Steam.” And then the second set of criticism is the exclusive contracts which were made with some of the games that are on Epic Game Store.

不管怎样,批评的两个方向都是直截了当的,“启动器界面很笨拙,缺乏很多Steam的功能。”第二组批评是与 Epic Game Store 上的一些游戏签订的独家合同。

So, first, huge props on the 12%.

所以,首先,12% 是巨大的支柱。

Maybe you could speak to the vision of that.

也许你可以谈谈这个愿景。

And second, can you comment on those two criticisms?

其次,您能否对这两项批评发表评论?

Tim Sweeney3:45:31

Sure, yeah.

当然,是的。

3:45:31 I think one of the reasons that people characterize the Epic Games Launcher is clunky is because the Epic Games Launcher is clunky, and we need to improve this.

我认为人们认为 Epic Games Launcher 笨重的原因之一是 Epic Games Launcher 笨重,我们需要改进这一点。

There’s a lot of work going on there, and I wish we’d gotten better at addressing quality-of-life features and prioritize them above all of the other features because Steam has 15 years of built-up work by many of the best programmers in the whole industry working on that, a much larger team working on Steam and a lot more time working on it.

那里有很多工作要做,我希望我们能更好地解决生活质量功能,并将它们优先于所有其他功能,因为 Steam 拥有整个行业中许多最优秀的程序员 15 年的积累工作,Steam 上有一个更大的团队,并且有更多的时间在这方面。

3:46:09 And so we’ve had to make a lot of prioritization decisions about what do we support with the Epic Game Store and when, and a lot of the time, it’s been supporting commercial features like merchandising, offering multiple versions of a game for sale, and offering upgrades from the regular edition, the deluxe edition, and other things that partners work and other priorities have been quality of life and launcher load times and other things.

因此,我们必须做出很多优先级决定,决定 Epic 游戏商店支持哪些内容,以及何时支持,而且很多时候,它支持商业功能,例如商品推销、提供游戏的多个版本销售、提供普通版、豪华版的升级以及合作伙伴工作的其他内容,其他优先事项包括生活质量和启动器加载时间等。

And we’ve not put enough emphasis on the quality of life features.

我们对生活质量的重视还不够。

We’ve recognized this very clearly multiple times and we’ve gone through multiple refactorings, but that’s definitely been a disappointment to us and to a lot of users.

我们已经多次非常清楚地认识到这一点,并且我们已经进行了多次重构,但这绝对让我们和很多用户感到失望。

And I think one thing we had to…

我认为我们必须做一件事……

it took us a while to realize was it’s not ununiform.

我们花了一段时间才意识到它并不均匀。

Depending on your proximity to a CDN and the size of your game collection, it can be either awesome or really clunky.

根据您与 CDN 的距离以及游戏收藏的大小,它可能非常出色,也可能非常笨重。

And the users for whom it’s really clunky are the people.

对于真正笨重的用户来说,是人。

I think [inaudible 03:47:04] large part of the complaints.

我认为 [听不清 03:47:04] 大部分投诉。

Lex Fridman3:47:05

They’re going to speak up.

他们会大声说出来。

3:47:05 And I should also say that the Steam Launcher, for a long time from my memory, but also just looking online, was also very clunky in the beginning.

我还应该说,Steam 启动器在我的记忆中很长一段时间(而且只是在网上看到)一开始也非常笨重。

Tim Sweeney3:47:15

Yeah.

是的。

3:47:15 And one of the criticisms of Epic Game Store from the beginning was, “You don’t have all of the features of Steam,” but we very much don’t want to have all of the features of Steam.

从一开始,Epic Game Store 的批评之一就是“你没有 Steam 的所有功能”,但我们非常不想拥有 Steam 的所有功能。

Steam has forums dedicated to your game, and we decide we don’t want to create forums.

Steam 有专门针对您的游戏的论坛,但我们决定不创建论坛。

And our partners, when we talk to them, generally didn’t want us to create Epic Game Store forums for their games because there’s already channels that they prefer to them.

当我们与我们的合作伙伴交谈时,他们通常不希望我们为他们的游戏创建 Epic Game Store 论坛,因为已经有他们更喜欢的渠道。

3:47:36 There’s social media and a number of platforms, and there’s Reddit, and there’s lots of places for gamers to discuss their game, and they prefer those discussions to be there.

有社交媒体和许多平台,还有 Reddit,还有很多地方可供玩家讨论他们的游戏,而且他们更喜欢在那里进行这些讨论。

And so it’s very much not our goal to mimic everything of Steam, but we do want to have all of the convenience features that makes it easy and fun to use [inaudible 03:47:54] Steam.

因此,模仿 Steam 的所有内容并不是我们的目标,但我们确实希望拥有所有便利功能,让使用 Steam 变得轻松有趣 [听不清 03:47:54]。

So there’s a long journey ahead.

所以前面还有很长的路要走。

But we continue to reinvest it, and we’re working to build a multi-billion dollar business there and think we’ll succeed.

但我们继续对其进行再投资,我们正在努力在那里建立一个价值数十亿美元的业务,并认为我们会成功。

3:48:04 Already, the Epic Game Store supports an immense amount of Epic games commerce in Fortnite on PC.

Epic 游戏商店已经支持 PC 版《堡垒之夜》中的大量 Epic 游戏交易。

Now, on Android and iOS and the European Union too.

现在,Android 和 iOS 以及欧盟也是如此。

So it’s a forever facet of the industry, and we are never losing heart in it.

所以这是这个行业永远的一个方面,我们永远不会对此失去信心。

And we think, at some point, I really feel that the benefits of the Epic Games approach are going to outweigh the benefits of the Steam approach, especially as gaming becomes multi-platform.

我们认为,在某些时候,我真的觉得 Epic Games 方法的好处将超过 Steam 方法的好处,特别是当游戏变得多平台时。

One of the things that really sucks for all gamers is that you have a lot of friends in the real world.

对于所有游戏玩家来说真正糟糕的事情之一是你在现实世界中有很多朋友。

3:48:37 Some have…

有些有……

Everyone has different platforms.

每个人都有不同的平台。

Your Steam friends aren’t connected to your Xbox friends, and they’re not connected to your PlayStation friends or your Nintendo friends.

您的 Steam 好友未连接到您的 Xbox 好友,也未连接到您的 PlayStation 好友或 Nintendo 好友。

And so you’re very much bottling up PC gaming into kind of a hard-core group of PC-only folks and making all of the other aspects of it difficult.

因此,你将 PC 游戏限制在一群只玩 PC 的硬核群体中,并使游戏的所有其他方面变得困难。

A lot of games have flocked towards Discord, which is a mess in itself because can now your Steam name is not your Discord name, and that’s not your PlayStation name.

许多游戏都涌向 Discord,这本身就是一团糟,因为现在你的 Steam 名称可能不是你的 Discord 名称,也不是你的 PlayStation 名称。

3:49:01 And so now you have three…

所以现在你有三个......

two people in a game, and they have four different identities, and that sucks.

两个人在一个游戏中,他们有四个不同的身份,这很糟糕。

Our aim for that is with Epic online services, and the social systems that we built for Fortnite opened up to all developers to have cross-platform social features be super easy and free for all developers.

我们的目标是通过 Epic 在线服务,以及我们为《堡垒之夜》构建的社交系统向所有开发者开放,让跨平台社交功能对所有开发者来说都超级简单且免费。

This is not something we’re trying to gatekeep or rent-seek on or lock people into.

我们并不是试图把关、寻租或锁定人们。

It’s just a way that we’re making social gaming easier for everybody.

这只是我们让每个人都能更轻松地玩社交游戏的一种方式。

3:49:29 As more and more games follow the Fortnite approach of being multi-platform, especially multiplayer games, Metcalfe’s Law is a very real phenomena in the industry.

随着越来越多的游戏遵循《堡垒之夜》的多平台方式,尤其是多人游戏,梅特卡夫定律在业界是一个非常现实的现象。

It’s the thing that’s upending some games and causing growth in other games.

它颠覆了一些游戏并促进了其他游戏的增长。

It is the number one trend for pervading the world of gaming today.

这是当今游戏世界的第一趋势。

And it says that your game is quadratically more valuable the more percentage of a user’s real-world friends they can connect to.

它还表明,用户可以联系到的现实世界好友比例越高,你的游戏的价值就越高。

3:49:55 Your game vastly benefits by connecting all of its players together and not segregating them off into different online platform populations and so on.

通过将所有玩家连接在一起,而不是将他们隔离到不同的在线平台群体等,您的游戏将受益匪浅。

And so I think the future trend is in that direction.

所以我认为未来的趋势是朝这个方向发展的。

I wish Valve had opened up Steamworks to just work on all platforms.

我希望 Valve 能够开放 Steamworks,使其能够在所有平台上运行。

They could have easily done it.

他们本来可以轻松做到的。

We did it.

我们做到了。

But they seem to be using it as a lever to keep people locked into the Steam PC Game Store.

但他们似乎将其用作将人们锁定在 Steam PC 游戏商店的杠杆。

3:50:20 And that’s going to be a long-running battle because there’s always a very toxic group of Steam users who they even created an entire sub-Reddit dedicated to criticizing Epic and our store, and they create basically harassment campaigns at times against developers who use Epic online services.

这将是一场旷日持久的战斗,因为总是有一群非常有毒的 Steam 用户,他们甚至创建了一个完整的 Reddit 子版块,专门批评 Epic 和我们的商店,而且他们有时会发起针对使用 Epic 在线服务的开发者的骚扰活动。

Developers do that so they can their players across platforms and have friends across platform and voices across platforms, but suddenly, that’s trying to be turned into a negative.

开发者这样做是为了让他们的玩家能够跨平台,拥有跨平台的朋友和跨平台的声音,但突然之间,这试图变成负面的。

Lex Fridman3:50:52

It’s clear that Epic wants developers to win, wants gamers to win, and wants Steam to do awesome also.

很明显,Epic 希望开发者获胜,希望玩家获胜,也希望 Steam 也能做得出色。

3:50:52 And in the competition between Steam and Epic Game Store, create awesome stuff together.

在 Steam 和 Epic Game Store 之间的竞争中,共同创造精彩的东西。

I mean, there just…

我的意思是,那里只是……

it’s obvious to me if you don’t read this stuff online, but online, it’s like there is just negativity that I don’t think is constructive in general.

如果你不在网上阅读这些内容,这对我来说是显而易见的,但在网上,似乎只有消极的观点,我认为总体上没有建设性。

3:51:24 I actually give a big sort of positive thank you and props for the push to multi-platform that was always there with…

事实上,我对一直以来一直存在的多平台的推动表示非常积极的感谢和支持……

for Fortnite, perhaps before the pressure that Epic created on breaking the barriers of Xbox and PlayStation and PC and being multi-platform.

对于《堡垒之夜》来说,也许是在 Epic 打破 Xbox、PlayStation 和 PC 壁垒、实现多平台的压力之前。

I got a chance to play with Fortnite a little bit with you and all the people in the group.

我有机会和你以及团队中的所有人一起玩《堡垒之夜》。

By the way, awesome interface, audio chat really fun.

顺便说一句,界面很棒,音频聊天真的很有趣。

But you could see a couple of PC folks, a PlayStation person, the Xbox person all together.

但你可以看到几个 PC 人员、一个 PlayStation 人员、一个 Xbox 人员在一起。

3:52:02 We can’t really tell what they’re using except for a little icon and it’s nice.

除了一个小图标之外,我们无法真正分辨出他们在使用什么,但这很好。

It’s like all these barriers that we’ve created with these platforms are gone.

就好像我们用这些平台创建的所有障碍都消失了。

Poof.

噗。

And you creating the pressure with Epic Game Store and just everything you’re doing with Fortnite platform, it’s really nice.

你通过 Epic Game Store 以及你在 Fortnite 平台上所做的一切创造了压力,这真的很好。

There’s no reason to create these silos because, ultimately, you should put the gamer first and let everybody interact with actual real-life friends and make new friends across the entire network of humans.

没有理由创建这些孤岛,因为最终你应该把玩家放在第一位,让每个人与现实生活中的朋友互动,并在整个人类网络中结交新朋友。

So anyway, thank you for that.

所以无论如何,谢谢你。

Thank you for creating that pressure.

感谢您创造了这种压力。

Tim Sweeney3:52:38

Thanks.

谢谢。

3:52:38 Yeah, that was an interesting time.

是的,那是一段有趣的时光。

Sony had her long-running policy preventing cross-platform play, and we had a long series of conversations, which got pretty harsh towards the end.

索尼有其长期的政策来阻止跨平台游戏,我们进行了一系列的长期对话,最后变得非常严厉。

But Sony ultimately came around, and they opened up PlayStation, and through a series of private conversations, they did the right thing.

但索尼最终改变了态度,他们开放了 PlayStation,并通过一系列私人对话,他们做了正确的事情。

Not only that, our partnership with Sony has increased since that argument back in 2018, and we’ve gotten closer and closer and done ever more things with Sony.

不仅如此,自 2018 年那次争论以来,我们与索尼的合作伙伴关系有所加强,我们与索尼的关系越来越密切,并做了越来越多的事情。

3:53:11 Brand IP, like the character from God of War, and other games coming into Fortnite and all kinds of crossovers.

品牌IP,比如《战神》中的角色,以及《堡垒之夜》中的其他游戏以及各种跨界游戏。

Massive Unreal Engine adoption and Sony for making games for making movies at Sony Pictures.

索尼影业大量采用虚幻引擎并制作游戏来制作电影。

Music partnerships with Sony Music.

与索尼音乐的音乐合作伙伴关系。

That’s been an absolutely wonderful relationship, and I think that stands as an awesome example of a company that, because of historic reasons, got stuck with a policy that no longer made sense for the future.

这是一种绝对美妙的关系,我认为这是一个很好的例子,说明一家公司由于历史原因,陷入了对未来不再有意义的政策。

3:53:38 And following a serious discussion with a close partner righted it, and did an awesome thing, and now Sony is much better off, and Epic’s better off, and all game developers are better off and the whole console industry, I think, it’s a lot stronger now than it would’ve been if these silos [inaudible 03:53:54] to be playing out.

经过与亲密合作伙伴的认真讨论后,纠正了这一问题,并做了一件了不起的事情,现在索尼的状况好多了,Epic 的状况也更好了,所有游戏开发商以及整个游戏机行业都变得更好了,我认为,现在比这些孤岛 [听不清 03:53:54] 结束时要强大得多。

And despite the kind of potential concern that maybe blocking platform play with Xbox gave Sony an advantage, Sony has actually grown in market share relative to Xbox since that time.

尽管人们担心阻止 Xbox 平台游戏可能会给索尼带来优势,但自那时以来,索尼相对于 Xbox 的市场份额实际上有所增长。

3:54:07 And so you can’t say that anything but goodness came of that time.

所以你不能说当时除了善良之外还有什么。

And I think a better version of Apple would’ve received…

我认为苹果会收到更好的版本......

The email I sent to senior Apple management and been like, “Huh, there’s an issue here.

我发给苹果高级管理层的电子邮件内容是:“呃,这里有一个问题。

We should have a discussion.

我们应该进行讨论。

We should reconsider this.

我们应该重新考虑这一点。

We should listen.” And, yeah, they didn’t.

我们应该听。”是的,他们没有。

And that’s why we’re in the midst of a five-year battle with Apple and in the…

这就是为什么我们正在与苹果进行长达五年的斗争,并且……

hopefully still the early days of a 15-plus year partnership with Sony.

希望与索尼长达 15 年多的合作关系仍处于初期阶段。

Lex Fridman3:54:38

Come on, Apple, we love you, Apple.

来吧,苹果,我们爱你,苹果。

3:54:38 Do a little bit better.

做得好一点。

The second line of criticism that I mentioned, the exclusive contracts with some of the games, can you just speak to that because, in so much of the journey of Epic, you’ve been sort of against exclusivity?

我提到的第二条批评意见是与某些游戏的独占合同,你能谈谈这一点吗?因为在 Epic 的大部分旅程中,你一直在某种程度上反对独占权?

Tim Sweeney3:54:54

Let’s back up and talk about the principles at work here.

让我们回顾一下这里的工作原理。

3:54:54 Apple forcing other companies to use their payment service is a cursive decision by Apple.

苹果强迫其他公司使用他们的支付服务是苹果草率的决定。

But if Apple convinced other developers to use their payment service by offering benefits or a better deal or funding or any other positive incentive, then that would be perfectly fine.

但如果苹果通过提供福利、更好的交易、资金或任何其他积极激励措施说服其他开发商使用他们的支付服务,那就完全没问题了。

One is preventing competition, and the other is actual competition.

一是阻止竞争,二是实际竞争。

3:55:26 Epic has never forced any developer into any sort of exclusivity relationship.

Epic 从未强迫任何开发商建立任何形式的排他关系。

Rather, we’ve offered developers payment or incentives or marketing or any number of things of value to them in exchange for coming to our store exclusively, and it’s their game.

相反,我们向开发者提供付款、激励、营销或任何有价值的东西,以换取他们专门访问我们的商店,这是他们的游戏。

So it’s entirely and rightfully up to them to decide how to distribute it and to make the decisions about their business.

因此,他们完全有权决定如何分配它并做出有关其业务的决策。

It’s their game.

这是他们的游戏。

3:55:53 If they want to distribute it through Steam, they can.

如果他们想通过 Steam 分发它,他们可以。

If they want to distribute it through Epic exclusively, they can.

如果他们想通过 Epic 独家分发它,他们可以。

If they want to distribute it through both, then they could do that as well.

如果他们想通过两者进行分发,那么他们也可以这样做。

And if we pay them money or other things of value in exchange for them coming exclusively to the Epic Game Store, I think that’s their right.

如果我们向他们支付金钱或其他有价值的东西以换取他们独家进入 Epic Game Store,我认为这是他们的权利。

And this isn’t an example of Epic, an underdog with a tiny fraction of Steam’s market share, working to proactively compete with Steam by offering a better supply of games.

这并不是 Epic 的例子,Epic 在 Steam 的市场份额中处于劣势,但通过提供更好的游戏供应来主动与 Steam 竞争。

3:56:21 And some consumers who prefer Steam might prefer that the game be on Steam, but the developer in each case is decided that they believe they would benefit more by doing this exclusive deal in exchange for benefits than by being on Steam.

一些喜欢 Steam 的消费者可能更喜欢游戏出现在 Steam 上,但开发者在每种情况下都认为,他们相信通过这种独家交易来换取利益比在 Steam 上获得更多利益。

One of the key exhibits in the Epic-Google trial was its opening exhibit, which was trying to point out to the jury in the trial the benefits of exclusives.

Epic-Google 审判中的关键展品之一是其开场展品,它试图向审判中的陪审团指出独占性的好处。

Imagine a new store popping up.

想象一下一家新商店的出现。

The store has a big sign outside of it, “We’re the new store.

商店外面有一个很大的牌子,“我们是新店。

We have everything that the other store has, and it’s at the same price.”

其他商店有的东西我们都有,而且价格一样。”

3:56:58 Are you going to go to the new store?

你要去新店吗?

No.

不。

Nobody’s going to switch from Steam if Steam has all of the same games as the competing store and everything’s priced in just the same.

如果 Steam 拥有与竞争对手商店相同的所有游戏并且所有商品的价格都相同,那么没有人会从 Steam 转向。

And so, we looked at initially two ways of competing with Steam strongly.

因此,我们最初考虑了两种与 Steam 强有力竞争的方式。

We wanted to sell games at a better price than Steam by agreeing on the amount of money we pay each game developer.

我们希望通过就支付给每个游戏开发商的金额达成一致,以比 Steam 更好的价格出售游戏。

If we’re going to…

如果我们要……

If the game’s going to sell for $50 and we take 12%, we’d actually lower the price and potentially even lose some money to offer a better deal.

如果游戏售价为 50 美元,而我们收取 12%,我们实际上会降低价格,甚至可能会损失一些钱来提供更好的交易。

3:57:29 Well, we tried to pursue this, but very quickly, every developer told us that they wouldn’t agree to better pricing because if they did, then Steam would stop giving them marketing featuring and benefits, and the console makers would be mad, and all their relationships would be harmed.

好吧,我们试图追求这一点,但很快,每个开发者都告诉我们,他们不会同意更好的定价,因为如果他们同意,那么 Steam 将停止向他们提供营销功能和好处,而游戏机制造商会生气,他们所有的关系都会受到损害。

And so there’s an undercurrent of powerful platforms and ecosystems encouraging developers not to compete on price.

因此,强大的平台和生态系统的暗流鼓励开发商不要进行价格竞争。

So, not being able to compete on price, we decided to compete on by doing exclusive deals, and we-

因此,由于无法在价格上竞争,我们决定通过独家交易来竞争,并且我们-

3:58:03 We decided to compete on supply by doing exclusive deals, and we signed a lot of them.

我们决定通过独家协议来竞争供应,并且签署了很多协议。

Paid developers lots and lots of money.

付给开发商很多很多钱。

I think we distributed over a billion dollars in net expenditures to developers beyond the revenue we actually made from games in order to get a whole lot of exclusive games.

我认为,为了获得大量独家游戏,我们向开发商分配的净支出超出了我们实际从游戏中获得的收入,超过了十亿美元。

Some are successful, some weren’t.

有些成功了,有些则没有。

Borderlands did awesomely on the Epic Games tour, and we and Gearbox felt that it did just as well through Epic as it would’ve done on Steam because the players who wanted Borderlands wanted Borderlands and they came and got it.

无主之地在 Epic Games 巡演中表现出色,我们和 Gearbox 认为它在 Epic 上的表现与在 Steam 上的表现一样好,因为想要《无主之地》的玩家想要《无主之地》,他们就来了并得到了它。

Whereas a lot of other games, some smaller games especially that didn’t have a dedicated audience that was absolutely going to play the game, typically benefited from exposure on Steam.

而许多其他游戏,尤其是一些小型游戏,没有绝对会玩该游戏的专门受众,通常会受益于 Steam 上的曝光。

They were reaching an audience that wouldn’t have reached organically.

他们接触到的受众是有机无法接触到的。

And so some of them in the end, we and they concluded that they did worse by being on the Epic Games tour exclusively in terms of reaching fewer customers.

因此,我们和他们最终得出的结论是,他们中的一些人只参加 Epic Games 巡演,接触到的客户较少,做得更糟。

3:58:52 And we had these limited time exclusives.

我们还有这些限时独家商品。

When they ran out, they put their games on Steam and lots of data was gathered to understand what worked.

当他们用完后,他们将游戏放在 Steam 上,并收集大量数据来了解哪些方法有效。

And this worked well for some games, didn’t work for other games, but companies seeking to compete, especially underdogs seeking to compete, have to offer some unique value, have to offer something that’s not available through the competitors.

这对于某些游戏来说效果很好,但对于其他游戏则不起作用,但是寻求竞争的公司,尤其是寻求竞争的弱者,必须提供一些独特的价值,必须提供竞争对手无法提供的东西。

And I get that Steam users they just prefer using Steam and buying games on Steam, want to have their library in one place don’t like this.

我了解到 Steam 用户只是更喜欢使用 Steam 并在 Steam 上购买游戏,希望将自己的游戏库放在一个地方,但他们不喜欢这样。

But you’re never going to have competition for better deals if you don’t support the competitive mechanisms that allow competitors to come about.

但如果你不支持允许竞争对手出现的竞争机制,你就永远不会有更好的交易的竞争。

And I think if Valve were forced through Epic Games Store’s success to compete with Epic Games Store, then developers would be getting a better deal.

我认为,如果 Valve 被迫通过 Epic Games Store 的成功来与 Epic Games Store 竞争,那么开发商将会得到更好的交易。

Consumers would be getting a better deal, and these 30% fees would be driven down quite a lot towards the actual costs that are required to support the stores.

消费者将获得更好的交易,而且这 30% 的费用将大幅降低到支持商店所需的实际成本。

Lex Fridman3:59:46

Yeah, I mean there’s a lot to be said there.

是的,我的意思是那里有很多话要说。

3:59:46 I’ve gotten to watch Spotify try to do this with podcasts, enter as the underdog into the space and try to attract, they made exclusive deals with, for example, with Joe Rogan, where the podcast would only be published on Spotify.

我亲眼目睹 Spotify 尝试通过播客做到这一点,以失败者的身份进入这个领域并试图吸引,他们与 Joe Rogan 等达成了独家协议,其中播客只能在 Spotify 上发布。

I personally think long-term, what I would love to see for EGS, for Epic Games Store, is to not do any exclusivity, similar to what Spotify is doing now.

我个人认为,从长远来看,我希望 EGS、Epic Games Store 不做任何排他性的事情,就像 Spotify 现在所做的那样。

Even with Joe Rogan, they let go, it’s wide open.

即使有了乔·罗根,他们也放手了,一切都是敞开的。

And instead compete on the space of just the non-clunkiness of the interface, because the foundation of what Epic Games Store represent with 12% is just philosophically.

相反,在界面的不笨重方面进行竞争,因为 Epic Games Store 所代表的 12% 的基础只是哲学上的。

So you’re also competing on the sort spiritual realm of what it stands for ethically.

因此,你们也在道德所代表的精神领域上进行竞争。

4:00:49 That’s also a really powerful way to win.

这也是一种非常有力的获胜方式。

Now that there’s enough number of people using Epic Games Store to drift away, to move away from exclusivity, it’s understandable that it’s needed for the competition for the underdog to enter the scene, but it goes against the freedom, the free spirit of choice that I think you represent in a lot of the decisions you’ve made, which is making the games cross-platform and just, yes, giving freedom to the developers, giving freedom to the gamers to choose.

现在有足够多的人使用 Epic Games Store 来摆脱排他性,这是可以理解的,这是为了让弱者进入场景而需要竞争,但这违背了自由,我认为你在做出的很多决定中所代表的选择的自由精神,这使游戏跨平台,只是,是的,给了开发者自由,给了游戏玩家选择的自由。

So in that way, I think exclusivity a little bit goes against that.

因此,我认为排他性有点违背这一点。

Tim Sweeney4:01:30

Well, here’s the conundrum.

好吧,这就是难题。

4:01:30 The exercise of soft power by all of the competing stores has made it intractable for almost any developer to offer a better price through the Epic Games Store than through Steam.

所有竞争商店都在行使软实力,这使得几乎所有开发商都很难通过 Epic Games Store 提供比 Steam 更优惠的价格。

You can imagine that if the effective Epic revenue sharing 12% to developers was that games just cost 22% less on Epic Games…

你可以想象,如果 Epic 向开发者分享 12% 的有效收入,那么 Epic Games 上的游戏成本就降低了 22%……

Sorry, 18% less on Epic Games Store, that that would actually start to reshape consumer behavior significantly.

抱歉,Epic Games Store 的折扣减少了 18%,这实际上会开始显着重塑消费者行为。

People would start coming here for the better deals.

人们会开始来这里寻求更好的交易。

But I feel like Steam giving developers nasty phone calls and so on, when they propose to do that, prevents developers from passing on savings to consumer.

但我觉得,当开发者提出这样做​​时,Steam 会给开发者打电话等令人讨厌的事情,从而阻止开发者将节省的费用转嫁给消费者。

4:02:15 Then what’s the mechanism that drives users away from the incumbent store to the store that offers a better deal?

那么,是什么机制促使用户从现有商店转向提供更优惠价格的商店呢?

If basically developers are fearful of competing on price through stores, what can possibly be done to get a dominant store with something like 90% of revenue share among multi-publisher stores in line so that a much, much smaller store can compete?

如果开发商基本上害怕通过商店进行价格竞争,那么如何才能获得一家占据多发行商商店 90% 收入份额的主导商店,以便让规模小得多的商店能够参与竞争?

I think some answer is required there.

我认为那里需要一些答案。

A better UI is great.

更好的用户界面很棒。

Steam is super polished.

蒸汽超级抛光。

Epic Games Store in time will hopefully be as polished.

希望 Epic Games Store 能够及时得到同样的完善。

How does that overcome the fact that your entire library over the past 15 years is there, if developers have been afraid to exercise their own economic interests?

如果开发者一直不敢行使自己的经济利益,那么如何克服过去 15 年里整个图书馆都在那里的事实呢?

Because it’s in a developer’s interest to sell on Epic and get 18% more of the revenue.

因为在 Epic 上出售并获得 18% 以上的收入符合开发商的利益。

I think there’s a real power to incumbents.

我认为现任者拥有真正的权力。

It’s very hard to overcome for just being there and being as good.

仅仅在那里并且表现得很好是很难克服的。

Lex Fridman4:03:25

Ultimately, where I hope it converges to is less exclusivity and where the competition can be the kind I love the most, which is on the UI, on the experience, and then on the Steam side, on the 12%.

最终,我希望它能够减少排他性,并且竞争可以是我最喜欢的类型,即 UI、体验,然后是 Steam 方面,即 12%。

4:03:25 So it can go from 30% and start to support the developer by lowering it from 30% closer to 12%.

因此,它可以从 30% 开始,通过将其从 30% 降低到接近 12% 来开始支持开发人员。

So anyway, I’m a big supporter and I don’t like the criticism of Epic Games Store, but I also have to say that I don’t love the exclusivity, but I understand the reality of the world is that you have to have some mechanism to get people to switch, or not to switch, but to at least get some of their games to try out, to experience, to allocate some of their library to the underdog.

所以无论如何,我是一个大力支持者,我不喜欢 Epic Games Store 的批评,但我也不得不说,我不喜欢排他性,但我理解世界的现实是,你必须有某种机制来让人们切换或不切换,但至少要让他们的一些游戏尝试、体验,将他们的一些游戏库分配给失败者。

So I totally understand and hope the UI keeps improving.

所以我完全理解并希望 UI 不断改进。

Tim Sweeney4:04:30

Thanks.

谢谢。

4:04:30 One more bit on that exclusivity point is that when we told Google that we were going to launch Fortnite outside of Google Play and go into competition with them, they viewed exclusivity as such a powerful competitive force that they went around to the top 30 publishers and paid out hundreds of millions of dollars-

关于排他性这一点还有一点是,当我们告诉谷歌我们将在 Google Play 之外推出《堡垒之夜》并与他们竞争时,他们将排他性视为一种强大的竞争力量,以至于他们向前 30 名发行商寻求帮助并支付了数亿美元——

Lex Fridman4:04:52

Oh, boy.

哦,男孩。

Tim Sweeney4:04:52

…

……

4:04:52 to them in order to agree not to do exclusive deals with competitors.

以便他们同意不与竞争对手进行独家交易。

And that was called Project Hug.

这就是所谓的“拥抱计划”。

H-U-G.

拥抱。

Hold developers close.

紧紧抓住开发人员。

And that was one of the major pieces of evidence on which the jury found their practices to be illegal and anti-competitive.

这是陪审团认定他们的行为非法和反竞争的主要证据之一。

And the one more data point on that, we talk about 30% and there’s always a lot of people defending Steam.

还有一个关于这一点的数据,我们谈论的是 30%,而且总是有很多人在捍卫 Steam。

“Well of course they have more costs because they have more features than Epic.” We have data on that that’s very detailed.

“当然,他们的成本更高,因为他们比 Epic 拥有更多的功能。”我们有非常详细的数据。

The all-in cost of operating the Google Play Store, stocking it, maintaining it, the software, the entire ecosystem is around 6% of revenue.

运营 Google Play 商店、库存、维护、软件以及整个生态系统的总成本约为收入的 6%。

So in a competitive market, would a company whose cost is 6% be able to charge 30%?

那么在竞争激烈的市场中,成本为6%的公司是否能够收取30%的费用呢?

Absolutely not.

绝对不是。

And Apple’s costs are similar.

苹果的成本也类似。

Apple runs an even more efficient and lean operation than Google.

苹果的运营比谷歌更加高效和精益。

So their costs are also likely in the range of 6% all in.

因此,他们的成本也可能在 6% 左右。

They market up from 6% to 30%.

他们的市场份额从 6% 上升到 30%。

Only a monopoly can do that.

只有垄断才能做到这一点。

Look at competitive businesses, they have a margin of a few percentage.

看看有竞争力的企业,他们的利润率只有几个百分点。

The numbers there are strikingly supportive of just outright anti-competitive market distortions.

那里的数字惊人地支持了彻底的反竞争市场扭曲。

Lex Fridman4:06:16

Okay.

好的。

4:06:16 What do you think is the future of the gaming industry?

您认为游戏行业的未来是什么?

So well you’ve said to me a bunch of exciting stuff about indie developers, so do, what are called AAA video game companies, so these big gaming companies, do they have a future?

那么,你对我说了很多关于独立开发者的令人兴奋的事情,那么,所谓的 AAA 视频游戏公司,那么这些大型游戏公司,他们有未来吗?

What is their role?

他们的角色是什么?

How do you see in the next five, 10, 20 years the evolution of these big companies and indie developers?

您如何看待这些大公司和独立开发商在未来五年、十年、二十年的发展?

Tim Sweeney4:06:42

Yeah, there’s one constant in gaming that I think the industry manages to lose sight of from time to time astonishingly, and that’s fun.

是的,我认为游戏行业有时会令人惊讶地忽视一个常数,这很有趣。

4:06:42 And people play games for fun.

人们玩游戏是为了好玩。

Lex Fridman4:06:51

Yes.

是的。

Tim Sweeney4:06:51

Our whole job is to deliver fun.

我们的全部工作就是提供乐趣。

4:06:51 And when you look at a lot of the games that failed recently, they just didn’t deliver fun or they didn’t deliver fun in a manner that was nearly competitive with the other sources of fun just in people’s lives.

当你看看最近失败的许多游戏时,你会发现它们只是没有提供乐趣,或者它们提供的乐趣的方式几乎无法与人们生活中的其他乐趣来源相媲美。

And so at a basic level, we don’t need a terribly complicated theory to explain a lot of the malaise in the game industry.

因此,从根本上讲,我们不需要非常复杂的理论来解释游戏行业的许多问题。

There’s just been a degradation of the capabilities of a lot of publishers, partly because of competition for talent.

许多出版商的能力正在下降,部分原因是人才竞争。

Companies like really vibrant game businesses like Epic or Riot or others, are hiring the best developers and accumulating them.

像 Epic 或 Riot 等真正充满活力的游戏企业这样的公司正在聘请最好的开发人员并积累他们。

And big tech companies are hiring the best game developers because there’s super talent there.

大型科技公司正在聘请最好的游戏开发人员,因为那里有超级人才。

4:07:32 And so in some cases the companies aren’t competing robustly or getting worse, they’re making games that are less fun.

因此,在某些情况下,这些公司的竞争不激烈或者变得更糟,他们正在制作不太有趣的游戏。

I think everything else that’s happened is kind of a sideshow to that.

我认为所发生的其他一切都是这一切的附带表演。

There’s always political drama and so on, but I think the just the core is a failure to deliver fun, and the nature of fun is changing.

总是有政治戏剧等等,但我认为核心是未能提供乐趣,而乐趣的本质正在发生变化。

It turns out that playing a game together with your friends in a really socially engaging way with voice chat is just way more fun than playing a solitary game for the most part.

事实证明,在大多数情况下,通过语音聊天以真正具有社交参与性的方式与朋友一起玩游戏比单独玩游戏更有趣。

And there are exceptions to that, but I think we’re seeing much, much more playtime shifting towards games you’re playing together with your friends.

当然也有例外,但我认为我们看到越来越多的游戏时间转向与朋友一起玩的游戏。

And not just random internet strangers who happen to play that game too, but the people you actually know in the real world.

不仅仅是碰巧也玩该游戏的随机网络陌生人,还有你在现实世界中真正认识的人。

And that’s certainly been the case with me and with almost everybody I know who’s playing Fortnite or similar games.

我和几乎所有我认识的玩《堡垒之夜》或类似游戏的人都是如此。

4:08:21 And that has really significant effects in reshaping the whole game business because a single player game, if you have 20 people with 20 different opinions of which game to play, each one might buy a different single player game.

这对于重塑整个游戏行业有着非常重大的影响,因为在一款单人游戏中,如果有 20 个人对玩哪个游戏有 20 种不同的看法,那么每个人都可能会购买不同的单人游戏。

But in a multiplayer game, if there are 20 games out, and each one might have their own completely individual preference and each one were independently choosing which game to play, each one might buy a different game, but they’re all realizing that they want to play together.

但在多人游戏中,如果有 20 款游戏,每个人可能都有自己完全个人的偏好,并且每个人都独立选择玩哪个游戏,每个人可能会购买不同的游戏,但他们都意识到自己想一起玩。

And so what players are doing increasingly is playing a game they like and accept together with their friends, even if it’s not the game that every one of them might be preferring to play themselves.

因此,玩家越来越多地做的是与朋友一起玩他们喜欢并接受的游戏,即使这不是他们每个人都更喜欢自己玩的游戏。

And that’s certainly the case in different Fortnite groups I play with from time to time.

在我时不时玩的不同《堡垒之夜》团体中,情况确实如此。

It’s like one player might have been preferring to play COD, one might have been preferring League of Legends, somebody else, something completely random, but it’s just so fun to play together, we’re doing that.

就像一个玩家可能更喜欢玩 COD,一个可能更喜欢英雄联盟,其他人可能更喜欢玩一些完全随机的东西,但一起玩真的很有趣,我们正在这样做。

4:09:17 And that means that there’s really strong Metcalfe’s Law effect, in which games which are able to attract a large percentage of your friends are more able to attract you and not only attract, but also retain.

这意味着梅特卡夫定律效应非常强,能够吸引大部分朋友的游戏更能吸引你,不仅能吸引,还能留住你。

And so I think Matthew Ball’s analysis of this over the years has really documented the trend towards, you can call it the metaverse or you can call it large scale multiplayer social gaming, he’s really documented this trend.

所以我认为马修·鲍尔多年来对此的分析确实记录了这种趋势,你可以称之为虚拟宇宙,也可以称之为大型多人社交游戏,他确实记录了这种趋势。

And over the past year or so, it’s taken a really, really strong turn towards increasing rate of change, increasing numbers of players coming to Fortnite.

在过去一年左右的时间里,变化速度发生了非常非常强劲的转变,越来越多的玩家来到《堡垒之夜》。

We hit an all time high of 110 million monthly active users about a year ago.

大约一年前,我们的月活跃用户数创下了 1.1 亿的历史新高。

Lex Fridman4:09:57

That’s crazy.

这太疯狂了。

Tim Sweeney4:09:59

Another close to peak this time.

这次又接近巅峰了。

4:09:59 Roblox is bigger than ever, and this trend is players consolidating into multiplayer experiences that they play together.

Roblox 的规模比以往任何时候都大,这种趋势是玩家整合到一起玩的多人游戏体验中。

And we’re seeing another trend overlaid with that, which is like when an awesome single player game comes out or a smaller multiplayer game comes out, people often will treat it as a vacation.

我们看到了另一种趋势,就像当一款很棒的单人游戏问世或一款较小的多人游戏问世时,人们通常会将其视为假期。

They’ll go off and play that game for a while, then come back.

他们会出去玩这个游戏一段时间,然后再回来。

And I think Wukong was an awesome example of that, a wonderful game from a brilliant team in China.

我认为 Wukong 就是一个很好的例子,这是来自中国一支出色团队的精彩游戏。

They made a game that’s like no Western players had really seen that type of thing done before and it was awesome and it did well, but most players play it for a while and move back on.

他们制作了一款西方玩家从未见过的游戏,非常棒,而且表现也很好,但大多数玩家玩了一段时间后就又继续玩了。

And that can be lucrative.

这可能是有利可图的。

But a business that’s building that kind of game is going to have to build a new one every few years and build a business around that, while the other games continue to accrete users.

但是,开发此类游戏的企业将不得不每隔几年开发一款新游戏,并围绕该游戏建立业务,而其他游戏则继续吸引用户。

4:10:45 But when you have a large number of gamers migrating to a small number of games, the effect of that is increasing revenue for those games, increasing reinvestment.

但是,当大量玩家迁移到少量游戏时,其效果就是增加这些游戏的收入,增加再投资。

And there are things that Epic can do with a team of thousands of people building Fortnite internally, and tens of thousands contributing to Fortnite as independent creators.

Epic 可以通过一个由数千人组成的内部构建《堡垒之夜》的团队以及数以万计的独立创作者为《堡垒之夜》做出贡献来完成一些事情。

There are just things that can happen with that level of investment that can’t happen in a smaller game.

有些事情可以用这种水平的投资来实现,而在较小的游戏中是不可能发生的。

And so there’s somewhat of an increasing winner-take-all dynamic where the biggest games reinvest more to make their games more fun, to gain fun at a faster rate than other games.

因此,赢家通吃的趋势越来越明显,最大的游戏会投入更多资金,让他们的游戏变得更有趣,以比其他游戏更快的速度获得乐趣。

And the industry is changing around that.

整个行业正在围绕这一点发生变化。

4:11:25 So I think the lesson for the game industry now is that there are really two big opportunities being pursued.

所以我认为现在游戏行业的教训是,确实有两个巨大的机会正在被追求。

There are big games, or games that have the potential to be really big multiplayer experiences that keep players around indefinitely for very long periods of time, and then there are just really good and small-scale games that people are taking a break from their big games for.

有些大型游戏,或者有潜力成为真正大型多人游戏体验的游戏,可以让玩家无限期地玩很长一段时间,然后还有一些非常好的小型游戏,人们可以在大型游戏中休息一下。

And the trend there is going to be towards efficiently developing those games.

趋势将是朝着高效开发这些游戏的方向发展。

You can’t build one of those games with a $300 million budget, but if you can do it with a $40 million budget, you can make a lot of money.

你不可能用 3 亿美元的预算来制作一款这样的游戏,但如果你能用 4000 万美元的预算来做,你就可以赚很多钱。

So I think that’s the main reshaping going on and think that it creates a rather bleak outlook for a lot of the category of single-player games that don’t have a huge audience to reach.

所以我认为这是正在进行的主要重塑,并认为它为许多没有大量受众的单人游戏类别创造了相当黯淡的前景。

But this is just one of the really trends of restructuring the business around the technology and changes of the day.

但这只是围绕当今技术和变化进行业务重组的真正趋势之一。

Lex Fridman4:12:17

Okay, this is going to be a ridiculous question, but aside from the games you’ve created, what are some of the greatest video games ever created to you?

好吧,这将是一个荒谬的问题,但除了你创造的游戏之外,你创造过的最伟大的视频游戏还有哪些?

4:12:17 What video games have been either impactful to you in your life or maybe you’ve seen created and you’re like, “Huh, that’s a beautiful art piece.” It could be in a totally different realm.

哪些电子游戏对您的生活产生了影响,或者您可能已经看到了哪些电子游戏的诞生,然后您会说:“嗯,那是一件美丽的艺术品。”它可能处于一个完全不同的领域。

Obviously for me, I return often to the single-player domain of role-playing games of the Elder Scrolls series Skyrim.

显然对我来说,我经常回到上古卷轴系列《天际》角色扮演游戏的单人游戏领域。

That was like a world that they created, a recent game, Baldur’s Gate 3, that was a really incredible piece of work and art and doing a lot of innovative stuff, again in the single-player domain.

这就像他们创造的一个世界,最近的一款游戏《博德之门 3》,这是一件非常令人难以置信的作品和艺术作品,并且在单人游戏领域做了很多创新的事情。

Is there games like that outside the ones you’ve created?

除了您创作的游戏之外,还有类似的游戏吗?

Tim Sweeney4:13:07

I’m most impressed with the games that have created what appears to be a full living, breathing world.

给我印象最深的是那些创造了一个充满生机、会呼吸的世界的游戏。

4:13:07 Games that give you the sense that you’re just a part of it and there’s a lot more happening and there’s always more.

这些游戏让你感觉自己只是其中的一部分,还有更多事情正在发生,而且总是有更多。

And it gives you the sense that you could go anywhere and do anything.

它给你一种你可以去任何地方、做任何事情的感觉。

Even though these games really do have finite limitations and there are places you can’t go, really creating that sense of wonder is just a magical thing.

尽管这些游戏确实有有限的限制,而且有些地方你不能去,但真正创造出那种惊奇感是一件神奇的事情。

Like Zelda: Breath of the Wild.

就像《塞尔达传说:荒野之息》一样。

Lex Fridman4:13:39

Oh yeah.

哦,是的。

Tim Sweeney4:13:40

Skyrim, Red Dead Redemption.

天际、荒野大镖客:救赎。

Lex Fridman4:13:42

Red Dead is great.

红死太棒了。

4:13:42 Yeah.

是的。

Tim Sweeney4:13:43

It’s like there’s an entire ecology simulator in there.

就像里面有一个完整的生态模拟器。

4:13:43 I have a high school classmate that got into studying river ecology and he was commenting on, “This is one of the very few games that’s hydrologically sound.” They actually went to the effort of shaping the rivers to follow erosion dynamics and so on.

我有一位高中同学开始研究河流生态学,他评论道:“这是极少数在水文学上合理的游戏之一。”他们实际上致力于塑造河流以适应侵蚀动态等。

The attention to detail, and there’s something there that’s big.

对细节的关注,而且还有一些重要的东西。

It’s been funny journeying through the industry.

穿越这个行业是很有趣的。

I last designed a game in 1992.

我上次设计游戏是在 1992 年。

I’m not a game designer.

我不是游戏设计师。

I have a very open-minded view that the best game genre that will ever exist has not yet been invented.

我有一个非常开放的观点,即最好的游戏类型尚未被发明。

And as we get more technological capabilities and creatives people use that and hopefully empowered by higher productivity tools and so on that we’ll see more and more cool things emerge that we’d never dreamed possible.

随着我们获得更多的技术能力和创造力,人们会使用它们,并希望通过更高生产力的工具等来增强我们的能力,我们将看到越来越多我们从未梦想过的很酷的事情出现。

And the idea of a world simulator is actually really interesting there.

世界模拟器的想法实际上非常有趣。

It’s been tried a lot.

已经尝试了很多了。

It’s usually extremely slow and expensive to create, but over time, maybe we’ll get better at that and that will be a thing too.

它的创建通常非常缓慢且昂贵,但随着时间的推移,也许我们会在这方面做得更好,这也将是一件事。

Lex Fridman4:14:49

You said so many interesting things there.

你在那里说了很多有趣的话。

4:14:49 New City Builders.

新城市建设者。

Tim Sweeney4:14:52

Yeah, civilization.

是的,文明。

4:14:52 It’s just mind-boggling that they’re building a game with that depth that can evolve so dependent on your actions.

令人难以置信的是,他们正在开发一款具有如此深度的游戏,并且其演变如此依赖于你的行动。

Lex Fridman4:14:59

To do that, that scale of world, but to where you can step into it and be in it.

要做到这一点,世界的规模,但你可以步入其中并融入其中。

4:14:59 I think Red Dead is a great example, but to do Red Dead Redemption in a way where you can walk around with friends at a large scale.

我认为《荒野大镖客》是一个很好的例子,但《荒野大镖客:救赎》的制作方式是让你可以和朋友一起大规模地走动。

And I guess what you have given so many years to is creating the tools that enable the artist to give that attention to detail that Red Dead does on several of the things.

我想你们多年来所付出的努力就是创造了一些工具,使艺术家能够像 Red Dead 在某些事情上那样关注细节。

And once you do, there’s something magical about that.

一旦你这样做了,就会有一些神奇的东西。

Once you give that attention to detail.

一旦你注重细节。

I don’t know what it is, but the love of the artist comes through somehow and you can feel the care that they put into it.

我不知道那是什么,但艺术家的爱不知何故流露出来,你可以感受到他们投入的关怀。

Tim Sweeney4:15:52

That’s right.

这是正确的。

4:15:52 The best games have a soul.

最好的游戏都有灵魂。

You can really sense it.

你真的能感觉到。

Like Call of Duty has a very different soul than Fortnite, and it just kind of exudes not only in what you see in the game, but also in how players interact with it and interact with each other online.

就像《使命召唤》与《堡垒之夜》有着截然不同的灵魂一样,它不仅体现在你在游戏中看到的内容上,还体现在玩家与游戏的互动以及在线互动的方式上。

That’s a really fascinating thing I wish would be studied more.

这是一件非常有趣的事情,我希望能得到更多的研究。

Lex Fridman4:16:09

I think we talked about the soul on several fronts, right?

我想我们在几个方面讨论了灵魂,对吧?

4:16:09 I wish it would be studied more.

我希望对其进行更多研究。

Tim Sweeney4:16:14

Yeah.

是的。

4:16:14 These little game design decisions that the designers make have a profound impact on what players think of the game and see in the game.

设计师做出的这些小游戏设计决策会对玩家对游戏的看法和在游戏中看到的东西产生深远的影响。

Fortnite Battle Royale always had a sense of mystery to it.

《堡垒之夜:大逃杀》总是有一种神秘感。

You’re on this island, but you’re not sure exactly what’s happening here.

你在这个岛上,但你不确定这里到底发生了什么。

There are all these houses, they’re abandoned.

所有这些房子都被遗弃了。

Why?

为什么?

And I’m not the secret holder, I’m not on the design team, I experience Fortnite as a player, but it really exudes a lot of that and a good spiritedness as well, because even when you’re eliminated in Fortnite, there’s not blood spurts and there’s not gibs, you’re just teleported out of the simulation.

我不是秘密持有者,我不是设计团队的成员,我以玩家的身份体验《堡垒之夜》,但它确实散发出很多这样的东西,而且也散发着良好的精神,因为即使你在《堡垒之夜》中被淘汰,也不会出现鲜血喷出,也不会出现碎片,你只是被传送出了模拟。

And often you end up losing the game in a way that’s hilarious enough that actually you’re laughing at it or you’re like respect to that player who just won because that was clever.

通常,你最终会以一种足够搞笑的方式输掉比赛,以至于你实际上是在嘲笑它,或者你对刚刚获胜的玩家表示尊重,因为那很聪明。

And it creates a very different dynamic than these other games where players tend to be very positive towards each other.

它创造了一种与其他游戏截然不同的动态,玩家往往对彼此非常积极。

4:17:09 One of the things I like to do in Fortnite just to kind of gauge how the game is going, is I play fill squads, get match made with three other random players and play a game together.

我在《堡垒之夜》中喜欢做的一件事就是为了衡量游戏的进展情况,我会扮演填充小队,与其他三名随机玩家进行匹配并一起玩游戏。

Sometimes they have voice chat, sometimes they don’t.

有时他们有语音聊天,有时则没有。

And back when our matchmaking regions were bigger, I learned a little bit of battlefield Spanish so I could speak with the people who were down-

当我们的配对区域更大时,我学了一点战场西班牙语,这样我就可以和那些情绪低落的人交谈-

Lex Fridman4:17:27

Battlefield Spanish.

战地西班牙语。

Tim Sweeney4:17:29

…

……

4:17:29 as far south as Mexico City.

南至墨西哥城。

And the positivity of the interactions there among every kind of person you might ever meet online were really quite impressive and completely unlike what you would see in a game like Call of Duty, where it’s always everybody’s got to be an edgelord.

你在网上遇到的各种人之间的积极互动确实令人印象深刻,完全不同于你在《使命召唤》这样的游戏中看到的,在《使命召唤》中,每个人都必须成为边缘领主。

Lex Fridman4:17:49

I love online gaming culture.

我喜欢网络游戏文化。

4:17:49 I have to ask you because it’s kind of like one of the legendary games is Grand Theft Auto.

我必须问你,因为这有点像传奇游戏之一《侠盗猎车手》。

Speaking of the worlds that are just like…

说到世界就像……

I mean, that’s its own thing, right?

我的意思是,那是它自己的事,对吧?

That’s that world, the characters, the style, the edginess, all of that.

这就是那个世界,人物,风格,前卫,所有这一切。

But the interesting thing about Grand Theft Auto VI to me that I want to ask you about is they took forever.

但《侠盗猎车手 VI》对我来说有趣的一点是,我想问你的是,它们花了很长时间。

It’s the six-month thing that you mentioned before.

就是你之前提到的六个月的事情。

There’s some games like that just take years to bring to the conclusion.

有些游戏需要数年时间才能得出结论。

What can you say about that process that you eventually were able to take unreal to completion?

对于您最终能够完成《unreal》的过程,您有何评价?

If you were to look from the outside, why does it take Grand Theft Auto that long or other companies to take the games to conclusion?

如果你从外部角度来看,为什么侠盗猎车手或其他公司需要那么长时间才能完成游戏?

And what I mean, just insight into what that process is like.

我的意思是,只是深入了解这个过程是什么样的。

Tim Sweeney4:18:52

Making games is very hard, and especially when you’re pushing the boundaries of something.

制作游戏非常困难,尤其是当你突破某些事物的界限时。

4:18:52 With Grand Theft Auto, it’s just the realism and feeling that you’re in this huge city and that anything can happen and it’s all living and breathing and you’re just a part of it.

在《侠盗猎车手》中,你会感受到现实感和感觉,你身处这座巨大的城市,任何事情都有可能发生,一切都充满生机和呼吸,而你只是其中的一部分。

The level with which Rockstar has brought quality to that genre is astonishing.

Rockstar 为该类型带来的品质令人惊叹。

And when you’re building something at a level of quality and detail that’s never been achieved before, you can’t predict how long it will take.

当您以前所未有的质量和细节水平构建某些东西时,您无法预测需要多长时间。

Whatever problems you’re solving today to get to the next iteration of quality on it, you don’t know what new problems that will unlock.

无论您今天要解决什么问题以达到下一次质量迭代,您都不知道会遇到哪些新问题。

And often you fix one thing and make it super realistic, and that just highlights the unrealism of other things that you then need to fix.

通常,你修复了一件事并使其变得超级现实,而这只会凸显出你需要修复的其他事情的不现实性。

4:19:37 I think the thing that always comes to mind is that shipping a game is easy if you don’t have a high quality standard, we also won’t have much success.

我认为人们总是想到的是,如果没有高质量标准,发行游戏很容易,我们也不会取得太大成功。

What we’ve seen from Rockstar is they take a long time, but they ship amazing games and it’s worth it in the end, right?

我们从 Rockstar 身上看到的是,他们花了很长时间,但他们推出了令人惊叹的游戏,最终是值得的,对吧?

A bad game is bad forever.

糟糕的游戏永远都是糟糕的。

A late good game eventually is released and is good.

一款迟到的好游戏最终还是发布了,而且还是不错的。

Lex Fridman4:20:01

Do you ever feel, like Rockstar is a good example of that, the pressure of delivering quality?

Rockstar 就是一个很好的例子,您是否曾感受到交付质量的压力?

4:20:01 Epic has not missed recently that I’m aware of, in terms of delivering quality.

据我所知,Epic 最近在交付质量方面并没有落后。

You feel the pressure of that that you’re not allowed misses?

你是否感受到了不允许失误的压力?

Tim Sweeney4:20:19

We certainly do.

我们当然这样做。

4:20:19 Everybody’s often working very much to the last minute to make something excellent.

每个人都经常工作到最后一刻,以创造出优秀的作品。

And it’s really hard with these fast delivery timeframes because you really have to get a lot of stuff up and running before you can judge it, like a new Fortnite season holistically.

如此快速的交付时间确实很困难,因为在做出判断之前,你确实必须先启动并运行很多东西,就像整体上新的《堡垒之夜》赛季一样。

It’s not until the last month or so that you really know what you’ve built and you really understand it.

直到上个月左右,你才真正知道自己构建了什么并且真正理解它。

And if any late breaking problems emerge in balance or anything else, it’s usually towards the end.

如果在平衡或其他方面出现任何后期的突破性问题,通常是在接近尾声的时候。

And that usually leads to a rapid push to fix it.

这通常会导致快速推动解决问题。

And then other lessons, you can only learn live and from experience.

然后其他课程,你只能从现场和经验中学习。

And that means accepting a game that it’s a live experience and it’s also an experiment and it’s going to continually be improving.

这意味着接受一款游戏,它是一种现场体验,也是一种实验,并且会不断改进。

And at any time, there’s some things that some people don’t like and you learn from it and you improve it and you move on.

任何时候,都会有一些人不喜欢的事情,你可以从中学习,改进它,然后继续前进。

Lex Fridman4:21:12

Let me ask you a big philosophical question.

让我问你一个大哲学问题。

4:21:12 So you’ve created these gigantic worlds that bring so much fun to humanity, but you also get to learn about humanity.

所以你创造了这些巨大的世界,给人类带来了很多乐趣,但你也可以了解人类。

What gives you hope about us humans, about the future of humans, about the future of humanity?

是什么让你对我们人类、对人类的未来、对人类的未来充满希望?

Tim Sweeney4:21:34

I see two contrasting worlds that have been brought about in the digital age.

我看到数字时代带来了两个截然不同的世界。

4:21:34 One is the world of social networks and people typing at each other and just massive negativity and politics and hucksterism and creation by engagement often promoting negativity and toxicity.

一个是社交网络的世界,人们互相打字,充斥着大量的消极情绪、政治、推销行为和通过参与而创造的世界,这些往往会加剧消极和毒性。

That’s a harsh world that I think is a step backwards in many ways.

我认为这是一个严酷的世界,在很多方面都是一种倒退。

I think that the foundation of the world is actually a little bit shaky because of just the social dynamic that those platforms have brought on.

我认为,由于这些平台带来的社会动力,世界的基础实际上有点动摇。

But then I compare that with the good spiritedness of what’s happening online when you’re connected to real people.

但后来我将其与当你与真实的人联系时网上发生的事情的积极性进行了比较。

Actually playing Fortnite, playing Fortnite fill squads with people you’ve never met before and never talked to, and just judging what human connections develop there and whether they’re positive, I found those to be really, really excellent and endearing.

实际上,在玩《堡垒之夜》时,与你以前从未见过、从未交谈过的人一起玩《堡垒之夜》,只是判断那里发展的人际关系以及它们是否积极,我发现这些真的非常非常出色和可爱。

4:22:28 I think the lesson from all of that is that humans talking to humans and being together in the real world or a virtual world, is a naturally empathetic medium, which naturally leads to bonding, and though conflict sometimes occurs, it’s just generally so much more promoting of our social norms and good interactions between people and positivity promoting.

我认为从这一切中得到的教训是,人类在现实世界或虚拟世界中与人类交谈并在一起,是一种自然的同理心媒介,这自然会导致联系,虽然有时会发生冲突,但通常更能促进我们的社会规范和人与人之间的良好互动以及积极性的促进。

Whereas the typing angry messages thing at each other as a self-reinforcing negative dynamic that’s negative.

然而,打字的愤怒信息会互相攻击,作为一种自我强化的消极动力,这是消极的。

And I think you look at social media and you look at gaming that is increasingly social, and I couldn’t see a bigger divide between any two medium as I see there in terms of the actual social dynamics.

我认为你看看社交媒体和越来越社交化的游戏,我看不出任何两种媒体之间存在更大的鸿沟,就像我在实际的社交动态方面看到的那样。

One super positive, one super toxic at times.

有时一位超级积极,一位超级有毒。

Lex Fridman4:23:18

Yeah, that’s actually really…

是啊,这确实是……

4:23:18 The text-based medium.

基于文本的媒体。

Now, that could even be around gaming.

现在,这甚至可能围绕游戏。

You could look at Discord, it could be real toxic in text, but you place humans together in the real world here in the room, I very rarely see humans not get along in the physical space.

你可以看看Discord,它在文本中可能是真正有毒的,但你把人类放在现实世界的房间里,我很少看到人类在物理空间中相处不好。

And the degree to which you can create a digital space, like a metaverse type of space where it’s sufficiently immersive, where you feel the other person, the empathy comes out, and then the joy that’s derived from the empathy comes out.

你可以在多大程度上创造一个数字空间,比如虚拟宇宙类型的空间,它足够身临其境,你感受到对方,同理心就会出来,然后从同理心中产生的快乐就会出来。

And it’s just a reminder that humans…

这只是提醒人们……

I don’t know, that humans are good and they want to see the good in others.

我不知道,人类都是善良的,他们希望看到别人的优点。

They want to share the goodness.

他们想分享美好。

And then when they get in that group together, there’s love there.

当他们在一起时,就会有爱。

4:24:12 Now, they might talk shit about some other group, this is the dark side of humans, but together in terms of the dynamics of that group is joyful.

现在,他们可能会谈论其他群体,这是人类的黑暗面,但就该群体的动态而言,在一起是快乐的。

So yeah, that gives me hope as well.

是的,这也给了我希望。

And the more degree which we can create those worlds online that make it super easy for us to connect in that empathic way, the better.

我们在网上创造的世界越多,让我们以同理心的方式进行联系就越好。

And I am grateful that you are pushing the boundaries of what’s possible in creating such worlds.

我很感激你们在创造这样的世界时不断突破可能的界限。

And I’m grateful that you would talk with me today, Tim.

我很感激你今天能和我谈话,蒂姆。

This is amazing and it’s an honor to talk to you.

这太棒了,很荣幸与您交谈。

Tim Sweeney4:24:46

Oh, thank you very much.

噢,非常感谢。

4:24:46 It’s been fun.

这很有趣。

Lex Fridman4:24:49

Thanks for listening to this conversation with Tim Sweeney.

感谢您收听蒂姆·斯威尼的对话。

4:24:49 To support this podcast, please check out our sponsors in the description.

为了支持这个播客,请在说明中查看我们的赞助商。

And now let me leave you some words from Benjamin Franklin.

现在让我给你们留下本杰明·富兰克林的话。

” We do not stop playing because we grow old.

“我们不会因为变老而停止玩耍。

We grow old because we stop playing.” Thank you for listening.

我们变老是因为我们停止了玩耍。”感谢您的聆听。

I hope to see you next time.

我希望下次能见到你。

文稿来自 Lex Fridman 官网公开发布的官方 Transcript(含说话人与时间戳)。
Tim Sweeney (00:00:00): Humans are by far the hardest part of computer graphics because millions of years of evolution have given us dedicated brain systems to detect patterns in faces and infer emotions and intent because cavemen had to, when they see a stranger, determine whether they were likely friendly or they might be trying to kill them. And so people in the world have extraordinarily detailed expectations of a face and we can notice imperfections, especially perfections arising from computer graphics limitations. Okay, one part is capturing humans and so [inaudible 00:00:33] really advanced, dedicated hardware that puts a human in a capture sphere with dozens of cameras in them taking high resolution, high frame rate video of them as they go through a range of motions. And then capturing the human face is complicated because the nuanced detail of our faces and how all the muscles and sinews and fat work together to give us different expressions. Tim Sweeney (00:00:53): So it’s not only about the shape of a person’s face, but it’s also about the entire range of motion that they might go through. So that’s the data problem. There’s a lot of other problems with computer graphics. There’s technology for rendering hair, which is really hard. Because you can’t render every… Again, we know the laws of physics. It would be easy to just render every hair. It would just be a billion times too slow. So you need approximations that capture the net effect of hair on rendering and on pixels without calculating every single interaction of every light with every strand of hair. That’s one part of it. There’s detailed features for different parts of faces. There’s subsurface scattering because we think of humans as opaque, but really our skin, light travels through it. It’s not completely opaque, and the way in which light travels through skin has a huge impact on our appearance. Tim Sweeney (00:01:38): And this is why there’s no way you can paint a mannequin to look realistic for a human. It’s just a solid surface and we’ll never have the sort of detail you see. Lex Fridman (00:01:48): That kind of blew my mind, thinking through that. I think I heard that sort of the oiliness of the skin creates very specific, nuanced, complex reflections and then some light is absorbed and travels through the skin and that creates textures that our human eye is able to perceive and it creates the thing that we consider human, whatever that is. All of that, while considering all the muscles involved in making the nuanced expression, just the subtle squinting of the eyes or the subtle formation of a smile, it’s the subtlety of human faces that you have to capture, like the difference between a real smile and a fake smile, but the way to show beginning of a formation of a smile that actually reveals a deep sadness, all of that, when I watch a human face, I can read that. I could see that you have to have the tools that, in real time, can render something like that, and that’s incredibly difficult. Tim Sweeney (00:02:50): That’s right. Getting faces right requires the interplay of literally dozens of different systems and aspects of computer graphics. And if any one of them is wrong, your eye is completely drawn to that and you find it on the wrong side of Uncanny Valley. Lex Fridman (00:03:06): The following is a conversation with Tim Sweeney, a legendary video game programmer, founder and CEO of Epic games that created many incredible games and technologies, including the Unreal Engine and Fortnite, which both revolutionized the video game industry and the experience of playing and creating video games. This is the Lex Fridman podcast. To support it, please check out our sponsors in the description. And now, dear friends, here’s Tim Sweeney. Lex Fridman (00:03:06): When did you first fall in love with computers and maybe with programming? Tim Sweeney (00:03:42): I had a brother, Steve Sweeney, who 16 years older than me, and at some point when I was a little kid, he went off to work in California for a tech company and he’d gotten one of the first IBM PCs. And so for one summer, I think I was about 11, I went to visit him in California. It was my first trip away from my family just to hang out with him and he had this brand new IBM computer and I learned to program over the course of a few days in BASIC. I was just blown away with the capabilities of computers at the time. It was unbelievable what they could accomplish, and I just was hooked from that point onward and very much wanted to be a programmer. Lex Fridman (00:04:19): Do you remember what you wrote in BASIC? Is it a video game type thing? Is it like for loop, some numerical thing? Do you remember? Tim Sweeney (00:04:27): Yeah, it’s funny. I have a perfectly vivid memory of all of the first things I learned to program. I have a hard time remembering people’s names, but code really sticks with me. Every step and every challenge, there were lessons learned, some of which I’ve come to realize were just like me getting over some learning hurdles. But other things were actually shortcomings of programming languages and the realization that there are actually better ways than what a programmer is learning to program for their first time. A lot of what they’re facing isn’t the challenge of learning a new art. It’s friction introduced by failures of programming language design. And so I’ve constantly come back to those early lessons there as I’ve progressed and done more and more things including building programming languages. Lex Fridman (00:05:11): Yeah, the friction and the pain is the guide to learning in programming. If I were to describe programming journey that’d be marked by pain and that pain, you shouldn’t escape the pain. The pain is instructive for you to understand programming languages. But do you remember what kind of stuff you were writing at that time? Just the early programs? Tim Sweeney (00:05:35): Yeah. In the early days, I wrote a little bit of everything. I wrote some games. The first game I wrote on the Apple II was, since I only knew how to program in text mode, the computer would throw asterisks across the screen, they’d flow from left to right, and you’d have a parenthesis on the right-hand side of the screen and it looks like a baseball mitt and you’re supposed to catch the asterisks. That was my very first game. It took about a couple hours to build and tune, and I went from there. But I built a lot of things. I built databases at different points. I built a programming language and a full compiler for a language like Pascal because I didn’t know where you went to buy one of those. So I made my own. And one of fun things at that time was bulletin boards. Tim Sweeney (00:06:17): Before we had the internet in the hands of consumers, you used your modem and you dialed into a local phone number and connected to whoever was running the computer there. And every town or city had hundreds of these bulletin boards run by different people with their own personalities and themes. And so I spent a lot of time building a bulletin board program and learning how to deal with database management and user interface and dealing with multiple users concurrently and things. And so, I don’t know, I’d probably spend about 10 or 15,000 hours writing code just on my own as a kid between age 10 and age 20 before I actually shipped a program to the outside world. Lex Fridman (00:06:56): 10 to 15,000 hours. What was the value of the hours as a kid you put in in programming that led to the success you’ve had in later life? Maybe this is by way of advice to younger people in terms of how they allocate the hours of their early life. Tim Sweeney (00:07:12): Yeah, it’s not just hours. It’s really striving to learn, to understand what knowledge you have, what knowledge you lack, and to continually do experiments and work on projects that improve your knowledge base. And I didn’t do this with a great amount of structure or planning. I was rather just going from project to project, doing things that I thought would be fun and cool. And with each project I learned new things, learning about how to store and manage data, learning how to deal with advanced data structures, how to write complex programs that have deeply nested data and control flow. Each one of those provide a lesson which were later essential. In 1991, I released my first game and over the course of that decade went from zero commercial releases to the first generation Unreal Engine. But this was largely just using the knowledge that I’d built up over the previous decade, just doing fun hobby projects. And if I hadn’t done all of that work, there’s no way I could have ever built the things that came later. Lex Fridman (00:08:15): All the experimentation and all the exploration somehow contributed, somehow made sense later on. All of that is integrated somehow in the stuff you build. It’s funny how life works. The pieces kind of come together eventually. Tim Sweeney (00:08:32): Yeah, there are definitely karate kid moments because all this time I was learning math in high school and in college I studied mechanical engineering. And so you learn all kinds of math, vector calculus and vector math and matrices and all of these related fields, physics and stress and strain and how to deal with complex physical systems. And yeah, I wasn’t really sure how engineers would actually make use of that knowledge. Do you just forget about it when you actually go off to do work or do you write down equations on paper? It was actually not clear as an early engineering student what you do, but when I started writing the first generation Unreal Engine and I was dealing with 3DMS, I was like, wait, I know this stuff. I learned this. And so suddenly like the karate kid, you get to paint the fence and wax the car and suddenly put all the pieces together into a 3D engine based on a whole lot of accumulated programming language and math knowledge, often knowledge gained without ever anticipating that I might use it in that way. Lex Fridman (00:09:37): Also, I think what’s useful is over and over learning a hard thing and then showing to yourself that you can do it, that you can learn a hard thing. So then when you come to having to write a 3D engine in ways that haven’t been done before, you’re like, I’ve been here. I’ve been here in this experience, I don’t know what to do, but we’ll figure it out. We’ll learn. I’ll learn all the necessary components. So just not being afraid of something new. Tim Sweeney (00:10:10): That’s right. And constantly striving to make connections between these fields and look for their applications. Long after I chipped Unreal Engine, it was like going back through an engineering textbook and looking at, oh yeah, I used that, I used that, I used that. And then I got to the section on eigenvalues. I’m like, I don’t know what the hell this is. But it turns out eigenvectors and eigenvalues were the critical breakthrough that made the Google search engine technology work and stand apart from the rest because they found if you threw all the links that exist into the web and links from and to different sites and you put them in a giant matrix and you conclude it, you found a dominant eigenvalues. Tim Sweeney (00:10:46): Then those eigenvectors described the best search results for different things. And so constantly picking up knowledge and looking for ways to put it together is the thing to do. And if you aspire to be a programmer, you’ve got to write a lot of code and you’ve got to continually learn new things and improve. And if you want to be an artist, you’ve got to continually draw artwork of all styles and all kinds and constantly push yourself to learn more and more, because you never know exactly what you’re going to end up doing in the long run, but the more knowledge you have and the more skills, the more chance you have putting it together and being successful. Lex Fridman (00:11:20): And whether you’re a programmer or an artist, you should probably take linear algebra, even though it doesn’t make sense at the time. Tim Sweeney (00:11:25): I found getting an engineering degree and then never working in an engineering field, just being a computer programmer, was immensely valuable. I went to University of Maryland, which for some disciplines it’s kind of known as a party school, but they worked the engineers to death, worked really hard. And if you learn any engineering discipline, you learn massive amounts of math and you learn the rigor of problem solving, not just what you find from the Wikipedia article, but going through all of the exercises of solving complex problems and building up series of solutions to derive in an answer. It’s valuable and it embodies the knowledge that you need as a programmer. And people often go to university and think, okay, my goal here is to get good grades, so I get a diploma and I prove to an employer that I’m valuable. Tim Sweeney (00:12:11): No, that’s just kind of the superficial bookkeeping of the university. The real purpose of all of this is to learn, and whether you learn formally or you learn on your own, it’s the learnings that are really valuable in a career. And especially if you’re going to be entrepreneurial, it’s really knowing the stuff that matters and not having the diplomas. There’s ever more pressure to rebuild society more and more around credentials. Do you have this certificate? Do you have that proof? But companies that are focused on just building great products and doing great things gravitate towards people who do the great work. Lex Fridman (00:12:48): Yeah, one of the great things about youth is there’s more freedom. There’s just more time to learn. And people when they go to high school, they sometimes think, wow, I can’t wait to get out of this and be an adult and be free. But it’s not quite freedom. When you get a job and you start a family, all wonderful things, but you get more and more busy and less and less time to learn in the general sense, learn whatever the hell you want. That is a wonderful time in life, the teenage years, the early-twenties, the twenties when you could just learn random shit. Tim Sweeney (00:13:25): Yeah, and I think this is something that’s kind of changing in America. There’s so much focus on grades and homework and structure around kids’ lives. When I was growing up, my mom would feed me and my neighbors’ moms would feed them breakfast and they’d be like, well, be back by dark. Tim Sweeney (00:13:45): And, yeah, we’d go out and we’d play and we’d do all sorts of things. We’d explore the woods, we’d build go-karts, we’d salvage old pieces of electronics and build what we thought were our spacecraft control panels for the fake spaceships we were building as play, and we’d have an enormous amount of freedom. And from basically being a little kid through the time I went off to college, I had an enormous amount of free time. Some people just use that and waste it, and watched TV. Some people socialized and some people really got into serious projects. So many people at all times were doing cool things. I was programming, I was learning to build things. Tim Sweeney (00:14:27): Before I was releasing games to the world, I’d be having neighborhood folks over to play the things I was working on and check them out. And sometimes they’re impressed and sometimes they weren’t, and they’d have their own projects and often we’d have spare time jobs and everybody was entrepreneurial. Everybody had a side gig. Sometimes you’d go around and mow people’s lawns or you’d rake the leaves up and earn money. And the freedom there and the organic learning that occurred there, I think, is something that is really critical to the American experience that I worry is increasingly going away as society is ever more protective and sheltering and makes it harder to get these experiences. Lex Fridman (00:15:07): So on the video game side, when did you first fall in love with video games? Tim Sweeney (00:15:13): I’ve had a funny relationship with games because my real aspiration has always been to program cool stuff. And I get more enjoyment out of programming than anything else in the world. And so my first really two formative experience with games were playing this game called Adventure for the Atari 2,600. It was like you move this dot around the screen and picked up objects like swords and fought dragons and invaded castles and solved puzzles. Very, very simple iconic stuff rather than realistic graphics. And then the other game that I really got immersed in was Zork, which was a text adventure game. It would tell you where you are and what you see and you type in commands like go north or pick up sword or open door and explore a world that way. So the game didn’t have any graphics, but in your mind you had this elaborate picture of what you were seeing there, and it really brought in [inaudible 00:16:09] inspired imagination more than other things. Tim Sweeney (00:16:11): And playing those games led me to go off and want to learn to program everything that I saw there. And that drove a lot of my programming. I learned how to move a player around the screen. I learned how to build a design tool so I could build castles and save them off and then play them in a game. And I realized there was a separation between the tools that you use to build a game and the game itself, and that the more powerful tools you had, the more creativity you could unleash in yourself or others. Tim Sweeney (00:16:36): And I learned all the programming techniques that supported games, how to parse text, pick up sword and go north. How do you make that sentence into an actual series of commands on the computer? And that was really, really exciting. I have to say, until the time that Fortnite came out, I played video games primarily to learn what they were doing, so that I could go off and do that myself. I’d sit down when Wolfenstein came out and then Doom came out. I’d go through it and look at it Pixel by Pixel, I’d move the mouse very slightly and look exactly what was happening to figure out. Lex Fridman (00:17:10): That’s funny. That’s great. Tim Sweeney (00:17:10): What technique was being used there? And that was a puzzle solving at a grand scale, and it was so fun. Lex Fridman (00:17:16): So take me there in the early 90s, so you launched Epic Games in 1991, so the writing of your first big video game ZZT, what was it like? What was the technical challenges? What were the psychological challenges of building that? Tim Sweeney (00:17:36): It was a funny project because I didn’t start out to build a video game. I’d just moved from an Apple II, so my brother bought my family an Apple II right after I’d visit him in California. So I’ve been programming on that for a few years, learned a lot of techniques, but weren’t many Apple II users around still by the time that cycle came to an end. [inaudible 00:17:56] so I’d just gotten an IBM PC of my own and was learning to program and I realized I needed a text editor. So I started writing a text editor. A text editor is a program to edit text files. You have logic to move the cursor around and let people type things and backspace and delete and do all of those mundane actions. And one night I’d finished it up and I was like, well, okay, I have a text editor, but this is pretty boring. Tim Sweeney (00:18:20): And so I made the cursor into a smiley face character and I had the different characters you could place in this document perform different gameplay actions. Some would be walls and some would kill you, and some would be moving objects that could fly around the screen. And so this text editor I made evolved into a little game editor. So I was building these levels for a game. And I put a lot of time into building an editor and a primitive set of objects, about 20 or 30 different objects. Enough to build a really cool and compelling game, but not so many that players would lose track of what they’re seeing. Tim Sweeney (00:18:51): I started off just building different game levels. The idea is you’d be on a series of board, they’d be connected by going north [inaudible 00:18:59], the end of the current board would take you to a new one if it was open or maybe it was blocked and then you couldn’t go there. I built this [inaudible 00:19:05] game world around that, and this was the game that became ZZT and I was having fun with it, building it and playing it, but I didn’t know if it would really work. So I did this experiment. I’d started inviting neighbors over. Some adults, some kids of all different ages and I sat them down in front of it and say it, like, here’s the game I made, figure it out. Tim Sweeney (00:19:23): And I had to force myself not to tell them what they need to do because I really wanted to learn if they were able to discover it all for themselves. Today we would call this a user experience test, and there’s a whole field of research around user experience research, but back then it was just inviting some kids over to play the game. I took notes about what they got stuck on and what they enjoyed and where they felt bored and just iteratively polished the game until I felt it was good then and I put it out and released it on, well, this was before the internet, so there were bulletin boards. I uploaded it to a bunch of local bulletin boards, and from there it started spreading because the way to build up cred for bulletin board users was to upload new files and to claim that, hey, I was the first that brought this to you. Tim Sweeney (00:20:06): And so there was a natural tendency of the software to spread. And I decided to use the shareware model, so I didn’t just build this one game. I built a trilogy of three games. And I released the first one for free and I said, hey, if you like this, buy the two sequels. And I included my parents’ mailing address and said, send us $30 and you can get the sequels to this game. And the checks started coming in within a few days and I was getting three or four orders a day. I was making a hundred dollars a day. I’m like, woo, I’m rich. Because being a 20-year-old, that was a pretty big deal. Lex Fridman (00:20:43): What did that feel like, just getting money and probably feeling this immense success from something you’ve created? Tim Sweeney (00:20:51): Well, I’ve looked at money always just as a tool to help you fund accomplishing cool things and having enough to do the things you want to do is the critical thing. It’s always been just very utilitarian, but the knowledge that other people all around the country and then a month later, all around the world, were playing the game, that was mind-boggling that me, the solo kid who’d put out a game on a local bulletin board, could be doing international business and shipping discs all over the world to players because the software was spreading on its own, it was just magical. Tim Sweeney (00:21:27): And that was a new thing for software. That did not happen with mechanical devices. You manufactured one, you sold it to somebody and they had it, and that was it. But software could spread. That was just really cool to see. And it made me realize there was really no upward limit on the [inaudible 00:21:40] for a business like that. We saw Microsoft as the big juggernaut company at the time, but it was like, hey, if Epic does games good enough, we could accomplish what they’ve got accomplished with operating systems. And the sky was the limit. And I think this is the age we live in now. It’s, you don’t have to be an industrialist manufacturing physical products, anybody who builds anything digitally, if it’s good enough, you can reach the entire world and build the next Microsoft or Meta or Apple or Google or Epic Games. Lex Fridman (00:22:12): That’s such a cool origin story though. You started out building a text editor, so you’re looking at this project, you’re playing around with it, you building up the tools. And that’s such an inspiring moment because a lot of us start out building a project and to allow yourself to see the potential pivots, the potential trajectories that can go is really nice. To sit back, allow yourself to be bored and like, ah, I’m going to go this way. I mean, that’s like a crossroads. You came to a crossroads. I mean, you built compilers, you design your own programming language, you built compilers, databases, all these things you’ve mentioned, and you started building a text editor and then here it came to this crossroad, I’m going to make this fun. And then from there, one of the most legendary gaming companies was created. It’s kind of cool. That’s an inspiring thing for sort of developers. Be open to the possibility of creating something you didn’t plan to create and just go with it. Right? That’s cool. Tim Sweeney (00:23:20): Yeah, and it was a bunch of learnings emerged really quickly there. The neat thing I did with ZZT was I didn’t just release the game, I also released the editor with it. I’d built this tool so I could make these ZZT boards that people could play, but I also gave it to all of the players themselves. And 30 years later, I still run into people when I go to a game industry event, it was like I grew up playing ZZT and here’s an adult who grew up playing my game. And it was because it enabled anybody to become a creator too. It had this old board editor and it also had a little scripting language, so you could learn a little bit of programming in it too. And it kind of impressed, and it really set a formative principle of Epic, which was that the company’s mission is to make awesome entertainment, but also awesome tools and to share those tools with everybody so that they can build their own amazing things too. Tim Sweeney (00:24:11): And when we got into Unreal Engine a few years later, the interplay between us building a game and us building a tool, tools that were widely used by others, was a critical part of that. And I think that’s the sole reason that Epic has been massively successful. And actually the reason that we’ve survived all of this time is by serving both creators and gamers. We’ve been able to weather the ups and downs of the game industry. It’s a brutal place for companies. We’ve been able to survive every financial downturn, and sometimes the engine’s been funding the business because we didn’t have a game. And sometimes the games have been funding the business. And it really set a principle in our culture that’s persevered and is continually bought to the forefront. Lex Fridman (00:24:53): But on the editor front, that’s such a fascinating philosophy that you always allow people to create their own worlds. You have an engine from which you simulate the world that the game is in. You have the actual game, and you also have the freedom for creators to create various, in Fortnite, islands of their own. With everything you ship, that freedom to create is always there. That’s really interesting. Tim Sweeney (00:25:23): Yeah, and it’s something we aim to do more and more fully over time. In the course of building Fortnite, we’ve built a lot of other tools. They’re useful for us too because it’s not just a game powered by Unreal Engine, but it’s also a social ecosystem where people can make friends and voice chat and get together and party. So we’ve opened up all of those social features into Epic Online services, and we give them away to all developers for free because we all benefit from growth and that user base. And our goal is ultimately to build the company’s products and the same technology that we share with everybody else, and to hope that foster a bigger and bigger ecosystem over time where everybody benefits. Lex Fridman (00:26:03): If we could just linger on the 90s, so you said bulletin boards, maybe you can explain what that’s like and also explain the birth of the internet, what that was like. What was the internet like in the 90s? Tim Sweeney (00:26:16): So the internet is a funny thing. It started out as this defense department research project called the ARPANET, the Advanced Research Project Agency Network. And it was kind of like this revered secret thing that became more and more open as they connected universities. Universities connected to the internet in the mid-nineteen eighties. And so if you’re at a prestigious institution with access to computers, you could get on there, but the consumer back then, we just had these modems, this thing you plug into your phone line and it dials up on a phone number and then it sends wild sound effects over the telephone line to send digital signals back and forth. Tim Sweeney (00:26:55): And these were really slow. The first modem I had was 300 boards. That means 30 characters per second of data. So you’re sitting there watching a sentence slowly emerge character by character as you’re going online, but that’s how we got online and we talked with each other. So you dial up to a local bulletin board, it’ll be run by a person. Usually they have a computer or two sitting in their kitchen or something that’s running the bulletin board, and they have a small community of a few hundred users all competing to connect to that one phone line. It was often busy and you couldn’t get in. And the more popular bulletin boards were hardest to get to. Lex Fridman (00:27:29): Nice. Tim Sweeney (00:27:29): But you had all kinds of communities develop, and you could see there was the programming communities where people talked about programming. There was the news and events community. I lived in the outskirts of Washington DC so that was a big thing. But then there was the pirate community where they’re sharing pirated Apple II games and very different community ethos and mantras out there, but all really nice and also very small. These bulletin boards couldn’t grow to the size of Facebook because your phone line couldn’t take that many calls. And then later in the 1990s, the internet, which had been fostered in these colleges that started opening up to the public and anybody could connect to it. And suddenly the world took on life of its own. It became much, much easier to reach a global audience faster. Lex Fridman (00:28:16): And you would start shipping games to the internet, which is a bit of a crazy thing to do because you’re supposed to have a physical copy, but to post on the internet is pretty innovative. Even shareware is pretty innovative. Tim Sweeney (00:28:31): Yeah, it’s been a funny transition for the game business. Epic started out making shareware games, distribute it digitally, but as the first 3D games took off like Wolfenstein and Doom from id Software, and then Unreal from us took off to reach a huge audience of millions of users, we had to go into retail stores. So we worked with a retail publisher and they made a box and they put CD-ROMs in the box, and then the world started transitioning back to digitally. And that transition didn’t start well, right? The initial transition of gaming to digital was all but torrent, all piracy and the other horror stories about games that would sell a hundred thousand copies but have 2 million users because most people pirated it. Tim Sweeney (00:29:15): And then Steam came along and introduced digital distribution and made digital distribution of legit games so convenient that most players moved away from piracy towards that, and their practices were then followed by others, and the early digital industry took form. Lex Fridman (00:29:33): Yeah, it’s fascinating. I mean, pirates do lead the way for innovation, the same as the story of Spotify. Basically, I think, most people when they derive value from things like video games, want to pay for those video games, they just want it to be easy. And so the same thing with music, with Spotify. But maybe just staying on the 90s, there are going to be a lot of indie game developers who will listen to us talking today. Can you go back to that mindset and try to derive some wisdom and advice to those folks when you were just a solo developer or maybe just a small group of people creating your early games that eventually became this huge gaming company. But in the early days, what were you going through? What were the ups and downs? What did it take to stay strong and persevere? Tim Sweeney (00:30:31): Well, one of the critical things that Epic always worked hard to do was to make something different that nobody else was doing, and to try to satisfy a small audience rather than competing globally with the game juggernauts. Back in the 1990s, Epic was new, but Electronic Arts and Activision and the other big publishers had been around for a decade, and they were huge companies. It had giant retail distribution networks. If I tried to make a game and then convinced them to publish it, I doubt I could have had a chance. And I doubt that even if I had made a successful game, that I would’ve made much money from it, though they might have. And so the really unique angle to Epic then was shareware. And that was just the idea that if we distribute our game differently, then we can reach a much larger audience than these bigger competitors by virtue of this first episode of the game being free. Tim Sweeney (00:31:24): It was kind of the advent of what later became free to play. And the logic of that is just as true now as it was then. It’s, if the thing is free and anybody can get into it, then it’s going to spread from friend to friend as people bring their real world friends into the games they’re playing and you have the opportunity to build up a community around that. So the other lesson there was just minimize the friction of people getting into your game, make it easy to get into and make it fun. I think the other, well, I was very fortunate. ZZT was a funny game. It was not much like any other game. It had much worse graphics because it was all just text characters, smiley faces and other Greek letters and things participating in this game simulation. Tim Sweeney (00:32:09): They were kind of iconic representations of characters rather than real ones. And this was decades into the age of real graphical games with interesting graphics. And so it wasn’t even trying to compete in that area, but it was able to compete in a different area, which is that it wasn’t just the three games that I’d made and shipped as a trilogy that were successful and drove the success of the product. It was the fact that I released an editor and there was a whole community around it. And you see that trend has repeated itself, like there was, ZZT was one of it. Before that, there was Bill Budge’s Pinball construction set. That was a 1980s Apple game that let users build their own pinball tables. And since then, you’ve had some of the world’s most successful games follow that path. Like Minecraft, you can build your own stuff. Tim Sweeney (00:32:52): Roblox, now Fortnite Creative and Unreal Editor for Fortnite. Games that become platforms for other people to build stuff was a real opportunity. I think the big thing to realize for indie developers right now is there’s massive, massive competition in every major genre, and it’s very unlikely that unless you just happen to be the world’s best at a particular thing that you’re going to release a game in an existing highly competitive genre and win. A much better chance of success is in releasing something that hasn’t been done before. Being really unique and reaching an audience, even if big or medium size or small, reaching an audience and becoming really popular with that, making some money from it, and being able to reinvest and then expand towards your ultimate dream. I think the one shot go from idea to commercial success at massive scale is a lot less likely than the multistep process of continually build better and better stuff over time until you get into a position of excellence. Lex Fridman (00:33:54): And constantly try to do something that others aren’t doing. Tim Sweeney (00:33:58): Yeah, that’s right. Because if you look at every market, there’s a few markets where the current leader… Tim Sweeney (00:34:03): Look at every market. There’s a few markets where the current leader came late to the space, usually because the prior leader failed so horribly. But most of the time the company that’s succeeding and winning in a market is the first or second entrant there. They’ve just continually buoyed their success. Lex Fridman (00:34:20): Great advice and fascinating. But on a human level, was it lonely, was it scary, you sitting there as a developer? Tim Sweeney (00:34:29): I’d say it was the opposite of lonely because the thing that spurred me to actually release this was seeing kids playing the game in my neighborhood and having fun and being like, “This is really good.” And seeing them enjoying it and laughing and pointing at the screen and getting together and just wanting to play more. Lex Fridman (00:34:47): That’s awesome. Tim Sweeney (00:34:49): And the human element was always pervasive because I did not only receive orders, but people would actually write letters. We wrote letters back then in the 1990s. People would say how much they were enjoying the game and how their kids were playing the game and so on and so on. So it felt very connected. Tim Sweeney (00:35:06): And I think a lot of businesses have to make scary decisions because you’re spending potentially all of the money you have to take a shot at something that you’re not sure will succeed. I was very fortunate starting a business like this because it didn’t really need any capital. The capital is well, it’s several thousand dollars in computers I’d bought by mowing lawns. And it wasn’t much risk. If that hadn’t succeeded, I guess I could have figured out how people get mechanical engineering jobs and pursued that. But once it took off and once the orders started coming in and people started writing letters saying they were enjoying the game, I knew I was going to go all out and try to build a company there and succeed and that was going to be my big goal. Lex Fridman (00:35:48): So I’m sure people know, but Epic Games was created in 1991 and went on to transform the gaming industry several times, one of which is Unreal Engine. So let’s talk through the origin story of that. You said that when Wolfenstein and Doom came out, that changed everything, so take me to that moment. Tim Sweeney (00:36:11): Yeah, that was a very interesting time. Epic had, after my first couple of games that had recruited developers, usually college students, high school students who were just working on their own, had real skills but didn’t have an outlet for their work, Epic had been matchmaking the best artists and programmers together from all over the world. Like Chaz Jackrabbit was Cliff Bleszinski, a high school kid in California, had made a really cool adventure game together with Arjan Brussee, a demo coder from Holland, who would make amazing graphical stuff and had built a 2D game engine. They had connected them together, and a musician, Robert Allen in California. And by telephone and modem and so on we were building these little 2D games and having quite a lot of success. There were a bunch of people making thousands of dollars a month while they were still students in royalties from the games the Epic was producing and by coordinating with people and publishing through shareware. Tim Sweeney (00:37:07): And that was all going great. The company had a little office and we were copying floppy disks and mailing them out. But when Wolfenstein came out, we realized the future of gaming is going to be 3D. There had been a lot of experiments in 3D before that hadn’t been great. There were 3D renderings of mazes that were not in real time, and you were always looking north, south, east or west, and then there were vector graphics with little wire frames moving around and things. But Wolfenstein was the first game that was fast enough, running at 30 frames per second, it really felt immersive. It felt like you were there. You were in this Castle Wolfenstein fighting Nazis. And that was a really amazing and immersive experience. Tim Sweeney (00:37:51): 3D graphics were pretty primitive then and software followed shockingly fast with Doom, which was a much, much more capable 3D engine, which had stairs and though it was still what we call two and a half D, it was environments that were very realistic, textures that were very realistic, a form of lighting that was approximate, but incredibly realistic. And just such great artistry and sound effects that it feeled completely visceral and real. You might look at it today from our point of view of a modern game player with 20 teraflops of computing power in your device and say, “Oh, that’s not very impressive.” But it was amazing at the time. Lex Fridman (00:38:33): I mean for me, just sorry to pause on that, I think Wolfenstein was one of the most amazing moments of my own life. Just being able to, like you said, in real time move about a three-dimensional world. I just remember just moving around just in what is that feeling like? I mean, you feel transported into another world. Tim Sweeney (00:39:01): You feel that you’re there. Lex Fridman (00:39:02): Yeah. Tim Sweeney (00:39:03): Especially when you turn the lights down in your room and you turn the sound up on your speakers and it will scare you. And you’ll feel like that fireball that’s coming at you is going to kill you. That was an amazing time. Because we hadn’t experienced that before. There was nothing like that. You’d watch a movie, a scary movie or whatever. It was just this thing that was happening. This was you. This was you in a 3D world. Lex Fridman (00:39:30): So how did that change Epic, this realization that the future of gaming is going to be 3D? Tim Sweeney (00:39:35): Well, at first I was really depressed. Lex Fridman (00:39:37): Yeah. Tim Sweeney (00:39:37): Because the wizardry of Doom especially was so incredible that I gave up on programming for six months. I was like, “I’m never be able to compete with this. I have no idea what we’re going to do. We’ll just keep making 2D games and hope that the business goes on.” But that was the nature of Carmack’s wizardry. He had done things that were not just one innovation leap ahead, but a dozen simultaneously, interplaying in a way that you couldn’t pick them apart into their component pieces. Tim Sweeney (00:40:05): But funny thing happened, Michael Abrash, long timer in computer graphics that wrote a book on the techniques for 3D graphics and texture mapping, and he wrote some articles in one of the programming magazines of the day and explained it and showed assembly code to do texture mapping, drawing these 3D graphics on the screen, and it was actually really simple stuff. I was like, “Oh, I can do that.” And so a bunch of us at Epic independently went off and started writing our own 3D graphics code to figure it out. And we found at one point we had a number of people dabbling in this, doing different parts of it, and at that point we decided, “Okay, 3D graphics and 3D gaming is going to completely change the world. We need to go all in on this.” And so we took the best people from our best 2D game development teams and put them all together to make a 3D game. We didn’t really know what we were doing at the time. None of us had ever chipped a 3D game and most of us were still learning, but everybody was trying different disciplines to see what they were best at. And it was a combination of a bunch of people who came together to make Unreal. Tim Sweeney (00:41:09): I’d initially volunteered to make the 3D editor for the thing, and James Schmalz had made Epic Pinball. Epic Pinball, now that wasn’t a crazy game. This was one of the 2D shareware games. He made it while he was in college and he was making like $30,000 a month from the royalties from this game. Lex Fridman (00:41:25): Wow. Tim Sweeney (00:41:26): Because everybody had wanted an awesome pinball game. It was massively successful. But he was a multi-disciplinary person. He wrote the code for the game, the art for the game, and did basically everything. And the code was 30,000 lines of assembly language. And so he was initially going to write the 3D engine and I was going to write the editor and he sent me his code so I could integrate it into the editor and it was like this giant pile of assembly code. I was like, “Hmm. Why don’t I just write this myself?” And so James instead started going off and building 3D models and 3D animations using the tools at the time. Tim Sweeney (00:42:00): And so Cliff had done a lot of design work and built the levels on Jazz Jackrabbit, went off and started learning basics of level design. And so I was writing this editor and Cliff Bleszinski was customer number one for it, starting to go off and build levels, and James Schmalz was joining awesome creatures, sending them to me, I’d get them implemented in game. Then we brought in an animator to bring them into life and we brought in more and more people until at the peak of Unreal One development we had about 20 people working on it, which was a huge team for the time, and it was really stretching Epic’s finances nearly to the breaking point. We barely survived and almost ran out of money a number of times, but somehow we always pulled through. Tim Sweeney (00:42:38): And it was a crazy project because it was three and a half years of development on a game that we always thought was six months from shipping. And it was like three and a half years of 70 or 80 hour weeks for most everybody working on the project, not even knowing what problems we’d need to solve next because we were so immersed in the current ones. Lex Fridman (00:43:00): Were there moments when you were losing hope that this might take too long and the company will run out of money? Tim Sweeney (00:43:08): We were always very financially stressed, so I was continually worried about that. I had total confidence that we’d work out all the technical and artistic problems because we knew the pieces and it was largely a matter of typing code in and solving some problems. And we knew we could ship a version of it. And the thing that was continually really interesting was the ongoing discovery of new techniques as we went. Because at the time Quake had shipped it had a little bit of dynamic lighting, Unreal really pushed dynamic lighting much higher than anybody else had done before, using colored dynamic lights with some shadow casting capabilities statically or moving lights without shadows and figured out how to do a volumetric fog so you could have foggy areas that were full of lights and you get the kind of glow of the lights standing out in the fog and affecting the appearance of the level. Tim Sweeney (00:44:04): A whole lot of amazing techniques came together to build a game that made a number of leaps ahead of the state of the art at the time. Yeah, it was really crazy. But I think most companies wouldn’t have survived that, but the sheer talent of the people involved made it possible. And Epic has often done things that most companies will have failed at and we succeed not because of awesome management or awesome planning or awesome financing, but because of the sheer talent and willpower of the people involved to make it happen. Lex Fridman (00:44:38): What about the interdisciplinary aspect of it? Like you said, sort of artists, engineers or programmers, designers, all of them working together. What was that, the 20 people, what was the dynamic there like working insane hours? What was it like to make a team like that work together well as an orchestra to actually deliver the game? Tim Sweeney (00:45:04): Yeah, that’s one of the really unique things that exist in gaming. Not in normal big tech companies, which are just engineering and business driven, but gaming really does require all of the best people across all the creative disciplines working together. And Epic had grown organically by recruiting people with awesome talent. We always had a limited budget. We could never pay to bid up people with salaries and hire them away by paying them more. We just had to find awesome people who were at the beginning of their career and put them together. Tim Sweeney (00:45:37): And so everybody was very new to this and didn’t have any assumptions about how companies worked. And so you put all of these people together and it was really a constant interplay of talent as people were learning how to work together as a team. Nobody had management experience. Most people hadn’t chipped a game before they worked with Epic. And we were figuring it out as we went. Tim Sweeney (00:46:02): But it was a constant iterative cycle. We’d make several new versions of the game every day, be a new compile, introduce a new feature or fix some bugs, get it to the artists, artists improve their levels, continue building stuff, and then we see what they’re doing in their levels and like, “Oh, I see what you need now.” We’d constantly be improving the tools and just the iterative process and the speed at which that improves products is the critical element to success in games. The slower the iteration cycle, if you make a build every week and you prove, you go through one iteration every week, you’re going to be way way way worse by the end of your project than a game company that makes new stuff every day. And that was the magic that happened together and there was really nothing but passion and everybody’s individual dedication to it that made it work. Lex Fridman (00:46:49): I heard you still program, but how much programming were you doing back then? You mentioned the hours, probably insane hours, so it’d be almost fun to talk about your setup, what a day in the life of Tim Sweeney in the ’90 when you were building Unreal looked like. Tim Sweeney (00:47:07): Well, we’d all gravitated towards a work schedule that maximized productivity. And that usually meant waking up late. Usually we’d get to work around noon, usually work till like 2:00 A.M. or so, 3:00 A.M. sometimes. Lex Fridman (00:47:24): Nice. Tim Sweeney (00:47:24): And I didn’t have anything else going on in my life so it was really just work and sleep and occasional eating. I found I always needed eight or nine hours of sleep a night. Without good sleep, I would just become a zombie and wouldn’t be nearly at my best. So I always needed to get sleep. But I didn’t need anything else going on. The programming itself was so energizing and enthralling. So it was three and a half years of that during the project. Mostly spent programming. I would say probably 60 hours a week of programming, five hours a week of coordinating with other people and iterating and sitting down with them and looking at what’s going on on screen and figuring out what they needed. Maybe five hours of business stuff. And there was a good division of labor then. Didn’t have a big executive team, but it was basically myself running the techno and development part of the company and Mark Rein running the business part of it, doing deals and maxing out his credit card and going around the world bringing in sources of revenue to keep the company funded. Lex Fridman (00:48:27): What programming language are we talking about? C? You mentioned there’s this pile of assembly. What was your decision in choosing the programming language that Unreal Engine would be written in? Tim Sweeney (00:48:39): I’d grown up learning with Pascal as my favorite language. Lex Fridman (00:48:42): Nice. Tim Sweeney (00:48:43): In order to just get maximum performance and get the latest operating system features, I had to move to C for my second game, Jill of the Jungle, little Nintendo-style platformer. And so when I started Unreal Engine, it was on 16-bit windows using the C programming language. And over the course of the first year moved to 32-bit, using these DOS extenders and then using Windows NT, and I moved to the C++ language and just because it simplified the code so much went from a really complicated pile of code to a much simpler one making that transition. And so almost the entirety of Unreal Engine development, about two and a half years of it, was all on C++, 32-bit, completely state-of-the-art then. Like 32-bit protected mode was kind of a magical thing having come from the days when computers were much less reliable and crashed all the time. Lex Fridman (00:49:38): Yeah and turned out to be a pretty good bet because C++ out of all of those languages ended up being the dominant performance-oriented language that survives to this day. Tim Sweeney (00:49:50): Yeah, yeah. It’s because it solves all the problems at scale. Often through manual pain, but always solves them. Lex Fridman (00:49:59): Yeah. Tim Sweeney (00:49:59): And a lot of other languages do better in a lot of theoretical aspects and are better for some usage cases, but you can’t do everything and that’s very limiting. Lex Fridman (00:50:10): All right, so ridiculous questions, but did you have one monitor, two monitors? Were you picking on the keyboard? Tim Sweeney (00:50:21): Okay. Lex Fridman (00:50:21): Were you picking on the chair? What are we talking about? Let’s paint a picture. Tim Sweeney (00:50:26): Okay. I went through a big transition there. Lex Fridman (00:50:27): Okay, great. Tim Sweeney (00:50:27): So I started out being pretty lazy. I had a bunch of, I bought used computers because you would often get them at half the price of a new one. They’d be good enough. So I had this old 486 I was developing on, I guess it was a 15-inch monitor at the time. It was a poor workstation setup but it was very economical. So as we started on Unreal, I realized that I had to write a ton of code. I had to write at absolute maximum productivity, so I had to rearrange my entire life around delivering maximum output. And so at that point I realized actually spending money on getting good equipment was a good investment. And we’re not talking about millions of dollars here or billions if you’re building a GPU farm, we’re just talking about buying some basic hardware. And so I bought the biggest CRT you could buy at the time, because this was a CRT. It was 24 inches, it weighed like a 100 pounds. I had back pain for a week after I installed it. But it got me 1920 by 1200. Lex Fridman (00:51:24): Wow. Nice. Tim Sweeney (00:51:24): View in 1996. Lex Fridman (00:51:24): State of the art. Tim Sweeney (00:51:28): In 1996 that was pretty cool. So I’d upgraded to a 90 megahertz Pentium and did a of programming on that. It was on the 90 megahertz print. These were the main consumer computers at the time and I’d optimized the Unreal Engine software renderer on that. The Pentium was the first superscaler architecture in consumer computing. It could run up to two instructions a time. And if you wrote your assembly code very carefully, you could get absolute maximum throughput. So I’d gotten my texture mapping code down to six CPU cycles, comprising 11 instructions, and that was required for every pixel on the screen, and that was just enough performance to deliver that. But Dell came out with these new workstations and Intel had just launched the Pentium Pro, the first out of order processor. And so I basically bought the absolute maximum configuration that money can buy. It cost $7,000. I had a gigabyte of memory in 1996. Lex Fridman (00:52:25): Wow. Tim Sweeney (00:52:25): And a 200 megahertz CPU. So it tripled the speed of compiles and just made me massively more productive. So that’s what I was using throughout Unreal Engine development and chipped with that. Lex Fridman (00:52:37): By the way, people in the ’90s would’ve been blown away by this workstation. I love it. Yeah, yeah. In writing, were you considering the hardware much? Was there a sense, so for people who don’t know Unreal Engine, rendering, I guess, is all software. Doesn’t use the hardware. But were you trying to optimize, as I understand, maybe you can correct me, but were you trying to optimize to the hardware at all? Tim Sweeney (00:53:02): Well, at the time. So we did most Unreal Engine development before the first real GPUs came out. The 3dfx Voodoo 1, the first GPU that actually delivered serious performance compared to software rendering, the first GPU that was really gainful came in in the end of the development and we supported it really quickly, but it was not the target all along. And so development was focused on just building. There are two parts of the engine. There’s all of the gameplay systems that manage the simulation and physics and so on. That’s all written in very high level C++ code. And maintainability is as much of a goal as performance because we had to build massive amounts of systems over time. Tim Sweeney (00:53:46): But one thing that was really bottleneck was graphics. The cost of rendering a single pixel was really high, and so you had to do everything you possibly could to optimize the rendering of pixels on screen. And so we were talking about how many CPU cycles. When you say your CPU runs at a gigahertz or whatever, it’s a billion instructions per second. How many instructions do you need to run to get a pixel on screen? And so there was a constant challenge to optimize that down. And there was also a competition among all of the graphics programmers who’d often send emails bragging to each other about what new technique they’ve discovered to try to get the cost down. And Abrash’s original articles took 12 CPU cycles to render a pixel and everybody else had figured out how to get it to down to six or sometimes even four cycles. That involved lots of different trade-offs of caching and memory hierarchy and so on. Tim Sweeney (00:54:39): It was just like a magical time where a human could actually understand exactly what the CPU was doing under the hood and could write code that exactly targeted that. And that’s largely lost now. When we talk about optimization in software now, it’s largely about heuristics and statistically this memory access is likely to hit the cache and this algorithm is faster than that algorithm because CPUs now have such advanced out-of-order execution that you really can’t micromanage what’s happening on an instruction-by-instruction basis. You can only manage the aggregate performance of code. And so there’s kind of this lost art. Some people miss it, some people don’t, in which the programmer had absolute control over the machine and could work miracles in special cases if you tried. Lex Fridman (00:55:27): It seems like there’s still value to that art when it comes to GPUs and ASICs. So basically trying to understand the nuances of the hardware and how to truly, truly optimize it, whether it’s for machine learning applications or for ultra-realistic real-time graphics applications. Is that true? Tim Sweeney (00:55:48): Yeah, that’s absolutely so. The optimization problems have just moved around. Lex Fridman (00:55:55): Yeah. Tim Sweeney (00:55:55): In a system like Nanite, the virtualized micropolygon geometry system that Brian Karis, a brilliant engineer with Epic built, was just one of those multi-year optimization efforts that required him understanding everything from the highest levels to the lowest levels of the hardware to figure out how to make this breakthrough technique work in a way that was actually maximally performant on GPUs. Lex Fridman (00:56:23): And so Nanite is the system, will jump around in time. That takes us to today with Unreal Engine 5, that’s the system that does the geometry. Tim Sweeney (00:56:32): Yeah. Lex Fridman (00:56:32): So rendering the world sort of geometrically. There’s many layers to this. We’ll probably talk, sneak up to each of those, but one, you have to actually create the geometry of the world around you and do that in real time and really efficiently and there’s a bunch of different ways to optimize that. Can you just speak to it? Tim Sweeney (00:56:49): Yeah. With the advanced art tools we have today, it’s really easy to create a scene with billions of polygons. The hard part is how to render it efficiently, because you can’t render billions of polygons in a frame. Basically, you want to render an image that’s indistinguishable from the full detailed geometry, if you rendered it, at ridiculous cost. And so the challenge is how to simplify every component of the rendering, the geometry, the lighting, and so on down to real time techniques. They’re efficient. they capture a realistic view of what’s around you. And so when an object is up close to you, you want to render it with a lot more polygons than when it’s far away. But one of the cool principles of mathematics is the Nyquist sampling theorem that says if you’re trying to reconstruct a signal, there’s a limit to the amount of data you need to bother capturing. If you want to render a texture at a certain resolution, then you never need more than twice the pixels than in the texture that you have on the screen. And that’s called the Nyquist limit. Tim Sweeney (00:57:49): And so one of the challenges of computer graphics is given the need to render objects at extreme close-up distances and extreme far away distances, you always want to be able to generate the right amount of geometry so that you have enough to be indistinguishable from reality, but not any more than necessary. And with geometry, the idea is that if you render two triangles per pixel, you should get an image that is indistinguishable from thousands of triangles per pixel. If you render less than two triangles per pixel, you’re going to start to see visible artifacts of the loss. Tim Sweeney (00:58:22): And GPUs have this amazing hardware in a lot of different pipelines, but it’s all very fixed function. There’s pixel shader hardware, there’s geometry processing hardware, and then there’s triangle rasterization hardware. And one of the limits of GPUs is that the triangle rasterizers are built for pretty large triangles. If you’re building a triangle or rendering a triangle with 10 pixels, that’s pretty efficient. But if you’re building or rendering a triangle with one pixel, it’s very inefficient. So one of the breakthroughs Brian made was to design an entire pipeline for avoiding the rasterization hardware in the GPU and just going straight to pixels and calculating what should be done with that pixel as a result of some ray tracing and geometry intersection calculations done in a pixel shader. So instead of using the triangle pipeline, we’re just using pixel pipeline. Lex Fridman (00:59:09): Wow. Tim Sweeney (00:59:09): And getting a better result. Lex Fridman (00:59:12): Because of the limitations of the triangle rasterizer in the GPUs. That’s fascinating. Because as you described, you need the tiny triangles for the detail for the stuff that’s up close. I mean, this might seem obvious to people, but it’s not just stuff up close. It’s like it depends where you’re looking. The human eye and the human focus and the human attention mechanism defines how much detail you want to show because the thing that the human is likely to be giving attention to, you want that to be super high resolution and everything else, including due to distance, can have less geometry and less texture, less information in it. Tim Sweeney (00:59:56): Yeah. Yeah, that’s right. But there’s a lot of challenges like that. It turns out it’s a lot easier to render one frame that looks perfect than it is to render a series of frames in motion that look perfect. A lot of the problems with the earlier algorithms that aspired to do the sort of things was popping. You’d be running some number of triangles for a while and then you’d switch to a different number of triangles and you’d see a visible transition and the screen would look like it got shaken up. It’s a disturbing artifact that distracts you from the game. So one of the magical trade-offs of Nanite was how to avoid all of the visible transitions and get them down to a point where though they exist statistically, they’re not really perceptible to a person looking at it. Lex Fridman (01:00:38): You look at something like Nanite, I mean, there’s a nice blog post, there’s nice descriptions about the details, but you can tell even under the details, there’s just incredible engineering that goes on. It’s so cool. It’s so cool how underneath this, the actual experience of beautiful detailed scenery, there’s just incredible engineering to bring to you simulation, ultra realistic simulation, of reality in real time, like lights changing everything. And then it just takes you back to that feeling I had with Wolfenstein, but more. And you can completely lose yourself in that world, and you would forget that this real world exists. What is the real world anyway? So that coupling of great engineering and great storytelling in terms of just feeling is super cool. It’s great to know. It’s great to know that there’s these teams behind it. And it’s cool that you’re also releasing a bunch of details around it, at least for folks like me. It’s inspiring to see. Lex Fridman (01:01:45): Unreal Engine is this fascinating creation. It’s a big, bold, crazy bet that you’ve made. Maybe it’s good to actually explain what Unreal Engine is for people sort of outside this world. I would say it transformed the gaming industry. But that was a big bet in 1995, that most of the effort would be on creating the gaming engine, not the game. Tim Sweeney (01:02:12): Yeah. A new engine is a big bundle of code and tools, a huge software package that provides all the functions you need to build any sort of a 3D graphics application. Game developers use it to make games and that’s the predominant use. But it’s also used in Hollywood film and television production to create 3D scenery in real time for production sets, to do a pre-visualization. It’s used by car makers to visualize their cars before they’re constructed or manufactured. It’s used by architects to preview buildings before they’re made and industrial designers of all sorts. And it provides all of the 3D simulation features you need, both for creating highly realistic 3D graphics, but also physics and interactions between objects and making things happen like you might see in the real world. And supports a huge variety of styles, from Pixar stylized movies to cell shading to photorealism. And it can be used for anything that needs real-time 3D graphics. Lex Fridman (01:03:17): Including humans that populate those three-dimensional worlds. And we’ll probably talk a bunch of the details involved in the process of creating ultra realistic humans, because we humans care about how other humans look and how they convey emotion and express, how they speak, all that kind of stuff. But so yes, it’s the 3D objects that are static, the 3D objects that are dynamic, and on the dynamic front, including humans that are ultra dynamic. Lex Fridman (01:03:53): So all of that. You have to create this engine that’s simulates that world, this beautiful world that we know and love. But you’re early, so here you see Doom and you’re trying to create this world and trying to create an engine that would not just power Unreal the video game, but future video games. So how do you go about it? What are you thinking? And I should sort of linger on that. That is a crazy bet that we’re going to build an engine as a company. Tim Sweeney (01:04:27): Yeah. Well, the philosophy began with ZZT and continued onward. We’re not just building a game for players to play. We’re also building tools that could be used for building that game or any other game and catering to all of the artists and designers who had used the tool. And so that philosophy started at the very early parts of Uinreal development. I was building the tools for level designers like Cliff Bleszinksi and artists like James Schmalz. And as we began marketing the game, thinking it was six months away, we were constantly releasing screenshots and things like that. Other companies started calling us and saying they wanted to build 3D games too, but they didn’t have the expertise for that and they wanted to license our 3D engine. Tim Sweeney (01:05:16): And this was one of the coolest pivots in Epic’s history. MicroProse called up Mark Rein, our pice President and long time business guy, and said they wanted to license our engine. And Mark Rein was like, “What? You what you want to license what? An engine? What engine?” And they explained to him what they wanted to license. He said, “Oh, that engine. Yeah, yeah, that’s very expensive.” Tim Sweeney (01:05:38): But this was one of the critical things that kept Epic going through that three and a half years. We were starting to license our engine out to other developers. MicroProse took two licenses and we got in half a million dollars from that. And a company, GT Interactive, licensed our engine to build another game and we got paid for that. And so we had this revenue stream funding the development of Unreal Engine from other games that were being built by other developers. And because they were the lifeline for the company, we took the engine business very seriously from the start. We set up mailing lists so that our partners could ask us questions. And all the developers and artists working on our games were participating in helping customers. Everybody took that very seriously because it was our funding source. And that’s kind of set this dual spirit of Epic of building technology and supporting game developers simultaneous with building games and supporting gamers. It’s continued onward and just grown over time. Lex Fridman (01:06:36): Can you just go back to that, you programming. What are some interesting technical challenges you had to overcome? You mentioned dynamic lighting, create this three-dimensional world and try to figure out the puzzle of how you actually do that at a time when nobody, Carmack and you, doing this kind of thing. It’s a totally open Wild West. So what are some interesting technical challenges you have to try to solve? Tim Sweeney (01:07:06): There’s a lot. Some of them are visible on screen and some are behind the scenes and still require a lot of innovation. All of the graphical techniques were really interesting challenges. And Unreal Engine in those early days went a lot further than the Quake engine and building environments using constructive solid geometry with a real-time editor. And that was a really interesting technical challenge. The idea is building is extremely tedious if you are only adding objects to the world. If you want to build a door, then you need to add like a dozen different pieces of door frames and add a bunch of different walls together to fit together in the right shape. It sure would be easier if you could just start with a wall and subtract the door out. And so we had this way of adding geometry to the world and subtracting geometry and the engine would perform all of the calculations on that. And this is something that I’d been anticipating was possible for- Tim Sweeney (01:08:03): This is something that I’d been anticipating was possible for a long time, but when I finally got around to it took this 30-hour coding session to figure out all of the special cases of the code that needed to be implemented to make that work. In the course of 30 hours, I got constructive solid geometry up and running. Tim Sweeney (01:08:18): I started doing that, handed it to James Schmaltz the next time we were together and it’s like, “Okay, I think you’re cheating here.” You create a giant Taurus and then add another giant Taurus interlocked with it and then subtracted a cylinder from it and created this really advanced composite object with just three operations. He was like, “Whoa, I can’t believe this.” It’s like, “Yeah, we figured it out.” That was cool to see it for the first time. It was probably the first time somebody had done constructive solid geometry in real-time, but it was also a really useful artist tool that all the artists appreciated immediately began making use of. Lex Fridman (01:08:52): Can you actually speak to that, the 30-hour session? I mean, this is not, from everything I know about computational geometry, doing this kind of thing from your perspective is not, that’s not easy. What is it? The uncertainty, the open questions involved. I mean, even just on the algorithm front, how to do that efficiently and then plus, the usual programming thing of debugging, like suffering through the trickiness of it. We don’t have really, at that time, you don’t have the tooling to really visualize everything that’s going on really well. You’re probably using some crappy editor, I mean, there’s just a lot of friction here, so the 30 hour session is one that’s probably rough. It’s a rough one. Tim Sweeney (01:09:44): Your brain works in different ways and depending on your state, right? There are some things that require really working on a problem fresh, where you’ve put together a bunch of logical pieces and now you just need to write a whole lot of code to make it all work together and plumb a whole lot of data between a whole lot of different algorithms. I think our brains have vastly more horsepower than we’re able to directly access by thinking of what code to type next. After you’ve been working for a very long time, you can get into a sleep-deprived state where you have much more direct access to that low-level knowledge. Lex Fridman (01:10:25): That’s great. Tim Sweeney (01:10:26): Yeah, because there are symptoms that are well-studied of sleep deprivation. One of them is short-term memory loss. You’re working without the easy recall of the code you just typed, but your brain is then freed to think about other problems. I built up this intuition over a very long period of time. The foundation for the subject is the binary space partitioning tree. This data structure invaded by a computer. Graphics researcher, Bruce Naylor. Carmack had picked up on that and had used the technique in Doom to really great effect. I’d picked up on that and no one really was using this technique for all of its graphics and rendering, but it was just additive geometry everywhere and it had a lot of overlapping polygons and it was pretty inefficient. Tim Sweeney (01:11:13): I had the idea that if we had a BSP tree, there was a really efficient way to do constructive solid geometry. To do that, you had to break down the ways that different pieces of geometry can fit together. I’d broken it down into 14 different cases and most of them are pretty simple, cranked them out. Anyways, I got towards the end there were some pretty complicated things like, “Well, how do you deal with coplanar polygons? They’re in the same plane and pointing in the same direction versus the other direction. In what cases should you keep them in? What cases should you eliminate them,” and so on and so on to create really efficient geometry output and just plowing through it eventually through mostly a deduction, but some trial and error too. Sometimes you just have to try the possibilities and see what works. Yeah, I cranked it out and it worked, and the next day I came in kind of weary and I was like, “Oh, wow, this actually did work. It wasn’t just a dream.” Lex Fridman (01:12:04): You’re considering the edge cases also. I mean, that’s the problem with geometry is like there’s probably just going to be all kinds of weird polygons that you have to … So you’re thinking imagining the edge cases and trying to see how do I not create inefficiencies in this algorithm while still considering the edge cases, allowing for the edge cases? Tim Sweeney (01:12:24): Yeah, it’s pretty easy to write software that’s like 99% correct. It’s the 1% that’s the really hard part and where the devil lies in the details. Lex Fridman (01:12:35): What about lighting? Is there other interesting- Tim Sweeney (01:12:37): Well, the funny answer is we know the laws of physics, so it’s actually really easy to do everything in computer graphics, but the direct solution of the laws of physics is immensely slow. What we’re finding are approximations rather than complete solutions because you need something that’s a million times faster than the brute force answer. Lex Fridman (01:12:58): We should say that the physics of the scene is you just take a bunch of photons and bounce them around. That’s how light works. That’s going to be very inefficient because there’s a lot of bouncing and a lot of photons. Tim Sweeney (01:13:11): Yeah, photon tracing is the subject matter that does brute force calculation of pixels on a screen from all of the light in the scene, and it works and it’s correct, and it just is an implementation of laws of physics and it’s millions or billions of times slower than what we do. Carmack had figured out how to do really cool lighting algorithms, including real-time lighting with objects moving around, and I hadn’t taken it very far. With Unreal Engine, I realized we don’t have nearly enough computing performance on our CPU to compute the light of every pixel on the screen from all of the light sources that affect it. Yeah, we were at a six-cycle texture mapper and we couldn’t afford 30 more cycles for lighting, and so the answer had to be some approximation. The one that Carmack had picked up on in the quake engine was lightmapping. If we, instead of calculating all the lighting on every pixel, what if we made a big texture that we placed over all of the walls in the scene that was wallpaper, and what if we say at every foot, we’re going to compute a lighting value for just that one foot grid on the object rather than computing it everywhere. Then, well, if we just linear interpolate that over the course of it, get a lighting solution that actually works pretty well and is fast enough to work. A lot of Unreal Engine’s lighting techniques were based on lightmapping. We introduced colored lighting, so you could have colored light sources. Then we realized, “Oh, since we’re doing this and we’re doing it on light maps, we can actually do some pretty expensive calculations, hundreds of cycles since we’re only calculating it for every one foot of world space rather than every pixel.” Tim Sweeney (01:14:49): We introduced a whole bunch of elaborate lighting effects like torch flickering and the caustic effects of water bouncing off of a surface and so on, pulsing lights and blinking lights and everything else, and created a system. I created a system for compositing them together. If you had an arbitrary number of light sources, they could all do that. Then I implemented a shadowing algorithm. If you cast a ray from a light to a point on a surface and see whether it intersects any other geometry, if it doesn’t intersect, then the light hits the object. If it does intersect, then the light hits something else first and that pixel on the object should be dark. I built a real-time version of this and it ran at about a half a frame a second. I was running around at half a frame a second, shooting out light projectiles and looking at dynamic lighting, and it was like, someday computers will be fast enough for this, but not today. I made a non-real-time version that pre-calculates all the lighting and realized, “Oh wait, if you pre-calculated the shadowing on an object, you can still apply the lighting dynamically as long as the light’s not moving.” You could do torch flickering with shadows and figured out all the cases of dynamic and static lighting that were actually practical on a computer at the time and expose them to artists. This was the wonderful thing. I was just typing in these old features, exposing them to artists, and every day they’d find like a dropdown with some more lighting options available to them, and they’d start using them and they’d do things that I never thought possible. Tim Sweeney (01:16:18): This was always the coolest thing as a programmer building an engine, you might think you know the implications of the feature you’re building, but artists are so clever that you’ll always find that you’ve built the capability of doing vastly more than you ever anticipated as they start to use combinations of features together in concert to do ever more amazing things. Lex Fridman (01:16:36): That’s the genius of artists, is they’re given constraints and within those constraints they create something you could have never possibly imagined given the constraints. That’s such a beautiful coupling between engineering and artistry and art. Tim Sweeney (01:16:51): That’s right, and it’s timeless. What would the Renaissance painters do with paints and what do the early game artists do with early engines, everybody’s figuring out the capabilities of their medium and you’re seeing a revolution. Lex Fridman (01:17:05): This is blowing my mind. This is so fun. What about fog? You mentioned fog. How do you even do fog? You mentioned Unreal, so the first version had fog. Tim Sweeney (01:17:16): Yeah, it was a funny thing. This graphics hardware company had just started up in Finland and they released a screenshot of what their GPU was doing, and they showed a scene filled with volumetric fog. They had a foggy room with some light sources in it. When that happens in the real world, what you see are glows around the lights as the light brightens the fog around it, but the brightening of the fog diminishes over time because the fog absorbs some lighting. The further you get away from the light, the more fall off there is. We have a bunch of colored lights overlapping together in a space like that. The effect is just absolutely magical, like being out on a foggy light with street lamps above. It’s something that’s surreal and looked just beautiful. I was like, “Oh my God, they figured out how to do real-time volumetric fog. I have to figure it out myself.” That was another 30-hour coding session. Lex Fridman (01:18:07): Nice. Tim Sweeney (01:18:08): At the core I realized, okay, what’s happening here is we have this lighting function saying that light at a particular point in space is falling off with the inverse square of the light, the distance from the light source, right? The inverse square is all from Isaac Newton, which applies to lighting. I had to realize that the way the fog interacted with the light was that you calculate the view from your eye’s position to a point on a surface in the world. It’s going through fog and you’re accumulating more and more light as a function of the amount of light illuminating the fog at that point in time. Tim Sweeney (01:18:41): Well, I’d studied that in mechanical engineering without even knowing it. That’s the line integral. You have an integral over a line of some function. Well, this is exactly what it’s for. It’s for accumulating the values of a function over a continuous space and time. I did a bunch of math and realized that, oh wow, the integral. Then I looked in a reference book of all the integrals, and thankfully people have solved them all. I realized the integral of this transformed one over R-squared turns out to be solved by the arc tangent of R. If you calculate some parameters based on the position of the eye and the position of the surface point you’re ultimately seeing, then you calculate exactly how much fog you can accumulate from that. Of course, you can’t do that per pixel because that’s hundreds of cycles on CPU time. What we had to do is calculate volumetric fog on something equivalent to a light map, but calculating fog every square meter in the world. We had enough performance for that, built volumetric lighting and gave it to the artists and they started building magically detailed levels with volumetric fog in real time. Then decades later, I was talking to one of the engineers who’d worked on that hardware and asked about their volumetric fog and told them how it inspired me to figure out how to do it in real time myself. He was like, “Oh no, we cheated. We just rendered it out of 3D Studio Max.” Lex Fridman (01:20:06): That’s awesome. That is so awesome. That is so inspiring on so many levels that you saw that maybe it’s possible even if it was kind of smoke and mirrors, and then you actually made it happen. It’s so inspiring to hear these kinds of stories when there’s so much uncertainty and you figure out and so many constraints and you figure out how to bring it to life in real time and create this world that Unreal did. Maybe if we could just pause, since you mentioned John Carmack a few times, as a fellow pioneer in the game industry at that time, what do you admire about John? Tim Sweeney (01:20:43): John singularly has this intense dedication to getting the best result from his code and having absolutely no attachment to passcode and some of the legendary things he did. The end result was an absolute breakthrough in real-time computer graphics, weren’t his first try. They were like his seventh or eighth try after he’d done something time and time again, tried it, found a better approach, thrown out the old one, built it again, and continually rewrite his code until he found the absolute best solution to a problem. I think that stands as a lesson for every programmer to pick up on. When something is really, really important, its performance is absolutely critical to the product or its quality or its capabilities. Just iterate on it until you’ve achieved perfection and don’t settle for the first or second solution is good enough. Lex Fridman (01:21:40): The result of that both you and him sort of define the future of gaming, of gaming worlds. It’s so beautiful to see. It’s just fascinating. It’s inspiring because under so much uncertainty, under so many constraints, you figure out a way. That actually continues to this day because yes, the hardware is improved incredibly, but in order to create an ultra realistic, highly dynamic, real time rendering of the world around us, it’s still really, really difficult. There’s all these kinds of optimization, like you mentioned. Maybe you can speak to that Unreal Engine One journey from one to 5.5 or .6 now. For 30 years, you’ve been creating virtual worlds. What’s it like evolving a game engine for those 30 years when the hardware under you is improving exponentially? What are some things that changed and what are some universal truths that have not changed? Tim Sweeney (01:22:50): It’s been an astonishing experience. Nobody 30 years ago had anticipated that we’d see the performance gains in hardware that we’ve actually seen in that timeframe. It’s something like 100,000 times higher CPU performance between multiple cores and higher clock rates and more parallelism. If we had that in aviation, then we’d be taking a trip to neighboring stars. Lex Fridman (01:23:12): Alpha Centauri, yeah. Tim Sweeney (01:23:13): Exactly, and in graphics, it’s been even more so. It’s something like literally 10 million times more net usable GPU performance than we had back running on a Pentium 90 CPU all in 30 years. It’s really made me appreciate that over the generations, some areas of our engine development have absolutely kept up with that technology, and the rendering team that works on Unreal Engine are the real miracle workers there. Just about every generation of Unreal, we’ve replaced most of the rendering code and the different leaders in different points and times, and the different luminaries have built systems that were absolutely rethought and optimized for the latest generation of hardware. Tim Sweeney (01:24:03): Unreal Engine One was built for software rendering and then the Voodoo One came along late in the cycle and we had support for it, but it wasn’t fully capable and utilized. Unreal Engine Two was about bringing all of the latest GPU hardware acceleration features to the engine and keeping forward and building some new features like vehicles and a few other capabilities. All this was in the early GPU era before GPUs had really broken out of everybody’s expectations and more That breakout occurred with DirectX Nine and the capabilities of programmable shaders. Once you had control of writing code, running on the GPU that could color every pixel on the screen, and that GPU code was literally a factor of 100 times faster than the equivalent code I wrote a few years earlier on the Pentium 90. Tim Sweeney (01:24:55): DirectX Nine Generation was a godsend, and Andrew Scheidecker longtime Epic Luminary wrote the core of the Unreal Engine Three render around real-time pixel shading, real-time lighting, being able to do dynamic shadows using several different techniques and multi-thread the render to support bits of the early dual core CPUs that were starting to show up at the time. It was a massive, massive graphical upgrade. Unreal Engine Four, made a number of improvements and just continued to add features to make more and more give artists more and more options for lighting and for geometry that created realism. Tim Sweeney (01:25:40): Then I think probably our biggest single level of a leap came with Unreal Engine Five with a Nanite Micropolygon geometry solution and with Lumen Global Illumination Lighting Solution, which I think really bridged the gap from game-ish computer graphics to total observable photorealism for artists who wanted to create that. That’s been the evolution and the progress on the graphics side is absolutely astonishing as it is on the audio side in a number of other areas. Parts of the engine also, haven’t changed all that much since the version I wrote and shipped in 1998. The file management system has been optimized a number of times, but it hasn’t been completely rethought. The networking system, the ways that clients and servers talk together and negotiate game State is still an evolution of the thing I wrote and it’s feeling kind of dated now. You still see networking bugs in Fortnite where for some reason when you’re spectating, you’re not seeing some parameters update. Well, that’s because of the lossful nature of that networking model. Tim Sweeney (01:26:51): The biggest limitation that’s built up over time is the single-threaded nature of game simulation in Unreal Engine. We run a single-threaded simulation. If you have a 16 core CPU, we’re using one core for game simulation and running with the complicated game logic because single-threaded programming is orders of magnitude easier than multi-threaded programming. We didn’t want to burden either ourselves or our partners or the community with the complications of multi-threading. Over time that becomes an increasing limitation. We’re really thinking about and working on the next generation of technology and being on Unreal Engine Six. That’s the generation we’re actually going to address a number of the really core limitations that have been with us over the history of Unreal Engine and get those on a better foundation that the modern world deserves, given everything that’s been learned in the field of computing in that timeframe. Lex Fridman (01:27:46): That’s a terrifyingly challenging engineering problem. It seems like every version of Unreal Engine, the amazing teams behind it are willing to just throw away most of the code, or maybe I’m being a little bit too dramatic, but basically throw away the old approaches, like you mentioned with Carmack and start again, like with Nanite and Lumen, just keep optimizing to the current hardware, but even rethinking how it’s all done going from single-threaded to multi-threaded. Oh boy, that’s terrifying. Lex Fridman (01:28:25): That’s in part, we’ll talk about it, why maybe you have to rethink even the programming language that’s being used to rethink a lot of things. That’s fascinating. Can we just stick on Unreal Engine Five? I watched a bunch of stuff, but the state of Unreal in GDC 2024. I was just giggling with excitement watching some of this stuff. If we can talk about different things here just to nerd out a little bit. People should go watch this video. They talked about the dirt. The ultra-realistic, and this is for Marvel 1943, which is kind of putting the Marvel universe into Nazi-occupied France in the winter. There’s snow, and that’s a moment in history. That’s a very intense moment in history, and it really creates a feeling and puts you there. There’s so much to that, including the snow. Lex Fridman (01:29:31): Just looking at the dirt is a really nice way to show how do you add a lot of details to the scene in real time that gives this experience infinite detail? This is real, this is super real. Then I think in the talk they describe what’s entailed in the generation of the geometry, what’s entailed in the lighting, all that kind of stuff. Maybe can you speak about dirt? What are the components for people who might not know in creating this ultra-realistic, the texture, the lighting, the geometry, all of that, how Nanite, how Lumen all come together in this beautiful orchestra to paint in real time, the dirt in Nazi-occupied France in 1943? Tim Sweeney (01:30:30): Yeah, there’s a lot happening here on screen. The real hero of this image isn’t Epic. It’s the artists and technical artists who work together to build this environment. Because the reason we showed it at GDC was it went way, way beyond what we realized the system was capable of doing, largely because of their brilliance. This is the magic of computer graphics. There’s not one feature that makes this cool. There’s a dozen technical features that each interplay, and because of the ways that they interplay with each other, you really don’t … It’s hard to actually identify the individual components of it. Tim Sweeney (01:31:05): One thing that’s happening here that’s really critical, oh yeah, now we’re seeing it being turned off, ’cause the lighting happening. The Lumen lighting system that’s powering the scene is doing different kinds of lighting calculations at different scales. This was the work of Daniel Wright following a decade of moving the state-of-the-art of lighting forward. His theory, which was rather controversial at the time, was that if you have enough levels of lighting calculation, then you can get everything global illumination working everywhere from the absolute highest levels of a scene that buildings are casting correct shadows, all the way down to details like you see on the dirt here, all working in concert and without distinguishable boundaries. There’s a good decade of foundational work there to make the lighting work. In particular, when you see the very detailed shadows interplaying between the ice and the dirt there, there’s screen space sliding. There’s actually shadow calculation going on, not based on the world, but on the pixels on the screen because that is the only way that we could possibly do these calculations fast enough, running them on a pixel shader. Lex Fridman (01:32:21): Yeah, watch this. Watch, when you add the objects, when you add the textures, the different layering, all the shadows that have to be computed. Boy. Tim Sweeney (01:32:32): That shadowing is an amazing thing. The reason that works is counterintuitive. When somebody first explained it to me, I was like, “That’s really clever, but I don’t think that will work,” but it does work because if you observe the positions of incoming lights and the Z-coordinates of the different pixels on the screen, you can figure out how your geometry there is likely to occlude other geometry. Even though it’s only an approximation and isn’t perfect, it looks perfectly good to the human eye and gives you the subtle shadowing that you see in a scene like this that makes it look highly realistic. The shadowing influences other things. Tim Sweeney (01:33:11): There’s also, some really interesting things happening with the color here, and I’m not even sure what’s causing it looks like color is bleeding from some parts of the snow onto other parts of the snow. It looks like there’s some subsurface scattering going on. I’m not even sure if that’s being used in this scene. Then there’s a material layering system for laying down layers of material, dirt and snow and other things all making that work. Then there’s the light bouncing off of the geometry, which is another system for lighting on top of the global illumination system. Lex Fridman (01:33:47): What about reflections too? Does that count as the light bounce? There’s a light bouncing off of stuff to light it up in different interesting ways, but then there’s also, actually literal reflections in We’re looking at a puddle in the dirt. Tim Sweeney (01:34:01): Yeah, yeah, that’s right, but the engine supports a number of different reflection techniques. One is calculating basically textures that reflect the capture, all the lighting in the scene, and then bouncing that off of texture maps. You can see different lights bouncing off of different pixels in different ways. Then there’s individual lighting casting reflections off of things too. A lot of this is under the control of designers. One of the things that’s a yet to do problem for the future is that you don’t just press a few buttons and this kind of scene magically appears. Tim Sweeney (01:34:33): This is a lot of work from some highly skilled people, not only building out this particular scene, but then setting up the material layers so that you get the dirt with the ice layered on top and all the reflections working. They had to make a number of technical art decisions to make this work. If a novice who hadn’t worked very hard built that kind of scene like this, it wouldn’t look nearly as good. One of the challenges we have is to make building this kind of quality level even easier and more seamless and automatic. You’d like to just build a scene and say, “Use this material here and have this appearance come out of it.” Lex Fridman (01:35:06): Yeah. I mean, once you create the scene, you could do things. I remember where they said, “Can you turn off the headlights?” I forget. You could control the lighting. I mean, all of this, we should say, this is dynamic. You can change the position of the light. You can turn on the lights and off the lights. That’s incredible. This is all real time, the geometry, the lighting, the textures, all of it, real time. Tim Sweeney (01:35:35): This is the power of awesome technical art, three decades of feature development. You have to give credit, also, to the 20 teraflops of graphics performance that Nvidia is delivering. Lex Fridman (01:35:48): Thanks, Nvidia. Tim Sweeney (01:35:51): 90 megahertz to this, 90 megahertz is 90 megaflops. This is 20 teraflops. That’s a big change. Lex Fridman (01:35:58): That’s a lot. One of the other things that they talk about in the presentation is about snow. If you’re talking about 1943 Nazi Germany in the winter, you have to create a feeling, one of which is the season, the winter, the cold, and you can have to cover everything in snow. Here shown is the ability to control how much snow covers the objects. The ability to do that for the artist is incredible, just to control how much snow is in the scene dynamically like that. That’s cool. Tim Sweeney (01:36:40): Yeah. Lex Fridman (01:36:41): That’s really cool. Tim Sweeney (01:36:41): It’s a cool system for material layering and a dozen pieces coming together here. You also, notice there’s fogginess and there’s some hot objects emanating fog. An artist did that, that didn’t just arise automatically. Lex Fridman (01:36:54): That’s called material layering. An artist creates the different materials and are able to layer the scene with it. Tim Sweeney (01:37:02): Yeah, layer materials on top of each other and see how much of each material should be protruding in different places with the engine handling transitions and things like that. Lex Fridman (01:37:10): That’s on top of the geometry that creates the structure of the scene and all the occlusions that have to be computed. Okay. I got to go to the other one that was just blowing my mind, which is smoke. Let me see. That. Look at that. Yeah. There’s a fire in a trash can with the smoke and the shadows, the lighting and the shadows interplaying on the smoke. This is real time. Tim Sweeney (01:37:48): Yeah, that’s all real time. Lex Fridman (01:37:49): What the hell? How do you do that? How do you do the smoke? Tim Sweeney (01:37:55): Well, there’s a really powerful particle system underneath. It’s providing the technological foundations for this sort of thing, but there’s awesome artistry on top of that and an awesome physics engine powering it. It’s hard to tell exactly which piece is doing what, but you have several different particle systems there. There’s one for the fire, and then there’s another one for the smoke coming out of it. The really interesting thing happening with the smoke here is that it’s occluding light. There’s calculation of how the light should diminish as it travels through smoke. You’re seeing the lighting on the smoke being the really interesting thing. There have been a lot of attempts, but this was the first demo where I felt like this kind of smoke had really no longer looked like a video game. It looked like just a burning trash can, billowing out dark smoke. Yeah, it’s the artist’s sophistication. It’s a very, very, very large part of it. Lex Fridman (01:38:54): Yeah, again, it’s the interplay between the tooling and the artists. Yeah, like that. I could watch that for a long time. There’s something magical sitting around a fire in real life and just watching the fire and the smoke. I mean, humans have been doing that for, I don’t know, hundreds of thousands of years maybe. Then that same, I was just staring at that, and I wish the people would just stop talking and I could just watch the fire infinitely. I mean, that’s immersion. That’s like I want to be in there, I want to sit around that trash can with the fire and the smoke and watch and maybe warm myself because I was also feeling cold because of the snow. You’re like, you really get immersed into the thing. I mean, it’s so beautiful. It’s true art. It’s true art. It’s just really wonderfully done. Lex Fridman (01:39:45): Okay, so I got to ask you about the humans. We talked about what’s it like to create the scenes, but creating realistic humans is really tough. Can you speak to that? How to create ultra-realistic humans? You have an actor behind this to convey emotion, show the nuances and details of the faces, and maybe this is a good opportunity to also mention metahuman creator, that’s part of Unreal Engine. Tim Sweeney (01:40:14): Yeah, that’s right. Humans are, by far, the hardest part of computer graphics because millions of years of evolution have given us dedicated brain systems to detect patterns in faces and infer emotions and intent because cavemen had to, when they see a stranger determine whether they were likely friendly or they might be trying to kill them. Tim Sweeney (01:40:35): Humans, we people in the world have extraordinarily detailed expectations of a face, and we can notice imperfections, especially perfections arising from computer graphics limitations. It becomes by far the hardest problem. The metahumans effort is part of a decades-long initiative that Vladimir Mostilovic, the most talented digital humans visionary in the world, has been working on for generations and generations of games, serving individual clients around the game industry for a while. Then joining Epic as part of the three-lateral team and leading now a worldwide effort to build all of the technologies required to make digital humans realistic. Tim Sweeney (01:41:18): One part is capturing humans. We’ve got really advanced dedicated hardware that puts a human in a capture sphere with dozens of cameras in them, taking high-resolution, high-frame-rate video of them as they go through a range of motions. Then capturing the human face is complicated because the nuanced detail of our faces and how all of the muscles and sinews and fat work together to give us different expressions. It’s not only about the shape of a person’s face, but it’s also about the entire range of motion that they might go through. Capturing one human requires a few hours of capture work in a dedicated environment like that. Then thousands of hours of processing work to capture a precise and real-time replicatable version of that human in the environment, and so one of the things that … Tim Sweeney (01:42:03): … that human in the environment. One of the things that’s done is just capturing an actor or actress in the real world and then using them in a video game. But the much more interesting thing going on is capturing thousands of humans to form a dataset whose goal is to encompass the entire range of faces in all of humanity, so going around every culture, every continent, every age and every face variety and capturing representative people so the entire range of faces is represented. Tim Sweeney (01:42:29): Then being able to combine and merge those together to enable recreating an arbitrary face that the system’s never seen before. One of the ideas is capture giant amounts of this high-precision data and then you use it to reconstruct a face at a consumer level, like maybe take an iPhone photo of somebody’s face and then capture a very accurate depiction of that, not by synthesizing it then and there on that device, but by combining all the known details of human faces to accurately capture the most accurate representation of that. That’s the data problem. Tim Sweeney (01:43:03): There’s a lot of other problems with computer graphics. There’s technology for rendering hair, which is really hard because you can’t render every, again, we know the laws of physics. It would be easy to just render every hair. It would just be a billion times too slow. You need approximations that capture the net effect of hair on rendering and on pixels without calculating every single interaction of every light with every strand of hair. That’s one part of it. Tim Sweeney (01:43:27): There’s detailed features for different parts of faces. There’s subsurface scattering because we think of humans as opaque, but really our skin is light travels through it. It’s not completely opaque. The way in which light travels through skin has a huge impact on our appearance. This is why there’s no way you can paint a mannequin to look realistic for a human. It’s just a solid surface and we’ll never have the sort of detail you see. Lex Fridman (01:43:52): We should actually just linger on that. That kind of blew my mind thinking through that. I think I heard that the oiliness of the skin creates very specific nuanced, complex reflections, and then some light is absorbed and travels through the skin and that creates, would it be fair to say micro shadows or something? It creates textures that are humanized, able to perceive and it creates the thing that we consider human, whatever that is. You have to compute both that, the reflection, how light interacts with the oiliness of the skin and how it is also absorbed in, and all of that while considering all the muscles involved in making the nuanced expression, just the subtle squinting of the eyes or the subtle formation of a smile. Lex Fridman (01:44:44): It’s a stupid, annoying subtlety of human faces that you have to capture, the difference between a real smile and a fake smile. Man, I love human faces. I love humans in general. But the way to show the beginning of a formation of a smile that actually reveals a deep sadness, all of that. When I watch a human face, I can read that. I can see that. Again, this is the engineering and the artist. You have to have the tools that in real time can render something like that and that’s incredibly difficult. But anyway, sorry. There’s a lot of this kind of complexity in even just the lighting of a face. Tim Sweeney (01:45:23): That’s right. Getting faces right requires the interplay of literally dozens of different systems and aspects of computer graphics. If any one of them is wrong, your eye is completely drawn to that and you find it on the wrong side of uncanny valley. The level of perfection needed in this area is vastly, vastly higher than world rendering or grass or any of these other things. If the shadows on a work of architecture are slightly wrong, you’re pretty [inaudible 01:45:53] with it actually. Your brain doesn’t really care that much. But if anything wrong with a human, it’s totally jarring. Lex Fridman (01:46:01): Can you speak more to the creation of digital humans with MetaHuman, both on the editor side and sort of bringing it to life side? It seems like because I’ve watched a bunch of videos, a bunch of individual developers doing it, it’s not too difficult to bring a human to life using the tooling that Unreal Engine editor provides. Tim Sweeney (01:46:24): There are two main tools. Compared to the old days where every face was created by hand by an artist from scratch, one is the MetaHuman creator tool for creating faces where you have a huge number of parameters you can adjust to create a unique human by adjusting all the different capabilities of them. You can then get that with MetaHuman creator into Unreal Engine. Then you can add all kinds of computer graphics features there in the engine. You could add clothing using the cloth simulation system and you can adjust the hair and all these other parameters on the thing. Tim Sweeney (01:46:59): Then there’s MetaHuman Animator, a tool for animating a human based on a facial capture, which can be done on a device as simple as an iPhone and transfers the captured animation to the human you want, which is not straightforward. If the actor has one face shape and the character on screen has another face shape, the translation that needs to be done from the actor to the face is actually really sophisticated and non-obvious. If you just applied it literally, then it would be completely wrong from your point of view. Tim Sweeney (01:47:27): Those are the main tools that people are using now. Then within the Unreal Engine, then you have a face and you can do absolutely anything you want to it. You could also, if you decide to go outside of the MetaHuman geometry pipeline, you could build your own face, like any creature of any sort, and then use the animation tools to animate it. But this is 30 years into a project that’s probably like 50 years in total to get to absolute photorealism and controllability for absolutely everything. There’s vast amounts of work still to do, and we don’t feel like we’ve solved the problem at all. We’ve just given artists a big productivity multiplier and a quality multiplier, but this is not in a state that we would say is done. Lex Fridman (01:48:07): Nevertheless, I’ve seen people use it really effectively. I saw it almost like plugins, maybe external services where you can get the faces to approximate the mouth movements required to speak a thing. That’s a really useful feature. Tim Sweeney (01:48:25): That’s right. When you have an artist or actor in your studio and you’re recording a specific performance, you can just capture their facial motion and apply it. But if all you have is a voice recording or you’re generating a voice recording or it’s parametric or procedural or AI generated, then you need the system to translate that speech not only to movement of the mouth and lips, but also to facial expressions and the whole intent. When we’re speaking, it’s our whole face that’s active and emoting in different ways and not just a mechanical motion of the pieces. Lex Fridman (01:48:55): We spoke a bit about Nanai, so the magic behind the virtual eye geometry system, but can you speak a little bit to Lumen and in general what it takes to dynamically light in all the complicated ways, the faces, the scenes that we discussed. What are some interesting things to you that made the magic of it happen? Tim Sweeney (01:49:15): Lumen is a system for global illumination, meaning it’s supposed to calculate the interaction of light with the entire scene in a way that mimics reality. The first generation of engines that did lighting just said, “Well, the light casts light and the surfaces it hits are lit and the surfaces it doesn’t directly hit are dark, and that’s just all the techniques we have.” You’d have an area that wasn’t hit by any light being completely black. Tim Sweeney (01:49:41): But in reality, light bounces around the entire scene dynamically. When a light hits a red wall, then most of the blue and green light is absorbed, but the red light reflects off and now is hitting other things. If you have a red wall with a white floor, light is bouncing off of the red wall into the floor, and now the floor is being turned red. The entire bouncing of light around the scene through multiple bounces is the critical challenge to solve here. Tim Sweeney (01:50:09): Again, laws of physics are known and so the complete solution to this, it was written down in the 1950s, I think. The real magic here in Lumen is this system that Daniel Wright developed over the course of many years based on ideas formed over a longer period of time to calculate the way lighting bounces around at different scales ranging from the scale of miles or kilometers down to the scale of pixels and millimeters. To not only calculate at each level, but integrate it seamlessly at each level to give the appearance of completely seamless and accurate lighting. Previous techniques were highly specialized and artists had to make a decision for each light about exactly what it did. The goal, and a lot of the practice with it right now is you build a scene, you place lights in it, and it just works to make it that much easier. Lex Fridman (01:51:02): I mean, we’re watching, I’d recommend people go to this blog post, look at that. It’s a dynamically, we should say that so there’s the indoors and the outdoors, and to be able to dynamically compute the impact of outdoor light, just look at that. Look at how gorgeous that is. It’s just the lighting like look, we’re looking now at an image of a cave. External light lighting the intricate complexity of the insides of a cave. Look at that. Tim Sweeney (01:51:31): Light in the real world goes through a lot of bounces and the effects of it are very subtle, but when they’re not there, you miss them. Often a person can’t point out why a scene is wrong, but they know it looks wrong, and it’s the lack of the subtle lighting cues that we’re seeing here. Lex Fridman (01:51:46): For great, because we mentioned for great video games, but also for great films, lighting can make a film, and we’re just looking at sort of a very dramatic lighting of a scene. I can imagine stepping into the scene. It’s exciting, it’s terrifying, and all of that has to do with light, the interplay between light and darkness. It’s incredible. It’s really, truly, truly incredible. Light is everything. Then to put the power of the tooling in the hands of an artist, that is really special. Tim Sweeney (01:52:16): The industry has gone through a massive evolution and there’s so many supporting systems to make this awesome, and always artists. Lex Fridman (01:52:25): We’re looking at reflections on smooth surfaces. Oh boy. Oh boy, look at how gorgeous that is. Tim Sweeney (01:52:35): That’s right. Lex Fridman (01:52:36): Wow. Tim Sweeney (01:52:36): You have to appreciate the algorithms are doing quite a lot here. You can have a scene with a huge number of not just lights, but also bright objects that reflect light off of them. Every one of those has to be captured in the reflections in order for it to be realistic. You can’t calculate every photon in the scene. You need really detailed approximations, and that’s the field of computer graphics. It’s about increasingly effective approximations of the laws of physics, which are just totally intractable. Lex Fridman (01:53:04): But the result of that graphics is a feeling, is an experience by the viewer. It’s just to me as a fan of, well, let’s say beauty in the world, it’s exciting that we can create that synthetically, artificially, via graphics. That just, it blows wide open the possibilities of storytelling. Lex Fridman (01:53:25): Outside of video games, a lot of people are using Unreal Engine for movies, for films, and big congrats. I saw War is Over, a short film that was made with Unreal Engine, won an Oscar. You can add that to the resume. That’s huge, an Oscar-winning film made with Unreal Engine. What do you see as the future of the use of Unreal Engine in creating stories in the film industry? Tim Sweeney (01:53:57): Increasing capabilities and productivity. The limiting factor in every one of these businesses is cost, and the more the engine can make their jobs easier, the more power that brings them. One of the big revolutions we’ve seen in Hollywood is the moving away from doing computer graphics integration into a human scene with green screens to moving to these large LED wall panels where they’re displaying real-time computer graphics powered by the Unreal Engine. That’s a massive improvement in quality. Tim Sweeney (01:54:29): You can recognize the old green screen movies because the lighting on the characters is just wrong. As much as they try to fix it up, it never really works. But when you’re filming in front of an LED panel with LED light emitters in front of you as well, the actor not only picks up all of the lighting from the actual natural scene that they’re supposed to appear in the movie, but they also can look around and see it, and they’re aware of exactly what set they’re acting in, and just the overall end result is that much higher. It’s as much because the actors are able to do their jobs better seeing the scene they’re in because the technology is enabling a better lighting calculation and a better interplay of virtual light and real-world light to make the end result awesome. Lex Fridman (01:55:09): There’s a lot of excitement around generative AI. What do you think is the future of the interplay between what a human artist creates and what an AI system can create in Unreal Engine? Tim Sweeney (01:55:23): I think a lot of people in the industry are overly optimistic about the rate of progress of AI for video and other things like that. The real problem is consistency, like spurting out an image is really high quality, but with video over the course of seeing all the AI approaches have consistency issues going from one place to another. I don’t think that those will just be remedied easily. Fundamentally, AI just doesn’t have anything resembling an understanding of the entire scene they’re in, the entire arc of the movie or plot they’re in and the entirety of the world around them and how it might affect the scene. Whereas game engines have that exactly where they need to be. I think what we’re going to see in the space of world-class high-quality productions isn’t just everybody moves to AI and a large part of the human creatives contributing to that are obsolete. I think what we’re going to see is AI becoming a multiplying force on the power of human creatives, making them able to create better stuff more quickly and with higher quality end results. Tim Sweeney (01:56:28): I think unlike the fields of generative 2D art and generative text, I think the future of AI is much more complex and nuanced. I think your interview with Mark Zuckerberg conducted in VR was a really good first example of this. You did this VR discussion. It was capturing your faces and then rendering a completely 3D computer graphics model of your faces. Then the end result was patched up by an AI image enhancer that was able to add an awful lot of the missing subtleties that are lost by normal computer graphics rendering. That’s the first step. Tim Sweeney (01:57:05): You can imagine the output of Unreal Engine being enhanced by an AI pixel shading post processor is one thing. You can imagine creation of objects being enhanced, especially mashing up high quality objects that have already been created, like Epic’s Quixel team went around the world and scanned tens of thousands of real world objects at extremely high levels of quality. They have everything from rocks to trees to archeological finds and so on, all captured there. We have an awesome library of them on the fab content site. What’s missing is the ability to create arbitrary amounts of new content. I think using data like that and AI to create completely new trees that meet your specification from all of the knowledge that has built up of high quality scan trees, it’s going to be a really valuable thing. Tim Sweeney (01:57:55): But I don’t see this reducing the need for people or the role of people. Rather, I think it actually is probably an enhancer on that. I can’t help but think when I go on Amazon and Netflix to watch a movie there’s an awful lot of linear content and most of it isn’t very good because of the limitations of the media and the budgets and of other things. If we can use AI as an enhancer on that, then everybody’s going to have even more opportunity than they have now. Every single technological revolution has changed the way that people work, but it’s ultimately created more opportunity for people. The pundits predicting that this might be the last, but I think just the opposite. I’m an optimist on this and an optimist that it’s going to create opportunity for everyone. Lex Fridman (01:58:40): Do you think it will be possible to generate, so use generative AI to create dynamic objects, like you mentioned trees, in the Unreal Engine world to create meshes and textures and empower the creator to create faster, use meta knobs like hyperparameters versus very nuanced, where you can control much faster the look of a face, the look of a tree, all that kind of stuff? Tim Sweeney (01:59:10): I think that’s the central challenge of the next decade of game engines and AI for content creation of all sorts, because you have two very different models to the world that are emerging. There’s the scene graph, the technical term we use to describe the set of all of the objects in the world in a 3D world maintained by Unreal Engine or another engine. In the videos you saw, it’s the rocks and the trees and the snow and the bridge and the people and all of these things. Each one has enormous amounts of data attached to it. Some are like texture maps, some are sound files, some are animation files and enormous amounts of detail all stored there in that procedural and in this precise computer graphics representation that enables rendering it from any perspective with any settings and so on. It’s a completely general system that has complete context about the state of the world at any point. You can always precisely reproduce it. If you play the same scene 10 times in a row, it’s always the same. It’s never randomly changing. You’re like, “Oh no, why did this character’s face change midstream?” Tim Sweeney (02:00:14): But it’s also rather limited because you have to build everything manually. That’s costly and it’s time-consuming. It requires expertise. Then you have this other model of the world, which is what AI sees or thinks. If we could peer into what’s really happening in its parameters, there’s something like the mushy connections of neurons in a brain. It has a vast amount of knowledge about the world and about graphics and about images and about people and about everything else. It’s stored in a human incomprehensible form, but it can be extracted through queries like asking it to produce an image from a prompt or a video from a prompt or whatever. Tim Sweeney (02:00:50): But the huge problem with that is it’s very mushy data. We don’t know how to give it a command that will give us a precise result. If it produces one image one time and we change our prompt slightly, it might produce something completely different. We are unable to art-direct it. It’s this completely untamed tool. I think when we figure out more and more ways to merge these and connect these two together, you can imagine AI enhancing the process of content creation in a traditional scene representation. You can imagine the scene representation being shared with the AI so the AI not only sees a prompt, but also here’s a list of all of the objects in the world and the characteristics and so on. It can learn more about how those objects should move and interact. Tim Sweeney (02:01:35): If you get a constant feedback cycle going back and forth between an engine and AI, then I think you can get the best of both worlds, stable scenes, but also the higher productivity of being able to get content out and the ability to select specific parts of it and art-direct those and to have those art-direction stick and be recognized as part of this permanent scene representation. Lex Fridman (02:01:57): I can’t wait until AI can operate not in the space of pixels, but in the space of scene graphs, creating objects in the scene graph, whether it’s like you mentioned, audio or any of the things that you mentioned about that empower the creator. That’s a super exciting future. I wonder if you could speak to a fear that people have on this topic of artists, engineers are losing their jobs, being replaced by AI. Are there words of hope that you could offer them? Tim Sweeney (02:02:32): This is certainly the most extreme example of it because AI is just so far ahead of prior technologies, but similar fears were had in every other industry. There’s a fear that digital music synthesis would obsolete musicians. There was a very brief period of time in which songs with digital music instruments, like the early Minimoogs and Yamaha synthesizers weren’t allowed to win certain music industry awards because they weren’t considered real music. Then over time, the people were educated and realized these are just instruments people are playing and they’re controlling them the same way they did before. There are similar questions about is computer art built in Photoshop really art, or is it just goofy computer stuff? I think nowadays digital artists have gained respect. I think if you look at just the tools that have existed in Photoshop, some of them are pretty sophisticated and nowadays they have AI features. But I think AI is ultimately going to be another tool in the artist’s tool set. Tim Sweeney (02:03:33): I think it’s going to become a more powerful directable and human serving tool in the future. I think a lot of the alienation comes from the prompt either being immensely powerful at giving you an entire creation, but then being completely unwilling to let you control the nuances of it. That feels alienating. You give it an image, but you’re like, replace the image of this part of it with this thing or make that object green and it just, it can’t do it. Often it can’t be convinced with any number of words in the prompt. That makes it feel like the computer is taking control away from us, humans and artists, and is refusing to do what we want and has its own opinions. It feels like a competitor. Tim Sweeney (02:04:14): I think when we have much, much, much more nuanced control of it and artists can join and just like let’s enhance this object, do this, do that, do that, it’ll feel like some of the tools that exist in Photoshop, which are in some ways compared to a paintbrush or superpowers already. AI will come to feel like that too, and will increasingly serve creators creating and enhancing a work in a way that feels just a natural extension of their own bodies and minds. Lex Fridman (02:04:40): Of course, there is a real human pain to layoffs and there’s a hype around AI and then companies might try to implement AI systems, and in so doing, layoff a bunch of folks and the pain that those folks feel is real. I think there’s always going to be pain with these kinds of transformation that’s happening and it’s a terrible pain. Pain in general in the human experience is terrible. Lex Fridman (02:05:08): But I think I’m personally excited by the human AI collaboration as you’ve described in this whole process. I think if you just keep being open to using the tools, constantly trying the cutting edge tools, how they can make you more productive, how can they empower you as a creator, as an artist, or as an engineer, I think you’re going to just keep winning. Tim Sweeney (02:05:32): There’s a lot of complicated trends underway. It can be hard to break them down and distinguish them. I think a lot of people like the theories that get the biggest traction on social media often don’t capture the real underlying motive forces at play there. But I think AI involved in code production will probably create a net benefit for the need for humanity to be involved in coding. It may change parts of jobs. I don’t think it’s going to obsolete anybody who’s willing to learn new ways of doing things. It’s always been this way. Tim Sweeney (02:06:05): I think that there’s also a lot of over hype in AI. AI is really great at spewing out code that does something that a million GitHub repositories already do because it’s learned the underlying pattern. It’s notoriously hard to get to do something new that hasn’t been done before, especially when it’s a complex task. The bigger amount of code you ask AI for, the more it leaves you with just a mess of code that sort of works. Then that’s the problem with code, it like 99% works, but the 1%, it might be harder to get to 100% with AI than with hand coding. Everybody who’s looking at this topic should actually try using the coding assistants on hard problems and see how they do there. Lex Fridman (02:06:43): I think for me personally, it makes it more fun and faster to generate boiler play code so I can focus on the harder decisions, harder big picture decisions and harder innovative decisions and all that kind of stuff, and just makes programming more fun for me because I feel less lonely. Even when it gives the wrong code, I get like, “Oh, okay, well that’s a way to do it. That’s interesting.” Then you could talk to it. Maybe that shows something about the programming experience that it is in part sometimes a bit lonely. Tim Sweeney (02:07:20): The topic of boilerplate code is an interesting one because the mere existence of boilerplate code is a failure of programming language and of the idea of creating software modules. You ask AI to create a sorting function, great. Now you have another sorting function that might be buggy alongside the million others that different people have written. It would be better to have a sorting function that’s been written and tested and optimized and everybody relies on it. More modular software I think will actually reduce the opportunity of AI because people doing programming work will largely be solving unique problems. They’re actually hard problems in themselves and not just connecting other widgets. Lex Fridman (02:07:59): I think as in many cases, AI will just help improve the human systems by shining a mirror to ourselves. I have to apologize for the pothead question ahead of time, but you’ve been, let’s talk about the metaverse broadly. You’ve been a big proponent of the idea of the metaverse. We’ll talk more specifically what that means today, but we’ve been talking about simulating reality better and better and better. The pothead question is what does it take to simulate reality to the level we see around us today? How far away from that are we to simulate this ultra-realistic, immersive fun reality that earth is? What does it take? Tim Sweeney (02:08:45): We’re going to get shockingly close over the coming years, certainly less than 20 years. If you look at the progress, what areas where we have achieved total photorealism and what areas where we fall short, we’re getting very close in all non-human interactions you see in the world walking through a jungle or a city, all the lighting, it’s very close, and that might be just a few years away. But then all of the problems that involve humans, human dialogue and intent have a much, much, much higher bar that they need to meet to satisfy our brains and convince us that they’re realistic or real. I think that’s going to be the primary challenge of graphics development and simulation development over the coming decade. Lex Fridman (02:09:27): The realistic humans, that’s going to be the bottom line. Visual and behavior too, so everything? Tim Sweeney (02:09:35): Yeah, I was asked about this about 10 years ago, and I said that even if you gave us an infinite amount of computing power, we couldn’t simulate realistic humans because we simply don’t have the algorithms. We have no idea how to simulate human intelligence. That was absolutely the case then, but it’s not really true anymore. What we’re seeing with generative text AI is not only at a level that you could say that it’s actually doing a pretty good job of simulating a human, at least humans at the text level, not at the emotional level yet, but at least at the level of words spoken and find more and more ways of training on more and more scenarios that you might have a very, very compelling human simulation going on in the next five years even. I’m not saying it’s a good idea, but I think the arc of the technology is inextricably heading in that way, and it’s heading at a shocking rate. Lex Fridman (02:10:27): We don’t say this enough, but the current state of LLMs, I mean if you put Alan Turing in conversation with chat GPT, I mean it really passes the Turing test, like almost definitively passes the Turing test. Of course, we keep raising the bar. Well, the Turing test is not a real test, it’s not a useful test, whatever. We just keep raising the bar for AI where it’s always going to be lesser than. But you have increasingly ultra-realistic faces and bodies combined with increasingly moving and powerful full of emotion, speech, text. Lex Fridman (02:11:09): I work with this amazing company called Level Labs that does text-to-speech well. There’s companies that specialize in bringing text to life. That’s going to increase different companies to do that very well. Then all of a sudden you have this synthetically created scene where a human is speaking and you’re moved to the point of tears because of the scene, beautifully lit face in the full darkness, the emotion, the drama of the scene. I think so you’re saying five, 10 years, maybe 20? Tim Sweeney (02:11:42): Yeah, absolutely. We’ll definitely see it in our lifetimes. Lex Fridman (02:11:46): Increasing the level of potheadness in my question. Do you think we might live in a simulation? If we do or don’t, how hard would it be to build such a simulation where we’re fully convinced we’re in it? Tim Sweeney (02:12:03): Well, I don’t think that these questions are necessarily unanswerable. I think I’d like to see more actual effort to ascertain what is the underlying mechanism of the universe. I don’t think we’re here for no reason at all. I think the world’s a pretty cool place, and the fact that we can exist and know the laws of physics and especially the standard model of physics and all of the parameters that lead to these atoms and life evolving in the presence of thermodynamic gradients, that’s really cool. I think it’s a worthy field to study more about that holistically. Tim Sweeney (02:12:37): I don’t know. The question of are we living in a simulation ourselves always boils down to, well, if we are living in a simulation, what are they living in? Because at some point there has to be some base reality. One of the philosophical theories that was put forth seriously was that there’s no physical reality. If you have a system of equations such as the laws of physics, then all possible evolutions of dynamical systems under those equations kind of have a physical reality. We just are kind of a manifestation of laws of math rather than needing an actual universe around us. I don’t know. I like dabbling in that philosophy. As we get AI becoming smarter and smarter and we get closer and closer to really capturing the full laws of physics, these questions become quite a lot more compelling. Lex Fridman (02:13:23): You start to think if we’re not living in a simulation, what are the things about this reality that are not simulatable? What are the big mysteries around us? It feels like the physics is simulatable. It feels like a lot of the incredible stuff that we talked about, while super nice, seems simulatable. But then there’s the flame of consciousness, the feeling of it, whatever that is that lights up in our eyes as humans. Maybe that’s not simulated. Maybe that is the thing. Maybe that’s a thread that connects to the explanation of the mechanism, as you said, of the universe that’s really important to understand and we’re completely clueless about that mechanism. I mean, a lot of the religious texts sneak up on what that mechanism is, but we’re still mostly clueless. We only have these leaps of faith and believe in what that mechanism might be. Tim Sweeney (02:14:16): The whole idea of nested simulations, perhaps given sufficiently advanced technology is kind of mooted such that if you wanted to simulate another reality, you’re kind of just actually creating the reality. You’re doing quantum mechanical operations that would produce the same result anyway, and you’re running them at full performance. It’s not really a nested simulation, it’s just another thing that’s happening in the universe. That would be interesting. Tim Sweeney (02:14:44): But I think it’s ultimately a theological question. Because it’s no longer cool to deal with theology as part of science, there’s not been much work on that. You can’t publish results on those topics in a respected physics journal. I think that it’s kind of been set aside. But it’s interesting to note that the laws of quantum mechanics themselves have a place for God or souls or whatever external source of input you might want to attach to such a thing and that there’s this idea of quantum waves function collapse, that when we look at a quantum system evolving in perfect superposition of many possibilities and you go to observe it, you actually just see a specific possibility in the multi-slit experiment. The light ultimately ends up being observed going through one slit or the other. That’s a place where there’s this random number of being injected into everything around us, trillions of trillions of trillions of times per second, and everything we’re observing. If you want to attach some external input, well there’s a place. Lex Fridman (02:15:46): It could be seriously accessible to the rigors of science, but we just know so little there. Tim Sweeney (02:15:52): It’s funny. In that area, we know nothing more than cavemen knew whatsoever. We know the laws of quantum mechanics and we have computers that may be soon more advanced than we are. Tim Sweeney (02:16:03): Computers that may be soon more advanced than we are, but we just don’t have any answers to the fundamental questions about life, the universe, and everything. Lex Fridman (02:16:13): Do you think, sort of more practically, do you think we’ll create video games, video game worlds of the metaverse variety in which humans will want to stay? So I mean, to me, this kind of discussion of a simulated reality, the real test of immersion is not wanting to go back to the real world. As a perfectly healthy, excited, normal human being, choosing to stay in that world, how hard is that, do you think? Tim Sweeney (02:16:48): Well, I think the technology is coming and then there’s a human question of should we go that far? Lex Fridman (02:16:54): Should we? Yeah. Tim Sweeney (02:16:56): Yeah, certainly as a game developer ourselves, Epic doesn’t aspire to that. We make fun games. Lex Fridman (02:17:01): Yeah. Tim Sweeney (02:17:01): And the ultimate manifestation that we found is fun games that people play together to have fun in between work and the other things in their real lives. But as the simulations get more and more realistic and the capabilities become more and more real, I think we have to ask ourselves some hard questions about how should humanity operate in that space? What are the limits that we should go to and what are the limits we should set? Lex Fridman (02:17:23): Yeah, I think there’s going to be some hard questions, and I think maybe I’m just being human centric here, but there should probably be some legal bounds on two things, sort of not creating a reality in which humans would want to stay too long, sort of yeah, focusing more on the game side, and more importantly, not creating simulations of humans that could suffer. To me, as we talked about creating ultra-realistic humans, eventually that means creating humans that can suffer, that can fall in love and experience heartbreak and loss, they can fear death. And the more you simulate that to the full reality of the human condition, the more you get to this place where you have a simulated humans that is able to suffer. Lex Fridman (02:18:23): And I think legally speaking, I think you have to get to a place where that’s not allowed. There is a line you can’t cross, and that’s a hard thing for humans to deal with. That’s going to be some interesting Supreme Court cases. Once you create a human sufficiently realistic to where they can suffer, means that human could be tortured and do terrible things to that human that’s artificial, quote, unquote but boy, that still feels wrong. I don’t know what that is, but it feels wrong to torture a simulated human. Now when you play a video game and it’s a shooter and everybody’s having fun, that doesn’t feel wrong, but there’s a line and that’s going to be a fascinating line for the Supreme Court to explore. Oh man, what an exciting future we’re living in. Huh? Tim Sweeney (02:19:28): Yeah. I think the thing to appreciate is game developers have just generally been on the good-spirited side of things. If you look at the worst things that people do in popular video games today, it’s like what? You rob a bank in GTA? But it’s clearly fictional and all in fun and not serious and over the top. I think yeah, as things get more realistic, especially simulation of humans, yeah, there are some hard questions that will have to be answered there. But I think the thing that all game developers need to remember is we’re here to make people’s lives better by entertaining them, providing them with fun and a diversion from other things and being a part of their lives and not trying to be too big or being too much and not trying to provide an alternate to reality, but to just provide a fun source of entertainment like the many other things that people do for fun. Lex Fridman (02:20:22): So you spoken, like I mentioned about the metaverse for many years. Let’s step back. What is the metaverse? And speaking of fun, Fortnite, just hundreds of millions of people just enjoying themselves in this huge scale social game. You could call it a metaverse. Maybe you can describe the different flavors, the layers of how you see what the metaverse is. Tim Sweeney (02:20:52): The metaverse is an idea who stock price goes up and down depending on who says what on what day, and some have an ability to drive it way down by opening their mouths, but ultimately this is about multiplayer social gaming experiences, you and your friends getting together in a 3D world and having fun together in any way you want. If you’re playing Fortnite Battle Royale, in my view, that is capturing the essence of the metaverse, and it’s especially in Fortnite when we got Sony on board so that all players on all platforms in Fortnite could play together, could voice chat together, and could be part of a single game experience, it really took on a new nature, which was not just like a multiplayer game with Heritage from Doom, but also a true social experience between you and your friends. And Fortnite Battle Royale is just one manifestation of that. Another one is Rec Room: VR, where you’re standing around in VR with friends playing billiards and or shooting hoops or doing other light entertainment things. Tim Sweeney (02:21:54): I think every game that has a huge number of players who play together socially as part of their entertainment lives, yeah, I think is really getting at the core essence of the aspiration for the metaverse. And we’re still in the very early days of it. I was on the internet in like 1992 or so, and it was a pretty bare bones thing. And I think when we look back at the state of gaming today, we’ll realize that there’s a lot further to go to get to the ultimate version of it, but I think it’s all on track. And I think it was the time we released Fortnite Battle Royale and started playing together. All of the people at Epic and squads and experiencing that world that we realized that this trend was afoot and that we needed to do everything we could to bring in other creators so that anybody could pile on to the work we were doing by creating their own worlds through Fortnite, Creative and UEFN, and creating more games and more genres that people could play and ever expanding the repertoire of fun. Lex Fridman (02:22:57): Yeah, I would love to sort of talk about different aspects of that a little bit more because Epic has created a lot of amazing games, Unreal Tournament, Gears of War, but the game that I think is fair to say that transformed the gaming industry was Fortnite, Fortnite Battle Royale especially. Can you explain the origin story of Fortnite? Tim Sweeney (02:23:16): Well, Fortnite has humble beginnings. In 2011, we just been in the final days of finishing one of the Gears of War games, and we wanted to explore ideas for new games, and we’d had a general idea that we would like to build some smaller games, online games and or to learn more about yeah, that space and not just have one single massive game in production at all times and only one. And so everybody in the company was given a week to form a team and work with whichever co-workers they wanted and build a game using Unreal Engine so you can actually build something pretty interesting in a week. And one of the teams built the very first version of what became Fortnite. The very first version of it had a different art style, but it had the idea at the core that you’re going to build forts by day using this building system. Then night would come and you’d defend the forts against zombies, and the longer you could go, the more elaborate forts you could build and the more survival waves you could withstand, and it would get cooler and cooler with time. Lex Fridman (02:24:20): Nice. Tim Sweeney (02:24:21): And that game was in development for a very long time. We always saw the potential, just the building aspect of it was incredibly fun, but we made different pivots at different times. At one point we had moved to the current Fortnite art style away from kind of more of a realistic style, made it more in the Pixar vein of cool stylized characters. Lex Fridman (02:24:43): What was that decision like? Because what you mentioned Gears of War is this incredible, like shows off the graphics to the fullest, different than the artistic style of Fortnite. It’s amazing that the same company would make this fun, silly graphic style of Fortnite. Tim Sweeney (02:25:01): People come to Epic because they want to work with the best people in the world, and artists bring a lot of different personal art aspirations and style capabilities, and many of them are very multi-talented in British photoreal content or highly stylized content. And a lot of the best artists on Fortnite were a lot of the best artists on Gears of War too, change styles, but continue doing awesome work. We’d realized that Fortnite could be really mainstream and it could be a game people play for a long time. And so having a more visually pleasing art style that’s not as stressful as a Call of Duty game where you’re constantly like pixel hunting in a dark scene for somebody’s rifle scope. That was the goal. So a few of the artists got through into find a new art style and we moved to it and at different points it evolved towards being kind of like a light MMO like Destiny with rather complex RPG and stat systems. Tim Sweeney (02:25:50): And that evolved into kind an MMO like tower defense game. MMO only ended up persistence of items and stats, which became Fortnite: Save the World mode, which we launched in early 2017, and it was a moderate success. It paid its budget and we come out ahead. And then at the same time the Battle Royale genre was booming, PUBG had just come out. Tons of people at Epic were playing at. They were like, “Oh, this would be so cool if it had Fortnite building.” Tim Sweeney (02:26:18): And so we assembled a team in a war room, like 30 people in one big room, and they worked insanely hard for four weeks to build Battle royale. So the nice thing is all of the content for Fortnite had been built over the previous seven years. They had a huge library of content but no game play of the type they wanted. So they had to build it all in that four weeks and ship it. And that put Epic on an exponential growth curve where we went from 300 employees to thousands of employees and went from about a $100 million in revenue to billions of dollars in revenue and became the center of the gaming world at the time. Lex Fridman (02:26:54): Can you actually speak to the technical challenge of going from mostly a not online large scale gaming platform to being able to support with Battle Royale, a huge number of people playing with each other at the same exact time. What’s the technical, four weeks. What’s the technical challenges there that had to be overcome? Tim Sweeney (02:27:17): Since 2012, we’ve been building online backend system to support player accounts and log in and all of the different systems there needed to make a multiplayer game. And we’d been building them to be scalable, and by some miracle, we built them stably enough that they were able to scale up. And so the online team who was responsible for patching that code, spent a year of intense work getting it to scale from 40,000 concurrent users to 15 million concurrent users. Lex Fridman (02:27:45): Yeah, I mean they’re scaling. They’re scaling. That’s a lot. Tim Sweeney (02:27:49): That’s immense. But they’ve done such an awesome job of building the foundations that found it was tractable, it was doable. If they hadn’t done that, then the company would’ve died. Fortnite just wouldn’t have been playable and the whole thing would’ve failed. Lex Fridman (02:28:03): I mean, there’s just so much detail there. That makes all the difference because I mean, that’s what Spotify has talked about that, like the latency. It’s like how quickly you can deliver the song changes the product from being this shitty thing that I’d rather pirate the songs to. This is good enough to where I really enjoy the experience, I want to use it. So yeah, that’s really important, to create an experience for 15 million concurrent users to where it’s not lagging or it actually works. Right. Is there something you could say to sort of, like how difficult that is to pull off? Tim Sweeney (02:28:50): The trend nowadays for building online services is microservices. There’s not one big server that handles all of the interactions with Fortnite. There’s game servers running 100 player game instances for each Battle Royale session, and then there’s an account server and many instances of it all talking to a shared database, and there’s hundreds of different microservices talking to each other. And so scaling is a matter of identifying what are the bottlenecks in that system and making sure that each one can scale and has enough redundancy to be able to handle the load. Thank God for Amazon Web Services and cloud hosting because Epic went to 15 million concurrent users without buying any server hardware. Tim Sweeney (02:29:33): We were able to just call up Amazon and say, we need more. And there was a period of time there where Fortnite was undergoing this exponential growth and we’d find one week we ran out of servers in Brazil during a heavy weekend of play, and next week we had an even heavier weekend of play and there were servers to handle it. Somebody at Amazon had drop shipped millions of dollars of server hardware into Brazil and turned it on just in time for Fortnite to need it. And yeah, there are a lot of unsung heroes in that story, many of whom we have never heard of. Lex Fridman (02:30:05): Yeah, I mean behind AWS, many unsung heroes. There’s like so much of those folks who run the modern internet, all the incredible services, the games, the services that we take for granted are currently being run on AWS or were originally and Google Cloud and so on. Yeah. Can you speak to how much money Fortnite made? So this is one of the greatest successes in the history of video games also. Tim Sweeney (02:30:36): Fortnite makes billions of dollars a year, and that’s the majority of Epic’s revenue, that we have a robust business around Unreal Engine licensing, Rocket League and Fall Guys, and some other tools like the Fab content marketplace. But the majority of it is Fortnite because we’ve chosen to reinvest heavily in building what we think is the future of technology. We’re spending more every year than we’re making. And for a bit of time we were spending over a billion dollars a year more than we were making, and we found that to be unsustainable. And we went through some painful layoffs at that time, and then we stabilized and now we’re spending several hundred million dollars a year more than we’re making, which we can very well afford to do because we have billions of dollars in the bank. Tim Sweeney (02:31:20): Thanks to a combination of the profits we made when we were a very small company with a very big game and because of investment we’ve raised. We’re not an oil well pumping oil out of the ground where we discovered oil. We are growing to be a future technology powerhouse. And we think the 3D space and the future of real-time 3D simulations is going to be one of the major facets of technology for humanity. And we’re all in investing in that. Lex Fridman (02:31:45): Yeah, it’s exciting to see that investing in a long-term future, sort of taking the risk of doing the research and defining the next chapter of Epic. So using the successes of the day to invest into the successes of tomorrow, that might look very different, completely different. And part of that is investing in the developments, the research and the innovation in the Unreal Engine. Tim Sweeney (02:32:08): That’s right. We’re a company that can start working on a project knowing that we won’t reach fruition or make any money from it at all for three years, four years, five years. We’re totally okay with that. And that’s the cycle that’s fueled our growth over time. It’s constantly investing in the future and being a serious company that’s doing serious R&D side by side with shipping and maintaining products and earning money from them. Lex Fridman (02:32:34): So can you speak to, I mean there’s several directions here. So one of them, sort of the future evolution of this idea of the metaverse, so potentially creating communities. So Fortnite is this incredible, huge community of humans interacting, but your vision is to go outside of just one game. So what is the kinds of standards that you’re thinking about building such that people can sort of have an identity and almost travel between games and that kind of thing? Tim Sweeney (02:33:11): Let me start with the present of gaming and why it sucks. Lex Fridman (02:33:15): That’s a good start. Sure. Tim Sweeney (02:33:17): Fortnite is an awesome thing. You go into Fortnite, there’s 100 million monthly active users there, a huge number of your own friends are there, you can play with them, go from experience to experience seamlessly without leaving the app. There are 100,000 different islands you can play on, and some of them are really awesome and they’re constant new ones coming out and constant things to do. If you want to play Roblox, all right, you quit out of the Fortnite app, you launch the Roblox app, different program, different friend system, different account names, your username in Fortnite and your username in Roblox are different names and they’re not connected to each other. So you have to remake all of your friends and then find different things to play. And now the controls are different. So you have to relearn how the joystick, mouse, keyboard, controller works in that experience and you have to go from place to place and you buy some stuff in Fortnite and it’s really cool and you can use it anywhere in Fortnite. Tim Sweeney (02:34:06): And then you go in Roblox and you don’t have that stuff, you have to buy different stuff. And that stuff only works in Roblox. And same with Call of Duty. It’s another isolated place. And same with World of Warcraft, and same with League of Legends. And every place you go is its own unique place, different friends, different account names, different people, and there’s no social cohesion between them at all. And a long time ago, consoles set out to solve this problem by creating their console-wide friend system in account. So your friend on PlayStation in one game is your friend on PlayStation in another game, but only on PlayStation. If you’re on Xbox, you can’t see PlayStation friends. And so you have two basically orthogonal and cross-cutting divisions of the world into fiefdoms, which were not created with bad intentions but arose and are separated isolated islands. Tim Sweeney (02:34:54): One is the platforms and they’re social services, Xbox, PlayStation, Nintendo, Steam, Epic if yet it to the list. And the other is these different games people play. And because of this weird historical artifact, we’re left in a world where people can’t seamlessly move from games to games, bringing their friends and their stuff. So the solution to this is to federate and connect all of the systems together. All of the players on all of the different platforms can be recognized by their name and put the at sign in it so your Xbox names and your Fortnite or Epic names and your Steam names can all live together and interoperate together in a single space. So unifying the social ecosystems is one thing that needs to happen. Next and bigger challenges to unify the economies too. Now, I’m not talking about a sword you have and World of Warcraft should work in Fortnite. Lex Fridman (02:35:47): Yeah. Tim Sweeney (02:35:49): Every game’s going to have its own gameplay rules and a lot of games are going to have stuff that only works in them. But there’s a huge set of games that have in common the idea of a cosmetic system that does not affect gameplay outcomes but is purely cool looks and cool appearances. Most of the major multiplayer games have them. And if you look at games, you could probably bundle together about 70% of them and say they’re similar enough that they could actually interoperate, that you could own an outfit in Fortnite, own an outfit in Roblox, and own the same outfit in maybe Call of Duty and maybe 100 or 200 other games and actually expect they would work together. And you find other kinds of items are probably interoperable too. Like Fortnite has car outfits, so you can buy different appearances of a car. And when you find a physical car in the world of Fortnite, if you’re the first person to get into it in that session, boom, it takes on your chosen car cosmetic and now you have a cool car that’s identifiable as yours. Tim Sweeney (02:36:54): We realized early on with Fortnite that the key to making Fortnite work as a creator economy was to open up the revenue from the item shop to all of those sources of engagement. Right. There are two big things happening in Fortnite that make it work as a product and as a business. One is the game modes, Fortnite Battle Royale, and all of the user modes and everything else are sources of engagement. People play there because it’s super fun and because they’re playing there, they’re willing to buy cool stuff to make their character look cooler. And so you have all of these sources of engagement, but the sources of engagement don’t make money directly. You can’t spend money in Fortnite Battle Royale to buy a game item. The gameplay is not paid to win, and it’s all just a game. So we make money from the item shop and the item shop only adjusts because of the sources of engagement. If you weren’t playing Battle Royale, trust me, nobody would want to buy a Fortnite outfit. If you weren’t playing any Fortnite games, why would you buy Fortnite outfits? Tim Sweeney (02:37:50): And so you have all the revenue in this item shop economy and all of the engagement in this engagement economy. And the thing that magically makes the Fortnite creator economy works is revenue sharing, item shop spending according to sources of engagement by engagement. If you buy an item and you’ve played 40% of your time in Battle Royale and 60% of your time in these user modes, the amount you spent, the portion of that that’s profit can be separated out and paid out to all the different creators who participate in that economy. And that’s why Fortnite scaled up to a $400 million creator economy so far, and it’s growing. Lex Fridman (02:38:23): It’s amazing. Tim Sweeney (02:38:25): One of the really critical things we aim to do in designing that is ensure it’s a creator economy that could scale to other companies, other ecosystems and say right now we have many industry standards bodies, one standardized game ratings, age ratings of games, another standardized file formats for the web, another standardizing file formats for 3D, like Khronos Groups in The Metaverse Standards Forum. If we had a standards body standardized what are portable outfits in games, game outfits you could buy in one game that work in another, what are their dimensions and what are their capabilities and what can you do and what can’t you do and so on. Then you could have an item economy where every game agrees to respect each other’s item purchases of that sort and revenue is shared between ecosystems as well. Lex Fridman (02:39:15): That would be incredible. That would be so amazing. First of all, it seems silly maybe for people who don’t play video games, but an outfit is an important, if an outfit can be persistent across video games, I mean, I don’t know. What’s the purpose of life? Why do we wear clothing? Clothing is a part of our identity. It’s how we present ourselves to the world. I wear this stupid suit and tie. It feels good. It feels good when I put it on. And even the other outfit, I have two outfits, this and then a black t-shirt and jeans, and it feels good to wear that. It feels like me when I look in the mirror. Okay, I know that guy. Lex Fridman (02:39:59): And to be able to have that outfit go from game to game to game maybe across the years, that would be wonderful. I wonder if you could just even comment, could there also be another standardization about the value sort of for more complicated items? So take a sword from Diablo and transfer to a gun in Fortnite, but based on the value, some generic concept of money. So the value of a thing in one game versus the value of a thing in another game where you’re almost operating in a space of value versus the actual items. Or is that already getting too general? Tim Sweeney (02:40:46): I think this can be done. Yeah. We did a lot of analysis of the Fortnite economy and found that some Fortnite experiences lead to or correlate with higher spending than others. And Battle Royale is relatively strong in that area because you see your character from behind and see all of your other characters from the front, and you have lots of opportunities to really see who you are and to emote and to interact with other players. And a lot of games have that characteristic. Tim Sweeney (02:41:22): One funny anomaly stood out. There was this game that was one of the big breakthroughs in Fortnite, Only Up. It’s a game where you’re just climbing up and up by following paths of stacks of objects and things. It was just stupid fun. Everybody loved, but we found people weren’t spending a lot of money on outfits when they were playing Only Up. And it’s kind of intuitive actually. You’re not seeing other players. If you see anything, you’re seeing their butt as you’re trying to catch up to them jumping from object to object and they’re above you. And so it wasn’t a mode that shut off outfits very much, but you can determine the economic correlation between a game mode and spending. Lex Fridman (02:42:02): That’s so fascinating. I mean, Fortnite is this gigantic economy where you could do those kinds of studies, you can understand markets, digital markets as they emerge amongst humans and what they value. And from that value, you can probably have a very stable kind of money that emerges. Tim Sweeney (02:42:18): Yeah, I think so. You don’t need an alternate currency system. Unfortunately, a bunch of ideas have been conflated because people are trying to hype up different things. But this idea of large-scale multiplayer social gaming, that notion of the metaverse, there’s 600 to 800 million people playing that kind of game every month. So you know that’s real and that’s happening and it’s very much underway. VR has a much smaller audience. I don’t think you need VR to have anything like this. VR is hardware that may or may not enhance the experience for some usage cases. For some it will probably be better and for some it will probably be worse, but certainly there’s not any set of Battle Royale players flocking to VR. Tim Sweeney (02:43:02): And the other thing is NFT is trying to equate digital or cryptocurrency to the metaverse. It’s like, well, it’s just a way of denoting money or value exchange. You can do that with money or you can do it with NFTs or whatever, but there’s nothing about this future digital economy that fundamentally requires cryptocurrency or whatever. What you need is interoperability. Interoperability can happen through a blockchain, it can happen through a database, it can happen through standards bodies with defining standards and protocols. And we’ve been doing it for hundreds of years since the railroads were standardized. And it’s not something that totally requires a novel technological solution. Lex Fridman (02:43:44): Yeah, I mean, even on the topic of cryptocurrency, it’s very frustrating. Blockchain and crypto is a really powerful technology that I think can enable a lot of the things that we’re talking about, but so many people use it to try to make money to create these bubbles and the hype and the meme coins and the so on and so forth that becomes much less about, that drifts far away and rapidly from things that are actually of value, which is the experience of playing Fortnite and how you look when you play Battle Royale. I mean, it sounds ridiculous to say, but it’s true. But that’s valuable. That’s like you have gold in the physical space. We know that holds value. How your outfit looks like in Fortnite, that as you’re saying, provably holds value. And so you want to connect like a standard definition of money value to that and not let it become this hype thing, which NFTs that you mentioned are just become that. It quickly drifts away into the land of people trying to buy and sell and trying to make money versus staying close to the thing that people actually value. Lex Fridman (02:45:07): Forget the money. It’s more about exchanging valuable experiences or things of value. So you can play Fortnite and then go to another video game and continue the valuable experience and then come back to Fortnite and do that kind of thing. So you’re saying there might be a way to do that to basically create standards the way the web has different standards for displaying websites and all this kind of stuff, or the communication that’s required on the networking side. So all the different standards that make the web work, there need to be those kinds of standards. What would those standards look like to enable the metaverse? Tim Sweeney (02:45:52): We need a lot of different things. The one area where the standards bodies have been very successful in creating working standards implemented by all of the major engines today is in low level file formats for data interchange. The web has PNG files for 2D images and MP3 files for audio, and 3D has the Pixar USD file format, the Universal Scene Description, which is a description of the scene graph, the entire set of objects in the scene and all of their parameters so that any engine that supports those features could import that and then render the same scene as the engine they came from. Large parts of this work across Unreal Engine and Unity and Blender and all of these 3D packages of different sorts. Tim Sweeney (02:46:35): And there’s the GLTF texture format, which stores textures and geometry and other low level data for 3D objects. When you see a Fortnite character, that file format together with the image file formats can store their static appearance, the shape of their body, even their animations and their different poses and the appearance of them, the different standard file formats could store all the sounds they make in their emotes, but we’re still missing a bunch of pieces. The biggest missing piece is the programming language that’s at the center of standardizing the metaverse. Tim Sweeney (02:47:09): Now, if you look at the web, the web is a combination of a bunch of different technologies. The two biggest ones are HTML, which describes the 2D scene graph or the 2D layout of controls and objects on the webpage. But that’s just static data. It’s just a non-moving, non-animating webpage. And then you have the JavaScript programming language, which is used to manipulate that, to display things to the user and to implement anything you could implement in code. So it’s a little programming language that runs in your web browser and the metaverse needs something that performs that similar role. Tim Sweeney (02:47:44): But the metaverse and 3D gaming in general needs something that’s rather more powerful, more safe, more scalable, and more capable than JavaScript because the metaverse is actually a more difficult technical problem than a webpage. A webpage like an app is just a single bundle of code and content that somebody, a company has prepared and they release it and it stays exactly what it is until they release a new version and it’s upgraded from version to version as it goes. But the metaverse needs to be a composite of code and content built by millions of different people that could potentially form a seamless world together. Lex Fridman (02:48:25): Yes, it’s fully distributed, collaborative. First of all, also the amount of data, I mean, it doesn’t have to be that way, but websites are showing very little information. The metaverse even when it looks like something like Fortnite, just the amount of information that’s conveyed in the scene graph as the individual players are collaborating is a huge, huge, huge amount. Tim Sweeney (02:48:54): Yeah, the highest detail of Fortnite updates amount to about 60 gigabytes of data, and that’s just a small part of what exists in the Fortnite Creative economy. And if you look at what this might be in a decade as standards emerge, you might have exabytes of data out there. Fortnite Better Royale is I don’t think the ultimate manifestation of gameplay that will ever be invented. What we’ve seen time and time again is that as we gain more technical capabilities, graphics gets more capable, CPUs become more performant, web services become ever more scalable. We’ve seen new genres of games that emerged that weren’t possible before, and Doom ushered in the era of deathmatch. The first time 3D multiplayer game was even possible at all. The early Battle Royale games starting about 10 years or 15 years ago. Only became possible back then. You couldn’t have built one 20 years ago because you just couldn’t have rendered an environment that’s as large as a VR game with that many players, with that level of interaction and performance. It was just not possible to run it. So you got a certain level of technical… Tim Sweeney (02:50:03): … Not possible to run it. So you got a certain level of technical capabilities and the genre came out that proved to be by far the best shooter genre ever invented. But I think there are numerous, numerous more genres, some of which are better than any of the existing ones that will be invented as we get more and more capabilities. Some of the capabilities we’re lacking now are the ability to build environments and game simulations that span more work than a single company can possibly create. And you see the birth of that idea in Fortnite and Roblox where there are tens of thousands of creators, each building content, and users are playing meaningful amounts of it all. And so there’s an ecosystem that’s scaled larger than a company, but it’s still very much you go into one island and you play that creator’s work. Tim Sweeney (02:50:42): The other direction of its scalability is putting more and more of people’s work together in a seamless, continuous play space for games where that makes sense. You can imagine a game taking place in an environment that is the size of a continent or earth in which you can go from place to place and then see different areas which are maintained by different people. And so you go into different spaces. The game rules are customized according to that, and you can go from experience to experience. And instead of having just one company’s authorship ever present wherever you are, you’d see, you’d be driving a car built by one person, carrying weapons built by 20 other people, and taking place in a simulation in an environment that’s built by thousands of other people, and working for separate companies or their own entrepreneurs, or indies, or enthusiasts all working together simultaneously. Tim Sweeney (02:51:37): And we totally lack the programming foundations for that. The kinds of code you would need to write now to make that happen are just not practical. And so we’re investing massively in building new programming language technologies around Verse and our proposed standards for future metaverse programming that we hope will solve those kinds of problems and make that kind of world possible. Lex Fridman (02:52:00): So first of all, that’s a super exciting future where it’s not hundreds or thousands, it’s millions of creators that can just create different, small, or big elements of a world as big as earth. Just if you sort of close your eyes and imagine that world, that’s really exciting, where it’s not a centralized company controlling the release of a particular island or so on, it’s people constantly dynamically modifying all the islands of reality in this digital world. Lex Fridman (02:52:37): So if you could speak to some of the technologies that can enable that. You mentioned the Verse programming language. First of all, also, how legit is it for you, CEO of Epic Games to be a co-author? The programming language theorists are losing their mind. So a co-author on a paper that’s describing some of the nuanced details of a programming language. So maybe you could speak to this programming language called Verse. It’s a functional logic language. What are some cool features of Verse? Tim Sweeney (02:53:13): Verse is a programming language that we’re building for large scale simulation programming. It’s designed to make it easy to write code that can scale up to not only you building a Fortnite island, but you building modules or components that can be used by millions of other programmers and co-exist in a huge environment, and also can scale up to a huge scale simulation. Some games will be small. Battle Royale might find that a hundred players is actually optimal. It might be that a thousand player version of Battle Royale would be worse, but I bet there are a thousand, million, and tens of million player experiences there are even better than that, that will yet to be discovered. Lex Fridman (02:53:57): Wait a minute, tens of millions of players together? Tim Sweeney (02:54:03): Sure, we’ve had Fortnite events that have attracted 15 million concurrent users, but the fact that they’re all divided up into servers with a hundred players each for those events isn’t really a positive. It’s just a limitation of the technology. Tim Sweeney (02:54:18): Tracing back to Unreal Engine 1 and its single threading decisions, if we could build a concert where all the concert participants, potentially tens of millions of them, could participate together simultaneously and see that there’s that massive a crowd, and they could all do interesting things and interact with each other, that would be way cooler. Lex Fridman (02:54:36): Sorry, I’m just loading it in, just imagining together in one scene graph, 10 million people interacting. What a cool world that is. Tim Sweeney (02:54:49): Sure. Well, 10 million people, you have less than 10 million pixels on your screen, so what does the Nyquist Sampling Theorem say? It says that you don’t need full overhead for every player. You need to render the players who are around you and some approximation of everything else. Lex Fridman (02:55:01): Yeah, but there’s also a networking component. You’re speaking to the rendering, but oh boy. Tim Sweeney (02:55:10): There’s a lot of work that has to happen there, but this is what we do for a living. We solve hard problems. Lex Fridman (02:55:12): I understand. Tim Sweeney (02:55:13): because if they’re easy then other people could have solved them already. Lex Fridman (02:55:16): That’s really cool though. Just sort of the possibility, the vision of that is really cool. Lex Fridman (02:55:21): Even a hundred thousand people or like 10,000 together just, I mean, there’s a reason in the physical world when you go to a concert and you have all those people around you, that energy, or you go to a football game, that energy is unlike anything else. And if you can bring that energy to the digital world, that’s amazing. Lex Fridman (02:55:43): But anyway, sorry, what, on the technology side of bringing that to life on the programming language side, can you continue, as I rudely interrupt you, talking about Verse? Tim Sweeney (02:55:55): Verse is a functional logic language because we think that that’s the way to make the most simple and powerful language simultaneously. Back in the 1970s, the programming language designer who built Pascal, one of the early programming languages, Niklaus Wirth or Nicholas Wirth as Americans might call him, stated this principle that programming language should achieve a high degree of power, not by having a lot of features, but by having a small number of features that work together and can be composed together arbitrarily so that you have to learn a relatively small set of things and then the real knowledge comes as you learn ways to combine them to achieve bigger and bigger programs. Tim Sweeney (02:56:41): And so there’s a long history to the field of programming languages, but in the 1950s, the first programming language designers got together and built the first standardized language called ALGOL. And there was this meeting in 1956, very few people even know about it, but it’s where all the major foundations of modern programming languages were decided on, that the C family of languages inherited. And so we’re very much living in a world that was defined by them. And thankfully they got a whole lot of things right. They defined how functions should work, how variables should work, and how recursion should work. Thank God they got those things right, but they got a few things wrong. And Verse is trying to fix those. And that’s the functional logic part of it. Tim Sweeney (02:57:22): The interesting thing about functional logic languages is that in an old school language, an expression produces a value. In a functional logic language, an expression can produce zero, one, or multiple values. And if it produces zero values, we might say it fails, and if it produces one value, we say it succeeds. And if it produces multiple values, it’s providing a set of values you could iterate over. Tim Sweeney (02:57:45): And so there are a bunch of features in today’s programming languages that were defined in an ad hoc way without really thinking this through, this zero, one, or many values way. And that’s the problem that functional logic languages address. And the most basic example is an if statement in a programming language. If some condition holds, then do this thing, otherwise do that thing. And in a language today, this is done with variables of type boolean or expressions that produce booleans. We have boolean variables that are either true or false. We have expressions that evaluate to booleans. And so you can express a condition as a bunch of these features together, but you’ve lost any computation you’ve done in doing that boolean expression evaluation. Tim Sweeney (02:58:28): So in a functional logic language, your condition wouldn’t do that. It would either succeed and produce a value or it would fail. If it succeeds, it goes to the then branch. Your operation succeeded, now you’re running this one batch of code. And if your expression failed, then you go to the else branch. But the exciting thing about that is your expression that succeeds or fails can produce values and bind variables that are then accessed by the then branch. So you can write a conditional where you can only get to the inside of the condition, to the then, if a bunch of variables have successfully been bound to variables. So it lets you test if some conditions hold and then use the results of those tests. And that gives you a much higher level of reliability. Tim Sweeney (02:59:11): And then a for loop in a traditional language, it’s just a bunch of imperative code that’s woven together to produce a bunch of values iteratively. It’s rather awkward to do complicated things in for loops. And so you often end up with either ever more complicated constructs built to work around that like iterators and other things. The idea of functional logic languages is your for loop can just produce multiple values. And if it produces zero values, you’ve got to reiterate zero iterations, and it produces a bunch of values you’ve got to go through all of those as your iterations. Tim Sweeney (02:59:41): Rather than having a bunch of nested loops, you can write arbitrary things that look like SQL queries in a condition or in a for loop that bind a bunch of variables, do a bunch of tests, produce a series of results in some order that you’re iterating over, and then you can handle all of them and produce a result. So you gain the power of SQL queries, large complex queries that are data structures in a language that is much simpler in which your code is just performing simple iterative operations. And so it gives you the best of databases and of regular programming in a much more uniform way. And the power of this is now users can write functions that not only produce a value, you can write functions that might fail. And so you can write a function that answers a question. The answer can be either yes and my value is this, or no. And you can combine these together into arbitrary queries. Tim Sweeney (03:00:35): And I feel like the funny thing is that this is not how C++ works. And so when we have Epic programmers moving over from C++ and writing their first Verse code, they try to write C++ code in Verse style and it actually ends up being convoluted code that’s worse than good C++ or good Verse. When we see… But after a few months they get up to speed and they’re writing really awesome code that’s tighter and more compact than before. And with users who’ve never programmed before, but are learning programming for the first time in the context of Fortnite, it’s really fascinating. You see these users are learning this as, it becomes their intuition. They just assume programming works this way. And they’re writing way more advanced and interesting for loops and conditions than we’re often writing internally because they’ve grokked the core concepts. Lex Fridman (03:01:21): Yeah, you said a lot of really interesting stuff. First of all, it’s very interesting that there’s a bunch of people, a lot of people learning programming for the first time with Verse, which is a very different way to look at programming. And in some deep sense, as you’re saying, a very intuitive way to learn programming. Lex Fridman (03:01:41): But there’s a lot of properties about this being a logical language, one of which, we’ll maybe speak also about confluence, but also correctness. So being able to prove the correctness of a code, it’s basically easier to write bug free code. Lex Fridman (03:02:06): Can you just speak to that and the importance of that when you’re building the metaverse? Tim Sweeney (03:02:12): Yeah, right. So the challenge with the metaverse is first of all that it’s a huge base of code that’s evolving over time and written by many authors. So you might see every second a new module is updated somewhere. And you expect in this live ever running simulation that never shuts down for everything to upgrade live in place. And so, one critical component that is the ability to release an update to something you’ve already published and be sure that it’s backwards compatible with the one that you’ve already released. And that’s essentially a type checking problem, checking that your new interface is backwards compatible with your old one. And that comes down to the type system of the language. There’s been a lot of very interesting research on type systems over the years, most of which hasn’t ever made it into the C++ programming language unfortunately. Tim Sweeney (03:03:01): But you see several branches of that whole field, one of the really interesting things that Java and C# did in the early days, and then later abandoned and didn’t bother update, was defining a very rigorous set of rules for if you publish a module with one set of types today, then what changes can you make to that module for your future updates to it that don’t break backwards compatibility? And that’s a problem for type checking. Like, say you have a function that promises to return some integer, well, in the future you could say that returns some natural number because every natural number is an integer. So that’s a backwards compatible change, but you can’t say it returns a rational number because some rational numbers are not integers. So the system ought to reject that kind of change. Tim Sweeney (03:03:43): But the much, much, much more interesting thing about type checking, it was the realization, it was actually made in the 1930s that if you design a programming language type system in a very particular way, then it becomes not only useful for expressing types of variables, the traditional thing every type system does is say like, “Variable X is of type integer.” But if you design a type system in a certain way, then your types can express theorems, like mathematical theorems. The Pythagorean theorem is a cool one, but one theorem you might have in a program is like the theorem that this function takes an array of integers and returns an array of the same integers, but the result is sorted. If you express that as a theorem and you follow this system of type theory, then you can actually require that anybody who writes that sorting function to prove that it has actually sorted its result. And so you have types or theorems, and values constructed a certain way can be proofs of those theorems. Tim Sweeney (03:04:46): And nowadays in mathematical literature, you see more and more theorems are being proven mechanically. Mathematicians are proving theorems in a way that is verified by computer to be a correct proof. In the old days of math, people would write down like language. If you look at all of Euclid’s theorems, it was just language. It was just writing in ancient Greek to say the steps of the proof to convince the reader that the thing is true. Tim Sweeney (03:05:08): Starting in the 1930s, mathematicians moved towards rigorous formal proofs in which there is a series of steps that can be mechanically verified, that they’re proving things. And when mathematicians say they’ve done a computer proof of a theorem, what they really mean is they’ve written a program in a proof language, like Lean is a theorem prover, Coq is a theorem prover, and there are several others. It means they’ve written a mechanical proof in that language that a computer has checked so that it’s impossible to lie. If you say that you’ve proven a thing and the computer verifies it, then it’s definitely true. Tim Sweeney (03:05:44): And this is a feature of mathematical proof languages, but it’s also an idea that’s making its way into programming languages gradually over time. And our aim for Verse is to be the first mainstream programming language that fully adopts that approach and that technique. And not only adopts it but adopts it in a way that’s really user-friendly, so you don’t have to do that. And the idea of this is that you want gradually more information to be incorporated in the types of variables. The property you want of a programming language is that if your compiler accepts your program, and doesn’t beep and tell you there is an error, then your program should work. Now there are all kinds of ways humans can make mistakes there so that we’ll never achieve that ideal, but we can get closer and closer to it by having more and more language features that enable the compiler to catch more human coding errors and tell the user what went wrong. Tim Sweeney (03:06:37): And that becomes extremely important in the metaverse, the cost of fixing a bug that’s made it through to runtime and is in users’ hands, the cost of fixing a bug in a shipping program is hundreds of times higher than fixing a bug that you’ve just observed as you’re running your code yourself. When it’s running on your computer, you just fix a line of code and your bug’s fixed. When you have to fix it live, you have to release a patch, you have to release patch notes, you have to test the patch, you have to check for all the other bugs that might have been introduced, and everything becomes vastly, vastly more expensive. So the real aim of the Verse program and approach is to catch all of these errors at compile time and make the metaverse a very reliable place. Lex Fridman (03:07:18): Do you see a world where like at compile time you could prove that the program is correct in some sense of correctness? Tim Sweeney (03:07:25): Proving things becomes combinatorially harder as they get larger, right? Lex Fridman (03:07:29): Right. Tim Sweeney (03:07:29): And so the really important thing about this whole field is that you should be able to adopt these capabilities gradually and apply it where you really need it. Like, if you’re writing something like a cryptography algorithm, that’s a good place to prove stuff. If you’re writing a data decompressor that’s going to be used by an entire ecosystem, like proving that doesn’t overrun memory is actually really important. And a lot of the reason that security vulnerabilities happen today is because in a different language a compiler could have caught, were not caught in C because it just doesn’t have this feature. Tim Sweeney (03:08:04): But we shouldn’t see this as scary. Everybody working in a typed language like C, or C#, or Java is proving theorems all the time. If you have a variable of type integer and you assign some value to it, you’ve proven to the compiler that that value was an integer because otherwise it would have rejected it. And so as we add more and more advanced proofs, we’ll get compositional properties flying out of our systems that they’re easy to use and people prefer to use. Tim Sweeney (03:08:32): If we might think in the future where we have AI helping us write certain kinds of code, the big problem with AI is you ask it to do something, ask to write a fragment of code that does something, it might give you a perfectly valid fragment of code that compiles but does the wrong thing. And if we had languages where you could say, “Write a function that sorts this array and prove that it did that,” it could actually write the proof. And if the compiler didn’t beep with it, you could trust that it was actually sorting the array. And otherwise you could go back to the AI and say, “Well, that didn’t work.” But getting to the point where we know that our programs do what we say they’re going to do or think they’re going to do is a very important thing. Lex Fridman (03:09:12): And by the way, I should mention that you sent me a note about Curry-Howard correspondence, which I went down a rabbit hole, and that’s a whole fascinating field which shows the mathematical relationship between programs and proofs. Tim Sweeney (03:09:25): That’s right. This is a result from the 1930s. It’s one of the most important results of computer science that almost nobody knows about, but they did this rigorous breakdown of type systems and the 1930s formulation of programming, and established that everything you can prove in mathematical logic you can prove within a type system if it has certain features. Tim Sweeney (03:09:51): And if you break down what is a proof? Well, a proof that integers exist is some integer, like five is a proof that integers exist. So when you have something like var X int, and you say “X = 5”, well you’re proving to the compiler that 5 is an integer. That comes as a secondhand nature, but you can prove more advanced things. If you want to prove that a pair of things are true, like theorem A is true and theorem B is true, then you need to provide a pair of values, one that proves theorem A and one that proves theorem B, and that’s the conjunctive law of proofs. And there’s a disjunctive law too. Tim Sweeney (03:10:23): And then there’s an implication law for proofs. And it turns out that that’s really satisfied by functions. When you write a function in programming language, you’re saying, “If you give me this thing, I will give you that thing.” If you’ve given me a parameter of type something, then I’ll give you a result of some other type. And if you write that, by writing that function, you’re proving that given one of these things, you can produce another thing. And that’s a proof of an implication. With only like seven laws, you can construct all of mathematical logic in a type system. Tim Sweeney (03:10:54): And one of the important things for programming languages that hasn’t been given enough attention is some aspects of programming languages are just subjective. They’re just machinations of the programming language designer. And Guido van Rossum decided that Python should support indentation in a certain way. And as long as you’re dealing with things like human notation and naming of things, there’s always going to be that subjective layer. Tim Sweeney (03:11:18): But there are other parts of programming languages that are not subjective but should be fundamental. And when you look at type systems, there is a way to do type systems that gives you mathematical proofs. And every other way of type systems that doesn’t give you mathematical proofs is just worse and should ultimately be rejected. Tim Sweeney (03:11:38): And so I think one of the jobs of computing is to identify what we actually done right in the past and what have we done wrong. And for everything we’ve done wrong, actually going back and fixing it. Otherwise, we just keep accumulating so much cruft that our systems eventually are crushed under their own complexity. Tim Sweeney (03:11:54): And there have been massive announcements of horrible vulnerabilities in software and services over the past year. It turns out some nation-state backdoored a bunch of TELECO’s surveillance systems for wiretaps, like huge problem there. But ultimately when you break it down, it’s probably because of some buffer overrun in some C program. These decisions about programming languages have long-term implications. Lex Fridman (03:12:21): It’s really fascinating that in building these systems that hundreds of millions of people use, you’re rethinking about how do you actually build it from first principles. Lex Fridman (03:12:29): So I should mention that Verse’s primary design goal is it should be simple enough to learn as a first-time programmer, general enough for writing any kind of code and data, productive in the context of building, iterating, and shipping a project in a team setting, statically verified to catch as many categories of runtime problems as possible, compile time as we were talking about, performant for real-time open-world multiplayer games. We didn’t really quite talk about performance. Maybe I could ask you about that in a second. Complete so that every feature of the language supports programmer abstraction over that feature, timeless, built for the needs of today and for foreseeable future needs. Lex Fridman (03:13:08): And then there’s some design goals that we talked about, that is strongly typed. Multi-paradigm to use the best of functional programming, object-oriented programming, imperative programming so it’s as deterministic as possible. If you run it over and over, it runs in the exact same way. Failable expressions, as you talked about. It’s super fascinating, there’s so many cool features in this. Speculative execution, concurrency. Lex Fridman (03:13:33): Maybe can you talk about concurrency? What is it about Verse that allows for concurrency at the scale that you need? Tim Sweeney (03:13:41): This is the one biggest technical problem that we’re working to solve in this generation, and that is taming concurrency so that any ordinary programmer can achieve it by just writing ordinary code. Lex Fridman (03:13:57): It’s hard, yeah. Tim Sweeney (03:13:59): Programming on a single-threaded computer is hard enough, but it is completely predictable. If you have a language that’s deterministic and you’re on the same code, over and over, it’s always going to do exactly the same thing and there’s no unpredictability about what might happen, right? You’re reading and writing variables in some order and you’re always going to see it behave the same. Tim Sweeney (03:14:19): The problem is when you introduce multiple threads or multiple nodes in a data center, all working together on a single problem, is that they each want to read and write different pieces of data, and change of the state of the world as they go. And still almost all concurrency in real-world programs today is achieved manually. Programmers are writing this code that might run in multiple threads very, very carefully so that they are negotiating among each thread to get access to data in a way that’s going to give them predictable results. Tim Sweeney (03:14:53): And it’s incredibly hard. It’s so hard that we’ve in five generations of Unreal Engine, every single generation decided we’re not going to try to scale up all of our gameplay code to multiple threads manually. It’s just much, much, much too likely to go wrong, not only for ourselves, but for every partner company who licenses Unreal Engine and tries to use it for building a game. It’s just a massive foot gun. Tim Sweeney (03:15:17): There’s a variety of solutions to concurrency that are all rather suboptimal. One attempted solution was like, just don’t try to solve this problem at all. Let’s break our program down into microservices. And almost all online websites of massive scale like amazon.com work with hundreds of microservices where different servers negotiate with each other by sending messages to each other. And by programmers writing those things very carefully, they eventually get to being able to take your orders and not make a mess of them reliably. Tim Sweeney (03:15:48): But this is totally not scalable to the metaverse where you have millions of programmers who are mostly not going to be computer scientists. They’re mostly going to be hobbyists, and enthusiasts, and first time programmers doing stuff for fun. That’s never going to work for them because they’ll never be able to envision all of the different dependencies between different computations they’re running in parallel. Tim Sweeney (03:16:07): But it turns out that there was an amazing foundational work done in 1980s that was made very real by a paper on Haskell concurrency. Composable Memory Transactions is the name of the paper. And it describes the system for transactional updates to programs. And the idea of a transaction is a transaction is a block of code that does a bunch of operations on memory, it might read, it might write, it might process an order, it might accept an order or reject an order. It might transfer money between one bank account and another. It might make conditional decisions like, “Oh, you asked to transfer a hundred dollars from your account to this guy’s account. We’re going to see if you have a hundred dollars. If you don’t, we’re going to reject it. And if you have a hundred dollars, we’re going to take a hundred dollars out of your account and add it to this other guy’s account.” Tim Sweeney (03:16:56): Without transactions, if everybody’s just randomly adding and subtracting each other’s bank balances, then you might have somebody read a bank balance, subtract a hundred dollars and write it out. But in the meantime, somebody has written something else in the meantime. So you might get inconsistent bank balances arising if you don’t have a way of ensuring that these all run in a specific order. Tim Sweeney (03:17:16): So the idea of transactions is its way of dividing an entire program into updates, self-contained updates that do an arbitrary amount of computation but must run in a single threaded manner. And in the case of a game engine, that’s a gameplay object update. When you’re playing Fortnite, you see a gameplay object. Every other player is a gameplay object. Every enemy is a gameplay object. Every rocket, and projectile, and car, and thing you see moving around and interacting, it’s not just a fixed static part of the world. That’s a separate game object. And each of those objects is updated at a rate of one update per frame at 60 frames per second. Tim Sweeney (03:17:52): And so then in the course of Fortnite Battle Royale gameplay, you have tens of thousands of object updates happening every frame with a hundred players. In a simulation with billions of players, you’d have a whole lot more than that. Lex Fridman (03:18:04): So right now that’s done single-threaded? Tim Sweeney (03:18:05): Yeah, that’s done single-threadedly in each game session. This is why Fortnite has a hundred players limitation. If you absolutely maxed out a server, maybe today you could get it up to 140 or something, but it’s not going to thousands, or millions, or billions. Tim Sweeney (03:18:18): And so what we need is a technique for magically automatically scaling our code to that. And transactions are the idea. And the idea is a transaction is a granule of code that runs its entirety. And so the idea of this transactional memory concept is that we’re going to have programmers write completely ordinary code that reads and writes variables in the completely ordinary way, and they’re not going to have to worry about concurrency at all. And then the system, like today, a program, a computer just runs your program. There’s no amount of speculation going on at the programming language level. Tim Sweeney (03:18:50): The idea of transactions is since we have a bunch of operations we need to know we apply, we apply a large set of them concurrently, but instead of each one reading and writing from global memory shared by all, in which case they might be reading, and writing, and contending with each other for the same data, and might be doing contradictory things to it, we’re going to track all of our writes locally. We’re not going to write changes out to global memory. We’re going to keep track of it in a buffer that’s just for that one transaction. So it’s going to look to that code exactly as if it’s running on the global system affecting global game state, but it’s going to be isolated to just that one transaction. And it’s going to be set aside and buffered up for consideration later. We’re going to run tens, or hundreds, or thousands of the updates concurrently. We’re going to see which ones had read-write conflicts. Because if two transactions don’t read and write any of the same data, then you could have run them in either order or simultaneously, and it wouldn’t have changed the end result. Lex Fridman (03:19:51): Yeah, the order doesn’t matter. This is so fascinating. To imagine this kind of system arbitrarily concurrent running millions of updates in parallel of gameplay objects, that’s the thing that enables the thing that we’re talking about, which is tens of millions of people together in one scene. Tim Sweeney (03:20:13): Yeah, exactly. And the key is that you’re running these updates speculatively, and you’re not committing their changes to memory until you’re sure that they’re free of conflicts. So you might update 10,000 objects, you might find 9,000 of them were conflict-free. So you apply those 9,000 updates to memory, and they could have run in any order and it wouldn’t have changed the result. Lex Fridman (03:20:33): That’s so cool. Tim Sweeney (03:20:34): Now there’s a thousand objects left over. Now you have to run those again, try them, maybe interleave in a different way to get them to eventually commit to memory. And in the meantime, you just throw all of their computations away and redo them later. Tim Sweeney (03:20:47): And by doing this, removing this from being a programming problem for the programmer to deal with, to being a language problem for us language designers to deal with. And we’re moving a vast amount of pain that would be imposed on a million people, instead to a vast amount of pain imposed on a small number of people to have to actually make this work. Lex Fridman (03:21:07): That’s amazing. That’s really incredible. Lex Fridman (03:21:09): So what’s the state of things with Verse? And I guess what you’re outlining is if, and hopefully it is successful, this will be a big part of Unreal Engine 6. So what’s the timeline? Where do we stand today? Tim Sweeney (03:21:23): Well, there’s a lot going on in parallel. The key thing with Verse is that we have been specifying what we think is the ultimate version of the language with all of the features we want, whereas we’ve been shipping more modest versions of language over time, and we’ve released dozens of updates to it over the past year and a half. Tim Sweeney (03:21:44): And the idea is that the shipping version that gains more and more features over time, but each maintaining backwards compatibility with old versions, and each continuing to improve and approach the ultimate version of it as we go. And we’ve been doing this experiment entirely within the world of Unreal Editor for Fortnite for now. We want to test this and iterate with Fortnite creators in just the metaverse usage case before we make it available to all of our partners using Unreal Engine for all of their projects. And the idea is to iteratively improve it and build it out. Because right now UEFN has relatively few features for programming. It needs a lot more. And everything we add makes the world a much better place for Fortnite creators. Tim Sweeney (03:22:23): And we’re adding major, major new APIs every few months throughout the course of this year. Whereas Unreal Engine licensees who are building standalone games already have access to the full engine through C++. They have massive, massive expectations of an API. And so we can’t release this to them until we’ve built up all of the essential features that they’ll need for building their gameplay in the future. Tim Sweeney (03:22:45): And so we have these two different tendrils of progress. There’s Unreal Engine 5 for game developers, and there’s Unreal Engine 5 targeting the Fortnite community. And there’s different bits of development that are only in one area of it that aren’t applied to [inaudible 03:23:00]. Not all of the Unreal Engine 5 features are actually available in Fortnite because some of them we haven’t figured out or haven’t gotten to the point where we can deploy them to all seven platforms in a platform-independent way. Tim Sweeney (03:23:10): And so the place where all of these different threads of development come together is Unreal Engine 6. And it’s a few years away. We don’t have an exact timeframe, but we could be seeing preview versions of it perhaps two to three years from now. And we’re making continuous progress towards it. Lex Fridman (03:23:27): So that’s really nice. So there’s this ultimate version of a language that you’re constantly working on and thinking through, and there’s the shipped version of the language that’s used by a large number of people, but still in the constrained environments of the Unreal Editor for Fortnite, so for the Fortnite game. And then there awaits the more general Unreal Editor on Unreal Engine for the lessons learned in the Fortnite context to be integrated in the more general context of creating simulated worlds for all- Lex Fridman (03:24:03): … general context of creating simulated worlds for all kinds of games, including Fortnite. It’s a really nice setup because you’re both… it’s a testing ground of the language in Fortnite and you’re keeping an eye on what the ultimate thing will look like also necessary to deliver all the features that we mentioned. Brilliant. Tim Sweeney (03:24:19): Yeah. The aim for UE 6 is to bring the best of both worlds together, a much easier gameplay programming for the Fortnite community and for licensees. More scalability to large- scale simulations of all sorts. Greater ease of use, meaning it will be easier to hire programmers who are familiar with and experienced with a thing, but also ensure that every game developer has the full deployment capabilities so that they can build a game once and then ship it anywhere. Tim Sweeney (03:24:47): The ultimate version of this enables a game developer to build a game of any sort, either or simultaneously both ship it into Fortnite as a Fortnite island that players can go into bringing their Fortnite items and cosmetics and interoperate properly or ship as a standalone game or both. And if they ship as a standalone game, they shouldn’t be missing out on the open economy either because, in this timeframe, we’ll have opened up the Fortnite item economy to third-party developers of all sort. Tim Sweeney (03:25:17): Hopefully, there is standards body, but there might be multiple phases of it so that if you choose to ship a standalone game, you can still choose to have Fortnite items work in your game and have your game items work in Fortnite and have your item economy integrated with the overall metaverse economy and solve a really core problem that… of the game industry that Matthew Ball has been documenting over the past few years. Lex Fridman (03:25:40): Yeah, by the way, Matthew Ball has been really helpful. He’s a great… He wrote a really great book that I recommend people check out. There’s an updated version. Let me just ask for because, again, there’s a bunch of indie developers listening to this. I saw that a lot of solo developers out there that are using Unreal Engine, that they’re basically creating video games solo. Lex Fridman (03:25:59): I saw… can highly recommend. It’s great. Choo-Choo Charles. It’s a great video game. Gavin Eisenbeisz, he… a great guy. He solo created this game that’s, I think, quite popular. I believe he says he used visuals. He didn’t even use C++, he used visual scripting. He used blueprints- Tim Sweeney (03:26:21): Yeah. Lex Fridman (03:26:21): … to create it. Okay. So I mean all that to say people should go check it out, support indie developers, support Gavin, and support everybody liked that. I think it’s important to say because there’s so much genius and artistry out there that we want to support the crazy dreamers out there. Lex Fridman (03:26:37): Anyway, all that to say, what are the ways you think Epic can support indie developers like that? People like Gavin give them superpowers to create games from which they can make, at the very least, enough money that they can keep doing their art. Tim Sweeney (03:26:56): Well, that’s really about productivity because to be successful with a game, you have to have a great game. If you’re targeting a… If you’re building a type of game that nobody’s ever built before, you might be able to build a smaller, simpler game than if you’re competing in a massive genre that has huge expectations. But it’s all about enabling somebody to do that in a reasonable amount of time they can spend and to be able to finish it and chip it and maintain it successfully. The tools are a big part of that. Tim Sweeney (03:27:22): Having the tools be as productive as possible. But there are a lot of other facets as well like having a content marketplace is a big thing. Just off the shelf, piles of content, some free, some paid, built by other creators can enable a small indie team to build a big game and just be able to focus on the unique content of the game. Being able to write their gameplay and lay out their environments the way they want but not have to build every tree and rock because somebody has already built one, and theirs is probably perfectly suitable for your game. Tim Sweeney (03:27:56): And over time, there’ll be more and more. There’s also a lot of indie developers living as content creators. They’ll be releasing content on Fab Marketplace or the Unity Asset store and earn living for that. But specialization of labor is a really, really valuable thing. And the early days, pretty much one person would build one game. That’s how a lot of the games were built in the 1980s. Tim Sweeney (03:28:16): Over time, you had a separation where artists became specialized and then programmers and then gameplay programmers and engine programmers. Now you have technical artists, and you have dozens of different specialties contributing to a AAA 3D game now. And the more we can modularize those bits of content so you could get something off the shelf rather than having to build it or have to come… engine synthesize it for you, the more we can enable creators to create stuff fast and successfully. Lex Fridman (03:28:46): So we should talk about the fact that, amongst many other things, you’ve been philosophically and spiritually battling monopolies in general, one of which is sort of the Apple marketplace that charges 30% from developers. Can you speak about this, this idea that you believe that Apple and other companies, Valve, should not be charging that kind of revenue cut? Tim Sweeney (03:29:23): Sure. Well, let’s start from a very basic principle of computing. The first computer I owned was an Apple II Plus designed by Steve Wozniak and marketed by Apple, and then an IBM PC. And in those days, anybody could write code. Your computer literally turned on with a programming language prompt in front of you. You had to actually do work to not write a program and to instead run somebody else’s program. That was incredibly empowering. And anybody could write a program, and anybody could put it on a floppy disk. Tim Sweeney (03:29:51): Anybody could share it with their friends. Anybody could make copies of that and put it in a store. They could sell it. They could build a business around it. And they were completely able to, without seeking any big tech corporation’s permission, do however they want. Even from IBM. Remember, IBM was the dominant computer company on Earth at the time that they released IBM PC as an open platform. And, yeah, so it’s really been firmly implanted in my mind that this is… this was a magical and wonderful time of unmatched economic progress for technology in the entire world. Tim Sweeney (03:30:29): And over time, the big companies have realized that they could shut down and just block software makers from releasing software on their own and block software makers from doing business with customers directly. And I’ve always viewed this practice as terribly abusive because when you buy a computer you spend… or a phone, you spend good money on it. It’s your money you spent on that phone and now you own that phone. And there’s absolutely no reason that Apple should block you from installing apps from other developers directly if you want, going to their webpage or writing your own apps without their permission and running them yourself without having to get a developer account, without having to go through their bureaucracy. Tim Sweeney (03:31:16): And there’s no reason that any consumer who gets an app shouldn’t be able to do business directly with the developer of the consumer. You already bought that phone, why should Apple be adding a 30% junk fee to all commerce you do, and why do they selectively apply it to some things and not others? I’ve always viewed this as deeply abusive and that it shuts down the competitive engine that once fueled the app and software economy. It’s still a vibrant, competitive engine on Windows and on the internet, but it’s no longer with mobile apps because these stores have popped up, and they don’t provide any useful value to the user. Tim Sweeney (03:31:55): Yes, they’re a search function to find software, but there’s no reason other companies couldn’t build a better one. And I bet if you had Steam or if you had Valve build Steam for iPhone, I bet Steam for iPhone would be a much better app store than the iOS App Store, and a lot of people would use it, and that Apple would be forced to build a better app store in competition and that everybody would improve their products as a result. But Apple and Google shutting down the competitive engine that drives the software economy has massive implications for everything. And one of them is reshaping the nature of mobile apps to be really offensive to gamer sensibilities. Tim Sweeney (03:32:32): If you call [inaudible 03:32:33] console, the best console games you see listed in the store… on the storefronts, the best console games that you see reviewed are awesome games that really have a lot of creative merit. The ones that sell the best are really enormous values for their money, and they’re product of an immense amount of work. You don’t see that on iPhone. The top apps on iPhone or the top games on iPhone at almost all times are these ridiculously greedy, high-monetizing whale games, which are pervaded with pay-to-win and loot box practices. They have a sort of a legalized form of gambling, and these games are not driven by fun. They’re driven by manipulation of the players to greedy ends. Lex Fridman (03:33:17): Yeah. Tim Sweeney (03:33:18): And it’s very hard for the fund-based games to actually succeed there. And the cost of operating these online games now are enormously high. So you have a game that’s based on fun. It’s not loot-box- heavy. You have to pay 30% of your revenue to Apple in order to just get access to the platform. And 30% is way, way, way more than most game companies make in profits right now. And so, if they… that fee is more than the profit from a natural company, then they can only stay in business by raising prices. Tim Sweeney (03:33:48): So these 30% fees are raising prices of all digital goods. It’s just inflationary is a force in the economy. That’s just the first drag tax. But then to reach users, when a user searches for… Before Apple blocked Fortnite on iOS, when a user searched for Fortnite, the first result was always some competing game that’s utterly anti-user. Like you search for Steam for a game, and if that game’s on Steam, it’s the first result always because Steam’s not getting inshittified with advertising. Apple is, and they do that so they can make even more than 30%. Tim Sweeney (03:34:22): So, if you want to be the search… the first search result for your game, you’re probably paying more like 45%. If you want to reach users on social media, you’re paying another 20%. So, literally, something like 70% of the revenue for your game is just going into junk fees to acquire users and get them in your game. And the money that’s left over is only enough to fund these games with rather abusive practices that do not look to normal gamers like games for the most part. Tim Sweeney (03:34:47): Now, there are some exceptions. There are some great games on iOS, and there’s some games with good practices, but the engine has been really corrupted in a way that competition would fix. If you unleashed lots of competing stores on iOS, then you’d have lots of awesome options, and you’d have much better deals and much better prices. Lex Fridman (03:35:04): I had a quick chat with Matthew. He asked me to ask you this question of why don’t more companies fight Apple in the way openly and totally as Epic has been? What makes you Epic so unique in this regard? And I should say, I think everything you said I agree with fully. I think what Apple is doing is just wrong. Lex Fridman (03:35:26): I think Apple, in many dimensions, is an incredible company. They have brought so much good for the world. In this regard, I just think it’s straight-up wrong what they’re doing that they’re not providing the value of 30%. And even if they were the monopolization, the centralized control without competition is wrong. Anyway, why are you fearlessly Apple on this and other companies don’t seem to want to step up? Tim Sweeney (03:35:58): All companies are terrified of Apple because Apple can destroy their business. Epic was in a unique position with Fortnite, first of all, having the biggest game in the world at the time we started the fight with Apple. And second of all, having a majority of our users playing on PC and console meant that if we lost access to iOS during a fight, then we would still be able to survive. That set Epic apart. Spotify, Facebook, you name the top 10 mobile apps, I think none of them would be able to survive without Apple. Literally, their business would be destroyed if Apple blocked access to them. Tim Sweeney (03:36:40): And Apple is incredibly clear with developers that they’re willing to deprive all users of access to any app if they get in a fight. And if you look at how they dealt with Epic, they were not just legally maneuvering with the intent of winning the court case against us. They were also sending a message to all developers in the world. “We will destroy your business, or we will try our best if you fight us.” And a very small number of vocal developers have been willing to speak up, and Apple was actually refrained from crushing their businesses when they weren’t violating any Apple policies. Tim Sweeney (03:37:18): And that took a bit of discipline, which I think is also amount of calculation by Apple. They couldn’t survive being seen as the company killer, that, “If you criticize this will crush your company.” But the other thing Apple has that they can and will readily deploy against every developer is soft power. When they take 30%, and advertising is so expensive, soft power by Apple like approving your updates faster or slowing down all of your updates by a couple of weeks can also have a dramatic effect on your ability to compete successfully. Tim Sweeney (03:37:51): And Apple, it’s a very long history of playing cat-and-mouse games with developers. It’s like, what, a developer isn’t in Apple’s good graces, so just slow down the updates. So they’ve been slowing down updates for several major tech companies, sometimes for weeks, sometimes for months, without all going under the radar because everybody’s afraid to challenge them publicly. And so, Apple’s wielding a soft power can change a company’s economics for the worse enough to deter almost any public company. Tim Sweeney (03:38:19): And Epic is in the fight because I firmly believe that something like the metaverse will only arise. It’s something like a billion-plus user real-time 3D social ecosystem that grows to encompass potentially all or most major games by all major developers tied together into an open economy where they all participate as peers, and they all compete to give users the best deals, and they grow and do business with their customers directly. That thing can only exist if the and Google gatekeeping monopolies are lifted. Tim Sweeney (03:38:55): And it’s not just the 30% fees. 30% fees are economically ruinous, but they impose other levels of control. Apple prevents all web browsers on iOS from implementing web standards better than Apple does. So, Apple has really limited data storage capabilities and 3D graphics capabilities on the iOS web APIs. So APIs, you can access from web apps running within a web browser, and that’s to intentionally cripple those apps to ensure that they can’t possibly compete with native apps. Tim Sweeney (03:39:27): And by depriving web apps of those features, they prevent web apps from being competing with native apps. Well, Apple, if they treat the metaverse the way they treat the web, they’ll say, “You can only use Apple’s metaverse engine. Unreal Engine is disallowed.” And then they can impose all of their own limitations on the metaverse to force all commerce through Apple or force it to be so uncompetitive and lousy that it can’t compete. Tim Sweeney (03:39:51): And they have this giant array of these anti-competitive techniques that they use to disadvantage other app developers, saying only Apple can build certain kinds of apps or only Apple can integrate certain features in Europe, even where the DMA law requires Apple to allow competing stores, they say, “A store can only be a store. You can’t build a store into Facebook, you can’t build a social network into a store. Tim Sweeney (03:40:13): A store must only be a store because a store that’s more than a store might be able to compete with us more effectively.” It’s just a giant… To use the Soviet term, it’s a defense in depth strategy where they’ve constructed a massive series of barriers. Each are fatal to any attempt to compete so that even if one barrier is overcome, the others remain in place and shut down the whole scheme. Tim Sweeney (03:40:34): And that’s playing out in Europe, where Apple has enabled us to launch the Epic Game Store but has made it so difficult and uncompetitive both for Epic and for clients who we want to do business with that it has no chance of success until the European Union starts to really enforce the DMA law and impose harsh and serious penalties on Apple to force compliance. Lex Fridman (03:40:56): I think it should be said, once again, I think it’s wrong what they’re doing there and I hope there’s public pressure and government pressure for them to open up the platform. I believe, as a person who loves Apple, I believe this is also good for Apple. There’s the natural thing in companies to want to close and control and crush competition, but Apple is full of brilliant engineers, open it up and win. It’s going to create the right kind of competitive incentive to make the Apple Store better to make… because they’re great at creating great interfaces, but competition will sharpen the sword. I mean, it is just going to make everything much better. So I do hope there’s a lot of public pressure, and I appreciate that you’re speaking out in this way, sort of putting that pressure and letting people know it’s okay to say that this is wrong. Tim Sweeney (03:41:58): Thanks. Competition makes everybody better. You have a monopoly that’s forced to compete. Suddenly, the monopoly’s products get much better, the offerings to consumers get much better. You see so many areas where Apple could be the best, but what they have is just really, really lousy, and it’s this old guard of leadership who is clinging to these old policies, turning themselves into the enemy of every developer, every regulator, and I think it’s ultimately massively to their detriment. Tim Sweeney (03:42:24): And I can’t wait for a new generation to come in and paint a bright path to the future. We were… Epic was an awesome partner to Apple for more than a decade of demos and partnership and technology usage together, and we did amazing things together. I’d love nothing more than to have that Apple. I mean, and bringing back Steve Wozniak’s original views. Just the Apple II was such an amazing thing. It’s a completely open platform. Lex Fridman (03:42:51): Mm-hmm. Tim Sweeney (03:42:52): The manual to the Apple II included a listing for all the ROMs, the source code to the ROMs. You could understand exactly what was happening there, and you could learn from it. It included a hardware schematic of the entire computer so you could learn how to make a peripheral and plug it in an open ecosystem, and that’s the awesome Apple. That company would be the best company in the world again. I think the current one is just on the wrong side of history and needs to change. Lex Fridman (03:43:17): Well, I hope Epic and Apple find a path forward together and flourishing together, and Apple embraces competition better. One of the things I admire about this conversation that you mentioned, Steam a bunch, with kind word supportive and basically never mentioned Epic Game Store. I love that. So I really love that. It really embodies the fact that you want variety, you want freedom for people to choose the best thing, and, in so doing, create this large network of humans interacting freely with each other. Okay. Lex Fridman (03:43:55): That said, one of the competitive pressures that Epic has created a few years ago was by launching the Epic Game Store. And instead of Steam’s 30% revenue cut, you went with 12% revenue cut creating the competitive pressure saying, “Listen, this shouldn’t be that high of a cut,” which I thought was amazing. This is a brilliant idea, and I think it still is a brilliant idea. It’s wonderful. Now, in preparing for this conversation, I looked on the internet, and I saw there’s a lot of criticism of EGS, Epic Game Store. First of all, I should say, the internet is full of drama and criticism. There’s not enough celebrating of awesome shit. Lex Fridman (03:44:46): That if I can ask the internet as a blob one request, can we just celebrate awesome shit and also criticize, but just like there’s not enough celebration. Anyway, the two directions of criticism is just straight up, “The launcher interface is clunky and lacks a lot of the features of Steam.” And then the second set of criticism is the exclusive contracts which were made with some of the games that are on Epic Game Store. So, first, huge props on the 12%. Maybe you could speak to the vision of that. And second, can you comment on those two criticisms? Tim Sweeney (03:45:31): Sure, yeah. I think one of the reasons that people characterize the Epic Games Launcher is clunky is because the Epic Games Launcher is clunky, and we need to improve this. There’s a lot of work going on there, and I wish we’d gotten better at addressing quality-of-life features and prioritize them above all of the other features because Steam has 15 years of built-up work by many of the best programmers in the whole industry working on that, a much larger team working on Steam and a lot more time working on it. Tim Sweeney (03:46:09): And so we’ve had to make a lot of prioritization decisions about what do we support with the Epic Game Store and when, and a lot of the time, it’s been supporting commercial features like merchandising, offering multiple versions of a game for sale, and offering upgrades from the regular edition, the deluxe edition, and other things that partners work and other priorities have been quality of life and launcher load times and other things. And we’ve not put enough emphasis on the quality of life features. We’ve recognized this very clearly multiple times and we’ve gone through multiple refactorings, but that’s definitely been a disappointment to us and to a lot of users. And I think one thing we had to… it took us a while to realize was it’s not ununiform. Depending on your proximity to a CDN and the size of your game collection, it can be either awesome or really clunky. And the users for whom it’s really clunky are the people. I think [inaudible 03:47:04] large part of the complaints. Lex Fridman (03:47:05): They’re going to speak up. And I should also say that the Steam Launcher, for a long time from my memory, but also just looking online, was also very clunky in the beginning. Tim Sweeney (03:47:15): Yeah. And one of the criticisms of Epic Game Store from the beginning was, “You don’t have all of the features of Steam,” but we very much don’t want to have all of the features of Steam. Steam has forums dedicated to your game, and we decide we don’t want to create forums. And our partners, when we talk to them, generally didn’t want us to create Epic Game Store forums for their games because there’s already channels that they prefer to them. Tim Sweeney (03:47:36): There’s social media and a number of platforms, and there’s Reddit, and there’s lots of places for gamers to discuss their game, and they prefer those discussions to be there. And so it’s very much not our goal to mimic everything of Steam, but we do want to have all of the convenience features that makes it easy and fun to use [inaudible 03:47:54] Steam. So there’s a long journey ahead. But we continue to reinvest it, and we’re working to build a multi-billion dollar business there and think we’ll succeed. Tim Sweeney (03:48:04): Already, the Epic Game Store supports an immense amount of Epic games commerce in Fortnite on PC. Now, on Android and iOS and the European Union too. So it’s a forever facet of the industry, and we are never losing heart in it. And we think, at some point, I really feel that the benefits of the Epic Games approach are going to outweigh the benefits of the Steam approach, especially as gaming becomes multi-platform. One of the things that really sucks for all gamers is that you have a lot of friends in the real world. Tim Sweeney (03:48:37): Some have… Everyone has different platforms. Your Steam friends aren’t connected to your Xbox friends, and they’re not connected to your PlayStation friends or your Nintendo friends. And so you’re very much bottling up PC gaming into kind of a hard-core group of PC-only folks and making all of the other aspects of it difficult. A lot of games have flocked towards Discord, which is a mess in itself because can now your Steam name is not your Discord name, and that’s not your PlayStation name. Tim Sweeney (03:49:01): And so now you have three… two people in a game, and they have four different identities, and that sucks. Our aim for that is with Epic online services, and the social systems that we built for Fortnite opened up to all developers to have cross-platform social features be super easy and free for all developers. This is not something we’re trying to gatekeep or rent-seek on or lock people into. It’s just a way that we’re making social gaming easier for everybody. Tim Sweeney (03:49:29): As more and more games follow the Fortnite approach of being multi-platform, especially multiplayer games, Metcalfe’s Law is a very real phenomena in the industry. It’s the thing that’s upending some games and causing growth in other games. It is the number one trend for pervading the world of gaming today. And it says that your game is quadratically more valuable the more percentage of a user’s real-world friends they can connect to. Tim Sweeney (03:49:55): Your game vastly benefits by connecting all of its players together and not segregating them off into different online platform populations and so on. And so I think the future trend is in that direction. I wish Valve had opened up Steamworks to just work on all platforms. They could have easily done it. We did it. But they seem to be using it as a lever to keep people locked into the Steam PC Game Store. Tim Sweeney (03:50:20): And that’s going to be a long-running battle because there’s always a very toxic group of Steam users who they even created an entire sub-Reddit dedicated to criticizing Epic and our store, and they create basically harassment campaigns at times against developers who use Epic online services. Developers do that so they can their players across platforms and have friends across platform and voices across platforms, but suddenly, that’s trying to be turned into a negative. Lex Fridman (03:50:52): It’s clear that Epic wants developers to win, wants gamers to win, and wants Steam to do awesome also. And in the competition between Steam and Epic Game Store, create awesome stuff together. I mean, there just… it’s obvious to me if you don’t read this stuff online, but online, it’s like there is just negativity that I don’t think is constructive in general. Lex Fridman (03:51:24): I actually give a big sort of positive thank you and props for the push to multi-platform that was always there with… for Fortnite, perhaps before the pressure that Epic created on breaking the barriers of Xbox and PlayStation and PC and being multi-platform. I got a chance to play with Fortnite a little bit with you and all the people in the group. By the way, awesome interface, audio chat really fun. But you could see a couple of PC folks, a PlayStation person, the Xbox person all together. Lex Fridman (03:52:02): We can’t really tell what they’re using except for a little icon and it’s nice. It’s like all these barriers that we’ve created with these platforms are gone. Poof. And you creating the pressure with Epic Game Store and just everything you’re doing with Fortnite platform, it’s really nice. There’s no reason to create these silos because, ultimately, you should put the gamer first and let everybody interact with actual real-life friends and make new friends across the entire network of humans. So anyway, thank you for that. Thank you for creating that pressure. Tim Sweeney (03:52:38): Thanks. Yeah, that was an interesting time. Sony had her long-running policy preventing cross-platform play, and we had a long series of conversations, which got pretty harsh towards the end. But Sony ultimately came around, and they opened up PlayStation, and through a series of private conversations, they did the right thing. Not only that, our partnership with Sony has increased since that argument back in 2018, and we’ve gotten closer and closer and done ever more things with Sony. Tim Sweeney (03:53:11): Brand IP, like the character from God of War, and other games coming into Fortnite and all kinds of crossovers. Massive Unreal Engine adoption and Sony for making games for making movies at Sony Pictures. Music partnerships with Sony Music. That’s been an absolutely wonderful relationship, and I think that stands as an awesome example of a company that, because of historic reasons, got stuck with a policy that no longer made sense for the future. Tim Sweeney (03:53:38): And following a serious discussion with a close partner righted it, and did an awesome thing, and now Sony is much better off, and Epic’s better off, and all game developers are better off and the whole console industry, I think, it’s a lot stronger now than it would’ve been if these silos [inaudible 03:53:54] to be playing out. And despite the kind of potential concern that maybe blocking platform play with Xbox gave Sony an advantage, Sony has actually grown in market share relative to Xbox since that time. Tim Sweeney (03:54:07): And so you can’t say that anything but goodness came of that time. And I think a better version of Apple would’ve received… The email I sent to senior Apple management and been like, “Huh, there’s an issue here. We should have a discussion. We should reconsider this. We should listen.” And, yeah, they didn’t. And that’s why we’re in the midst of a five-year battle with Apple and in the… hopefully still the early days of a 15-plus year partnership with Sony. Lex Fridman (03:54:38): Come on, Apple, we love you, Apple. Do a little bit better. The second line of criticism that I mentioned, the exclusive contracts with some of the games, can you just speak to that because, in so much of the journey of Epic, you’ve been sort of against exclusivity? Tim Sweeney (03:54:54): Let’s back up and talk about the principles at work here. Apple forcing other companies to use their payment service is a cursive decision by Apple. But if Apple convinced other developers to use their payment service by offering benefits or a better deal or funding or any other positive incentive, then that would be perfectly fine. One is preventing competition, and the other is actual competition. Tim Sweeney (03:55:26): Epic has never forced any developer into any sort of exclusivity relationship. Rather, we’ve offered developers payment or incentives or marketing or any number of things of value to them in exchange for coming to our store exclusively, and it’s their game. So it’s entirely and rightfully up to them to decide how to distribute it and to make the decisions about their business. It’s their game. Tim Sweeney (03:55:53): If they want to distribute it through Steam, they can. If they want to distribute it through Epic exclusively, they can. If they want to distribute it through both, then they could do that as well. And if we pay them money or other things of value in exchange for them coming exclusively to the Epic Game Store, I think that’s their right. And this isn’t an example of Epic, an underdog with a tiny fraction of Steam’s market share, working to proactively compete with Steam by offering a better supply of games. Tim Sweeney (03:56:21): And some consumers who prefer Steam might prefer that the game be on Steam, but the developer in each case is decided that they believe they would benefit more by doing this exclusive deal in exchange for benefits than by being on Steam. One of the key exhibits in the Epic-Google trial was its opening exhibit, which was trying to point out to the jury in the trial the benefits of exclusives. Imagine a new store popping up. The store has a big sign outside of it, “We’re the new store. We have everything that the other store has, and it’s at the same price.” Tim Sweeney (03:56:58): Are you going to go to the new store? No. Nobody’s going to switch from Steam if Steam has all of the same games as the competing store and everything’s priced in just the same. And so, we looked at initially two ways of competing with Steam strongly. We wanted to sell games at a better price than Steam by agreeing on the amount of money we pay each game developer. If we’re going to… If the game’s going to sell for $50 and we take 12%, we’d actually lower the price and potentially even lose some money to offer a better deal. Tim Sweeney (03:57:29): Well, we tried to pursue this, but very quickly, every developer told us that they wouldn’t agree to better pricing because if they did, then Steam would stop giving them marketing featuring and benefits, and the console makers would be mad, and all their relationships would be harmed. And so there’s an undercurrent of powerful platforms and ecosystems encouraging developers not to compete on price. So, not being able to compete on price, we decided to compete on by doing exclusive deals, and we- Tim Sweeney (03:58:03): We decided to compete on supply by doing exclusive deals, and we signed a lot of them. Paid developers lots and lots of money. I think we distributed over a billion dollars in net expenditures to developers beyond the revenue we actually made from games in order to get a whole lot of exclusive games. Some are successful, some weren’t. Borderlands did awesomely on the Epic Games tour, and we and Gearbox felt that it did just as well through Epic as it would’ve done on Steam because the players who wanted Borderlands wanted Borderlands and they came and got it. Whereas a lot of other games, some smaller games especially that didn’t have a dedicated audience that was absolutely going to play the game, typically benefited from exposure on Steam. They were reaching an audience that wouldn’t have reached organically. And so some of them in the end, we and they concluded that they did worse by being on the Epic Games tour exclusively in terms of reaching fewer customers. Tim Sweeney (03:58:52): And we had these limited time exclusives. When they ran out, they put their games on Steam and lots of data was gathered to understand what worked. And this worked well for some games, didn’t work for other games, but companies seeking to compete, especially underdogs seeking to compete, have to offer some unique value, have to offer something that’s not available through the competitors. And I get that Steam users they just prefer using Steam and buying games on Steam, want to have their library in one place don’t like this. But you’re never going to have competition for better deals if you don’t support the competitive mechanisms that allow competitors to come about. And I think if Valve were forced through Epic Games Store’s success to compete with Epic Games Store, then developers would be getting a better deal. Consumers would be getting a better deal, and these 30% fees would be driven down quite a lot towards the actual costs that are required to support the stores. Lex Fridman (03:59:46): Yeah, I mean there’s a lot to be said there. I’ve gotten to watch Spotify try to do this with podcasts, enter as the underdog into the space and try to attract, they made exclusive deals with, for example, with Joe Rogan, where the podcast would only be published on Spotify. I personally think long-term, what I would love to see for EGS, for Epic Games Store, is to not do any exclusivity, similar to what Spotify is doing now. Even with Joe Rogan, they let go, it’s wide open. And instead compete on the space of just the non-clunkiness of the interface, because the foundation of what Epic Games Store represent with 12% is just philosophically. So you’re also competing on the sort spiritual realm of what it stands for ethically. Lex Fridman (04:00:49): That’s also a really powerful way to win. Now that there’s enough number of people using Epic Games Store to drift away, to move away from exclusivity, it’s understandable that it’s needed for the competition for the underdog to enter the scene, but it goes against the freedom, the free spirit of choice that I think you represent in a lot of the decisions you’ve made, which is making the games cross-platform and just, yes, giving freedom to the developers, giving freedom to the gamers to choose. So in that way, I think exclusivity a little bit goes against that. Tim Sweeney (04:01:30): Well, here’s the conundrum. The exercise of soft power by all of the competing stores has made it intractable for almost any developer to offer a better price through the Epic Games Store than through Steam. You can imagine that if the effective Epic revenue sharing 12% to developers was that games just cost 22% less on Epic Games… Sorry, 18% less on Epic Games Store, that that would actually start to reshape consumer behavior significantly. People would start coming here for the better deals. But I feel like Steam giving developers nasty phone calls and so on, when they propose to do that, prevents developers from passing on savings to consumer. Tim Sweeney (04:02:15): Then what’s the mechanism that drives users away from the incumbent store to the store that offers a better deal? If basically developers are fearful of competing on price through stores, what can possibly be done to get a dominant store with something like 90% of revenue share among multi-publisher stores in line so that a much, much smaller store can compete? I think some answer is required there. A better UI is great. Steam is super polished. Epic Games Store in time will hopefully be as polished. How does that overcome the fact that your entire library over the past 15 years is there, if developers have been afraid to exercise their own economic interests? Because it’s in a developer’s interest to sell on Epic and get 18% more of the revenue. I think there’s a real power to incumbents. It’s very hard to overcome for just being there and being as good. Lex Fridman (04:03:25): Ultimately, where I hope it converges to is less exclusivity and where the competition can be the kind I love the most, which is on the UI, on the experience, and then on the Steam side, on the 12%. So it can go from 30% and start to support the developer by lowering it from 30% closer to 12%. So anyway, I’m a big supporter and I don’t like the criticism of Epic Games Store, but I also have to say that I don’t love the exclusivity, but I understand the reality of the world is that you have to have some mechanism to get people to switch, or not to switch, but to at least get some of their games to try out, to experience, to allocate some of their library to the underdog. So I totally understand and hope the UI keeps improving. Tim Sweeney (04:04:30): Thanks. One more bit on that exclusivity point is that when we told Google that we were going to launch Fortnite outside of Google Play and go into competition with them, they viewed exclusivity as such a powerful competitive force that they went around to the top 30 publishers and paid out hundreds of millions of dollars- Lex Fridman (04:04:52): Oh, boy. Tim Sweeney (04:04:52): … to them in order to agree not to do exclusive deals with competitors. And that was called Project Hug. H-U-G. Hold developers close. And that was one of the major pieces of evidence on which the jury found their practices to be illegal and anti-competitive. And the one more data point on that, we talk about 30% and there’s always a lot of people defending Steam. “Well of course they have more costs because they have more features than Epic.” We have data on that that’s very detailed. The all-in cost of operating the Google Play Store, stocking it, maintaining it, the software, the entire ecosystem is around 6% of revenue. So in a competitive market, would a company whose cost is 6% be able to charge 30%? Absolutely not. And Apple’s costs are similar. Apple runs an even more efficient and lean operation than Google. So their costs are also likely in the range of 6% all in. They market up from 6% to 30%. Only a monopoly can do that. Look at competitive businesses, they have a margin of a few percentage. The numbers there are strikingly supportive of just outright anti-competitive market distortions. Lex Fridman (04:06:16): Okay. What do you think is the future of the gaming industry? So well you’ve said to me a bunch of exciting stuff about indie developers, so do, what are called AAA video game companies, so these big gaming companies, do they have a future? What is their role? How do you see in the next five, 10, 20 years the evolution of these big companies and indie developers? Tim Sweeney (04:06:42): Yeah, there’s one constant in gaming that I think the industry manages to lose sight of from time to time astonishingly, and that’s fun. And people play games for fun. Lex Fridman (04:06:51): Yes. Tim Sweeney (04:06:51): Our whole job is to deliver fun. And when you look at a lot of the games that failed recently, they just didn’t deliver fun or they didn’t deliver fun in a manner that was nearly competitive with the other sources of fun just in people’s lives. And so at a basic level, we don’t need a terribly complicated theory to explain a lot of the malaise in the game industry. There’s just been a degradation of the capabilities of a lot of publishers, partly because of competition for talent. Companies like really vibrant game businesses like Epic or Riot or others, are hiring the best developers and accumulating them. And big tech companies are hiring the best game developers because there’s super talent there. Tim Sweeney (04:07:32): And so in some cases the companies aren’t competing robustly or getting worse, they’re making games that are less fun. I think everything else that’s happened is kind of a sideshow to that. There’s always political drama and so on, but I think the just the core is a failure to deliver fun, and the nature of fun is changing. It turns out that playing a game together with your friends in a really socially engaging way with voice chat is just way more fun than playing a solitary game for the most part. And there are exceptions to that, but I think we’re seeing much, much more playtime shifting towards games you’re playing together with your friends. And not just random internet strangers who happen to play that game too, but the people you actually know in the real world. And that’s certainly been the case with me and with almost everybody I know who’s playing Fortnite or similar games. Tim Sweeney (04:08:21): And that has really significant effects in reshaping the whole game business because a single player game, if you have 20 people with 20 different opinions of which game to play, each one might buy a different single player game. But in a multiplayer game, if there are 20 games out, and each one might have their own completely individual preference and each one were independently choosing which game to play, each one might buy a different game, but they’re all realizing that they want to play together. And so what players are doing increasingly is playing a game they like and accept together with their friends, even if it’s not the game that every one of them might be preferring to play themselves. And that’s certainly the case in different Fortnite groups I play with from time to time. It’s like one player might have been preferring to play COD, one might have been preferring League of Legends, somebody else, something completely random, but it’s just so fun to play together, we’re doing that. Tim Sweeney (04:09:17): And that means that there’s really strong Metcalfe’s Law effect, in which games which are able to attract a large percentage of your friends are more able to attract you and not only attract, but also retain. And so I think Matthew Ball’s analysis of this over the years has really documented the trend towards, you can call it the metaverse or you can call it large scale multiplayer social gaming, he’s really documented this trend. And over the past year or so, it’s taken a really, really strong turn towards increasing rate of change, increasing numbers of players coming to Fortnite. We hit an all time high of 110 million monthly active users about a year ago. Lex Fridman (04:09:57): That’s crazy. Tim Sweeney (04:09:59): Another close to peak this time. Roblox is bigger than ever, and this trend is players consolidating into multiplayer experiences that they play together. And we’re seeing another trend overlaid with that, which is like when an awesome single player game comes out or a smaller multiplayer game comes out, people often will treat it as a vacation. They’ll go off and play that game for a while, then come back. And I think Wukong was an awesome example of that, a wonderful game from a brilliant team in China. They made a game that’s like no Western players had really seen that type of thing done before and it was awesome and it did well, but most players play it for a while and move back on. And that can be lucrative. But a business that’s building that kind of game is going to have to build a new one every few years and build a business around that, while the other games continue to accrete users. Tim Sweeney (04:10:45): But when you have a large number of gamers migrating to a small number of games, the effect of that is increasing revenue for those games, increasing reinvestment. And there are things that Epic can do with a team of thousands of people building Fortnite internally, and tens of thousands contributing to Fortnite as independent creators. There are just things that can happen with that level of investment that can’t happen in a smaller game. And so there’s somewhat of an increasing winner-take-all dynamic where the biggest games reinvest more to make their games more fun, to gain fun at a faster rate than other games. And the industry is changing around that. Tim Sweeney (04:11:25): So I think the lesson for the game industry now is that there are really two big opportunities being pursued. There are big games, or games that have the potential to be really big multiplayer experiences that keep players around indefinitely for very long periods of time, and then there are just really good and small-scale games that people are taking a break from their big games for. And the trend there is going to be towards efficiently developing those games. You can’t build one of those games with a $300 million budget, but if you can do it with a $40 million budget, you can make a lot of money. So I think that’s the main reshaping going on and think that it creates a rather bleak outlook for a lot of the category of single-player games that don’t have a huge audience to reach. But this is just one of the really trends of restructuring the business around the technology and changes of the day. Lex Fridman (04:12:17): Okay, this is going to be a ridiculous question, but aside from the games you’ve created, what are some of the greatest video games ever created to you? What video games have been either impactful to you in your life or maybe you’ve seen created and you’re like, “Huh, that’s a beautiful art piece.” It could be in a totally different realm. Obviously for me, I return often to the single-player domain of role-playing games of the Elder Scrolls series Skyrim. That was like a world that they created, a recent game, Baldur’s Gate 3, that was a really incredible piece of work and art and doing a lot of innovative stuff, again in the single-player domain. Is there games like that outside the ones you’ve created? Tim Sweeney (04:13:07): I’m most impressed with the games that have created what appears to be a full living, breathing world. Games that give you the sense that you’re just a part of it and there’s a lot more happening and there’s always more. And it gives you the sense that you could go anywhere and do anything. Even though these games really do have finite limitations and there are places you can’t go, really creating that sense of wonder is just a magical thing. Like Zelda: Breath of the Wild. Lex Fridman (04:13:39): Oh yeah. Tim Sweeney (04:13:40): Skyrim, Red Dead Redemption. Lex Fridman (04:13:42): Red Dead is great. Yeah. Tim Sweeney (04:13:43): It’s like there’s an entire ecology simulator in there. I have a high school classmate that got into studying river ecology and he was commenting on, “This is one of the very few games that’s hydrologically sound.” They actually went to the effort of shaping the rivers to follow erosion dynamics and so on. The attention to detail, and there’s something there that’s big. It’s been funny journeying through the industry. I last designed a game in 1992. I’m not a game designer. I have a very open-minded view that the best game genre that will ever exist has not yet been invented. And as we get more technological capabilities and creatives people use that and hopefully empowered by higher productivity tools and so on that we’ll see more and more cool things emerge that we’d never dreamed possible. And the idea of a world simulator is actually really interesting there. It’s been tried a lot. It’s usually extremely slow and expensive to create, but over time, maybe we’ll get better at that and that will be a thing too. Lex Fridman (04:14:49): You said so many interesting things there. New City Builders. Tim Sweeney (04:14:52): Yeah, civilization. It’s just mind-boggling that they’re building a game with that depth that can evolve so dependent on your actions. Lex Fridman (04:14:59): To do that, that scale of world, but to where you can step into it and be in it. I think Red Dead is a great example, but to do Red Dead Redemption in a way where you can walk around with friends at a large scale. And I guess what you have given so many years to is creating the tools that enable the artist to give that attention to detail that Red Dead does on several of the things. And once you do, there’s something magical about that. Once you give that attention to detail. I don’t know what it is, but the love of the artist comes through somehow and you can feel the care that they put into it. Tim Sweeney (04:15:52): That’s right. The best games have a soul. You can really sense it. Like Call of Duty has a very different soul than Fortnite, and it just kind of exudes not only in what you see in the game, but also in how players interact with it and interact with each other online. That’s a really fascinating thing I wish would be studied more. Lex Fridman (04:16:09): I think we talked about the soul on several fronts, right? I wish it would be studied more. Tim Sweeney (04:16:14): Yeah. These little game design decisions that the designers make have a profound impact on what players think of the game and see in the game. Fortnite Battle Royale always had a sense of mystery to it. You’re on this island, but you’re not sure exactly what’s happening here. There are all these houses, they’re abandoned. Why? And I’m not the secret holder, I’m not on the design team, I experience Fortnite as a player, but it really exudes a lot of that and a good spiritedness as well, because even when you’re eliminated in Fortnite, there’s not blood spurts and there’s not gibs, you’re just teleported out of the simulation. And often you end up losing the game in a way that’s hilarious enough that actually you’re laughing at it or you’re like respect to that player who just won because that was clever. And it creates a very different dynamic than these other games where players tend to be very positive towards each other. Tim Sweeney (04:17:09): One of the things I like to do in Fortnite just to kind of gauge how the game is going, is I play fill squads, get match made with three other random players and play a game together. Sometimes they have voice chat, sometimes they don’t. And back when our matchmaking regions were bigger, I learned a little bit of battlefield Spanish so I could speak with the people who were down- Lex Fridman (04:17:27): Battlefield Spanish. Tim Sweeney (04:17:29): … as far south as Mexico City. And the positivity of the interactions there among every kind of person you might ever meet online were really quite impressive and completely unlike what you would see in a game like Call of Duty, where it’s always everybody’s got to be an edgelord. Lex Fridman (04:17:49): I love online gaming culture. I have to ask you because it’s kind of like one of the legendary games is Grand Theft Auto. Speaking of the worlds that are just like… I mean, that’s its own thing, right? That’s that world, the characters, the style, the edginess, all of that. But the interesting thing about Grand Theft Auto VI to me that I want to ask you about is they took forever. It’s the six-month thing that you mentioned before. There’s some games like that just take years to bring to the conclusion. What can you say about that process that you eventually were able to take unreal to completion? If you were to look from the outside, why does it take Grand Theft Auto that long or other companies to take the games to conclusion? And what I mean, just insight into what that process is like. Tim Sweeney (04:18:52): Making games is very hard, and especially when you’re pushing the boundaries of something. With Grand Theft Auto, it’s just the realism and feeling that you’re in this huge city and that anything can happen and it’s all living and breathing and you’re just a part of it. The level with which Rockstar has brought quality to that genre is astonishing. And when you’re building something at a level of quality and detail that’s never been achieved before, you can’t predict how long it will take. Whatever problems you’re solving today to get to the next iteration of quality on it, you don’t know what new problems that will unlock. And often you fix one thing and make it super realistic, and that just highlights the unrealism of other things that you then need to fix. Tim Sweeney (04:19:37): I think the thing that always comes to mind is that shipping a game is easy if you don’t have a high quality standard, we also won’t have much success. What we’ve seen from Rockstar is they take a long time, but they ship amazing games and it’s worth it in the end, right? A bad game is bad forever. A late good game eventually is released and is good. Lex Fridman (04:20:01): Do you ever feel, like Rockstar is a good example of that, the pressure of delivering quality? Epic has not missed recently that I’m aware of, in terms of delivering quality. You feel the pressure of that that you’re not allowed misses? Tim Sweeney (04:20:19): We certainly do. Everybody’s often working very much to the last minute to make something excellent. And it’s really hard with these fast delivery timeframes because you really have to get a lot of stuff up and running before you can judge it, like a new Fortnite season holistically. It’s not until the last month or so that you really know what you’ve built and you really understand it. And if any late breaking problems emerge in balance or anything else, it’s usually towards the end. And that usually leads to a rapid push to fix it. And then other lessons, you can only learn live and from experience. And that means accepting a game that it’s a live experience and it’s also an experiment and it’s going to continually be improving. And at any time, there’s some things that some people don’t like and you learn from it and you improve it and you move on. Lex Fridman (04:21:12): Let me ask you a big philosophical question. So you’ve created these gigantic worlds that bring so much fun to humanity, but you also get to learn about humanity. What gives you hope about us humans, about the future of humans, about the future of humanity? Tim Sweeney (04:21:34): I see two contrasting worlds that have been brought about in the digital age. One is the world of social networks and people typing at each other and just massive negativity and politics and hucksterism and creation by engagement often promoting negativity and toxicity. That’s a harsh world that I think is a step backwards in many ways. I think that the foundation of the world is actually a little bit shaky because of just the social dynamic that those platforms have brought on. But then I compare that with the good spiritedness of what’s happening online when you’re connected to real people. Actually playing Fortnite, playing Fortnite fill squads with people you’ve never met before and never talked to, and just judging what human connections develop there and whether they’re positive, I found those to be really, really excellent and endearing. Tim Sweeney (04:22:28): I think the lesson from all of that is that humans talking to humans and being together in the real world or a virtual world, is a naturally empathetic medium, which naturally leads to bonding, and though conflict sometimes occurs, it’s just generally so much more promoting of our social norms and good interactions between people and positivity promoting. Whereas the typing angry messages thing at each other as a self-reinforcing negative dynamic that’s negative. And I think you look at social media and you look at gaming that is increasingly social, and I couldn’t see a bigger divide between any two medium as I see there in terms of the actual social dynamics. One super positive, one super toxic at times. Lex Fridman (04:23:18): Yeah, that’s actually really… The text-based medium. Now, that could even be around gaming. You could look at Discord, it could be real toxic in text, but you place humans together in the real world here in the room, I very rarely see humans not get along in the physical space. And the degree to which you can create a digital space, like a metaverse type of space where it’s sufficiently immersive, where you feel the other person, the empathy comes out, and then the joy that’s derived from the empathy comes out. And it’s just a reminder that humans… I don’t know, that humans are good and they want to see the good in others. They want to share the goodness. And then when they get in that group together, there’s love there. Lex Fridman (04:24:12): Now, they might talk shit about some other group, this is the dark side of humans, but together in terms of the dynamics of that group is joyful. So yeah, that gives me hope as well. And the more degree which we can create those worlds online that make it super easy for us to connect in that empathic way, the better. And I am grateful that you are pushing the boundaries of what’s possible in creating such worlds. And I’m grateful that you would talk with me today, Tim. This is amazing and it’s an honor to talk to you. Tim Sweeney (04:24:46): Oh, thank you very much. It’s been fun. Lex Fridman (04:24:49): Thanks for listening to this conversation with Tim Sweeney. To support this podcast, please check out our sponsors in the description. And now let me leave you some words from Benjamin Franklin. ” We do not stop playing because we grow old. We grow old because we stop playing.” Thank you for listening. I hope to see you next time.

本集资源与出处