Transcript
477qF6QNSvc • Tim Sweeney: Fortnite, Unreal Engine, and the Future of Gaming | Lex Fridman Podcast #467
/home/itcorpmy/itcorp.my.id/harry/yt_channel/out/lexfridman/.shards/text-0001.zst#text/0822_477qF6QNSvc.txt
Kind: captions
Language: en
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 and faces and infer emotions
and intent because cavemen had to uh
when they see a stranger determine
whether they were likely friendly or
they were might be trying to kill them.
Um, 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 they
built 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 nuance
detail of our faces and how all the
muscles and senas and fat work together
to give us different expressions. 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 of
computer graphics. You know, there's
technology for rendering hair, which is
really hard because you can't render
every like, 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. Um, so you need
approximations that capture the net
effect of hair on rendering and on
pixels uh without calculating every
single interaction of every light with
every strand of hair. Um, 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 our
skin is 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. You know,
this is why you there's no way you can
paint a mannequin to look realistic for
a human. You know, it's just a solid
surface. Um, and we'll never have the
sort of detail. You see, that kind of
blew my mind like 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 are human eyes 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 nuance
expression just the subtle squinting of
the eyes or the subtle formation of a
smile. It's a 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 like
beginning of a formation of a smile that
actually reveals a deep sadness all of
that like when I watch a human face I
can like 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. 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 Uncounty Valley.
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 Freedman 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? I had a brother, Steve
Sweeney, who uh 16 years older than me.
And um 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's my
first like trip away from my family just
to hang out with him. and he had this
brand new IBM computer and I I learned
to program over the course of a few days
and basic I was just blown away with the
capabilities of computers at the time.
It was unbelievable what they could
accomplish and uh I was just hooked from
that point onward and very much wanted
to be a programmer. Do you remember what
you wrote in basic? Is it a video game
type things? Is it like for loop some
numerical thing? What do you remember?
Yeah, it's funny. I I have a perfectly
vivid memory of all the first things I
learned to program. Okay. I have a hard
time remembering people's names, but
like code really sticks with me. Every
step and every challenge, there were
lessons learned. And you know, some of
which I' I've come to realize were just
like me uh getting over some learning
hurdles, but other things were actually
shortcomings of programming languages.
Uh and the realization that there are
actually better ways. And when a
programmer is learning to program for
the first time, uh, you know, a lot of
what they're facing isn't the challenge
of learning a new art. It's the friction
introduced by failures of programming
language design. And so I've I've
constantly come back to those early
lessons there as I've as I've progressed
and done more and more things including
building programming languages. Yeah,
the friction and the
pain is is the guide to learning in
programming. Like if I were to describe
programming journey that would be marked
by pain and that pain you you shouldn't
escape the pain. The pain is instructive
for you to understand programming
languages. But do you do you remember
what kind of stuff you were writing um
at that time just the early programs?
Yeah, in the early days I wrote a little
bit of everything. I wrote some games.
Uh the first game I wrote on the Apple 2
was uh since I only knew how to program
in text mode. Um the computer would uh
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 you know look
like a baseball mitt and you're supposed
to catch the asterisks. That was that
was my very first game. It took about a
couple hours to build and tune. Um 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 cuz like I couldn't I didn't know
where you went to buy one of those. So I
made my own. Um, and you one of the
things of one of the fun things of that
time was bulletin boards. Uh, before we
had the internet in the hands of
consumers, you used your modem um, and
you dialed into a local phone number um,
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. Um, and so I
spent a lot of time building a
bordenboard program and learning how to
deal with database management and user
interface and dealing with multiple
users concurrently and things. And so,
uh, I'd probably spend about 10 or
15,000 hours, uh, writing code just on
my own as a kid between like age 10 and,
uh, and, you know, age, uh, age 20
before I actually shipped a program to
the outside world. 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.
Yeah. You know, 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 learn new things. You know,
learning about how to store and manage
data, learning how to deal with advanced
data structures, how to uh write complex
programs that have deeply nested uh data
and control flow. Um each one of those,
you know, provide a lesson uh
which were later essential. You know,
when uh in 1991, I released my first
game and over the the course of that
decade, we went from, you know, zero
commercial releases to the first
generation Unreal Engine. But, you know,
this was largely just using the
knowledge that I built up over the
previous decade. Um, just doing fun
hobby projects. Um, and if I hadn't done
all that work, there's no way I could
have ever built the things that came
later. All the experimentation and all
the
exploration
somehow contributed, somehow made sense
later on. Like all of that is integrated
somehow in the stuff you build. It's
funny how life works. Like it the pieces
kind of come together eventually. Yeah.
You know, there are definitely karate
good moments. Uh cuz you know, all this
time I was learning math in high school
and in college. I studied mechanical
engineering and so you know, you learn
all kinds of math, vector calcul
calculus and vector math um and matrices
and you know all these related fields uh
physics and stress and strain and uh how
to you know deal with complex physical
systems. Um, and yeah, I wasn't really
sure how engineers would actually make
use of that knowledge. Do you just like
forget about it when you actually go off
to do work or is it 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 3D math, I was like,
wait, I know this stuff. I learned this
and you know so you know suddenly like
the karate kid you know you get to paint
the fence and uh wax the car and
suddenly put all the pieces together
into you know a 3D engine based on whole
lot of accumulated programming language
and math knowledge often often knowledge
gained without ever anticipating that I
might use it in that way also I think
what's useful is over and over learning
a hard
thing and then showing to yourself, you
know, uh that you can do it, that you
can learn a hard thing. So then when you
come to having to write a 3D engine that
uh in ways that haven't been done
before, you're like, I've I've been
here. I've been here in this experience.
Like 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.
That's right. and constantly striving to
make connections between these fields
and look for their applications. Long
after I chipped on Unreal Engine, it was
like going back through an engineering
textbook and looking at, oh yeah, I use
that, I use that, I use that. And then I
got to the section on EN values. I'm
like, don't know what the hell this is.
Um but you know it turns out IGEN
vectors and IGEN values 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
existed in the web and you know links
from and two different sites and you put
them in a giant matrix and you conclude
it you found the dominant values then
those vectors described the best search
results for different things. And so
constantly picking up knowledge and
looking for ways to put it together is
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. uh because you 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. 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. I found getting
engineering an engineering degree and
then never working in an engineering
field, uh you know, just being a
computer programmer was immensely
valuable.
Um, yeah, I went to University of
Maryland, which for some disciplines,
it's kind of known as a party school,
but they work 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, you know,
not just what you find from the
Wikipedia article, but going through all
the exercises of solving complex
problems and building up series of
solutions to to derive an answer, it's
it's valuable and it is it embodies the
knowledge that you need as a programmer.
And you know, 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. like 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. Um and especially if you're
going to be entrepreneurial, it's really
knowing the stuff that matters and not
having the the diplomas. And uh yeah,
there's ever more pressure to make a
build rebuild society more and more
around credentials. Do you have this
certificate? Do you have that proof? But
like you know companies that are focused
on just building great products and
doing great things uh gravitate towards
people who do the great work. Yeah. One
of the great things about
youth is uh there's more freedom.
There's just more time to learn. And
people when they go to high school they
sometimes thinks why 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, you start a family. all wonderful
things. We get less more and more busy
and less and less time to learn in the
general sense. Learn whatever the hell
you want. And that that is a wonderful
time in life, the the teenage years, the
early 20s, the 20s, when you could just
learn random Yeah. You know, I
think this is something that's kind of
changing in America. Um there's so much
focus on grades and homework and um
structure around kids' lives. You know,
when I was growing up, you know, my mom
would feed me and my neighbors, you
know, my my neighbors and moms would
feed them breakfast and they'd, you
know, be like, "Well, be back by dark."
Um, yeah. And, you know, we'd go out and
we'd play and we'd do all sorts of
things. We'd, you know, explore the
woods. We'd build go-karts. We'd uh, you
know, salvage old pieces of electronics
and build you what we thought were our
space uh, spacecraft control panels um,
for the, you know, fake spaceships we
were building as play. And uh we'd have
anor enormous amount of freedom and uh
you know from basically being a little
kid through um through the time I went
off to college um it had an enormous
amount of free time and some people just
used that and wasted and watched TV.
Some people socialized um and some
people really got into serious projects.
Uh so many people at all times were
doing cool things. You know I was
programming. I was learning to build
things. I was uh you know before I was
releasing games to the world, I'd be
like yeah 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. Um
and they'd have their own projects and
often we'd have spare time jobs and
everybody was entrepreneurial like
everybody, you know, had a side gig.
Sometimes you go around and mow people's
lawns or you'd, you know, you know, rake
the leaves up and, you know, earn money.
And uh the freedom there and the the
organic learning that occurred there I
think is something that is really
critical to the American experience I I
worry is increasingly going away as
society is ever more protective and
sheltering um and makes it harder to get
these experiences.
So on the video game side when did you
first fall in love with video games?
I've had a funny relationship with games
because my real
aspiration has always been to program
cool stuff. I get more enjoyment out of
programming than anything else in the
world. Um, and so you know the my first
really too formative experience with
games were playing this game called
Adventure for the Atari 2600 was like
you moved 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,
you know, rather than realistic
graphics. And then the other game that I
really got immersed in was Zork, uh,
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 uh it
really brought in inspired imagination
more than other things. And playing
those games led me to go off and want to
learn to program everything that I saw
there. Um and that drove a lot of my
programming. I learned how to move a
player around the screen. And I learned
how to, you know, 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 if the
more powerful tools you had, the more
creativity you could unleash in yourself
or others. Um, and you know, I learned
all the programming techniques that
supported games. How to parse text, you
know, pick up sword and go north. How do
you make that sentence into an actual
series of commands on the computer? Um,
and that was really, really exciting.
Um, 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. You know, I'd sit down, you
know, when Wolfenstein came out and then
Doom came out. Um, I'd go through and
look at it pixel by pixel. I'd move the
mouse very slightly and look exactly
what was happening to figure out that's
great. What technique was being used
there and that that was a puzzle solving
at a grand scale and it was so fun.
Uh so so take me there in the the early
90s. So you launched Epic Games in
1991. So your the writing of your first
big video game uh ZZT. What was it like?
What was the technical challenges? What
was the psychological challenges of
building
that? It was a funny project because I
didn't start out to build a video game.
Um, I just moved from an Apple 2 that so
my my brother bought my family an Apple
2 right after I'd visited him in
California. So I've done programming on
that for a few years, learned a lot of
techniques, but weren't many Apple 2
users around still uh by the time that
cycle came to an end. Um, and so I just
got an IBM PC uh of my own. Um, I was
learning to program and I realized I
needed a text editor. So I started
writing a text editor. You know, 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 those you know
mundane actions and you know one night I
was like finished it up and I was like
well okay I have a text editor but this
is pretty boring and so I made the
cursor uh into a smiley face character
and I had the like different characters
you could place in this document perform
different gameplay actions. Some would
be walls and some would kill you and
some would uh be moving objects that
could uh 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. I put a lot of
time into like 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. I started off just
building different uh game levels. You
know, the idea is you'd be on a series
of board. They'd be connected by, you
know, going north the end of the current
board would take you to a new one if it
was open or maybe it was blocked and you
couldn't go there. I built this whole
game world around that. And you know,
this was the game that became ZCT. And
uh I was having fun with it, uh building
it and playing it, but I didn't know if
it would really work. So, uh I did this
experiment. I started inviting neighbors
over, like some adults, some kids of all
different ages, and I sat them down from
it and say like, "Here's a game I made.
Uh figure it out." Yeah. And you know, I
had to force myself not to tell them
what they need to do, right? Because I
really wanted to learn if if they were
able to uh you know, discover it all for
themselves. You know, today we call this
a, you know, user experience test. Um,
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.
Um, and just iteratively polished the
game until I felt was good. And I put it
out um, 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 uh
from there it started spreading because
you know 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. And uh
you know so there was a natural tendency
of the software to spread. I decided to
use the shareer model you know so I
didn't just build this one game. I built
a a trilogy of three games. Um, Mhm. I
released the first one for free. And I
said, hey, if you like this, buy the two
sequels. Um, and I included my parents
mailing address and uh said, you know,
send us $30 and uh you can get the
sequels to this game. And the check
started coming in within a few days. And
I was making like getting three or four
orders a day. I was making like a $100 a
day. I'm like, woo, I'm rich. Cuz, you
know, being a 20-year-old, that was like
a pretty big deal. What did that feel
like just getting money and probably
feeling this immense success from
something you've created? Well, you
know, I've looked at money always just
as a tool to help you fund accomplishing
cool things. Um, and you know, having
enough to do the things you want to do
is the critical thing. Um, it's always
been just very utilitarian. But the
knowledge that other people all around
the country and all then, you know, in a
month later all around the world were
playing the game, that was that was
mind-boggling. You know, that me like
this this little kid who'd put out a
game on a local bulletin board uh could
be doing international business and
shipping discs all over the world um to
players, you know, because the software
was spreading on its own was just
magical. Like, and that was a new thing
for software. Like that did not happen
with mechanical devices. like you
manufactured one, you sold it to
somebody and they had it and that was
it. But software could spread. Um that
was just really cool to see and it made
me realize there's really no upward
limit on the potential for a business
like that. You know, we saw Microsoft as
a big juggernaut company at at the time.
But I was like, hey, you know, if Epic
does games good enough, you know, we
could accomplish what they've got
accomplished with operating systems. And
the sky was the limit. And I I think
this is the the age we live in now. It's
you don't have to be an industrialist
manufacturing physical products. Anybody
who builds anything um digitally if it's
good enough you can reach the entire
world and build the you know next
Microsoft or Meta or Apple or Google or
or Epic Games. It's such a cool origin
story though. You start out building a
text editor. So you're looking at this
project, you're playing around with it,
you're building up the tools. It's it's
such an inspiring moment cuz uh 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 uh you
know compilers, you you designed your
own programming language, you built
compilers, databases, all these things
you 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 you know one of
the most legendary gaming companies was
created. It's kind of cool like that
that that's an inspiring thing for sort
of developers like be open to the
possibility of creating something you
didn't plan to create and just go with
it. Right. That's cool. Yeah. And it was
a bunch of learnings emerged really
quickly there. The the neat thing I did
with CCT was I didn't just release the
game. I also released the editor with
it. I built this tool so I could make
these ZCT boards that people could play,
but I also gave it to all the players
themselves. And um you know like 30
years later I still run into people you
when I go to a game industry event it
was like you know I grew up playing ZZT
and you know here's an adult who grew up
playing my
game and it was because it enabled
anybody to become a creator too. had,
you know, this little board editor and
it also had a little scripting language
so you could learn a little bit of
programming in it too. And um it it kind
of impressed and it really set a
formative principle of Epic which was
that you know the company's mission is
to make awesome entertainment but also
awesome tools and to share those tools
with everybody so they can build their
own amazing things too. And um you know
when we got into Unreal Engine a few
years later uh the interplay between us
building a game and us building a tools
uh 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 that by serving both
creators and gamers um we've been able
to weather the ups and downs of the game
industry. It's a a brutal place uh for
companies. um 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 uh it really set a
principle in our culture that uh that's
p persevered and is continually brought
to their forefront. 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 you know in
Fortnite islands
uh of their own. So it's like with with
everything you ship that that freedom to
create is always there. That's really
interesting. Yeah. And something we we
aim to do more and more fully over time.
You know, in the course of building
Fortnite, we've built a lot of other
tools that are useful for us, too. It's
not just a game powered by Unreal
Engine, but it's also, you know, a
social ecosystem where people can make
friends and voice chat and get together
and parties. 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 in that user base.
Um, and you know, our our goal is
ultimately to build the company's
products on the same technology that we
share with everybody else and to help
that foster a bigger and bigger
ecosystem over time where everybody
benefits. If we could just linger on the
'9s. Uh, 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 what was the internet like in the
'90s? So, the internet is a funny thing.
It started out as this defense
department um research project called
the arponet, the advanced research
project agency network and um it was
kind of like this revered secret thing.
Uh they became more and more open as
they connected universities. Uh
universities connected to the internet
and the you know mid1 1980s and so if
you were at a prestigious institution
with access to computers you could get
on there. But a consumer back then, we
just had these modems. You know, this
thing you plug into your phone line. Um,
and it dials up a phone number and then,
you know, it sends you wild sound
effects over the over the telephone line
to send digital signals back and forth.
And these were really slow. Three, you
know, the first modem I had was 300 W.
That means 30 characters per second of
data. So, you're like sitting there
watching a sentence like slowly emerge
character by character as you're going
online. But, yeah, that's how we got
online and we talked with each other. So
you dial up uh 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 um they
have a small community of a few hundred
users um all competing to connect to
that one phone line. Um it was often
busy and you couldn't get in and uh the
more popular bulletin boards were
hardest to get to. Um nice. We had all
kinds of communities develop you know
and you could see like there was the
programming communities where people
talked about programming. There was the
news and events you know uh community. I
was lived in the outskirts of Washington
DC. So that was like a big thing. But
then there was like the pirate community
where they're sharing pirated Apple 2
games and you know very different uh
community ethos and mantras out there
but all all you know all really nice and
also very small. Um these things these
boards couldn't grow to the size of
Facebook cuz your phone line couldn't
take that many calls. Um and you know
then uh then later in the 1990s the the
internet which had been fostered in
these colleges started opening up to the
public and anybody could connect to it
and suddenly the world took on a life of
its own. It became much much easier to
reach a global audience faster and you
would start shipping games to the
internet which is a bit of a crazy thing
to do cuz you're supposed to have like a
you know a physical copy but to to post
on the internet is pretty innovative.
Even share war is pretty innovative.
Yeah, you know, it's been a funny
transition for the game business. You
know, Epic started out making share
games distributed digitally. Um, but you
know, as the first 3D games took off,
like Wolfenstein, then Doom from ID
Software and then Unreal from us. Um,
took off, you know, 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 he put CDROMs in the box and um and
you know then the world started
transitioning back to digitally like and
that transition didn't start well right
but the initial transition of gaming to
digital was all bit torrent all piracy
um and you know there horror stories
about games that would uh you know sell
like 100,000 copies but have 2 million
users um cuz most people pirated it um
and then you know Steam came along and
uh introduced digital distribution ation
and uh made digital distribution of
legit games so convenient um that most
players moved away from piracy towards
that and uh and you know their practices
were then followed by others and the
early digital industry uh took form.
Yeah, it's fascinating. I mean pirates
do lead the way for
innovation the same as the story of
Spotify. You 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 that the same thing with
music with
Spotify. Uh but maybe just staying on
the '9s uh there are going to be a lot
of indie game developers who listen to
us talking today. Can you uh go back to
that mindset and try to derive some
wisdom and advice to those folks when
you were just a solo developer, maybe
just a small group of people
uh creating your early games that
eventually became this
uh huge gaming company. But in the early
days, what what uh what were you going
through? What were the ups and downs? Uh
what did it take to sort of stay strong
and persevere?
Well, you know, one of the critical
things that Epic always worked hard to
do was to make something different um
that nobody else was doing. Um and to
you tried to satisfy a small audience
rather than competing globally with the
game juggernauts. You know, 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. Um they
had giant retail distribution networks.
you know, if I tried to make a game and
then convince them to publish it, I I
doubt I could have had a chance and I
doubt uh that if even if I made a
successful game that I would have made
much money from it, though they might
have. Um, and you know, so the really
unique angle to Epic then was
sharewware. 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. You
know, it was kind of the advent of what
later became free to play. Um, 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 is
people bring, you know, their real world
friends into into the games they're
playing and uh, you know, have the
opportunity to build up a community
around that, you know. 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. And I think the other, well, I was
very fortunate. ZZT was a funny game. It
was not like much like any other game.
It was had much worse graphics because
it was all just text characters uh
smiley faces and you know other Greek
letters and things participating in this
game simulation. They were kind of
iconic representations of characters
rather than real ones. And you know this
was decades into the age of real
graphical games with interesting
graphics. Um, 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, you know, it wasn't just
my the three games I'd made and shipped
as a trilogy that were successful and
drove the success of the product. It was
the fact I released an editor and
there's a whole community around it. And
you see that that that trend has
repeated itself. Like there was, you
know, ZZT was one of before that there
was Bill Budg'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. Roblox, you know,
Fortnite creative and underreal editor
for Fortnite. You know, games that
become platforms for other people to
build stuff was a real opportunity. You
know, I think the big thing to realize
is for indie developers right now is
like there's massive massive competition
in every major genre. And um 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. Um a much better chance
of success uh 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. You
know, I think the oneshot uh go from
idea to commercial success at massive
scale is a lot less likely uh than the
multi-step process of continually build
better and better stuff over time until
you get into a position of excellence.
And constantly try to do something that
others aren't doing. Yeah, that's right.
Because if you look at every market, um
there's a few markets where the current
leader came late to the space. um
usually because the the prior leader
failed so horribly. Um but most of the
time the you know the company that's
succeeding and winning in a market is
the first or second entrant there. Um
they've just continually bullied their
success. Great advice, fascinating. But
on a human level, was it lonely? Was it
scary? You sitting there as a developer?
I'd say it was uh it was the opposite of
lonely because uh you know 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. Um and seeing
them enjoying it and laughing and
pointing at the screen and you know
getting together and just wanting to
play more. That's awesome. Um yeah, so
and and the human element was always
pervasive, you know, because I I not
only receive orders, but people would
actually write letters, you know, we
wrote letters back then in the 1990s. Um
people would say how much they were
enjoying the game and how their kids
were playing the game and so on and so
on. Um so you know felt very connected.
Um and you know I think a lot of
businesses have to make scary decisions
uh because you're spending you know
potentially all the money you have to
take a shot at something that you're not
sure will succeed. Uh I was very
fortunate starting a business like this
because it didn't really need any
capital. The capital was well the
several thousand dollars in computers
I'd bought by mowing lawns. Um, 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,
um, once it took off and once the once
the orders started coming in and people
started writing letters saying they're
enjoying the game, I knew I was going to
go all out and try to build a company
there and succeed. And that was like
going to be, you know, my big goal.
So, I'm sure people know, but uh Epic
Games was created in 1991 and went on to
uh transform the gaming industry several
times. Uh one of which is Unreal Engine.
So, let's talk through the origin story
of that. You said that uh when
Wolfenstein and uh Doom came out, that
changed everything. So, take me to that
moment. Yeah, that that was a very
interesting time. Epic had uh after my
first couple of games that had recruited
developers, you know, usually college
students, high school students who are
just working on their own, had real
skills uh but didn't have an outlet for
their work. Um Epic had been matchmaking
the best artists and programmers
together from all over the world. Like
Chaz Jackrabbit was Cliff Buzzinski, a
high school kid in California, had made
a really cool adventure game together
with Arian Brucey, a demo coder from
Holland who' make amazing graphical
stuff and had built a 2D game engine. Um
I connected them together and a musician
Robert Allen in California and they you
know by telephone and modem and so on.
We were we were building these little 2D
games and uh having quite a lot of
success. You know there are a bunch of
people making thousands of dollars a
month um while they were still students
um and royalties from the games that
Epic was kind of producing and by
coordinating people with people and
publishing um through sharewware. Um and
that was all going great. Uh the company
had a little office and we were you know
copying floppy floppy discs and mailing
them out. But um when Wolfenstein came
out, we realized like the future of
gaming is going to be 3D. Um it there
had been a lot of experiments in 3D
before that hadn't been great. You know,
there were 2D ma there 3D renderings of
mazes that were not in real time and you
were always looking north, southeast or
west. Um and then there were vector
graphics with little wireframes moving
around and things. But uh yeah,
Wolfenstein was the first game that was
fast enough, you know, running at 30
frames per second that it really felt
immersive. It felt like you were there,
like you were, you know, in this castle
Wolfenstein fighting Nazis. And that was
a really amazing and immersive
experience. 3D graphics were pretty
primitive then it software followed
shockingly fast with Doom which was a
much much more capable 3D engine which
had you know stairs and though it was
still what we call 2 and 1/ halfD was
environments that were very realistic
textures that were very realistic uh you
know a form of lighting uh that was
approximate but incredibly realistic and
it just such great artistry and sound
effects it it feel completely visceral
um and and real um yeah You might you
might look at it today from a you know
point of view of a a modern uh you know
game player with uh you know 20
teraflops of computing power in your
device and say oh that's not very
impressive but it was amazing at the
time. I mean for me just side to to
pause on that I think
Wolfenstein was one of the most uh
amazing moments of my own life just
being able to like you said in real time
move about a threedimensional world. I
just remember just like just moving
around just in like what is that feeling
like? I mean, you feel transported into
another world. You feel that you're
there. Yeah. And especially you turn the
lights down in your room and you turn
the sound up on your speakers and it
will scare you. Uh and you'll you'll
feel like you know that fireball that's
coming at you is going to kill you. Uh
that was an amazing time cuz we hadn't
experienced that before. There was
nothing like that. Uh you know, you'd
watch a movie, a scary movie or
whatever, but you know, it was just this
thing that was happening. This was you.
This was you in a 3D world.
So, uh how did that how did that change
Epic this realization that the future of
gaming is going to be 3D? Well, at first
I was really depressed. I I fig cuz the
wizardry of Doom especially was so
incredible that I gave up on programming
for like 6 months. I was like I never be
able to compete with this. I have no
idea what we're going to do. Um we just
keep making 3D 2D games and hope that
the business goes on. But um uh like
that was the nature of Carmax Wizardry.
He had done things that were like not
just one innovation leap ahead but like
a dozen simultaneously interplaying in a
way that you couldn't pick them apart
into their component pieces. But um
funny thing happened. Uh Michael Abbrash
uh longtimer in computer graphics wrote
a book
on the techniques for 3D uh graphics and
texture mapping and he wrote some
articles in a in one of the programming
magazines of the day and um explained it
and showed assembly code to do texture
mapping, you know, drawing these 3D
graphics on the screen and it was
actually really simple stuff. I was
like, "Oh, I can do that." And uh and
you know so a bunch of us at Epic
independently went off and uh wrote our
started writing our own 3D graphics code
to figure it out. And um uh we we found
at one point we had a number of people
dabbling in this doing different parts
of it. And uh at that point we decide
okay this is 3D graphics is 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. Um we
didn't really know what we were doing at
the time. None of us had ever shipped a
3D game and most of us were still
learning, but um everybody was like
trying different disciplines to see what
they were best at and um it was a
combination of a bunch of people uh who
came together to make Unreal. I'd
initially volunteered to make the 3D
editor um for the thing and James
Schmaltz who' made Epic Pinball. Epic
Pinball. Now, that wasn't a crazy game.
This was one of the 2D sharer games. He
made it while he was in college and he
was making like $30,000 a month from,
you know, the royalties from this game
because everybody had wanted an awesome
pinball game, massively successful. But,
uh, he was he was a multi-disiplinary
person. He wrote the code for the game,
the art for the game, and did basically
everything. And and the code was 30,000
lines of assembly language, right? And
so, uh, he was initially going to write
the 3D engine. Um, and I was going to
write the editor and he sent me the his
code so I could integrate into the
editor. It was like this giant pile of
assembly code. I was like, hm, 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. And so, uh, Cliff,
who' done a lot of design work and built
the levels on Jazz Jacket, went off and
started learning basics of level design.
And so I was writing this editor and
Cliff Bazinski was customer number one
for it. um starting to go off and build
levels and James Schmaltz was building
awesome creatures, sending them to me. I
get them in implementing game and 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. Um we had about 20
people um working on which was a huge
team for the time and was uh really
stretching Epic's finances nearly to the
breaking point. Mhm. Um we barely
survived and almost ran out of money a
number of times, but uh somehow we
always pulled through and um it was a
crazy project because it was three and a
half years of development in a game that
we always thought was 6 months from
shipping and uh you it was like a yeah
three and a half years of 70 or 80 hour
weeks for most everybody working on the
project. Um not even knowing what
problems we need to solve next because
we were so immersed in the current ones.
Um, were there moments when you were
losing hope that this might take too
long and the company will run out of
money? We were uh I was we were always
very financially stressed. Um, so I was
continually worried about that. I had
total confidence so that we'd work out
all the technical and artistic problems
cuz you know we knew the pieces and it
was largely a matter of typing code in
and solving some problems and kind of
like we knew we could ship a version of
it. And uh the thing that was
continually really interesting was the
ongoing discovery of new new techniques
as we went, you know, cuz at the time
Quake had shipped, it had a little bit
of dynamic lighting. Unreal really
pushed dynamic lighting much harder than
anybody else had done before. Um then
colored dynamic lights uh with some
shadow casting capabilities statically
or moving lights without shadows and um
figured out how to do 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. A whole lot of amazing techniques
came together to build a game that you
know made a number of leaps ahead of the
state-of-the-art at the time. Um uh
yeah, it was really crazy but like I
think most companies uh wouldn't have
survived that but the sheer talent of
the people involved uh made it possible
and that's Epic has often done things
that most companies will have failed at
and we succeed like not because of
awesome management or awesome planning
um or awesome financing but because of
the sheer talent and willpower of the
people involved to make it happen. Uh
what about the uh interdisciplinary
aspect of it like you said sort of
artists, engineers or programmers,
designers, all of them working together?
What what what was that the 20 people?
What was the dynamic there like working
insane hours? Like what was it like to
sort of make a team like that work
together well as an orchestra to to
actually deliver the game?
Yeah, that that's one of the really
unique things to exist in gaming. Not in
normal big tech companies which are just
engineering and businessdriven, but
gaming really does require all the best
people across all the creative
disciplines working together.
Um, and you know, Epic had grown
organically by recruiting people with
awesome talent. Um, we were we always
had a limited budget. But we could never
pay to hire, you know, bid up people's
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. And
um, you know, so everybody was very new
to this um, and uh, didn't have any
assumptions about how companies worked.
And so, you know, you put all these
people together and um, you know, that
it was really a constant interplay of
talent as people were learning how to
work together as a team. Um, like nobody
had management experience. Most people
hadn't shipped a game before they worked
with Epic. Um, and we were figuring out
as we went. Uh, but it was a constant
iterative cycle. You know, every we'd
make several new versions of the game
every day. Uh, read a new compile,
introduce a new feature or fix some
bugs, get it to artists, artist improve
their levels, um, continue building
stuff, and then we see what they're
doing in their levels like, "Ah, I see
what you need." Now, we'd constantly be
improving the tools. And just the
iterative process and the the speed at
which that improves products is the
critical element to success in games.
The slower the iteration cycle, um, 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, you know, new
stuff every day. And that that was the
the magic that happened together. And it
wasn't there was really nothing but
passion and everybody's individual
dedication to it that made it work.
I heard you still program, but uh how
much programming were you doing back
then? You mentioned the hours, probably
insane hours. So like uh it'd be almost
fun to talk about your
setup. What a what a day in the life of
Tim Tim Sweeney in the '9s when you're
building Unreal looked like. Well, we'd
all gravitated towards a schedule, a
work schedule that maximized
productivity, and that usually meant
waking up late. I get to like usually
get to work around noon. Um, I work
usually work till like 2:00 a.m. or or
so. Um, 3:00 a.m. sometimes. And, you
know, I didn't have anything else going
on in my life. So, it was really just
work and sleep and occasional eating.
Um, and uh, you found I always needed
eight or nine hours of sleep a night.
Um, without good sleep, I 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. So, I just the the programming
itself was so energizing and thrilling.
Um yeah, so it was a you know three and
a half years of that during the project.
Uh mostly spent programming. Um I would
say probably 60 hours a week of
programming, 5 hours a week of
coordinating with other people and
iterating and you know sitting down with
them and looking at what's going on in
screen and figuring out what they needed
5 hours of business stuff. Um and you
know there's a good division at labor of
labor then. Um, Epic didn't have a big
executive team, but it was like
basically myself running the technical
and development part of the company and
Mark Rain uh running the business part
of it, doing deals and uh, you know,
maxing out his credit card and going
around the world doing bringing in
sources of revenue to keep the company
funded. What programming language are we
talking about? Cuz you mentioned there's
this pile of assembly. Did you ch what
what was your decision in choosing the
programming language that would that
Unreal Engine would be written in? I'd
grown up learning with Pascal as my
favorite language. Um, in order to just
get maximum performance and get the
latest operating system features, I had
to move to C um, for my second game,
Joel of the Jungle, Nintendo style
platformer. And so when I started Unreal
Engine, it was on 16-bit Windows using
the C programming language. And um over
the course of the first year it moved to
32-bit when you know 32-bit uh you know
using these DOSs extenders and then
using Windows NT and I moved to the C++
language and just because it simplified
the code so much um went from a really
complicated pile of code to a much
simpler one um making that transition
and so the entirety of Unreal Engine
development about two and a half years
of it was all in C++ 32-bit completely
state-of-the-art then Um, 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. Yeah. And turned
out to be a pretty good bet cuz C++ out
of all those languages ended up being
the the dominant sort of
performanceoriented language that
survives to this day. Yeah. Yeah. It's
because it solves all the problems uh at
scale. Um often through manual pain um
but always solves them and uh a lot of
other languages do better in a lot of
like theoretical aspects and are better
for some usage cases but you can't do
everything and that's uh that's really
very limiting. All right. So
uh ridiculous questions but like did you
have one monitor, two monitors? Were you
picky on the keyboard?
We pick you on the chair. What are we
talking about? Let's uh let's paint
paint a picture. Okay. I went through a
big transition there. So, I started out
being pretty lazy. I'd had a bunch of
like I bought used computers cuz you'd
often get them at half the price of a
new one. They'd be good enough. So, I
had this old 46 I was developing on with
I guess it was a 15-in monitor at the
time. It was all it was a poor
workstation setup, but it was very
economical. And uh so as we started on
Unreal, I realized that like I had to
write a ton of code. I had to write it
at absolute maximum productivity. So I
had to rearrange my entire life around
delivering maximum output. Um and so at
that point I realized like 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 CRT year. It was 24 in.
It weighed like a 100
pounds. I had back pain for a week after
I installed it. But um it got me uh 1920
by uh 1200. Wow. In 1996. In 1996. That
was pretty cool. So I'd upgraded to a 90
MHz pennium programming on that. It was
on the 90 megahertz front. These were
the main consumer computers at the time.
And I'd optimized the Unreal Engine
software render on that which was you
know the Pennium was the first super
scale scaler architecture in consumer
computing. It could run uh up to two
instructions at a time and if you wrote
your assembly code very carefully uh you
could get absolute maximum throughput.
You know so I' gotten a my texture
mapping uh code down to six CPU cycles
comprising 11 instructions. Um and uh
you know that was required for every
pixel on the screen and that was just
enough performance to deliver that. Um
but I Dell came out with the the these
new workstations and Intel had just
launched the pennium pro the first out
of order processor. Um and so I I like
basically bought the absolute maximum
configuration that money can buy. It
cost $7,000. I had a gigabyte of memory
in 1996. Um wow a 200 MHz CPU. So it
like tripled the speed of compiles and
just made me massively more productive.
So that's why I was using throughout
Unreal Engine uh development and shipped
with that. By the way, people in the 90s
would have been blown away by this
work. I love it. Yeah. Yeah. Were you um
in writing were you considering the
hardware much? Was there a sense like uh
so you know 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
like were you trying to optimize to the
hardware at all? Well, um, at the time,
so we did most Unreal Engine development
before the first real GPUs came out. Um,
and, uh, you know, the the 3D effects
Voodoo one, the first GPU that actually
delivered serious performance compared
to software rendering. Um, the first GPU
that was really gainful, um, came 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 two parts
of the engine, right? there's all of the
gameplay systems um that manage the
simulation and physics and so on that's
all written in very high level C++ code
um and maintainability is as much of a
goal as performance um you know because
we had to build massive amounts of
systems over time uh but there were one
thing that was really a bottleneck was
graphics you know the 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 you know so we
were talking about how CPU cycles. Uh,
you know, when you say your CPU runs at
a gigahertz or whatever, it's a, you
know, a billion instructions per second.
How many instructions do you need to run
to to get a pixel on screen? And so
there's a constant challenge to optimize
that down. And, you know, there was also
a competition among all of the graphics
programmers who' often send emails, you
know, like bragging to each other about
what new tech technique they've
discovered, you know, to try to get the
cost down. And Abbrash's original
articles took like 12 CPU cycles to
render a pixel. And you know, everybody
else had figured out how to get it to
like down to six or sometimes even four
cycles. Um, and you know, that involved
lots of different trade-offs of caching
and memory hierarchy and so on. 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. Um, and that's largely lost now.
when we talk about optimization in
software now it's largely about
heristics and statistically you're you
know this memory access is likely to hit
the cache um and you know this algorithm
is faster than that algorithm because
CPUs now have such advanced outof order
execution that you really can't
micromanage what's happening on an
instruction by instruction bas basis you
can only manage the aggregate
performance of code and so there's kind
of this lost art um some people miss it
some people don't um in which the
programmer had absolute control over
over the machine and could could work
miracles uh in in special cases if you
tried. It seems like there's still value
to that art when it comes to uh GPUs and
AS6. 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 realtime graphics
applications. Is that is is that true?
Yeah, that's absolutely so. Um, you
know, the optimization problems have
just moved around. Um yeah, and a system
like Nanite, the virtualized
micropolygon geometry, uh system that
Brian Carris, a brilliant engineer with
Epic built, um was just one of those
multi-year optimization efforts, uh that
you required understanding him
understanding everything from the
highest levels to the lowest levels of
the hardware to figure out how to you
know make this breakthrough technique
work in a way that was actually
maximally performant on GPUs. And so
Nani is the system we'll jump around in
time. That takes us to today with Unreal
Engine
5. That's the system that does the
geometry. Yeah. 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. There's a
bunch of different ways to optimize
that. Can you just speak to it? Yeah,
you know, with the advanced art tools we
have today, it's really easy to create a
scene with billions of polygons. Um, 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, you know, 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 run 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 Nyquis sampling
theorem that says uh if you're trying to
reconstruct a signal, um there's a limit
to the amount of data you need to bother
capturing. Um if you want to render a
texture at a certain resolution, then
you never need more than twice the
pixels uh than in the texture that you
have on the screen. Um, and that, you
know, that's called the Nyquist limit.
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 you know, with geometry,
the idea is that if you 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. 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 uh processing
hardware, and then there's triangle
rasterization hardware. 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 um calculating what should be
done with that pixel as a result of some
ray tracing um and uh geometry
intersection calculations done in a
pixel shader. So instead of using the
triangle pipeline, we're just using the
pixel pipeline and
getting a better result 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 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
depends where you're looking like the
the human eye and the human focus and
the human attention mechanism
uh 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. 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,
you know, a series of frames in motion
that look perfect. A lot of the problems
with the earlier algorithms uh that
aspired to do this sort of things was
popping. You know, 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 uh screen would look like
it got shaken up. Uh you know, it's a
disturbing artifact that distracts you
from the game. And so one of the magical
trade-offs of nanite was how to avoid
all all the visible transitions um and
get them down to a point where uh though
they exist statistically they're not
really perceptible to a person looking
at it. 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
um you know 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 you know it
just takes you back to that feeling I
had with Wolfenstein but like 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? You know, so it's that
that coupling of great engineering and
great storytelling in terms of just
feeling is is super cool. It's great to
know. It's great to know that there's
these teams uh behind it. And it's it's
cool that you're also releasing a bunch
of details around it. At least for folks
like me, it's um it's inspiring to see.
So Unreal
Engine is this fascinating creation.
It's a big bold crazy bet that you 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 uh most of the effort would be
on creating the gaming engine, not the
game. Yeah. Unreal Engine is a big
bundle of code and tools, a huge
software package um that provides all
the functions you need to build any sort
of a 3D graphics application um game
developers use it to make games and
that's the predominant use, but it's
also used in um Hollywood film and
television production to create 3D
scenery um in real time for production
sets um to do previsisualization. Um,
it's used by car makers to visualize
their cars before they're uh constructed
or manufactured. Um, it's used by
architects to preview buildings before
they're made and industrial designers of
all sorts. And it provides, you know,
the all the 3D simulation features you
need both for creating highly realistic
3D graphics, uh, but also, uh, physics
and interactions between objects and
making things happen like you might, uh,
see in the real world. um and supports a
huge variety of styles from Pixar
stylized movies to cell shading um to
photo realism. Um and it can be used for
anything that needs a needs real-time 3D
graphics including humans that populate
those threedimensional worlds. And we'll
probably talk a bunch of
the details involved in the uh in the
process of cing 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. Um but so yes it's
the 3D objects that are static the 3D
objects that are dynamic and uh on the
dynamic front including humans that are
ultra
dynamic. So all of that you have to
create this engine that simulates that
world the world as we uh this beautiful
world that we know and love. Okay. So
that but you know 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 that that I should sort of
linger on that that is a crazy bet that
we're going to build an engine as a
company. Yeah. Well, you know, the
philosophy began with ZZT and continued
onward. Um, we're not just building a a
game uh for players to play. We're also
building tools that could be used for
for building that game or any other
game. Um, and catering to all the
artists and designers who had used the
tool. And so that philosophy started at
the very early parts of Unreal uh
development. Um, I was building the
tools uh for you level designers like
Cliff Pazinski and artists like James
Schmaltz.
Um, and uh, you know, as we began
marketing the game, thinking it was 6
months away, we were constantly uh,
releasing screenshots and things like
that. Um, other companies started
calling us and saying they wanted to
build 3D games, too. Um, but they didn't
have the expertise for that and they
wanted to license our 3D engine. Um, and
this was one of the coolest uh, pivots
in Epic's history.
Microros called up Mark Rain or you know
vice president and longtime uh business
guy and uh said they wanted to license
our engine. Mark Rain was like oh what
you want to license what what an engine
what's the what what engine and they
explained to him what they wanted to
license oh that engine. Yeah that's very
expensive but uh this was one of the
critical things that kept Epic going
through that three and a half years. Uh
we were l starting to license our engine
out to other developers. Micropros took
two licenses and we got in half a
million dollars from that. Um and uh
company GT Interactive licensed our
engine uh to build uh another game and
uh we got paid for that. And so we we
had this revenue stream funding the
development of Unreal Engine uh from
other games that were being built by
other developers. And um because they
were the lifeline for the company, we we
took the engine business very seriously
from the start. Um we set up uh you know
mailing lists uh so that our partners
could ask us questions and all the all
the developers and artists working on
our games were participating and helping
customers. Um everybody took that very
seriously because it was our funding
source and um you know that's kind of
set this dual spirit of Epic of
technology and supporting game
developers simultaneous with building
games and supporting gamers. Um it's
continued onward and just grown over
time. Can you just go back to that you
you
programming what what are some
interesting technical challenges you had
to overcome? You mentioned dynamic
lighting like create you know create
this threedimensional world and and uh
try to figure out the puzzle of how you
actually do that at a time when nobody
should Carmarmac and you
uh doing this kind of thing. It's it's a
totally open wild west. So what are some
interesting technical challenges you had
to uh you had to try to solve? There's a
lot um some of them are visible on
screen um and some are behind the scenes
still require a lot of innovation. Um
all the graphical techniques were were
really interesting challenges. Um and
Unreal Engine uh 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 that
was a really interesting technical
challenge. You know, 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. Um, and so we had
this way of adding geometry to the world
and subtracting geometry and the engine
would perform all the calculations on
that. Um, and yeah, this is something
that I'd been anticipating was possible
for a long time, but when I finally got
around to it, it took this 30-hour
coding session um to like figure out all
the special cases of the code that
needed to be implemented to make that
work. But, uh, you know, in the course
of 30 hours, I got constructive solid
geometry up and running. I started doing
a, you know, like handed it to James
Schmaltz the next time we were together.
And it's like, okay, I think you're
cheating here. So you create a giant
Taurus and then add another giant Taurus
interlocked with it and then subtracted
a cylinder from it and um like 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 and 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. Um but it was also a really useful
artist tool that all the artists
appreciated and immediately began making
use of. Can you actually speak to that
the 30-our 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
that's what is it the uncertainty the
open questions involved
the like the I mean even just on the
algorithm front how to do that
efficiently
uh and then plus the usual programming
thing of debugging like suffering
through the trickiness of it and we
don't have really at that time you don't
have the tooling to really visualize
everything that's going on really well
and you probably like using some crappy
editor I mean there's just a lot of like
friction here so the the 30-hour session
is one that's probably
uh rough it's a rough one your your
brain works in different ways and
depending on your your state right there
are some things that require really
working on a problem fresh um 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 you know plum a whole lot
of data between a whole lot of different
algorithms. Um but you know I think our
brains have vastly more horsepower than
we're able to directly access by
thinking of what code to type next. Um,
and you
know, after you've been working for a
very long time, you you can get into a
sleep-d deprived state where you have
much much more direct access to that
low-level knowledge. That's great. Yeah.
You know, because, you know, there are
symptoms that are well studied of sleep
deprivation. One of them is um
short-term memory loss. And so, you're
working without like the easy recall of
the code you just typed. Uh, but your
brain is then freed to to think about
other problems. and uh and you know I'd
built up this intuition over a very long
uh period of time you know so the
foundation for the subject is the binary
space partitioning tree this data
structure invaded by a computer science
graphics researcher Bruce Naylor
Carmarmac had picked up on that and had
used the technique in in Doom uh to
really great effect um and and I'd
picked up on that and underwent was
using uh this technique for all its
graphics and rendering but it uh yeah it
was just additive geometry everywhere
and it had a lot of overlapping polygons
and was pretty inefficient. Um, you
know, so I had the idea that if we had a
BSP tree, there was a really efficient
way to do constructive solid geometry
and it to do that you had to break down
the ways that different pieces of
geometry can fit together. I broke it
down into like 14 different cases. Um,
and most of them are pretty simple,
crank them out. Um, anyway, as I got
towards the end, you know, there were
some pretty complicated things like what
how do you deal with co-planer polygons?
they're in the same plane um and
pointing in the same direction versus
the other direction. In what cases
should you keep them? When what cases
should you eliminate them and and so on
and so on to create really efficient uh
geometry output and you know just
plowing through it uh eventually uh
through mostly deduction but some trial
and error too like sometimes you just
have to try the possibilities and see
what works. Um yeah I I cranked it out
and it worked and the next day I came in
like kind of weary and I was like oh wow
this actually did work. It wasn't just a
dream. So 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 like
thinking you're imagining the edge cases
and trying to see how
do I not create inefficiencies in in
this algorithm while still considering
the edge cases allowing for the edge
cases. Yeah. You know it it's pretty
easy to write software that's like 99%
correct. It's the 1% that's the really
hard part and uh where the devil lies in
the details.
What about like lighting? Is there other
interesting Well, the funny answer is
like we know the laws of physics. So,
it's actually really easy to do
everything in computer graphics, but uh
the direct solution of the laws of
physics is immensely slow. And so, what
we're finding are approximations rather
than complete solutions. Um cuz you need
something that's a million times faster
than the brute force answer. We should
say that the the physics of the scene is
you just take a bunch of photons, bounce
them around. That's how light works.
That's going to be very inefficient
because there's it's a lot of bouncing
and a lot of photons. Yeah. Yeah. Photon
tracing is the subject matter that does
brute force calculation of pixels on a
screen from all the light in the scene.
and it 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. But
Carmarmac had figured out uh how to do
uh really cool lighting algorithms
including real-time lighting with
objects moving around. Um and uh I
hadn't taken it very far. So with Unreal
Engine, I' I'd realized like it's we
don't have nearly enough computing
performance on our CPU to compute the
light of every pixel on the screen from
all the light sources that affect it. Um
yeah, we had a six cycle texture mapper
and we couldn't afford 30 more cycles
for lighting. And so the answer had to
be some approximation. And uh the one
that Carmarmac had picked up on in the
Quake engine was light mapping. If we uh
instead of calculating all the lighting
on every pixel, what if we like made a
big texture that we placed over all the
walls in the scene that was like
wallpaper and what if we say every foot,
we're going to compute a lighting value
for just that one one foot grid on the
object rather than computing it
everywhere. Um and then if we what if we
just linear interpolate that over the
course of it, you know, you get a
lighting in uh solution that actually
works pretty well um and is fast enough
to work. And so a lot of Unreal Engine's
lighting techniques were based on light
mapping. We introduced colored lighting.
Um 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 1
foot of world space rather than every
pixel. And so we introduced a whole
bunch of elaborate lighting effects, um,
like torch flickering, um, and you know,
the costic effects of water bouncing off
of a surface, uh, and so on. Um, so and
pulsing lights and blinking lights and
everything else and created a system. I
created a system for compositing them
together. So if you had an arbitrary
number of light sources, they could all
do that. And wow. Then you know then I I
implemented a shadowing algorithm. You
know if you cast a ray from a point on a
light from a light to a point on a
surface and see if whether it intersects
any other geometry. If it doesn't
intersect then the light hits the
object. Uh and if it does intersect then
the light hits something else first and
the that pixel on the object should be
dark. Um uh so I I built a real realtime
version of this and it ran at about a
half a frame a second. So I was running
around at half a frame a second like
shooting out light projectiles and
looking at dynamic lighting and it's
like someday computers will be fast
enough for this but um not
today. So I made a non-realtime version
that pre-calculates all the lighting and
realized, oh wait, if you pre-calculated
the shadowing in 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 you know, I 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. And this was the wonderful
thing. I was just like typing in these
little features, uh, exposing them to
artists. And every day they'd find like
a drop down with some more lighting
options available to them, and they'd
start using them, and they do things
that I never thought possible. And this
was always the coolest thing. As a
programmer building an engine, you 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 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. 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. That's right. And it's
timeless. You know, what what do the
Renaissance painters do with paints? And
what do what do the early game artists
do with early engines? You know,
everybody's figuring out the
capabilities of their medium and you're
seeing a revolution. This is blowing my
mind. This is so fun. What about fog?
You mentioned fog. That I don't even
know. How do you even do fog? So, you
mentioned Unreal. So, the first version
had fog. Yeah. It was a funny thing. Um
uh so 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. So you had a foggy
room with some light sources in it. And
when that happens in the real world,
what you see are glows around the lights
as the light brightens the fog around
it. Um but the brightening of the fog
diminishes over time because the fog
absorbs some lighting. And so the
further you get away from the light, the
more uh the more fall-off there is. And
you know, you have a bunch of colored
lights overlapping together in a space
like that. The effect is just absolutely
magical. You know, like being out on a
foggy light with street lamps above.
It's something that's surreal and look
just beautiful. So I was like, "Oh my
god, they figured out how to do real
time volumetric fog. I have to figure it
out
myself." And so that was another like
30-hour coding session. Um nice. But but
like at the core I realized okay what's
happening here is we have this lighting
function um saying the light at a
particular point in space is like you
know falling off with the inverse square
of the light uh light the distance from
the light source right the inverse
square is all from Isaac Newton which
applies to lighting I had to realize was
that the the way the fog interacted with
the light was that you calculate the
view from your eyes position to a point
on a surface in the world um 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. And so, well, you
know, I'd studied that in mechanical
engineering without even knowing it.
That's the line integral. You know, you
have an integral over a line of some
function. Well, this is exactly what
it's for. Uh, it's for accumulating the
values of a function over a continuous
space and time. And uh, you know, I did
a bunch of math and uh realized that oh
wow, the integral and then I looked in a
reference book of all the integrals and
you know, thankfully people have solved
them all. And I realized the integral of
you this transformed 1 / r^ 2 is turns
out to be solved by the arc tangent of
r. Uh and so you know if you calculate
the some parameters based on the
position of the eye and the position of
the surface uh point you're ultimately
seeing um 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 of CPU
time. And so what we had to do is
calculate volutric fog on um on
something equivalent to a light map but
uh calculating fog every square meter in
the world. Um and so you know we had
enough performance for that built uh
volutric lighting and gave it to the
artists and they started building
magically detailed levels with volutric
fog and real time. And then um you know
decades later I was talking to one of
the engineers who'd worked on that
hardware and asked about their
volumetric fog and told him how it
inspired me to um uh to you 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. That's awesome.
That is so awesome. That is so inspiring
on so many levels. Yeah. That you saw
that maybe it's possible even if it was
kind of smoke and mirrors
u and then you actually made it happen.
It's so it's so inspiring to hear these
kind of stories when 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 this world that Unreal did.
Um maybe if we could just pause since
you mentioned John Carmarmac a few times
as a fellow pioneer in the game industry
at that time. What do you admire about
John?
John singularly has this intense
dedication
to getting the best result from his code
and having absolutely no attachment to
past code. 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 uh found a better approach,
thrown out the old one, built it again,
and continually rewrote his code until
he found the absolute best solution to a
problem. And you know I think that that
stands as a lesson for every programmer
to pick up on when something is really
really important um 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. And it's you know 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 like it's just
fascinating. It's inspiring because like
under so much uncertainty, under so many
constraints, you figure out you figure
out a way. And that, you know, actually
continues to this day because yes, the
the hardware uh is improved incredibly,
but uh in order to create an ultra
realistic uh highly dynamic realtime
rendering of the world around us, it's
still really really difficult. And
there's all these kinds of optimization
like you mentioned. Maybe you can speak
to that Unreal Engine 1 journey from 1
to 5.5 or 6 now or uh what for for 30
years you've been creating virtual
worlds. What's it like evolving a game
engine for those 30 years when there
when the hardware under you is is
improving exponentially?
What are some things that changed and
what are some universal truths that have
not changed? 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 time frame. It's
something like 100,000 times higher CPU
performance between multiple cores and
higher clock rates and more parallelism.
Like you know if if we had that in
aviation then we'd be like taking a trip
to neighboring stars off of Centauri.
Yeah. Exactly. Um and uh in in graphics
it's been been even more so. It's
something like literally 10 million
times more net usable GPU performance
than we had uh back running on a pennium
90 CPU um all in 30 years. And um you
know it's really made me appreciate that
over the generations some areas of our
engine development have absolutely kept
up with that technology. Um, and you
know, the the rendering team that works
on Unreal Engine are the real miracle
workers
there. Just about every generation of
Unreal, uh, we've replaced most of the
rendering code. Um, and you know, the
the different leaders in different
points in times and the different
luminaries have built systems that were
absolutely rethought um, and optimized
for the latest generation of hardware.
You know, Unreal Engine 1 was built for
software rendering and then the Voodoo
one came along late in the cycle and we
added support for it but wasn't fully
fully capable and utilized. Um, Unreal
Engine 2 was about bringing all the
latest GPU hardware acceleration
features to the engine and you know
keeping forward and building some new
features like vehicles um and a few
other capabilities. Um
uh this and this was in the early GPU
era before GPUs had really broken out of
uh you know everybody's expectations of
Morsaw. But that breakout occurred with
DirectX9 um and the capabilities of you
know programmable shaders once you had
control of writing code running on the
GPU that could uh color every pixel on
the screen and that GPU code was
literally a factor of 100 times faster
uh than the equivalent code I wrote a
few years earlier on the pennium 90. Um,
yeah. And so that DirectX 9 generation
was a a godsend. And um, Andrew
Schneiderer, a longtime Epic Luminary,
wrote the core of the Unreal Engine 3
render around um, real-time pixel
shading, um, real-time lighting, being
able to do dynamic shadows using several
different techniques, um, and
multi-threaded the render to support,
uh, bits of, uh, you know, the early
dual core dual core CPUs that were
starting to show up at the time. Um, and
that was a massive, massive graphical
upgrade. Um, uh, Unreal Engine 4 made a
number of, uh, improvements and just
continued to add features to make more
and more give artists more and more
options for lighting and for geometry
that, uh, created realism. Um, but then
I think probably our our biggest single
level of leap came with Unreal Engine 5
with a Nanite micropolygon geometry uh,
solution and with Lumen, the global
illumination lighting solution.
um you know which which I think really
bridged the gap gap from you know game
game gameish computer graphics
to you know total observable photo
realism um for artists who wanted to
create that um and and so that's been
the evolution and the the progress on
the graphic side is absolutely
astonishing as it is on the audio side
and a number of other areas but parts of
the engine also haven't changed all that
much since the version I wrote um and
shipped in 1998 Um, you know, uh, the
file management system has been
optimized a number of times, but it
hasn't been completely rethought. Um,
and the networking system, the the ways,
uh, that, uh, clients and servers talk
together and negotiate game state, uh,
is still an evolution of the thing I
wrote. Um, and you know, it's feeling
kind of dated now. Uh, you still see
networking bugs in Fortnite where like
for some reason when you're spectating,
you're not seeing some parameters
update. Well, that's uh that's because
of the loss lossful nature of that
networking model. And uh you know, and
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. You
know, if you have a 16 core CPU, we're
using one core for game simulation. Um
and running with the complicated game
logic because single thread programming
is orders of magnitude easier than
multi-thread programming. And we didn't
want to burden either ourselves or our
partners or the community with the
complications of multi-threading. Um and
you know over time that becomes
increasing limitation you know so we're
really thinking about and working on the
next gener generation of technology and
that you know being on real engine 6 and
that's the generation we're actually
going to go and address a number of the
really core limitations that have been
with us over the history of Unreal
Engine and and get those on the you know
a better foundation that um you the
modern world deserves given everything
that's been learned in the field of
computing in that time frame. That's a
terrifyingly challenging uh engineering
problem and it seems like every version
of Unreal Engine
um 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
the old approaches like you mentioned
with
Carmarmac and uh start again like like
with Nanite and Lumen just keep keep uh
optimizing to the current hardware, but
even like rethinking how it's all done.
But re going from singlethreaded to
multi-threaded, oh boy, that's
terrifying. And that's in part, we'll
talk about it, why maybe you have to uh
rethink the even the programming
language that's being used um to rethink
a lot of things. That's fascinating. Can
we just stick on Unreal Engine 5? So, I
uh watched I watched a bunch of stuff,
but the state of Unreal in GGC 2024.
Thank you. I was uh uh just giggling
with excitement watching some of this
stuff. So, just if we can talk about
different things here just to nerd out a
little bit.
So, people should go watch this video.
They they they talked about the dirt
uh just the ultra realistic and this is
for uh Marvel 1943
uh which is kind of putting the Marvel
universe into Nazi occupied France.
uh in the winter. So there's snow and
you know that 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. But just, you know,
looking at the dirt is a really nice way
to show like how do
you add a lot of details to the scene in
real time that like how gives this
experience like infinite detail like
this is real. This is super real. And
then I think in the talk they describe
like what what's entailed in the uh the
the the generation of the geometry,
what's entailed in the lighting, all
that kind of stuff. Maybe can you speak
about dirt? What's what what are what
are the components for people who might
not know in like creating this ultra
realistic the texture the lighting the
geometry all of that like how Nanite how
lumen all come together in this
beautiful orchestra to paint in real
time the dirt in Nazi occupied France in
1943.
Yeah, there's a lot happening here on
screen and uh you know the real hero of
of this image isn't uh epic. It's the
artists and technical artists who worked
together to build this environment
because it and the reason we showed it
at GDC was it went way way beyond what
we uh realized the system was capable of
doing. Um you know largely because of
their brilliance and 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. Um, 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. One thing that's happening here
that's really critical, oh yeah, now
we're seeing it being turned off is uh
the lighting happening. The lumen
lighting system that's powering the
scene is doing different kinds of
lighting calculations at different
scales. Um this was the work of uh
Daniel Wright uh following a decade of
moving the state-of-the-art of lighting
forward. But his his theory which uh was
rather controversial at the time was
that if you have enough uh levels of
lighting uh calculation um then you can
get everything global illumination
working at everywhere from the absolute
highest levels of a scene. You know that
buildings are casting crack shadows all
the way down to details like you see on
the dirt here. uh all all working in
concert and without distinguishable
boundaries. So there's a good decade of
of foundational work there to make the
lighting work. In particular, when you
see the very detailed shadows uh
interplaying between the you know the
ice and the dirt there, uh that's screen
space lighting. Uh there's actually
shadow calculation going on uh not based
on the world but on the pixels on the
screen. Uh because that is the only way
that we could possibly do those
calculations fast enough running them in
a pixel shader. Yeah. Watch this. Watch
the when you add the objects when you
add the textures, the different
layering, all the shadows that have to
be computed. Yeah.
Boy, shadowing is the amazing thing, but
you know, 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. Uh but it does work. uh
because if you observe uh the positions
of incoming lights and uh you know the
zcoordinates of the different pixels on
the screen, you can figure out how your
geometry there is likely to olude other
geometry. And even though it's only an
approximation, not isn't perfect. Uh it
looks perfectly good to the human eye
and gives you the subtle shadowing um
that you see in a scene like this that
it makes it look highly realistic and
the shadowing influences other things.
There's also, you know, some really
interesting things happening with the
color here. And I'm not even sure what's
causing, you know, 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. And then
there's a material layering system for
laying down, you know, layers of
material, dirt and um snow and other
things, uh, all making that work. And
then there's the light bouncing off of
uh the geometry which is another system
for lighting on top of the uh global
illumination system. What about
reflections too? Is that is that count
as uh the light bounce? So there's a
light bouncing off of stuff to light it
up in different interesting ways. But
then there's also actual literal
reflections in like we're looking at a
puddle in the dirt. Yeah. Yeah, that's
right. Well, the engine supports a
number of different reflection
techniques. One is calculating basically
textures that reflect that capture all
the lighting in the scene and then
bouncing that off of uh texture maps. So
you can see different lights bouncing
off of different pixels in different
ways. And then there's individual
lighting uh casting reflections off of
things too. And a lot of this is under
the control of designers. And you know
one of the things that's yet to do
problem for the future is uh you don't
just like press a few buttons and this
kind of scene magically appears. This is
a lot of work uh from some highly
skilled people not only building out
this particular scene but in setting up
the material layers so that you get the
dirt with the ice layered on top and all
the reflections working. And they had to
make a number of technical art decisions
to make this work. And if a novice who
hadn't, you know, worked very hard built
the kind of scene like this, it wouldn't
look nearly as good. So, one of the
challenges we have is to make building
this kind of uh 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."
Yeah. And I mean, once you create the
scene, you could do things. I remember
where they said like, "Can you turn off
the headlights?" Uh, I
forget. You could control the lighting.
I mean, all of this we should say like,
I mean, this is dynamic. So, you can
change the position of the light, you
can turn on the lights, off the lights.
That's incredible. So, this is all real
time.
the geometry, the lighting, the
textures, all of it real time. This is
this is the power of awesome technical
art, three decades of feature
development. And uh like you have to
give credit to also to the 20 teraflops
of graphics performance that Nvidia is
delivering. Thanks, Nvidia.
90 megahertz to this 90 megahertz is 90
megaplops. This is 20 teraflops. That
that's a big change. That's a lot. So,
one of the other things uh that they
talk about in the presentation is about
snow. So, you have to if you're talking
about 1943 in Nazi Germany in the
winter, you know, uh there's a you have
to create a feeling, one of which is the
season, the the winter, the cold, and uh
you can control the you know, you have
to cover everything in snow. And here
shown is the ability to control how much
snow covers the objects. So this that
you know the the ability to do that for
the artist is incredible. Like just to
control how much snow is in the scene
dynamically like that. That's cool.
Yeah. Yeah. That's really cool. There's
a cool system for material layering and
a dozen pieces coming together here. You
also notice, you know, there's foggess
and there's some hot objects emanating
fog. You know, an artist did that. That
that didn't just arise automatically.
So that's called material layering. So
an artist creates the different
materials and are able to uh like layer
the scene with it. Yeah. Layer materials
on top of each other and see how much of
each material should be uh protruding in
different places with the engine
handling transitions and things like
that. And that's on top of the sort of
the geometry that create that creates
the the structure of the scene and all
the occlusions that have to be computed.
I mean okay I got to go to the other one
that was just blowing my mind which is
uh
smoke. Let me see that. Look at that.
Yeah.
Oh, the the There's a fire. There's a
fire in a in a in a trash can with the
smoke and the the the shadows the
lighting and the shadows interplaying on
the
smoke. Is it This is real time. Yeah,
that's all real time. What the hell? So,
how do you do that? Was that how do you
do the smoke? Well, there's a really
powerful particle system underneath.
It's providing the the technological
foundations for this sort of thing, but
there's awesome artistry on top of that.
Um, and an awesome physics engine
powering it. Um, it's hard to tell
exactly which piece is doing what. Um,
but you have several different particle
systems there. There's one for the um,
fire and then there's another one for
the smoke coming out of it. Um the
really interesting thing happening with
a smoke here is that it's oluding the
light. You know, there's calculation of
how the light should diminish as it
travels through smoke. And so you're
seeing the lighting on the smoke being
the really interesting
thing. And there have been a lot of
attempts, but this is this was the first
demo where I felt felt like this kind of
smoke had
really no longer looked like a video
game. It looked like just, you know, a
burning trash can billowing out dark
smoke.
Um and uh you know it's the it's the
artist sophistication. Um it's a very
very very large part of it. So yeah,
again it's the interplay between the
tooling and the and and the artists. But
yeah, like that I could I could watch
that for a long time. There's there's
something magical
uh sitting around a fire in in real life
and just watching the fire and the
smoke. I mean, humans have been doing
that for I don't know um hundreds of
thousands of years maybe. Uh and then
that same I was I was just staring at
that and uh I wish the people would just
stop talking and I could just watch the
fire infinitely and that I mean that's
immersion. That's like I want to be in
that. I want to sit around that trash
can with the fire and the smoke and and
watch and maybe warm cuz 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. Um, but okay,
so I got to ask you about the humans. We
we talked
about what's it like to create the
scenes, but you know, creating realistic
humans is really tough. Can you speak to
that? How to create ultra realistic
humans? So, you have an actor behind
this to convey emotion, show the nuances
and the details of the faces. And maybe
this is a good opportunity to also
mention metahuman creator that's part of
Unreal Engine. 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 and faces and infer emotions
and intent because cavemen had to uh
when they see a stranger determine
whether they were likely friendly or
they were might be trying to kill them.
Um and so humans, we people in the world
have extraordinarily detailed
expectations of a face and we can notice
imperfections. Um especially perfections
arising from computer graphics
limitations, but it becomes by far the
hardest problem. So the metahumans
effort is part of a decadesl long
initiative that Vlad Mastello, the most
talented digital humans visionary in the
world is uh been working on for
generations and generations of games. Um
you know serving individual clients
around the game industry for a while and
then joining Epic as part of the
threeateral team and uh leading now a
worldwide effort to build all of the
technologies required to make digital
humans realistic. Okay. One part is
capturing humans. And so they built
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 nuance
detail of our faces and how all the
muscles and senas and fat work together
to give us different expressions. 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. capturing one human requires
uh you know a few hours of capture work
in a decade environment like that then
um thousands of hours of processing work
to capture a precise and you know
real-time replicatable version of that
human in in the environment. And so 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 data set
whose goal is to encompass the entire
range of faces in all of humanity. Um so
you know going around every culture,
every continent, every age and every
face variety uh and capturing
representative people. So the entire
range of faces is represented um and
then being able to combine and merge
those together to enable recreating an
arbitrary face that the system's never
seen before. Mh. So you know one of the
ideas is capture uh giant amounts of
this high precision data and you use it
to reconstruct uh a face uh at a
consumer level like maybe you know take
an iPhone photo of somebody's face and
then capture a very accurate depiction
of that not by synthesizing it then
there on that device but by combining
all the known details of human faces to
accurately capture the most accurate
representation of that. So that's the
data problem. There's a lot of other
problems of computer graphics. You know,
there's technology for rendering hair,
which is really hard because you can't
render every like, 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. Um, 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. Um, that's one part of
it. There's detailed features for
different parts of faces. They're
subsurface scattering because we think
of humans as opaque, but really our our
skin is 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. You know,
this is why you there's no way you can
paint a mannequin to look realistic for
a human. Uh, you know, it's just a solid
surface. Um, and we'll never have the
sort of detail. You see, we should
actually just linger on that. That kind
of blew my mind like 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 would
it be fair to say like micro shadows or
something. It creates like textures that
are human eyes able to perceive and it
creates the thing that we consider human
whatever that is. And so like 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 the muscle
all the muscles involved in making the
nuance expression. Just the subtle
squinting of the eyes or the subtle
formation of a smile. It's a stupid
annoying subtlety of human faces that
you have to capture like 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 like
beginning of a formation of a smile that
actually reveals a deep sadness. All of
that like when I watch a human face, I
can like read that. I could see that.
Again, this is the 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. So, yeah.
So there's a lot of this kind of
complexity in even just the lighting of
a face. 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 uncount valley. So
the level of perfection needed in this
area is vastly vastly higher than you
know world rendering or grass or any of
these other things. Um, you know, if the
shadows on a on a work of architecture
are slightly wrong, you're pretty
perfect game with it, actually. Your
your brain doesn't really care that
much. But if anything wrong with a human
and it's uh it's totally jarring. 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? Uh, it seems like because
I've watched a bunch of videos, a bunch
of individual
developers doing it, it's it's not too
difficult to bring a human to life using
the tooling that uh um Unreal Engine
editor provides. There are two main
tools, you know, compared to the old
days where every face was created by
hand by an artist from scratch. Um, 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 out of metahuman
creator into Unreal Engine and then you
can add all kinds of computer graphics
features. Uh, they're in in the engine.
Uh, you could add clothing using the
cloth simulation system and you can
adjust the hair and uh all these other
parameters on the thing. Um, and then
there's Metahuman Animator, a tool for
animating a human uh based on a facial
capture, which can be done on a device
as simple as like 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 nonobvious. And if you
just applied it literally, then it would
be completely wrong from your point of
view. So those are the main tools that
people are using now. And then within
the Unreal Engine, then you have a face
and you can do absolutely anything you
want to it. And you could also, you
know, if you decide to go outside of the
Metahuman geometry pipeline, you could
build your own face like uh, you know,
any creature of any sort and then use
the animation tools to animate it. But,
you know, this is 30 years into a
project that's probably like 50 years in
total to get to absolute photo realism
and controllability for absolutely
everything. So there's vast amounts of
work still to do. And um yeah, 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 uh in a
state that we would say is done. But
nevertheless, I've seen people use it
really effectively. I saw almost like
plugins, maybe external services where
you can get the faces to approximate the
mouth movements required to speak a
thing. So like that that that's that's a
really useful feature.
Yeah, 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, yeah, 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. you know when
we're speaking it's our whole face
that's active and uh emoting in
different ways and not just uh it's not
just the mechanical motion of the
pieces. So we spoke a bit about nanite
so the the the magic behind the the
virtualiz geometry system but can you
speak a little bit to lumen uh and in
general what it takes to dynamically
light in all the complicated ways the
faces the scenes that we discussed like
what are some interesting things to you
that made the magic of it happen? Lumen
is a system for global illumination,
meaning it's supposed to calculate the
interaction of light uh with the entire
scene in a in a way that mimics reality.
Um 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 uh that's just all the
techniques we have. So you'd have an
area that wasn't hit by any light being
completely black, but in reality, light
bounces around the entire scene. um
dynamically when a light hits a red wall
then uh most of the uh blue and green
light is absorbed but the red light
reflects off and now is hitting other
things. And so 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. And so
the entire bouncing of light around the
scene through multiple bounces is the
critical challenge to solve here. And um
again laws of physics are known. And so
the complete solution to this, it was
written down in the 1950s I think. Um
the the real magic here in Lumen is this
system that uh Daniel Wright developed
over the course of many years um based
on ideas formed over a longer period of
time to calculate the way lighting
bounces around at different scales. Um
ranging from you know the scale of miles
or kilometers uh down to the scale of
pixels and millimeters. um and to not
only calculate at each level but
integrate it seamlessly at each level um
to give the appearance of completely
seamless and accurate lighting and
previous techniques were highly
specialized and artists had to make a
decision for each light about exactly
what it did. The goal, you know, and a
lot of the practice with now is you
build a scene, you place lights in it
and it just works um to make it that
much easier. Yeah. I mean, we're
watching so I recommend people go
through this blog post like look at
that. So dynamically, I mean, we should
say that. So there's the indoors and the
outdoors. And to be able to dynamically
compute the the impact of outdoor light,
just look at that. Look how gorgeous
that is. Yeah. Just the lighting. Like
look, we're looking now at an image of a
cave. So external light lighting this
the the intricate complexity of a
insides of a cave. Yeah. Look at that.
Light in the real world goes through a
lot of bounces and the effects of it are
very 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 a
lack of the subtle lighting cues that
we're seeing here. And you know, for
great, cuz 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. Like imagine
stepping into this scene that you're
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. Like light is everything.
And then to put the power of the tooling
in the hands of an artist, that is
really special. Yeah. The industry's
gone through a massive evolution and
just so many supporting systems to make
this awesome. Um and always artists.
We're looking at reflections on smooth
surfaces. Oh
boy. Oh boy. Look at how gorgeous that
is. Yeah, that's right. Wow. And you
have to appreciate the algorithms are
doing quite a lot here. Uh you can have
a, you know, a scene with a huge number
of not just lights, but also bright
objects to reflect light off of them.
Every one of those has to be captured in
the reflections in order for it to be
realistic. And you know, you can't
calculate every photon in the scene. And
so 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. But the result of
that graphics is a feeling is an
experience by the viewer. And it's just
to me as a fan of well let's say beauty
in the world. It's it's exciting that we
can create that synthetically
artificially
um via graphics. And that just it blows
wide open the possibilities of
storytelling. So outside of video games,
uh a lot of people are using Unreal
Engine for movies, for films. Uh and big
congrats. I saw Wars Over short film
that was made with Unreal Engine won an
Oscar. So you can add that to the uh to
the resume. So that's huge. You know, an
Oscar winning film made with Unreal
Engine. So what uh what do you see as
the future of um the use of unreal
engine and creating stories in the in
the film industry?
Increasing capabilities and
productivity. Um you know the limiting
factor in every one of these businesses
is cost um and the more the engine can
make their jobs easier uh 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 a human
scene uh with green screens um to moving
to these large LED wall panels uh with
they're displaying real-time computer
graphics powered by the Unreal Engine.
Um and that's a massive improvement in
quality. You can recognize the old green
screen movies because the lighting on
the characters is just wrong. Um and you
know, as much as they try to fix it up,
it never really works. When you're
filming in front of a LED panel with LED
light emitters in front of you as well,
the actor not only picks up all the
lighting from the actual natural scene
that they're supposed to appear in 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
um and a better interplay of virtual
light and real world light to make the
end result awesome. So there's a lot of
excitement around generative AI. What do
you think is the future of the interplay
between what human artist creates and
what an AI system can create in uh
Unreal Engine? 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 scene, you know, all the AI
approaches have consistency issues going
from one place to another. And I don't
think that those will just be remedied
easily. I you know, fundamentally,
uh 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 um and
how it might affect a scene. Um whereas
game engines have that um uh exactly
where they need to be and so I think
what we're going to see in the space of
worldass highquality productions isn't
just everybody moves to AI and a large
part of the human uh creatives
contributing to that are obsoleted. 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
um and with higher quality and results.
And I think unlike the fields of
generative 2D art and um generative
text, I think the future of AI is much
more complex and nuanced. And I think
your interview with Mark Zuckerberg
conducted in VR was a really good first
example of this. Uh so you did this VR
discussion. It was capturing your faces
uh and then rendering a completely 3D
computer graphics model of your faces
and 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. And that's
a first step. You know, you can imagine
the output of Unreal Engine uh being
enhanced by an AI pixel shading
post-processor is one thing. You can
imagine creation of of objects being
enhanced and especially mashing up
high-quality objects that have already
been created. Like Epic's Quicksole 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
archaeological finds and so on, all
captured there. And 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. And
you know I think using data like that
and AI to create completely new trees
that meet your specification from all
the knowledge that is built up of high
quality scan trees is going to be a
really valuable thing. Um but you know I
don't see this 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.
uh because you know of the limitations
of of the media and of budgets and of
other things. Um if we can use AI as an
enhancer on that then you know
everybody's going to have uh even more
opportunity than they have now and every
single technological revolution that has
changed the way that people work but
it's ultimately created more opportunity
for people and you know their pundits
predicting that this might be the last
but I think just the opposite. I'm an
optimist on this and optimist and an
optimist that it's going to create
opportunity for everyone. 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. So 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. Yeah, I think that's
the central challenge of the next decade
of game engines and AI for you know
content creation of all sorts. Um
because you have two very different
models of the world that are emerging.
Um there's the scene graph. Uh the
technical term we use to describe the
set of all the objects in the world in a
3D world maintained by Unreal Engine or
another engine. Um you know so in the
videos you saw it's the rocks and the
trees and the snow um and the bridge and
the people and all of these things. And
each one um has enormous amounts of data
attached to it. Some are like texture
maps. Um, some are sound files. Some are
animation files. Um, and yeah, enormous
amounts of detail all stored there in
that procedure in in this computer
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. And so 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. And you're like, "Oh
no, why did it that this character's
face change mid-stream
but it's also you know rather limited
because you have to do build everything
manually and it's costly and it's
timeconuming. It requires expertise and
then you have this other model of the
world which is what AI sees or thinks.
Uh you know if we could peer into what's
really happening and its parameters
there's something like the mushy
connections of neurons um in a brain. um
it has a vast amount of knowledge about
the world and about graphics and about
images and about people and about
everything else. Um it's stored in a
human incomprehensible form but it can
be extracted uh through queries like
asking it to produce an image from a
prompt or a video from a prompt or
whatever. But the huge problem with that
is it's very mushy data. Uh we don't
know how to give it how to give it a
command that will give us a precise
result. And 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. Um, and so it's this completely
untamed tool. And I think, you know,
when 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. Um, in a traditional scene
representation, you can imagine the a
scene representation being shared with
the AI. So the AI not only sees a
prompt, but also here's a list of all
the objects in the world and their
characteristics and so on, it can learn
more about how those objects should move
and interact. So, 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, um, but also the higher
productivity of being able to get
content out and the ability to like
select specific parts of it and art
direct those, um, and to have those art
direction stick and be recognized as
part of this permanent scene
representation. Yeah, 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.
Yeah, that's a super exciting future. Um
I wonder if you could speak to a fear
that people have on this topic of um
artists, engineers fear losing their
jobs u being replaced by AI. Uh are
there awards of hope that you could
offer them? 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. Um there's a fear that uh
digital music synthesis uh would
obsolete musicians and um there's a very
brief period of time in which songs with
digital music instruments like the early
early mini and uh Yamaha synthesizers
weren't allowed to win certain music
industry awards because they weren't
considered real music. Um and then you
know over time the people were educated
and um realized oh these are just
instruments people are playing and
they're controlling them the same way
they did before. Um there are similar
questions about is you know computer art
built in Photoshop really art uh or is
it just you know goofy computer stuff
and you know I think nowadays digital
artists have gained respect. I think,
you know, if you look at just the tools
that have existed in Photoshop, some of
them are pretty sophisticated. Um, and
nowadays they have AI features, but I
think AI is ultimately going to be
another tool in the artist's tool set.
And um, you know, I think it's going to
become a more powerful, directable and
human serving tool in the future. And 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 that feels alienating. You
give it an image, but you're like, you
know, replace the image of replace this
part of it with this thing or make that
object green and it just like it can't
do it. Often it can't be convinced with
any number of words uh in the prompt and
that makes it feel like the computer is
taking control away from us um you know
humans and artists um and is refusing to
do what we want and has its own
opinions, right? it feels like a
competitor where I think when when we
have much much much more nuance control
of it and artists can go in and just you
like you know let's enhance this object
do this do that do that they'll feel
it's a you know like some of the tools
that exist in Photoshop which are in
some ways compared to a paintbrush or
superpowers already um 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 you know their
own bodies and and minds and of course
there is a real human paying to layoffs
and there is a hype around AI and then
companies might try to implement AI
systems and in so doing lay off a bunch
of folks and that 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. Um,
but I think I'm personally excited by
the human AI collaboration as you've
described in this whole process. So 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,
uh, I think you're going to just keep
winning. Yeah, I mean there's a lot of
complicated trends underway and it can
be hard to break them down and
distinguish them. I think a lot of
people like the the theories that get
the biggest traction on social media
often don't capture the real
underlying motive forces at play there.
But yeah, I think AI involved in code
production will probably create a net
benefit for the need for humanity to be
involved in coding. Um, 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. Um, and
it's always been this way. And I think
that there's also a lot of overhype in
AI. AI is really great at spewing out
code that does something that a million
GitHub repositories already do because
it's, you kind of learned the underlying
pattern. Um, it's notoriously hard to
get to do something new. Um, that hasn't
been done before, especially when it's a
complex task. And you know the the the
bigger amount of code you ask AI for the
more it leaves you with just a mess of
code that sort of works right then and
that's the problem with code it like 99%
works but the 1% might be harder to get
to 100% with AI than with hand coding
and everybody who's looking at this
topic should actually try using the
coding assistants on hard problems and
see how they do there. Yeah, I think it
uh for me personally it makes it more
fun and faster to gen generate
boilerplate code so I can focus on the
harder decisions, harder big picture
decisions and harder innovative
decisions and all that kind of stuff. Uh
and just makes programming more fun for
me because uh I feel less lonely.
Yeah, I have uh like even when it gives
the wrong code, I can like Oh, okay.
Well, that's a way to do it. That's
interesting. and then you could talk to
it. Uh maybe maybe that shows something
about the the programming experience
that it is in part sometimes a bit
lonely. The topic of boiler plate code
is an interesting one because like the
mere existence of boilerplate code is a
failure of programming language and and
of the idea of creating software
modules, right? You know, 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 and more modular software I
think will actually uh reduce the
opportunity of AI because you know
people doing programming work will
largely be solving unique problems that
are actually hard problems in themselves
and not just connecting other widgets.
Yeah, 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 pod question
ahead of time, but you've been uh 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. So, the pthead 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? 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 photo realism 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 the problems that involve humans,
human dialogue and intent um have a much
much much higher bar that they need to
meet to satisfy our brains and convince
us that they're uh they're realistic and
or real. Um, and yeah, I think that's
going to be the the primary challenge of
graphics development and simulation
development over the coming decade. So,
the realistic humans, that's going to be
the bottom line. Yeah. So, and uh visual
and behavior too. So, everything. 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. And that
was absolutely the case then, but it's
not really true anymore. You know, 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 at
humans at the text level. Um, not at the
emotional level yet, but at least at the
level of words spoken and find more and
more ways of training it on more and
more scenarios. you know, you might have
a very very compelling human simulation
going on in the next um 5 years even. Um
I'm not saying it's a good idea, but I
like think the arc of the technology is
inextricably heading in that way and
it's heading at a shocking shocking
rate. You know, we don't say this
enough, but the current state of LLM's I
mean, if you put Allan Touring in
conversation with Chad GPT, I mean, it
really passes the touring test. like
almost definitively passing passes the
torrent test. Of course, we like keep
raising the bar. Well, the torine 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
less lesser than than. But yeah, you
have increasingly ultra realistic faces
and bodies combined with increasingly
moving and powerful of emotion, speech,
text. You know, 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,
right? That that's going to increase.
Different companies do that very well.
And so you and and 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.
Yeah, I think uh so you're saying 5 10
years, maybe 20. Yeah, absolutely. We'll
definitely see it in our lifetimes.
Increasing the level of ptheadness in my
question. Do you think we might live in
a
simulation? And 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? Well, I don't think that
these questions are necessarily
unanswerable. I think I'd like to see
more actual effort to to ascertain like
what is the underlying mechanism of the
universe and I don't think we're here
for no reason at all. I think the
world's a pretty cool place and uh the
fact that we can exist and you know the
laws of physics and especially a a
standard model of physics and all the
parameters that lead to you know these
atoms and life evolving in the presence
of thermodynamic gradients. That's
really cool. Um and I think it's a
worthy field to study more about that
holistically. 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 or you
know one of the philosophical theories
that was put forth seriously was that
there is no physical reality. Um if you
have a system of equations um you know
such as the laws of physics uh then all
possible evolutions of dynamical systems
under those equations kind of have a
physical reality. So we just are kind of
a manifestation of laws of math rather
than needing an actual universe around
us. Mhm. I don't know. I like dabbling
in that philosophy. And as we get CI
becoming smarter and smarter and we get
closer and closer to really capturing
the full laws of physics uh these
questions become quite a lot more
compelling. You know, you start to think
if we're not living in a
simulation, what are the things about
this reality that are not simulatable?
So, 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 the flame of
consciousness, the feeling of it,
whatever that is that lights up in our
eyes as humans. Maybe that's not
simulatable. Maybe that is the thing.
Maybe 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. Uh 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 like leaps
of faith and believing what that
mechanism might be. So you know the
whole idea of nested simulations perhaps
you know given an sufficiently advanced
technology is kind of mooded uh such
that uh if you wanted to simulate
another reality you're kind of just
actually creating the reality. Um you're
doing uh you know quantum mechanical
operations that would produce the same
result anyway and you're running them at
full performance. So it's not really a
nested simulation. It's just another
thing that's happening in the universe.
Mhm. So that would be interesting, but I
think it it's ultimately a theological
question and because it's no longer cool
to deal with theology as part of
science, um there's not been much work
on that. You can't publish uh uh results
on those topics uh in a respected
physics journal. So I think it that's
kind of been set aside. But but it's
interesting to note that the laws of
quantum mechanics themselves have a
place for, you know, God or souls or
whatever external source of input you
might want to attach to such a thing.
And that um you know that there's this
idea of quantum wave function collapse
that when we you know 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. The in the
multi-slit experiment the light
ultimately ends up being observed going
through one slit or the other and that's
a place where there's this random number
being injected into everything around
us. Um you know trillions of trillions
of trillions of times per second in
everything we're observing. Um, and if
you wanted to ex attach some external
input, well, there's a
place and it could be seriously
accessible through the rigors of
science, but we just know so little
there. Yeah, it's funny. And in that
area, we know nothing more than um
cavemen knew whatsoever. We know the
laws of quantum mechanics and we have
computers that may be soon more advanced
than we are. Um but we just don't have
any answers to the fundamental questions
about
uh life, the universe and
everything. Do you think uh sort of more
practically do you think do you think
we'll create video
games video game
worlds of the metaverse variety in which
humans will want to stay?
So I I mean to me this kind of
discussion of a simulated reality the
real test of immersion is like 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?
Well I think the technology uh is coming
and then there's a human question of
should we uh should we go that far?
Should we? Um, yeah. You certainly as a
game developer ourselves, Epic doesn't
aspire to that. We we make fun games.
Yeah. And, uh, you know, the ultimate
manifestation that we found is fun games
that people play together to have fun in
between, you know, work and the other
things in their real lives. But as
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 uh, operate in that
space. What what are the limits that we
should go to and what are the limits we
should set? Yeah, I think there's uh
there's going to be some hard questions
and I
think maybe I'm just being uh
humanentric here, but there should
probably be some legal bounds on 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, you know, as we talked
about creating ultra realistic humans
eventually that means creating humans
that can suffer, they 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 assimilated humans that that is
able to suffer. And I think legally
speaking, I think you have to get to a
place where that's not allowed. Like
there is a line you can't
cross. And that that's a hard thing for
humans to
um 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 and and
do, you know, terrible things to that
human. That's artificial quote unquote,
but boy, that's
a that still feels wrong. I don't know
what that is, but it feels wrong to
torture to torture a simulated human.
Uh, 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? Yeah. You
know, I think the thing to appreciate is
like game developers have just generally
been on the goodspirited side of things.
If you look at the worst things that
people do in uh in popular video games
today, it's like what your rob bank and
GTA. It's clearly fictional and awe and
fun and not serious and over the top. Um
yeah, I think yeah, as the as things get
more realistic, especially simulation of
humans, uh yeah, there are some hard
questions that will have to be answered
there. But I I think the thing that all
game developers need to remember is
we're we're here to make people's lives
better by entertaining them, providing
them with fun um and a diversion from
other things and being a part of their
lives and not not trying to be too big
or too 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 uh do for fun. So, uh,
you've spoken like I mentioned about the
metaverse for many years. Let's step
back. What is the metaverse? And
speaking of fun,
uh, you know,
Fortnite, you know, 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 uh, how
you see what the metaverse is.
You know, the metaverse is an idea whose
stock price goes up and down depending
on who says what on what day. Um, and uh
like some have a an ability to drive it
way down by opening their mouths. Um,
but ultimately this is about uh
multiplayer social gaming experiences.
You and your friends getting together in
a 3D world and having fun together in
any way you want. Um, you know, if
you're playing Fortnite Battle Royale,
like 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 a new
nature, which was not just like a
multiplayer game and, you know, with
heritage from Doom, but also a true
social experience between you and your
friends. Um, and yeah, Fortnite Battle
Royale is just one manifestation of
that. Another one is like Recck Room VR,
where you're standing around in VR with
friends playing billiards and or
shooting hoops and are doing other like
light entertainment things. I think
every game that has a huge number of
players who play together socially as
part of their, you know, entertainment
lives, um, I think is is really getting
at the core essence of the vision, you
know, aspiration for the metaverse. And
uh you know we're still in the very
early days of it. Uh you know I was on
the internet in like 1992 or so and uh
you know it was a pretty bare bones
thing. I think when we look back at the
state of gaming today we'll we'll was
realize that we there's a lot further to
go to get to the ultimate version of it.
But, you know, I think it's all on track
and I think it was the time we released
Fortnite Battle Royale and started
playing together all all the people at
Epic and Squads and experiencing that
world that we realized that this trend
was a foot and that we needed to do
everything we could to give to bring in
other creators that anybody could uh you
know pile on to the work we were doing
by creating their own worlds um you for
through Fortnite Creative and UFN and
and creating more games and more genres
that people could play and ever
expanding the repertoire of Yeah, it I
would love to sort of talk about
different aspects of that a little bit
more because you know Epic has created a
lot of amazing games. Unreal Tournament,
Gears of War, but the game that I think
it's fair to say that transformed the
gaming industry was Fortnite. Fortnite
Battle Royale especially. Can you
explain the origin story of Fortnite?
Well, Fortnite has humble beginnings.
Um, in 2011, we just uh uh been in the
final days of finishing one of the Gears
of War games and um we wanted to explore
ideas for new games. Uh and we had a
general idea that we would like to
build, you know, some smaller games,
online games, and order to learn more
about uh you know, that space uh and not
just have one single massive game in
production at all times and only one.
Um, and so everybody in the company was
given a week to uh form a team and work
with whichever co-workers they wanted
and uh and build a game um you know
using Unreal Engine. So you can actually
build something pretty interesting in a
week. And one of the teams built uh 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 defend the forts against
zombies. Nice. And you know, the longer
you could go, the more elaborate forts
you could build and the more survival uh
you know, waves you could withstand and
it would get cooler and cooler with
time. Nice. And uh you know, 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. Uh at one point we
moved to the current Fortnite art style
away from kind of more of a realistic
style. um made it, you know, more in the
Pixar vein of, you know, cool stylized
characters. What was that decision like?
Cuz we should mention Gears of War is
this like 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 like fun, silly graphic style of
Fortnite. You know, people come to Epic
because they want to work with the best
people in the world and they artists
bring a lot of different personal art
aspirations and style capabilities and
many of them are very multi-talented.
You can produce 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 to uh
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, you know, more visually
pleasing art style that's, you know, not
as stressful as like a Call of Duty game
where you're constantly like pixel
hunting, you know, a dark scene for, you
know, somebody's rifle
scope. That was the goal. So, you know,
a few of the artists got through and
defined the new art style and we moved
to it. And, uh, at different points it
evolved towards being kind of like a
light MMO like Destiny um, with rather
complex RPG and stat systems. Um, and
that evolved into a, you know, kind of
an UMO like tower defense game. Um, MMO
only in that persistence of items and
stats. Um, you know, which became
Fortnite Save the World mode. Um, which
we launched in early 2017 and it was a
moderate success. You know, it paid its
budget and, uh, we come out ahead. And
then, uh, at the same time, uh, the
battle royale genre was booming. PUBG
had just come out. Tons of people at
Epic were playing that. They're like,
"Oh, this would be so cool if it had
Fortnite building." And so uh we
assembled a team in a war room, you
know, like 30 people in one big room. Um
and uh you know, they worked insanely
hard for four weeks to build battle
royale. Uh so the nice thing is all the
content for Fortnite had been built over
the previous seven years. They had a
huge library of content, but no gameplay
uh of the type they wanted. So they had
to build it all in that four weeks and
ship it. And um that put Epic on an
exponential growth curve where we went
from 300 employees to uh you to
thousands of employees and went from
about hund00 million in revenue to
billions of dollars in revenue and um
you know became the center of the the
gaming world at the time. Can you
actually speak to the 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? Like what's the
technical four weeks? What's the
technical challenges there that had to
be overcome? Since 2012, we'd been
building online backend systems to
support player accounts and login and,
you know, all of the different systems
there needed to make a multiplayer game.
And we've been building them to be
scalable. And by some miracle, we built
them stably enough um that they were
able to scale up. And you know, so the
online team who was responsible for
patching that code spent a year of
intense work getting it to scale from
like 40,000 concurrent users to 15
million concurrent users. Yeah. I mean,
they're scaling their scaling. That's a
lot. That's that's immense. But they'd
done such an awesome job of building the
foundations that uh it was tractable. It
was doable. If it if they hadn't done
that, then the company would have died
that, you know, Fortnite just wouldn't
have been playable and the whole thing
would have failed. I mean there's just
so much detail there that makes all the
difference because I mean uh 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 like this is good enough to
where I really enjoy the experience. I
want to use it. And so
like that's really important to create
an experience for 15 million concurrent
users to where they're not where it's
not lagging where it actually works,
right? Is there something you could say
to sort
of like how difficult that is to pull
off? You know, the trend nowadays for
building online services is
microservices. There's not one big
server that handles all the interactions
with Fortnite. There's game servers
running 100 player game instances for
each battle royale session. And then
there's um 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 uh can scale and has enough
redundancy to be able to handle the
load.
I mean, thank thank God for Amazon Web
Services and cloud hosting because Epic
went to 15 million concurrent users
without buying any server hardware. We
were able to just call up Amazon and say
we need more. Um, and there was a period
of time there where Fortnite was
undergoing this exponential growth and
we'd find like one week we ran out of
servers in Brazil during a heavy weekend
of play and next week uh we had an even
heavier weekend of play and there were
servers to handle it. like somebody at
Amazon had drop shipped uh you know
millions of dollars of server hardware
into Brazil and turned it on just in
time for Fortnite to need it. Um and you
know there are a lot of unsung heroes uh
in that story many of whom we've never
heard of. Yeah. Uh I mean behind
AWS many unsung heroes there like so so
much of those folks run the modern 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. Uh can you speak to how much
money Fortnite
made? So, this is one of the greatest
successes in the history of video games.
Also, Fortnite makes billions of dollars
a year. Um, and uh 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. Um,
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 uh 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. Um you know, thanks to a
combination of the profits we made when
we were a very small company with a very
big game and uh because of investment
we've raised. We're not an oil well
pumping oil out of the ground at where
we discovered oil. We are growing to be
a future technology powerhouse. And we
think the 3D space um and the future
real-time 3D simulations is going to be
one of the major facets of technology
for humanity. And uh we're all in
investing in that. Yeah, it's exciting
to see that you 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 like completely different. And
part of that is investing in the
developments, the the research and the
innovation in the Unreal Engine. 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 3 years, four years,
5 years. Um we're totally okay with
that. And you know that's the cycle
that's fueled our growth over time. It's
constantly investing in the future and
you know being a serious company that's
doing serious R&D side by side with
shipping and maintaining products and
earning money from them. 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 what
is the the kinds of standards that
you're thinking about uh building such
that people can sort of have an identity
almost travel between games and that
kind of thing. Let me start with the
present of gaming and why it sucks. Like
that's a good start. Sure, Fortnite is
an awesome thing. You go into Fortnite,
there's, you know, 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. Um, there are 100,000 different
islands you can play on, and some of
them are really awesome. Um, and there
constant new ones coming out and
constant things to do. Um, 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 and Roblox are different names
and they're not connected to each other.
So, you have to remake all your friends
and then find different, you know,
things to play. And now the controls are
different. So, you have to relearn how,
you know, the joystick, mouse, keyboard,
controller, uh, 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. 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. Um, and same
with World of Warcraft and same with
League of Legends. And every other 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
long time ago, consoles set out to solve
this problem by creating their
consolewide friend system and account.
So your friends on PlayStation in one
game is your friends on PlayStation in
another game. but only on PlayStation.
If you're on Xbox, you can't see
PlayStation friends. Um, and so you have
two basically orthogonal and
crosscutting uh divisions of the world
into FFT's uh you know which were not
created with bad intentions but arose
and are you know separated isolated
islands. One is the platforms and their
social services Xbox, PlayStation,
Nintendo, Steam, Epic if you add it to
the list and the other is these
different games people play and you know
because of this weird historical
artifact, we're 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 the players on
all the different platforms can be
recognized by their name um 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.
The unifying the social ecosystems is
one thing that needs to happen. Um the
next and bigger uh challenge is to unify
the economies too. Now I'm not talking
about like a sword you have in World of
Warcraft should work in Fortnite. Every
game 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, you know, there's a huge set
of games that have in common the idea of
a cosmetic system that does not affect
gameplay uh outcomes, but is, you know,
purely cool looks and cool appearances.
Um, mo most of the major multiplayer
games have them. Um, and you know, 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. um that you
could own an outfit in Fortnite, own an
outfit in Roblox, and own the same
outfit in maybe Call of Duty um and
maybe, you know, 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 um you know, 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, you know, your chosen car
cosmetic. Um, and now you have a cool
car. Uh, it's identifiable as yours. Um,
you know, 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
the sources of engagement. Right? There
are two big things happening um in
Fortnite that make it work as a product
and as a business. One is the game
modes, Fortnite Battle Royale and all
the user modes and everything else are
sources of engagement. People play there
uh because it's super fun and because
they're playing there, they're willing
to buy cool stuff uh to make their
character look cooler. Um and and so you
have all 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 a a game
item. like everything's, you know, the
gameplay is not pay to win and it's all
just a game. So, we make money from the
item shop. Uh, 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? And so,
you have all the revenue in this item
shop economy and all 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, you
know, 40% of your time in battle royale
and 60% of your time in these user
modes, the money 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 uh creator economy
so far and it's growing. It's amazing.
One of the really critical things we aim
to do in designing that is ensure it's a
creator economy that's could scale to
other companies other ecosystems and say
you know right now we have many industry
standards bodies uh one standardized
game ratings um you know age ratings of
games another standardized um file
formats uh for the web another style you
know standardizing file formats for 3D
uh like Kronos groups and the metaverse
standards form if we had a standards
body standardize what our portable
outfits in games, game outfits that you
could buy in one game that work in
another. What are their, you know,
dimensions and what are their
capabilities and what are the what can
you do and what can't you do and so on.
Um, then you could have an item economy
where every game agrees to respect each
other's item purchases um of that sort
and revenue is shared between ecosystems
as well. That would be incredible. That
would be so amazing. Is there first of
all just it seems
silly maybe for people who don't play
video games but an outfit is an
important if if an outfit can be
persistent across video
games I mean I don't know what what's
the purpose of life like why do we wear
clothing is a part of our identity it's
how we present ourselves to the world
it's uh you know I wear this stupid suit
and tie it feels good feels good when I
put it on and uh and Even like the other
outfit, I have two outfits. This and
then a black t-shirt and jeans. And uh
it feels good to wear that. It feels
like me when I look in the mirror. Okay,
I know that guy. And to be able to have
that outfit go from game to game to
game, maybe across years. That would be
wonderful. The I wonder if you could
just even comment, could there also be
another standardization about the value
sort of for more complicated items? So,
you know, take a sword from Diablo and
transfer it to a gun in Fortnite, but
based on the value, some, you know, 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 in a in a space of
value versus the actual items, or is
that already getting too
um too general? I think this can be
done. Um, you know, we did a lot of
analysis of the Fortnite economy and
found that
um, some Fortnite uh, experiences lead
to or correlate with higher spending
than others. Um, and you know, battle
royale, uh, is relatively strong in that
area, uh, because you see your character
from behind and, uh, 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. Um, and a lot of
games uh, have that characteristic. One
one funny anomaly stood out. There's
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 uh paths of stacks of objects
and things. It was just stupid fun. Um
everybody loved um but we found people
weren't spending a lot of money uh on
outfits when they were playing only up
and it's kind of intuitive actually like
you're not seeing other players like if
you see anything like you're you're
seeing their butt as you're like trying
to catch up to them jumping from object
to object um and they're above you. Um,
and so, you know, it wasn't a mode that
showed off outfits very much, but you
could, you know, you can determine the
economic correlation between uh a game
mode and spending. That's so
fascinating. I mean, Fortnite is this
gigantic economy where you could do
those kinds of studies. You can
understand markets, the 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.
Yeah, I think so. You don't need like an
alternate currency system, you know.
Unfortunately, a bunch of ideas have
been conflated because people are trying
to hype up different things. But, you
know, this idea of large scale
multiplayer social gaming. Um, you know,
that notion of the metaverse, uh, you
know,
there's 600s to 800 million people
playing that kind of game every month.
Um, so like, you know, that's real and
that's happening and it's, you know,
very much underway. Uh, VR has a much
smaller audience. I don't think you need
VR to have anything like this. Like 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 uh set of
battle royale players flocking to uh
flocking to VR. Um and the other thing
is FT is it's like you know trying to
equate digital or cryptocurrency to to
the metaverse. It's like well you know
it's just a way of denoting money or
value exchange. Um, you can do that with
money or you can do it with NFTTS 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 st
defining standards and protocols. And
we've been doing it for hundreds of
years since the railroads were
standardized. And um, you know, it's not
something that totally requires a novel
technological solution.
Yeah.
I mean uh uh even on the topic of
cryptocurrency, it's it's very
frustrating.
You know, blockchain and crypto is a is
a really
powerful technology that I think can
enable a lot of the things we're talking
about, but so many people use it to try
to to try to make money to to create
these bubbles and they the hype and the
meme coins and the so on and so forth
that becomes much less
about that that uh uh drifts far away
and rapidly from things that are
actually of value which is the
experience. experience of playing
Fortnite and how you look when you play
battle royale. That's I mean it sounds
ridiculous to say but it's true. That's
valuable. That's that's like you know
you have like gold in the physical
space. We know that holds value. Uh how
how your outfit looks like in Fortnite
that as as you're saying provably holds
value. And so you want to connect like a
standard
uh definition of money value to that and
not let it become this hype thing which
NFDs that you mentioned are just become
that it like it quickly drifts away into
the land of people trying to buy and
sell and trying to make money versus
like staying close to the thing that
people actually value. Forget the money.
It's more about exchanging valuable
experiences or things of value. So, you
can uh play Fortnite and then go to 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 this there might be a
way to do that and to to basically
create standards the way the web has
different
standards for for displaying websites
and all this kind of stuff or the the
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 standard like
what what would those those standards
look like to enable the metaverse? We
need a lot of different things. Um the
one area where the standards have been
very successful in creating working
standards implemented by all the major
engines today is in low-level file
formats for data interchange. Mhm. Yeah,
the web has PNG files for 2D images um
and MP3 files for audio. Uh and 3D has
uh 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 their parameters so that any engine
that supports those features could
import that and then render the same
scene um as the engine they came from.
you know, large parts of this work
across Unreal Engine and Unity and
Blender and all of these 3D packages of
different sorts. And there's the glTF
texture format, um, which stores
textures and geometry and other
low-level data for 3D objects. you know,
when you see a Fortnite character, that
file format together with the image file
formats can store their static
appearance, their uh you know, the shape
of their body, um even their animations,
um and their different poses, um and the
appearance of them, the different
standard file formats could store their
all the sounds they make in their
emotes, but we're still missing a bunch
of pieces. Um the biggest missing piece
is a programming language that's uh at
the center of standardizing the
metaverse. Now um 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 you
know 2D layout of controls and objects
on the web page. Um and but that's just
static data. Uh it's just a non-moving
non-animating web page. 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.
Um, and the metaverse needs something
that performs that similar role. But the
metaverse and 3D gaming in general needs
something that's rather more powerful,
more safe, more scalable, and uh more
capable than JavaScript because the
metaverse is actually more difficult
technical problem than a web page. A web
page like an app is just a single bundle
of code and content that somebody a
company uh 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. Um but the metaverse needs to be a
comp composite of code and content built
by millions of different people uh that
could potentially form a seamless world
together. Yes. fully distributed
collaborative uh first of all also the
the amount of
data I mean it doesn't have to be that
way but websites are showing very little
information
uh 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 yeah the highest detail of
Fortnite up updates amount to about 60
gigabytes of data. Um, and you know
that's just a small part of what exists
in the Fortnite creative economy. Um,
and if you look at what this might be in
a decade, uh, as standards emerge, you
might have exabytes of data out there.
Fortnite Battle Royale is, I don't
think, the ultimate manifestation of
gameplay that will, you know, 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,
you know, web services become ever more
scalable. Um, we see new genres of games
that emerge that weren't possible
before. And, you know, Doom ushered in
the era of deathmatch and the first time
3D multiplayer game was even possible at
all. you know, the early battle royale
games starting about 10 years or 15
years ago um 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 um
with that level of interaction and
performance. It was just not possible to
run it. So, you got a certain level of
technical capabilities and a 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. You know, some of the
capabilities we're lacking now are the
ability to build environments uh and
game simulations that span more than
work than a single company can possibly
create. And you know, you see kind of
the birth of that idea in Fortnite and
Roblox where there are tens of thousands
of creators each building content. Users
are playing meaningful amounts of it
all. And so there's an ecosystem that
scaled larger than company, but it's
still very much you go into one island
and you play that creator's work. The
other direction of scalability is
putting more and more of people's work
together in a seamless continuous play
space. If for games where that makes
sense, you can imagine a a a game taking
place in an environment that's the size
of a continent or earth um in which you
can go from place to place and then see
different areas which are maintained by
different people. As 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
altership ever present wherever you are,
you know, you'd see you'd be driving a
car built by one person carrying weapons
built by 20 other people. um and you
know taking place in a simulation in an
environment that's built by thousands of
other people uh you know working for
separate companies or their own you know
entrepreneurs or uh indies or
enthusiasts all working together
simultaneously and we totally lack the
programming foundations for that uh you
know the the kinds of code you would
need to write now uh 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 uh for
you know future metverse programming uh
that we hope will solve those kinds of
problems and make that kind of world
possible. So first of all that's a super
exciting
future where you know 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. So um if you could speak
to some of the technology 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 co-author on a paper that's
describing some of the sort of nuance
details of a programming language. So
maybe you could speak to this
programming language called verse. It's
a functional logic language. What is it?
What are some cool features of verse?
First 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 uh not only you building a
Fortnite island, but you building
modules or components that can be used
by millions of other programmers and
coexist in a huge environment and also
can scale up to a huge scale simulation.
Some games will be small. Battle Royale
might might find that, you know, the 100
players is actually optimal. It might be
the thousand player version of Battle
Royale would be worse, but I bet there
are thousand million and tens of million
player experiences. They're even better
than that that will yet to be
discovered. And so, wait, wait a minute.
Tens of millions of players together.
Sure, we've had a Fortnite events that
have attracted 15 million concurrent
users, but you know, the fact that
they're all divided up into servers with
100 players each for those events isn't
really a positive. It's just a
limitation of the technology. Um,
tracing back to Unreal Engine One and
its single threading decisions. Um, you
know, if we could build a concert that
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.
Just uh if we just Sorry, I'm just
loading it in. Just imagining
together in one scene graph, 10 million
people interacting. What a cool world
that is. Sure. Well, you have 10 million
people. You have less than 10 million
pixels on your screen. So, what does the
Nyquis sampling theorem say? It says
that you don't need full overhead for
every player. You need to render the
players you're around you in some
approximation of everything else. Yeah,
too. But there's also a networking
component like you're speaking to the
rendering, but like oh boy,
there's a lot of work that has to happen
there. But, you know, this is what we do
for a living. We solve hard problems. I
understand. Cuz if they're easy, then
other people could have solved them
already. That's really cool, though. ju
just sort of the possibility the vision
of that is really cool even just you
know even a 100,000 people or like bring
10,000 together just to I mean the the
re 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 to a football game
that energy is unlike anything else and
if you can bring that energy to the
digital world that's amazing. Yeah. But
anyway, so sorry. So what uh on the
technology side of bringing that to life
on the programming language side, uh c
can you continue as I rudely interrupt
you uh talking about verse? Verse is a
functional logic language. Uh because we
think that that's the way to make the
most simple and powerful language
simultaneously. Um back in the 1970s the
the programming language designer who
built Pascal one of the early
programming languages
uh Niklaus Ver or Nicholasworth as
Americans we might call him um stated
this principle that a programming
language should achieve uh a high degree
of power not by having a lot of features
but have by having a small number of
features that work together uh and can
be composed together arbitrarily so that
you have to learn a relatively small set
of things and then um the real knowledge
comes as you learn ways to combine them
to achieve bigger and bigger programs.
And so um you know 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 ALOL. And
um there was this meeting in 1956 very
few people even know about it but it's
where all the ma 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. And um you know, thank God they
got those things right, but they got a
few things wrong. And versus trying to
fix those, and that's the functional
logic part of it. The interesting thing
about functional logic languages is that
um in an old school language, an
expression produces a value. Um in a
functional logic language, an expression
can produce zero, one or multiple
values. If it produces zero values, we
might say it fails. If it produces one
value, we say it succeeds. And if it
produces multiple values and it's kind
of iter providing a set of values, you
could iterate over. And so there are a
bunch of features in today's programming
languages that are 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. 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 the
language today uh this is done with
variables of type boolean or expressions
that produce booleans. We have boolean
val 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 in doing that
boolean expression evaluation. So in a
functional logic language um 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 operate, you know,
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 uh
and bind variables um 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 um to
then if a bunch of variables have
successfully been bound to variable. So
it lets you test if some conditions hold
and then use the results of those tests.
Um and that gives you a much higher
level of reliability. Um and then a for
loop um 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 uh it's rather
awkward to do complicated things in for
loops and so you often end up with these
ever more complicated constructs built
to work around that like iterators and
other things. Um the idea of functional
logic languages is your for loop can
just produce multiple values and if it
produces zero values you go through
iterate zero iterations and it produces
a bunch of values you go through all
those as your iterations. 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 bunch of a
series of results, and then some order
that you're iterating over and then you
can handle all of them and produce a
result. So you kind of gain the power of
SQL queries, you know, large complex
queries over data structures in a
language that is um much simpler in
which your code is just performing
simple iterative operations. And so kind
of 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. And the answer can be either
yes and my value is this or no. Um and
you can combine these together into
arbitrary queries. And if you 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 kind convoluted
code that's worse than um good C++ or
good verse. um when we see you know 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
con in the context of
Fortnite it's really fascinating you see
these users are learning this kind of is
it's it becomes their intuition they
just assume programming works this way
and they write they're writing way more
advanced and interesting for loops and
conditions um than we're often writing
internally because they've kind of groed
the core concepts Yeah, I mean uh 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 uh a very
intuitive way to learn programming. But
there's a lot of properties about this
being a logical language.
uh one of
which well we could maybe speak also
about uh confluence but also
correctness. So being able to prove the
correctness of a
code is is basically uh easier to write
bugfree code. Uh can you just speak to
that and the importance of that when
you're building the metaverse? 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 everrunning simulation that never
shuts down for everything to upgrade
live in place. Um, and so one critical
component of that is the ability to
uh 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. Uh most of which
hasn't ever made it into the C++
programming language unfortunately. But
you see several branches of that whole
field. Um, 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? Mhm. And that's a problem
for type checking. You know, 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 you know uh system ought to reject
that kind of change. Um but the much
much much more interesting thing about
type checking it was the realization it
was actually made in the 1930s. Um 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. You know
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. You know the Pythagorean
theorem is a cool one. Um but one
theorem you might have in a program 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 has
actually sorted its result. And so you
have types or theorems and values
constructed a certain way can be proofs
of those theorems. And um you 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 Uklid'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. Starting in the 1930s,
mathematicians move towards rigorous
formal proofs in which uh there's a
series of steps that can be mechanically
verified. Uh they're proving things. And
when mathematicians say they've uh done
a computer proof of a theorem, what they
really mean is they've written the
program in a proof language like lean is
a theorem proverq is a theorem prover
and there are several others means
they've written a mechanical proof in
that language that a computer is checked
so that uh it's impossible to lie. If
you say that you're you've proven a
thing and the computer verifies it, then
it's definitely true. Um and uh you know
this is a feature of mathematical proof
languages but it's also a way 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 that approach and that
technique. Um and not only adopts it but
adopts it in a way that's really
userfriendly so you don't have to do
that. Um 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 was an
error, um, then your program should
work. Now, there are all kinds of ways
humans can make mistakes there. So, that
will 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. Um, and you know, that
becomes extremely important in the
metaverse. Uh the cost of fixing a bug
that's made it through to runtime um 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. Um you just when
it's running on your computer, you just
fix a line of code and your bug's fixed.
Uh 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 you know the
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. Do you see a world
where like at compile time you could
prove that the program is correct in
some sense of correctness? Proving
things becomes commentatorally harder as
they get larger, right? And so the
really important thing about this whole
field is that um that you should be able
to adopt the these capabilities
gradually and apply it where you really
need it. Like if you're writing uh
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 uh
ecosystem, like proving that that
doesn't overrun memory, it's actually
really important. And a lot of the
reason that security vulnerabilities
happen today is uh because in a
different language, a compiler could
have caught or not caught in C uh
because it just doesn't have this
feature. But yeah, we shouldn't see this
as scary. Um everybody working in a type
language like C or C# or Java is proving
theorems all the time uh if you have a
variable of type integer and you assign
some value to it, you've proven to
compile compiler that that value was an
integer because otherwise it would have
rejected it. And so, you know, as we add
more and more advanced proofs, um, we'll
get compositional properties flying out
of our systems, um, that, uh, they're
easy to use and, you know, people prefer
to use. And we might think in a future
where we have AI helping us write
certain kinds of code, um, the big
problem with AI is you ask it to do
something and ask you 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. Um, and if we had
languages where you could say write a
function that sorts these this array and
prove that it did that. Um, it could
actually write the proof and uh you
could 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, you know,
getting to the point where we know that
the our programs do what we say they're
going to do or think they're going to do
is a very important thing. And by the
way, I should mention that you uh you
sent me a note about Curry Howard
correspondence which I went down a
rabbit hole and that that's a whole
fascinating field which shows the
mathematical relationship between
programs and proofs. That's right. This
is a result from the 1930s. It's one of
the most important results of computer
science um that almost nobody knows
about. Yeah. But they did this rigorous
breakdown of type systems and the 1930s
formulation of programming and
established uh that everything you can
prove in in mathematical logic you can
prove within a type system if it has
certain features. Um and you know 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 a you know something like
var x in and you say x equals 5 well
you're proving to the compiler that five
is an integer you know that comes as
secondhand nature but you can prove more
advanced things um you know if you want
to prove uh that a pair of things are
true that 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 and
then there's a an implication law for
proofs um And it turns out that that's
really uh 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 give 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. And
with only like seven laws, um you can
construct all of mathematical logic in a
type system. And you know, one of the
important thing 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. You know, Guido Van
Russ decided that Python should support
indentation a certain way. And you know,
as long as you're dealing with things
like human notation and naming of
things, there's always going to be that
subjective layer. But there are other
parts of programming languages that are
not subject subjective but should be
fundamental. And uh you 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 um and
should ultimately be rejected. And so I
think one of the jobs of computing is to
identify like what have we actually done
right in the past and what have we done
wrong and for everything we've done
wrong going actually going back and
fixing it. Um otherwise we just keep
accumulating so much croft that our
systems eventually are crushed under
their own complexity and you know there
have been massive announcements of
horrible vulnerabilities and software
and services over the past year. Um
yeah, it turns out like some nation
state backdoored a bunch of Telica's uh
surveillance systems for wiretaps. Like
huge problem there, but you know
ultimately when you break it down, it's
probably because of some buffer overrun
in some C program. Like these uh these
decisions about programming languages
have long-term implications. It's really
fascinating that in building these
systems that hundreds of millions of
people use, you're rethinking about like
how do you actually build it from first
principles. So that should mention that
uh versus primary design goals 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
realtime 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 program
are abstraction over that feature
timeless built for the needs of today
and for foreseeable future needs. Yeah.
And and then there's some design goals
that we talked about that is strongly
typed multiaradigm to use the best of
functional programming, object-oriented
programming, imperative programming. So
it's as deterministic as possible. You
know if you run it over and over it runs
in the exact same way. you know,
available expressions as you talked
about is super fascinating. There's so
many cool features in this uh
speculative execution concurrency maybe
can you talk about concurrency like what
is it about verse that allows for
concurrency at the scale that you need?
This is the one biggest technical
problem that uh we're working to solve
in this generation. Um and that is
taming concurrency uh so that any
ordinary programmer can achieve it by
just writing ordinary code. It's hard
you know. Yeah, programming on a single
threaded computer is hard enough but it
is completely predictable. If you have a
language that's deterministic and you
run the same code uh 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. Uh 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 um and change
the state of the world as they go. And
still almost all concurrency in real
world programs today is achieved
manually. Uh programmers are writing
this code that might run in multiple
threads very very carefully. so that
they uh are negotiating with among each
thread to get access to data in a way
that's going to give them predictable
results. Um and uh it it's incredibly
hard. Uh 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 um
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. There's a variety of
solutions to concurrency uh that are all
rather suboptimal. One attempted
solution was like, oh, 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's.com work with the 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 uh reliably. Um but you
know, this is totally not scalable to
the metaverse where you have millions of
programmers who are like mostly not
going to be computer scientists. they're
mostly going to be hobbyists and
enthusiasts and first-time programmers
doing stuff for fun. Um, that's never
going to work for them because they'll
never be able to envision all the
different dependencies between different
computations they're running in
parallel. But, um, it turns out that
there was some amazing foundational work
done in the 1980s that was made very
real by a paper on HALL concurrency.
Composable memory transactions is the
name of the paper and it describes a
system for
uh, transactional updates to programs.
Um and the idea of a transaction is
um a transaction is a block of code uh
that does a bunch of operations on
memory. Might read, might write, it
might process an order. It might accept
an order and or reject an order if it
might transfer money between one bank
account and another. And it might make
conditional decisions like, oh, you
asked to transfer $100 from your account
to this guy's account. Um we're going to
see if you have $100. If you don't,
we're going to reject it. And if you
have $100, we're going to take $100 out
of your account and add it to this other
guy's account. 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 100, and write it out.
But in the meantime, somebody has
written something else in the meantime.
And 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. Um so the idea of
transactions is it's a way of dividing
an entire program into updates uh you
know self-contained updates uh that do
an arbitrary amount of computation but
must run um 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 gameplay
object. Every other player is a gameplay
object. Every enemy is in 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
that's a separate game object and each
of those objects is updated at you know
a rate of one update per frame at 60
frames per second and so then in the
course of Fortnite Battle Royale
gameplay you have tens of thousands of
object updates having happening every
frame with 100 players um a simulation
with billions of players you'd have a
whole lot more than that so right now
that's done single threaded yeah that's
done single threadedly in each game
session this is why Fortnite is 100
players limitation if you absolutely
maxed out a server maybe today you could
get it up to 140 or something, but you
know, it's not going to thousands or
millions or billions. 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 granle of
code that runs its entirety. And so the
idea of uh 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. The idea of transactions
is since we have a bunch of operations
we need 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 uh 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 data
ch 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 we're going to
be it's going to look to that code
exactly as if it's running on the global
system affecting global game state. Um
but it's going to be isolated to just
that one transaction and it's going to
be set aside and uh buffered up for
consideration later. We're going to run
hund 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
or simultaneously and it wouldn't have
changed the end result. Yeah, the order
doesn't matter. This is so fascinating
to imagine this kind of system and
arbitrarily concurrent
running
millions of updates in parallel of
gameplay objects. That's that's the
thing that enables the thing that we're
talking about which is, you know, tens
of millions of people together in one
scene. 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 conflict. So
you might update 10,000 objects. You
might find 9,000 of them were conflict
free. So you apply those 9,000 objects
uh updates to memory um and they could
have run in any order and it wouldn't
have changed the result. Now there's a
thousand objects left over. Now you have
to run those again. Try them maybe inter
a different way to to get them to
eventually commit to memory. And uh in
the meantime you just throw all their
computations away and re redo them
later. And by doing this like we're
moving 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
that would be imposed on a million
people instead to a vast amount of pain
and small imposed on a small number of
people have to actually make this work.
That's amazing. That's really
incredible. Um, so what's the state of
things with verse? And I guess what
you're outlining is if and hopefully it
is successful, this would be a big part
of Unreal Engine 6. So what's the
timeline? Where do we stand today? Well,
there's a lot going on in parallel. The
key thing with verse is that we have
been specifying the like what we think
is the ultimate version of the language
with all the features we want whereas
we've been shipping uh more more modest
versions of language over time and we've
released dozens of updates to it over
the past uh year and a half. Um, and the
idea is that the shipping version that
we 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 and we're adding
major major new APIs uh every few months
um throughout the course of this year.
Whereas Unreal Engine licenses 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 the
essential features that they'll need for
building their gameplay in the future.
And so uh you know we have these two
different tendrils of progress. There's
Unreal Engine 5 for uh game developers
and there's Unreal Engine 5 targeting
the Fortnite community. Um and there's
different bits of development that are
only in one area of it that aren't
applied to both. like 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. And so the
place where all these different threads
of development come together is Unreal
Engine 6. And it's a few years away. We
don't have an exact time frame. Um but
uh you know we could be seeing preview
versions of it perhaps two to three
years from now and we're making
continuous progress towards it. So
that's really nice. So there's this
ultimate version of a language that
you're constantly working on and
thinking through. Then there's the uh
shipped version of the language that's
used by a large number of people but
still in the constrained environment of
the Unreal uh editor for Fortnite. So
for the Fortnite game and then there
awaits the more general Unreal editor,
Unreal Engine for the for the lessons
learned in the Fortnite context to be
integrated in the more general context
of creating simulated worlds for all
kinds of games including Fortnite. It's
really nice setup cuz you're 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 to deliver all the
features that we mentioned. Brilliant.
You know, the aim for U6 is to bring the
best of both worlds together. Much
easier gameplay programming for the
Fortnite community and for licences,
more scalability to uh large scale
simulations of all sorts. um greater
ease of use, meaning it will be easier
to hire programmers uh who are familiar
with and experienced with the thing. Um
but also ensure that every game
developer has the full deployment
capabilities uh so they can build a game
once and then ship it anywhere. like the
ultimate version of this enables a game
developer to build a a game of any sort.
Um either or simultaneously both ship it
into Fortnite as a Fortnite island that
players can go into bring their Fortnite
items and cosmetics and uh interoperate
properly or ship as a standalone game or
both. Um and if they ship as a
standalone game, they shouldn't be
missing out on the, you know, open
economy either because in this time
frame, we'll have opened up the Fortnite
item economy to thirdparty developers of
all sort. Um hopefully through a
standards body, but there might be
multiple phases of it so that um if you
choose to ship a standalone game, you
can still choose to uh you know 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
make and solve the really core problem
that of the game industry that Matthew
Ball has been documenting over the past
few years. Yeah, by the way, Matthew
Ball has been really helpful. was a a
great he wrote a really great book that
I recommend people check out. There's an
updated version. Let me just ask for cuz
again there's a bunch of indie
developers listening to this. I saw that
uh a lot of solo developers out there
that are using Unreal Engine that
they're basically creating video games
solo. I saw
uh can highly recommend it's it's great.
Choo Choo
Charles is a great video game. Uh Gavin
Eisenb he uh great guy. He solo created
this game that's I think quite popular.
I believe he says he used visual. He
didn't even use C++. He used visual
scripting. He used blueprints. Yeah. To
create it. Okay. So that I mean all that
to say people should go check it out.
Support indie developers. Support Gavin.
Support everybody like that. I think
it's important to say cuz there's so
much genius and artistry out there that
we want to support the crazy dreamers
out there. Anyway, all that to say, what
are the ways you think Epic can support
indie developers like that? People like
Gavin, like give them superpowers to
create games from which they can make at
the very least enough money that they
can keep doing their art. Yeah. Well,
that's really about productivity. Uh
because to be successful with a game,
you have to have a great game. Um, 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 that 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. Having
the tools be as productive as possible.
Um, but there are a lot of other facets
as well, like having a content
marketplace is a big thing. Um, you
know, just offthe-shelf piles of
content, some free, some paid, built by
other creators, uh, can enable a small
indie team to to build a big game, uh,
and just be able to focus on the unique
content of the game. Being able to write
their gameplay, um, and lay out their
environments the way they want, but not
have to build every tree and rock. Um,
yeah, because somebody's already built
one, and theirs is
probably perfectly suitable for your
game. And over time, there'll be more
and more. You know, there's also a lot
of indie uh developers living at as
content creators. They'll be releasing
content on Fab Marketplace or the Unity
Asset Store and earn a living for that.
But specialization of labor is a really
really valuable thing. In the early
days, pretty much one person would build
one game. Like that's how a lot of the
games were built in the 1980s. Um 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 you know dozens of
different specialties contributing to a
AAA 3D game now and the more we can
modularize uh those bits of content um
so you could get something off the shelf
rather than having to build it um or
have the you know engine synthesize it
for you uh the more uh we can enable
creators to create stuff fast and
successfully. So we should talk about
the the fact that amongst many other
things you've been
uh philosophically and spiritually
battling monopolies in
general. Sort of uh one of which is sort
of the Apple
uh marketplace that charges 30% from
developers.
Can you
speak
uh about this this idea that um you
believe that Apple and other companies
Valve should not be charging that that
kind of revenue cut? Sure. Well, let's
let's start from a very basic principle
of computing. The first computer I owned
was an Apple 2 Plus. Um you know,
designed by Steve Waznjak 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 uh to
not write a program and to instead run
somebody else's program. Um that was
incredibly empowering. And anybody could
write a program. Anybody could put on a
floppy disc. Anybody could share it with
their friends. Anybody could make copies
of that, put it in a store, they could
sell it, they could build a business
around it. and they were completely uh
able to without seeking any big tech
corporations permission uh do whatever
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 you know so it's
really been firmly implanted in my mind
that this is this was a magical and
wonderful time of unmatched economic
progress uh for technology in the entire
world. Um, and you know, 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. Um,
and I've always viewed this practice as
terribly abusive. Uh, because when you
buy a computer, you you spend or a
phone, um, 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
uh from other developers directly if you
want going to their web page or writing
your own apps without their permission
um and running them yourself without
having to get a developer account
without having to go through their
bureaucracy. Um 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. Um you already bought that
phone. Why should Apple be adding a 30%
junk fee to all commerce you do? Um, and
why do they selectively apply it to some
things and not others? Um, I've always
viewed this as deeply abusive. Um, 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 uh with
mobile apps because these stores have
popped up and they don't provide any
useful value uh to the user. 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 you know, Apple and
Google shutting down the competitive
engine that drives uh the software
economy has massive implications for
everything. Um and you know, one of them
is reshaping the nature of mobile apps
to be really offensive to gamer
sensibilities. You know, if you go on
console, the best console games you see
listed on the store on on the
storefronts um the best console games
that you see reviewed are awesome games
uh that really have a lot of creative
merit. The ones that sell the best are
really enormous values for their money
um and are the product of an immense
amount of work. Um you don't see that on
iPhone. The top apps on iPhone, the top
games on iPhone at almost all times are
these ridiculously greedy, high
monetizing, you know, whale games, which
are pervaded with pay to win and loot
box practices. You know, they have a
sort of a legalized a form of gambling.
And you know, these games are not driven
by fun. They're driven by manipulation
of the players uh to greedy ends. Um
yeah, and you know, it's very hard for
for the fun based games to actually
succeed there. Um, and you know, 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 know, you have to pay 30% of
your revenue to Apple in order to just
get access to the platform. Um, and 30%
is way way way more than most game
companies make in profits right now. And
so, if the char that fee is more than
the profit from a natural company, then
they can only stay in business by
raising prices. So, these 30% fees are
raising prices of all digital goods.
it's just inflationary as a force in the
economy. Um, that's just the the first
direct tax. But then to reach users,
when a user searches for like when a
when before Apple blocked Fortnite on
iOS, when a user searched for Fortnite,
the first result was always some
competing game. Like 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 initified with advertising.
Apple is. And you know, they do that so
they can make even more than 30%. So if
you want to be the search, 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, you know,
games with rather abusive practices that
do not look to normal gamers like games
for the most part. Now, there are some
exceptions. There are some great games
on iOS and there are some games with
good practices. But, you know, the 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. I had a quick
chat with 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 as Epic has been? what uh
what makes you what makes 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. 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. They're not
providing the value of 30%. And even if
they were, the monopolization, the
centralized control without competition
is is wrong. Anyway, why are you
fearlessly fighting Apple on this and
other companies don't seem to want to
step up? All companies are terrified of
Apple um because Apple can destroy their
business.
Um Epic was in a unique position with
Fortnite. First of all, having the, you
know, the biggest game in the world at
the time we started the fight with
Apple. Um, and second of all, having a
majority of our users playing on PC and
console meant that if we lost access to
iOS uh during a fight, then we would
still be able to survive. Um, that set
apart,
uh, Spotify, Facebook, you name the top
10 mobile apps, I think none of them
would be able to survive without Apple.
like literally their business would be
destroyed uh if Apple blocked access to
them. Um and Apple was
incredibly clear with developers that
they're willing to deprive uh all users
of access to any app uh if they get in a
fight. Um and they've, you know, if you
look at how they dealt with Epic, they
were not just legally maneuvering uh
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 uh if you fight us.
And a very small number of vocal
developers have been willing to speak up
and Apple has actually refrained from
crushing their businesses uh when they
weren't um violating any Apple
policies and that took a bit of
discipline which I think is also an
amount of calculation by Apple that they
couldn't survive being seen as the
company killer um that if you criticize
us we'll crush your company. Um, but
yeah, 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 uh can also have a dramatic effect
on your ability to compete successfully.
And Apple has a very long history of
playing cat-and- mouse games with
developers. It's like a developer
uh isn't in Apple's good graces. They'll
just slow down the updates. They'll
they've been slowing down updates for
several major tech companies uh
sometimes for weeks, sometimes for
months without all going under the radar
because everybody's afraid to challenge
them publicly. Um and so Apple's
wielding a soft power can change a
company's economics for the worse enough
to deter almost any public company. And
you know, Epic is in the fight because I
firmly believe that something like the
metaverse will only arise that something
like a billion plus user, you know,
real-time 3D social ecosystem and that
grows to encompass potentially all or
most major games by all major developers
uh tied together into an open economy
where they all participate as peers and
they all compete to give users the best
deals um and they grow and you know do
business with their customers directly.
That thing can only exist uh if the
Apple and Google uh gatekeeping
monopolies are lifted. And it's not just
the 30% fees. The 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 um and uh 3D
graphics capabilities on you know the
iOS web APIs. APIs you can access from
web apps running within a web browser.
And you know that's to increentially
those apps so to ensure they
can't possibly compete uh with native
apps. And by depriving web apps of those
features they prevent web apps from
being competing with native apps. Well
you know Apple if they treat the
metaverse the way they treat the web
they'll say you can only use Apple's
metverse engine. Unreal Engine is
disallowed. Um, and then they can impose
all their own limitations on the
metaverse to force all commerce through
Apple or force it to be so uncompetitive
and lousy um that it can't compete. And
you know, they have this giant array of
these anti-competitive techniques that
they use to disadvantage other app
developers. Um, you know, saying only
Apple can build certain kinds of apps or
only Apple can integrate certain
features. Um, 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. Uh you can't build a
social network into a store. 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 a giant, you know, to use
the Soviet term, it's a defense and
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. And that's playing out in
Europe where Apple's enabled us to
launch the Epic Game Store, but has made
it so difficult and uh uncompetitive
both for Epic and for clients who we
want to do business uh with that, you
know, it has no chance of a success
until the European Union starts to
really enforce the DMA law and impose
harsh and serious penalties on Apple to
force compliance. I think it should be
said once again. I think it's wrong uh
what they're doing there and I hope
there's public pressure and government
pressure for them to open up the the
platform. Uh and I believe as a person
uh who loves Apple, I believe this is
also good for Apple.
There's the natural thing in in
companies to want to close and control
and crush competition, but like 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, you
know, to to cuz they're great at
creating great interfaces, but
competition will sharpen the sword. I
mean, it it's just going to make
everything everything much better. So, I
do hope there's a lot of public pressure
and I deeply appreciate that you're
speaking out in this way, sort of
putting that pressure and uh letting
people know like it's okay to say that
this is wrong. Thanks. Yeah, competition
makes everybody better. Uh 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. uh 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 and I can't wait for a
new generation to come in and you know
paint a bright path to the future. We
were Epic was an awesome partnership
Apple uh for more than a decade of demos
and partnership and technology usage
together and we did amazing things
together. love nothing more than to uh
to have that Apple uh you know bringing
back Steve Waznjak's original views just
the Apple 2 was such an amazing thing
it's completely open platform the the
manual to the Apple 2 included a listing
for all the ROMs the source code the
ROMs you could understand exactly what
was happening there and you could learn
from it included a hardware schematic of
the entire computer so you could learn
how to make a peripheral and plug it in
in an open ecosystem and that's the
awesome Apple that 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. 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 words,
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
uh for people to choose the best thing
and and and in so doing create this
large network of humans interacting
freely with each other. Okay, that said,
uh, one of the competitive pressures
that Epic has created a few years ago
was by launching the Epic Games Store
and instead of Steam's 30% revenue cut,
you went with 12% revenue cut, creating
the competitive pressure saying, you
know,
listen, this shouldn't be that high of a
cut. And uh, which I thought was like
amazing. This is this is 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 uh EGS, Epic Games Store.
Uh first of all, I should say the
internet is full of drama and criticism.
Like there's just not enough celebrating
of awesome that let's If I can ask
the internet as a blob one request, can
we just celebrate awesome and also
criticized, but just like there's not
enough celebration. Anyway, the the two
um 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 uh set of criticism is uh the
exclusive
contracts which uh 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? Uh, sure. Yeah.
Uh, I think, yeah, one of the reasons
that people characterize the Epic Games
Launcher is clunky is because like the
Epic Games Launcher is clunky. Um, and,
uh, we need to improve this. Um, you
know, there's a lot of work going on
there. And um you I I wish we' gotten
better at addressing quality of life
features uh and prioritize them above uh
all the other features. You because
Steam has 15 years of builtup work by
many of the best programmers in the
whole industry working on that. A much
larger team uh working on Steam and uh a
lot more time working on it. And so uh
we've had to make a lot of
prioritization decisions about what do
we support with the Epic Game Store and
when. Um, a lot of the time it's been
supporting uh commercial features like
merchandising, offering multiple
versions of a game for sale and offering
upgrades from the regular edition to the
deluxe edition and other things that
partners work. And you know, 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. Uh, we've
recognized this very clearly multiple
times and we've gone through multiple
refactorings, but you know that that's
definitely been a disappointment to us
and to a lot of users. Um, and I think
one thing we had to it took us a while
to realize was it's it's nonuniform. Um,
depending on your proximity to a CDN and
the size of your game collection, um, it
can be either awesome or really clunky.
Um, and the users for whom it's really
clunky uh, are the people like I think a
large part of the the complaints 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. Yeah. And you know, one of
the 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. Like Steam has forums
to kid to your game. And like we decide
we don't want to create forums. and our
partners when we talked to them
generally didn't want us to create Epic
Game Store forums for their games
because there's already you channels
that they prefer to them. Um there's
social media and a number of platforms
and there's Reddit and there's lots of
places for gamers to 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.
Um but we do want to have all the
convenience features that makes it as
easy and fun to use as Steam. So there's
a long journey ahead, but you know, we
continue to reinvest and, you know,
we're working to build a multi-billion
dollar business there and think we'll
succeed. Um, already at the Epic Games
Store,
uh, supports an immense amount of Epic
Games commerce in Fortnite, on PC, um,
now on Android and iOS and the European
Union, too. Um, so it's a forever facet
of the industry, and we are never losing
heart in it. Um, and we think at some
point, you know, 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
multiplatform. One of the things that
really sucks for all gamers is that, you
know, you have a lot of friends in the
real world. 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, your Nintendo
friends. And so you're very much
bottling up PC gaming into kind of a
hardc core group of PC only folks and
making all the other aspects of it
difficult. You know, a lot of games have
flocked towards Discord, which is a mess
in itself cuz now your Steam name is not
your Discord name and that's not your
PlayStation name. And so now you have
three two people in a game and they have
four different identities and that
sucks. Um, you know, our aim for that
is, you know, with Epic online services
and the social systems that we built uh
for Fortnite opened up to all developers
to have crossc platform social features
be super easy and free for all
developers. This is not something we're
trying to gatekeep or rentseek on um or
lock people into. It's just a way that
we're making social gaming easier for
everybody. As more and more games follow
the Fortnite approach of being
multiplatform, especially multiplayer
games, you know, metastas law is a very
real phenomena in the industry. It's the
thing that's upending some games and
causing growth in other games. Um, it is
the number one trend for pervading the
world of gaming today. And it says that,
you know, your game is quadratically
more valuable the more percentage of a
user's real world friends they can
connect to. um your game vastly benefits
by connecting all of its players
together and not, you know, segregating
them off into different online platform
populations and so on. And so, you know,
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. Um we did it. Um but, you know, they
seem to be using it as a lever to keep
people locked into the Steam PC game
store. Um, and you know, there's that
that's going to be a long ter longunning
battle because there's always a very
toxic group of Steam users who like they
even created an entire subreddit
dedicated to criticizing Epic and our
store. Um, and they create, you know,
basically harassment campaigns at times
uh against uh developers who use Epic
online services. Uh, you know,
developers do that so they can connect
their players across platforms and have
friends across platform and voices
across platforms. But, you know, uh,
suddenly that's, uh, that's trying to be
turned into a negative. 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 Games Store, like
uh, create awesome stuff together. I
mean, there's just it's like it's
obvious to me if you don't read the
stuff online, but online it's like there
there is this just negativity that I
don't think is constructive uh in
general. I should give a big sort of
uh positive thank you and props for the
push to
multiplatform that was always there with
for Fortnite.
uh perhaps before the pressure that Epic
created on breaking the barriers of Xbox
and PlayStation and PC and be being
multiplatform like 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 like a couple of
PC folks a PlayStation person Xbox
person all together you can't really
tell what they're using except for a
little icon and it's it's nice it's all
those barriers that we've created with
these platforms are gone and you
creating the pressure with uh with Epic
Games Store and just everything you're
doing with this with Fortnite platform
uh it's really nice. There's no reason
to create these silos because ultimately
you should put the gamer first and uh
let everybody interact uh with with 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.
Oh, thanks. Yeah, that was an
interesting time. Sony had a longunning
policy preventing crossplatform play.
Uh, and we had a long series of
conversations which uh got pretty harsh
towards the end. Um, but Sony Sony
ultimately came around and they opened
up PlayStation and you know through a
series of private conversations they did
the right thing. Um, and not only that,
our partnership with Sony has increased,
uh, you know, since that argument back
in 2018. And, uh, we've gotten closer
and closer and done ever more things
with, you know, Sony, you know, brand IP
like the characters from God of War and
other games coming into Fortnite. Um,
and, you know, all kinds of crossovers,
massive Unreal Engine adoption in Sony
for making games, for making movies at
Sony Pictures, music partnerships with
Sony Music. Um, that's been an
absolutely wonderful relationship. I
think you that stands as an awesome
example of a a company that you know
because of historic reasons got uh you
stuck with a policy that no longer made
sense for the future and um you know
following a serious discussion with a
close partner writed it and did an
awesome thing and now Sony's much better
off and Epic's better off and all game
developers are better off and the whole
conal industry I think is a lot stronger
now than it would have been if you know
these silos had continued playing out
and despite the kind of potential
concern concerned that like maybe
blocking platform play with Xbox gave
Sony an advantage. You know, Sony's
actually grown uh in market share
relative uh to Xbox since that time. And
so, you can't say that anything but good
goodness came of that that time. And I
think a better version of Apple uh would
have received uh the email I sent uh 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 you know,
they didn't. And that's why uh we're in
the midst of a a 5year battle with Apple
and in you know
the hopefully uh still the early days of
a 15 plus year partnership with Tony.
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. Uh can you just
speak to that because in so much of the
journey of Epic you've been sort of
against exclusivity. Let's back up and
talk about the principles at work here.
Uh Apple 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 uh or funding
or any other positive incentive, then
that would be perfectly fine. one
is preventing competition and the other
is actual competition. Um, Epic has
never forced any developer into any sort
of exclusivity relationship. Rather,
we've offered developers
uh payment um or incentives or marketing
or any number of things of value to them
um in exchange for coming to our store
exclusively and it's their game. Uh so
it's
entirely and rightfully up to them to
decide how distribute it. um and to make
the decisions about their business. It's
their game. 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, um then they
could do that as well. Um 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 is this is 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. And
some consumers who prefer Steam might
prefer that the game be on Steam. Um but
the de developer in each case has
decided uh that they believe they would
benefit more by doing this exclusive
deal in exchange for benefits than by
being on Steam. And you know, like one
of the the key exhibits in the epic
Google trial was this opening exhibit um
which was a trying to point out to the
jury in the trial um the benefits of
exclusives. Like 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.
Are you going to go to the new store?
No. you know, nobody's going to switch
from Steam if Steam has all the same
games as the competing store and
everything's priced in just the same.
And so we looked at uh initially two
ways of competing with Steam strongly.
We wanted to sell games at a better
price than Steam um by agreeing on the
amount of money we pay each game
developer uh you know, 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 lose potentially even lose
some money to offer a better deal. Well,
you know, uh we we tried to pursue this
um 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, you know,
marketing featuring and benefits and the
console makers would be mad and all
their relationships would be would be
harmed. Um you know, so there 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 supply by doing exclusive deals and
we signed a lot of them. Um paid
developers lots and lots of money. We I
think we distributed over a billion
dollars um in net expenditures to
developers uh beyond uh the money the
revenue we actually made from games in
order to get a whole lot of exclusive
games. Some were successful, some
weren't. Borderlands did awesomely on
the Epic Games Store and we uh and
Gearbox felt that it did just as well
through Epic uh as it would have done on
Steam because, you know, the players who
wanted Borderlands wanted Borderlands
and they came and got it. Whereas a lot
of other games, you know, 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 um in the end we and they concluded
that they did worse by being on the Epic
Games store exclusively in terms of uh
you know reaching fewer customers. And
so you know we had these limited time
exclusives when they ran out they put
their games on Steam and um you know
lots of data was gathered to understand
what worked. And so this worked well for
some games, didn't work for other games,
but um you know,
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 who 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 success to compete with
Epic Games Store, then developers would
be getting a better deal. Consumers
would be getting a better deal. Um, and
these 30% fees would be driven down
quite a lot um towards the actual costs
that are required to support the stores.
Yeah, I mean there's a lot to be said
there. Uh, you know, I've gotten to
watch
Spotify try to do this with
podcasts, you know, enter as the
underdog into the space and try to
attract, you know, they made exclusive
deals with uh, for example, for 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 open, wide open, and instead
compete on the space of just
uh the non-clunkiness of the
interface because the
foundation of what uh Epic Games Store
represent with
12%. It's just philosophically. So,
you're also competing on the sort of
spiritual realm of like what it stands
for ethically. That's also a really
powerful way to win. So now that there's
enough uh number of people using Epic
Games Store like to drift away to move
away from exclusivity, it's
understandable that it's needed for the
competition for the underdog to to to
enter the scene, but it goes against the
sort of the
freedom, the the free spirit of choice
that I think you represent a lot of the
decisions you've made, which is making
the games
crossplatform and just yes uh giving
freedom to the developers, giving
freedom to the to the gamers to choose.
So, in that way, I think exclusivity a
little bit goes against that. 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
uh the effect of Epic revenue sharing
12% to developers was that games just
cost 22% less on Epic Games um sorry 18%
less on Epic Games Store um that that
would actually start to reshape consumer
behavior significantly. People would
start coming here for the better deals.
Yeah. But I feel like Steam you giving
developers nasty phone calls and so on
when they uh propose to do that prevents
developers from passing on savings to
consumer then what's the what's the
mechanism that drives users away from
the incumbent store to the store that
offers a better deal? If basically
basically developers are fearful of
competing on price through stores, you
know, what can possibly be done to get a
dominant store with you know something
like 90% of revenue share from you know
among you multi- publisher stores uh you
know in line to so that a much much
smaller store can compete. I think some
answers is required there. Um a better
UI is great like steam is super
polished. Epic Games Store and you know
time will hopefully be as polished. Um
you know how how how does that overcome
the fact that your entire library over
the past 15 years is there? You if
developers are have been afraid to
exercise their own economic interest
because it's in a developer's interest
to sell on Epic and get tw you know you
know 18% more of the revenue. uh you
know I think there's a real power to
incumbent it's very hard to overcome uh
through just being there and being as
good ultimately where I hope it
converges to is less
exclusivity and and where the
competition can be the kind I love the
most which is on the
uh on the UI on the experience on the
just Uh, and then on the Steam side on
on the 12%. So, it can go from 30% and
start to to support the developer by
lowering it from 30% closer to 12%. So,
anyway, uh, I'm a big supporter and I
don't like the criticism of Epic Games
Store. Uh but I also have to say that I
don't love the exclusivity. But I
understand I understand the reality of
the world is that you have to have some
mechanism to uh 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 to
to the underdog. So totally understand
and hope the UI keeps improving.
Thanks.
One more bit on that exclusivity point
is that when we 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
boy to them in order to agree not to do
exclusive deals with
competitors. And that was called uh
project hug hug. Hold developers close.
Yeah.
Uh and uh that was one of the major uh
pieces of evidence on which the jury
found their practices to be illegal and
anti-competitive. And the one more data
point on that, you know, we talk about
30% and there's always a lot of people
defending Steam. Well, of course they
have more cost 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 uh
stocking it, maintaining it, the
software uh the entire ecosystem
uh is around 6% of revenue. So you know
in a competitive market what a company
whose cost is 6% people to charge
30%. Like 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 mark it
up from 60% to 30%, like only a monopoly
can do that. Look at competitive
businesses. They have a margin of a few
percentage there. The numbers there are
strikingly
uh supportive of just outright
anti-competitive market distortions.
Okay. What do you think is the future of
the gaming industry? So we we've said to
me a bunch of exciting stuff about indie
developers. So you know do uh uh what
are called AAA video game companies so
these big uh gaming companies do they
have a future? What is their role? How
do you see like in the next 5 10 20
years the evolution of these big uh
companies and indie developers? Yeah.
There's one constant in gaming that I
think the industry manages to lose sight
of from time to time astonishingly and
and that's fun and people play games for
fun. Yes. Our whole job is to deliver
fun. And um 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 that exist in
people's lives. And so, you know, at a
basic level, we don't need a terribly
complicated theory to explain a lot of
the melees in the game industry. There's
been a degragation of the capabilities
of a lot of publishers partly because of
competition for talent. You know,
companies like with 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. And
so in some cases the companies aren't
competing robustly or getting worse.
They're making games that are less fun.
And you know I think everything else
that's happened is kind of a a sideshow
to that. Um you know there's always
political drama and so on but I think
they just the core is a failure to
deliver fun and you know the 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. Um, but I think we're seeing much
much more play time shifting towards
games you're playing together with your
friends and not just random internet
strangers uh who happen to play that
game too, but people actually know in
the real world. Um, and that's certainly
been the case with me and with almost
everybody I know who's playing Fortnite
or similar games. And that has really
significant effects in reshaping the
whole game business because like a
single player game, if you have 20
people with 20 different opinions of
which game to play, uh, each one might
buy a different single player game. But
in a multiplayer game, uh, if there were
20 games out and each one had might have
their own completely individual
preference and each one were
independently choosing which game to
play, you each one might buy a different
game. But, uh, if you know, but they're
all realizing that they want to play
together. And so, what players are doing
increasingly is
playing the a game they like and accept
uh together with their friends, even if
it's not the game that every one of them
might be preferring to play themselves.
Like if you have uh and you know that's
certainly the case in you know different
Fortnite groups I play with from time to
time. It's like you know 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 and
that means that there's really strong
metaf 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 you know I think Matthew Ball's
analysis of this over the years has
really documented the trend towards you
know you can call it the metaverse or
you can call it large scale multiplayer
social gaming. He's really documented
this trend and you know 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. You know we hit an
all-time high of 110 million monthly
active users uh about a year ago. Um and
another like close to peak this time
Roblox is bigger than ever. And you know
this trend is players consolidating into
multiplayer experiences they play
together. And we're seeing another trend
overlaid with that which is like when an
awesome single player game comes out or
small and multiplayer game comes out,
people often will like treat it as a
vacation. They'll go off and play that
game for a while then come back. I think
Wukong was an awesome example of that.
Wonderful game from a brilliant team. In
China, they made a game that's like no
Western players had really seen that
that type of thing done before. And it
was awesome and it did well, but most
players play it for a while and uh and
move back on. Mhm. And that can be
lucrative, but a business that's
building that kind of games is going to
have to build a new one every few years
and uh and build a business around that
while the other games continue to create
users. But, you know, when you have a
small a large number of gamers uh
migrating to a small number of games,
the effect of that is increasing revenue
for those games, increasing
reinvestment. Um and you know, there
there are things that Epic can do with a
team of thousands of people building
Fortnite Mhm. internally. and um tens of
thousands contributing to Fortnite um as
independent creators. Um you know, 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 a an increasing winner take
all dynamic where the biggest games
reinvest more to make their games more
fun. They gain fund at a faster rate
than other games. And uh you know, the
industry is changing around that. And
you know, so I think the the lesson for
the game industry now is that there are
really two big opportunities being
pursued. There's big games or games that
have the potential to be really big
multiplayer experiences that keep player
players around, you know, indefinitely
for very long periods of time. And then
there are just really good single player
and small scale games that people are
taking a break from their big games for.
And you know, the trend there is going
to be towards efficiently developing
those games. You can't do 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 I think that that it creates a
rather bleak outlook for a lot of the
category of like single player games
that don't have a huge audience to
reach. Um, and you know, but this is
just one of the really trends of
restructuring the business around the
technology and changes of the day. Okay,
this is going to be a ridiculous
question, but um, aside from the games
you've created, what are some of the
greatest video games ever created to
you? like what what video games have
been
like either impactful to you in your
life or maybe you've seen created and
you're like huh that's a beautiful art
piece like it could be in a totally
different realm like obviously for me I
I returned to often to the single player
domain of role playing games of the
Elder Scroll series Skyrim that was like
a world that they created a recent game
Balders's Gate 3 that was really
incredible piece of work and art and
doing uh a lot of innovative stuff again
in the single player domain. Is there
games like that outside the ones you've
created? I'm most impressed with the
games that have
uh created what appears to be a full
living breathing world.
Um, you know, games that give you the
sense that there you're just a part of
it and there's a lot more happening and,
uh, there's, you know, always more. Uh,
and and, you know, 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, it really creating
that sense of wonder is just a magical
thing. Like Zelda Breath of the Wild.
Oh, yeah. Yeah. Skyrim, Red Dead
Redemption. Red Dead is great. Yeah.
like there's an entire ecology simulator
in there. Um I have a high school
classmate that got into studying river
ecology and he was commenting on like
the like this this is one of the very
few games that's hydraologically sound
like the way like they actually went to
the effort of shaping the rivers to
follow like erosion dynamics and so on.
Just the attention to detail and there's
something there that's big and it's been
funny journeying through the industry
like I I last designed a game in 1992.
I'm not a game designer. Um, yeah, I
have a very open-minded hear that like
the best game genre that will ever exist
has not yet been invented. Um, and as we
get
more technological capabilities um, and
creatives, people use that uh to and you
know, hopefully empowered by higher
productivity tools and so on that we'll
see more and more cool things emerge
that we never dreamed possible. And you
know, the idea of a world simulator is
actually really interesting there. Um,
it's been tried a lot. It's, you know,
usually extremely slow and expensive to
create, but over time maybe we'll get
better at that and that will be a thing,
too. You said so many interesting things
there. New city builders. Yeah.
Civilization that it's just mindboggling
that they build a game with that depth
that can evolve so dependent on your
actions. To do that, that scale of
world, but to where you can step into it
and be in it, you know? Uh, I think Red
Dead is a great example, but to do Red
Dead Redemption in a in a way where you
can walk around with
friends at a large
scale and
uh, 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 those on
several of the things. And once you do,
there's something magical about that.
Like once you give the that attention to
detail, like I don't know what what it
is, but the love of the artist comes
through somehow and you could feel the
care that they put into it. That's
right. The best games have a soul. You
can really sense it. Um you 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. I think we talked about the soul
on several fronts, right? I wish it
would be studied more. Yeah. Yeah. The
these little game design decisions that
the designers make um have a profound
impact on what players think of the game
and see in the game. You know, Fortnite
Battle Royale always had a sense of
mystery to 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 you know, I'm not the secret holder.
I'm I'm, you know, 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, cuz even
when you're eliminated in Fortnite, you
know, there's not like blood spurts and
there's not good jibbs. You're just, you
know, teleported out of the simulation.
And often, you know, you end up losing
the game in a way that's hilarious
enough that like you actually are
laughing at it or you're like, "Respect
to that player who just won because that
was clever." Um, and you know, it
creates a very different dynamic than
these other games where players tend to
be very, very positive towards each
other. Um, one of the things I like to
do in Fortnite just to kind of gauge how
the game is going is I play Phil squad.
So, I'll get matchmade with, you know,
three other random players and play a
game together. Sometimes they have voice
chat, sometimes they don't. And, uh, you
know, back when our matchmaking regions
were bigger, I learned a little bit of
like battlefield Spanish, so I could
speak with the people who were down as
far south as, you know, Mexico City. And
you know, the the positivity of the
interactions there uh among just every
kind of person you might ever meet
online were were really quite impressive
and completely unlike what you would see
in a game like Call of Duty where it's
always, you know, you know, everybody's
got to be an edge
lord. Uh I love online gaming culture. I
have to ask it 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 a whole
that's its own thing, right? That's uh
that world, the characters, the style,
the edgginess, all of that. But the the
interesting thing about Grand Theft Auto
6 to me that I want to ask you about is
they took forever. It's the six month
thing that you mentioned before. You
know, there's some games like that just
take years to bring to the conclusion.
What can you say about that process that
you know 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 um companies uh
to to take the games to conclusion and
what um I mean just insight into what
that process is like? making games is
very hard and um especially when you're
pushing the boundaries of something.
Um you know with Grand Theft Auto it's
just the realism and feeling that you're
in this huge city um 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. uh whatever problems you're
solving today uh to get to you know the
next iteration of quality on it you you
don't know what new problems that will
unlock and often you fix one thing and
that and make it super realistic and
that just highlights the unrealism of
other things that you need then need to
fix um I think the thing that always
comes to mind is that uh shipping a game
is easy if you don't have a high quality
standard uh 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 uh it's worth it in
the end, right? A a bad game is bad
forever. A late good game is eventually
is released and is good. Do you ever
feel like Rockstar is a good example of
that? The pressure of delivering
quality. You you know 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? We certainly do. I we
uh everybody's often working very much
to the last minute to make something
excellent. And um it's really hard with
these fast delivery time frames because
you really have to get a lot of stuff up
and running before you can judge like a
new Fortnite season holistically. Um you
know, it's not until like the m last
month or so that you really know what
you're you've built and you really
understand it. And if any late breaking
problems emerge in like balance or
anything else, it's is usually towards
the end and that usually leads to a
rapid push to to fix it. And then other
lessons you can only learn live.
Um and uh you know from experience and
uh that means uh accepting a game that
like it's a live experience and it's
also an experiment and uh it's going to
continually be improving and at any time
there's some things that some people
don't like and uh you learn from it and
you uh improve it and you move on. Let
me ask you a big philosophical question.
So, you've created these gigantic
worlds that bring so much fun to
humanity now, 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. You know, I see two
contrasting worlds that, you know, have
been brought about in the digital age.
One is, you know, the world of social
networks and people typing at each other
and just you know massive negativity and
politics and you know huststerism and uh
you know engagement curation by
engagement often promoting negativity um
and toxicity uh that's a harsh world
that I think is a step backwards in many
ways like I think the the foundation of
the world is actually a little bit shaky
because of just the social dynamic that
those platforms have have brought on.
But then I compare that with the good
spiritedness of uh of what's happening
online when you're connected to real
people like actually playing Fortnite,
playing Fortnite Phil squads with people
you've never met before, never talked
to, and just judging what you know human
connections develop there and whether
they're positive. I found those to be
really really excellent and endearing. I
think the lesson from all that is
that humans talking to humans and being
together in a simula a world real the
real world or or a virtual world is a
naturally empathetic medium uh which
naturally leads to bonding and though
conflict sometimes occurs it's just
generally so much more promoting of our
social norms and good good interactions
between people and positivity promoting
whereas kind of the you know typing
angry messages thing at each there as a
self-reinforcing negative dynamic. Um,
that's that's negative. And I I think
you though 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 as I
see there in terms of the actual social
dynamics. One super positive, one super
toxic at times. Yeah, that's actually
really the textbased medium. Now that
could even be around gaming. You can
look at discords. They can be a real
toxic in text. But you place humans
together in the real world here in the
room. I literally have never like 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're 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
like I don't know that humans humans are
good and they want to see the good in
others. They want to share the goodness
and then you know like when they get in
that group
together there's love there. Now they
might talk 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 that
gives me hope as well and the the more
degree which we can create those worlds
online that make it super easy for us to
connect in that empathic way uh 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 uh to talk to you. Oh thank you
very much it's been fun. Thanks for
listening to this conversation with Tim
Sweeney. To support this podcast, please
check out our sponsor 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.