Tim Sweeney: Fortnite, Unreal Engine, and the Future of Gaming | Lex Fridman Podcast #467
Estimated read time: 1:20
Learn to use AI like a Pro
Get the latest AI workflows to boost your productivity and business performance, delivered weekly by expert consultants. Enjoy step-by-step guides, weekly Q&A sessions, and full access to our AI workflow archive.
Summary
In a captivating conversation with Tim Sweeney, founder and CEO of Epic Games, Lex Fridman delves into the intricate world of gaming. They discuss the evolution of computer graphics, the importance of creating lifelike human characters, and the transformative journey of Fortnite and Unreal Engine. The duo explores the potential of the metaverse and the role of new programming languages in building expansive, interactive virtual worlds. Alongside technical challenges, they reflect on the philosophical implications of creating digital realities that could one day rival our own.
Highlights
Tim Sweeney shares insights on the intricate details of rendering realistic human faces. 🎨
The birth of Fortnite as an innovative step in the gaming industry is discussed, with its building mechanics and battle royale mode. 🌍
The duo discusses Epic Games' vision for the metaverse and Verse programming language. 🚀
Innovations in lighting and geometry in Unreal Engine are explored, showcasing Epic's cutting-edge graphics technology. 💡
The role of artificial intelligence in future game development and the challenges it presents are considered. 🤖
Sweeney critiques current monopolistic trends in the tech industry, emphasizing the need for open and competitive digital ecosystems. 💼
Key Takeaways
Tim Sweeney discusses the evolution of computer graphics, emphasizing the complexity of rendering lifelike human characters. 🎨
The conversation highlights Fortnite's impact on gaming, making it a cultural phenomenon and technical marvel. 🌍
Sweeney and Fridman explore the future of the metaverse, suggesting it could revolutionize digital social interactions. 🚀
A new programming language, Verse, is being developed by Epic Games to support large-scale simulation programming. 🛠️
The potential of AI in enhancing game development and digital experiences is enormous, albeit with challenges. 🤖
Tim Sweeney passionately argues against monopolistic practices in tech, advocating for open platforms and fair competition. 💼
Overview
Tim Sweeney, the mastermind behind Epic Games, gives a deep dive into the complexities of computer graphics, especially the challenges of rendering realistic human characters. From the intricacies of facial expressions to the subtleties of lighting and texture, Sweeney explains how the Unreal Engine sets the benchmark in creating lifelike digital humans. This technological feat is critical as the gaming world seeks to blend more closely with reality.
The conversation turns to Fortnite, a groundbreaking game that redefined industry standards with its novel gameplay and community-driven experiences. Sweeney recounts its journey from a simple building game to a global phenomenon. The success of Fortnite reinforces the idea that innovative mechanics and social connectivity can elevate a game from ordinary to iconic, transforming how players interact within virtual spaces.
Looking ahead, Sweeney reveals Epic Games' ambitious plans for the metaverse, powered by the forthcoming Verse programming language. This new framework aims to handle vast, complex simulations necessary for creating expansive digital worlds where players can interact seamlessly. The future of gaming, as envisioned by Sweeney, is a realm where advanced AI tools and open ecosystems coalesce, offering endless possibilities for creativity and collaboration.
Chapters
00:00 - 03:30: Introduction and Transcript Segments This chapter discusses the challenges in computer graphics, focusing particularly on the representation of humans. It highlights how our evolutionary past has equipped us to recognize patterns, faces, and emotions with high sensitivity, making it difficult for computer-generated graphics to meet our expectations. The inherent ability of humans to detect imperfections, especially those resulting from limitations in computer graphics, is emphasized.
03:30 - 09:00: Tim Sweeney's Early Programming Journey This chapter delves into Tim Sweeney's initial foray into programming, exploring his fascination with capturing human movements and expressions in digital form. The discussion centers around the technological challenges and advances in capturing high-resolution, high-frame-rate video of humans, specifically focusing on the nuanced details of facial movements and expressions. Sweeney's early interest and challenges with data acquisition and processing in this domain are highlighted.
09:00 - 21:00: The Development of ZZT This chapter touches on the complex challenges in computer graphics technology, specifically the difficulties in rendering elements like hair. The text highlights the necessity for approximations in graphics rendering, as physically simulating every hair would be computationally prohibitive. The narrative also alludes to advanced modeling techniques necessary for rendering fine features of the face and effects like subsurface scattering.
21:00 - 30:00: The Birth of Epic Games and 3D Gaming The chapter delves into the intricacies of 3D gaming and the founding of Epic Games. It discusses the challenges of making virtual objects, like skin, appear realistic in games. One significant detail is the understanding of light passing through skin, affecting its appearance, which is hard to replicate on solid surfaces such as a mannequin. The text also touches on how elements like skin oiliness contribute to nuanced and complex reflection, highlighting the complexities involved in creating realistic 3D graphics.
30:00 - 39:00: Challenges of Developing Unreal Engine This chapter discusses the complexities involved in developing the Unreal Engine, particularly focusing on the capturing of human-like textures and expressions in digital creations. It highlights the challenge of accurately reproducing subtle nuances in human facial expressions, such as the difference between a genuine smile and a less authentic one. The process requires attention to the way light interacts with skin, the visibility of textures, and the precise replication of muscle movements to achieve a realistic human appearance in digital environments.
39:00 - 51:00: Unreal Engine's Evolution and Technological Advances The chapter discusses the complexity and advancement of rendering human expressions in real-time using Unreal Engine. It highlights the technological sophistication required to capture the nuances of human emotions on digital faces, emphasizing that achieving realism involves the seamless integration of various computer graphics systems. The narrative underscores the challenges in rendering faces accurately, noting that any minor error can be easily detected by the human eye.
51:00 - 58:00: Real-Time 3D Graphics and Movie Production with Unreal Engine The chapter discusses real-time 3D graphics and movie production using the Unreal Engine. It includes a conversation with Tim Sweeney, the CEO and founder of Epic Games, known for creating groundbreaking games and technologies such as Unreal Engine and Fortnite.
58:00 - 66:30: Generative AI and Its Role in Game Development This chapter explores Tim Sweeney's early interest in computers and programming, sparked by his older brother Steve Sweeney, who worked for a tech company in California. Tim's visit to California at the age of 11, where he had his first encounter with one of the first IBM PCs, marked the beginning of his love for computers. The chapter also touches upon the influence of family and environment in developing an interest in technology.
66:30 - 74:30: The Metaverse and Epic's Vision of Interoperability The chapter opens with a discussion about the speaker's early encounter with computers, specifically a new IBM computer, which sparked their interest in programming. Over the course of a few days, they taught themselves basic programming. This experience left a profound impact, leading to a lifelong passion for programming and technology. The speaker reminisces about their first programming experiences, mentioning the specific tasks they undertook, such as writing video games and experimenting with loops and numerical computations.
74:30 - 90:30: Fortnite's Origin and Impact This chapter delves into the origins and cultural impact of the popular video game Fortnite. It explores how programming and overcoming challenges in coding mirror the development and evolution of Fortnite. The chapter highlights the learning curve faced by programmers and the parallels with Fortnite's creation, focusing on lessons learned and the realization of better methodologies both in coding and in game development. Furthermore, it discusses the friction encountered during the learning process and how it relates to the inception and growth of Fortnite as a groundbreaking phenomenon in the gaming industry.
90:30 - 105:00: Epic Games Store and Market Competition The chapter discusses the role of friction and pain in the learning process of programming. The speaker reflects on their journey in programming, highlighting how early lessons from programming language design failures have continuously guided their learning and development, including in building programming languages. The narrative emphasizes that the difficulties encountered in programming serve as an essential guide and should not be avoided, as they provide valuable learning experiences.
105:00 - 114:00: Tim Sweeney's Views on Apple and Industry Monopolies The chapter delves into Tim Sweeney's initial programming endeavors, emphasizing his early experience in game development. During his time using the Apple 2, Sweeney created a simple game due to his limited knowledge of programming in text mode. This game involved asterisks moving across the screen, representing baseballs, and a parenthesis symbol on the right acting as a mitt, meant to catch the asterisks. This rudimentary game was Sweeney's first creation, developed in just a few hours.
114:00 - 128:00: The Future of Gaming and Tim's Perspective on Innovation The chapter "The Future of Gaming and Tim's Perspective on Innovation" delves into the early ventures and innovations of Tim, who paved his path in technology by building various things such as databases and a programming language with a full compiler. His journey reflects a period before the internet became mainstream when local bulletin boards were the precursors to the digital communities we know today. Tim's initiative in creating essentials like a programming language due to the unavailability reflects his innovative approach and foresight into future possibilities within technology and gaming.
128:00 - 132:30: Tim Sweeney's Personal Reflections and Final Thoughts In this chapter, Tim Sweeney reflects on his early years and the foundational experiences that shaped his career. He reminisces about spending thousands of hours writing code during his childhood, highlighting his dedication and passion for programming from a young age. Sweeney emphasizes the immense amount of time, approximately 10 to 15 thousand hours, he invested in honing his skills before reaching adulthood and shipping a program to the outside world. This chapter captures his personal journey of growth and the significance of his early years in shaping his professional path.
132:30 - 136:30: Podcast Conclusion In the concluding chapter of the podcast, the emphasis is placed on the importance of continued learning and self-improvement as essential components for success. The speaker advises younger people to focus not just on the time spent but on gaining understanding of both their knowledge and the gaps within it. Emphasizing the need for practical engagement, the speaker suggests undertaking experiments and projects to extend their knowledge. Despite the lack of structured planning in their own journey, the speaker highlights these practices as crucial in navigating and achieving success in life.
Tim Sweeney: Fortnite, Unreal Engine, and the Future of Gaming | Lex Fridman Podcast #467 Transcription
00:00 - 00:30 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
00:30 - 01:00 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.
01:00 - 01:30 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
01:30 - 02:00 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
02:00 - 02:30 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
02:30 - 03:00 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
03:00 - 03:30 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.
03:30 - 04:00 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
04:00 - 04:30 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
04:30 - 05:00 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
05:00 - 05:30 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
05:30 - 06:00 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
06:00 - 06:30 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
06:30 - 07:00 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
07:00 - 07:30 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
07:30 - 08:00 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
08:00 - 08:30 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.
08:30 - 09:00 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
09:00 - 09:30 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
09:30 - 10:00 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.
10:00 - 10:30 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
10:30 - 11:00 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
11:00 - 11:30 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
11:30 - 12:00 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
12:00 - 12:30 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,
12:30 - 13:00 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
13:00 - 13:30 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 shit. Yeah. You know, I think this is something that's kind of changing in America. Um there's so much
13:30 - 14:00 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
14:00 - 14:30 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
14:30 - 15:00 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
15:00 - 15:30 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
15:30 - 16:00 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
16:00 - 16:30 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
16:30 - 17:00 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
17:00 - 17:30 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?
17:30 - 18:00 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
18:00 - 18:30 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
18:30 - 19:00 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
19:00 - 19:30 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
19:30 - 20:00 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
20:00 - 20:30 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
20:30 - 21:00 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
21:00 - 21:30 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
21:30 - 22:00 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
22:00 - 22:30 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
22:30 - 23:00 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
23:00 - 23:30 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
23:30 - 24:00 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
24:00 - 24:30 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
24:30 - 25:00 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
25:00 - 25:30 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
25:30 - 26:00 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
26:00 - 26:30 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
26:30 - 27:00 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
27:00 - 27:30 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
27:30 - 28:00 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
28:00 - 28:30 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.
28:30 - 29:00 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
29:00 - 29:30 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
29:30 - 30:00 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
30:00 - 30:30 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?
30:30 - 31:00 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
31:00 - 31:30 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
31:30 - 32:00 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
32:00 - 32:30 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
32:30 - 33:00 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
33:00 - 33:30 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
33:30 - 34:00 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
34:00 - 34:30 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
34:30 - 35:00 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
35:00 - 35:30 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
35:30 - 36:00 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.
36:00 - 36:30 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
36:30 - 37:00 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
37:00 - 37:30 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
37:30 - 38:00 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
38:00 - 38:30 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
38:30 - 39:00 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
39:00 - 39:30 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.
39:30 - 40:00 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
40:00 - 40:30 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
40:30 - 41:00 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
41:00 - 41:30 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,
41:30 - 42:00 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
42:00 - 42:30 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
42:30 - 43:00 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
43:00 - 43:30 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
43:30 - 44:00 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
44:00 - 44:30 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
44:30 - 45:00 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
45:00 - 45:30 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
45:30 - 46:00 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
46:00 - 46:30 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
46:30 - 47:00 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
47:00 - 47:30 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.
47:30 - 48:00 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
48:00 - 48:30 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
48:30 - 49:00 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
49:00 - 49:30 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
49:30 - 50:00 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
50:00 - 50:30 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
50:30 - 51:00 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
51:00 - 51:30 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
51:30 - 52:00 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
52:00 - 52:30 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
52:30 - 53:00 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
53:00 - 53:30 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
53:30 - 54:00 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,
54:00 - 54:30 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
54:30 - 55:00 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
55:00 - 55:30 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
55:30 - 56:00 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
56:00 - 56:30 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
56:30 - 57:00 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.
57:00 - 57:30 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
57:30 - 58:00 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
58:00 - 58:30 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
58:30 - 59:00 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
59:00 - 59:30 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
59:30 - 60:00 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
60:00 - 60:30 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
60:30 - 61:00 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
61:00 - 61:30 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
61:30 - 62:00 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,
62:00 - 62:30 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
62:30 - 63:00 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
63:00 - 63:30 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
63:30 - 64:00 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
64:00 - 64:30 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
64:30 - 65:00 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
65:00 - 65:30 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
65:30 - 66:00 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
66:00 - 66:30 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
66:30 - 67:00 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
67:00 - 67:30 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
67:30 - 68:00 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
68:00 - 68:30 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
68:30 - 69:00 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
69:00 - 69:30 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
69:30 - 70:00 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
70:00 - 70:30 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
70:30 - 71:00 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
71:00 - 71:30 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
71:30 - 72:00 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
72:00 - 72:30 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
72:30 - 73:00 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
73:00 - 73:30 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
73:30 - 74:00 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
74:00 - 74:30 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
74:30 - 75:00 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
75:00 - 75:30 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
75:30 - 76:00 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
76:00 - 76:30 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
76:30 - 77:00 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,
77:00 - 77:30 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
77:30 - 78:00 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
78:00 - 78:30 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
78:30 - 79:00 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
79:00 - 79:30 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
79:30 - 80:00 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
80:00 - 80:30 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
80:30 - 81:00 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
81:00 - 81:30 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
81:30 - 82:00 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
82:00 - 82:30 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
82:30 - 83:00 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
83:00 - 83:30 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
83:30 - 84:00 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
84:00 - 84:30 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
84:30 - 85:00 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,
85:00 - 85:30 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
85:30 - 86:00 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
86:00 - 86:30 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,
86:30 - 87:00 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
87:00 - 87:30 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
87:30 - 88:00 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
88:00 - 88:30 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
88:30 - 89:00 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
89:00 - 89:30 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
89:30 - 90:00 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,
90:00 - 90:30 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.
90:30 - 91:00 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
91:00 - 91:30 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
91:30 - 92:00 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
92:00 - 92:30 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.
92:30 - 93:00 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
93:00 - 93:30 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
93:30 - 94:00 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
94:00 - 94:30 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
94:30 - 95:00 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.
95:00 - 95:30 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.
95:30 - 96:00 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
96:00 - 96:30 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
96:30 - 97:00 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
97:00 - 97:30 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. Yeah.
97:30 - 98:00 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
98:00 - 98:30 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
98:30 - 99:00 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
99:00 - 99:30 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
99:30 - 100:00 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
100:00 - 100:30 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
100:30 - 101:00 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
101:00 - 101:30 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
101:30 - 102:00 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
102:00 - 102:30 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
102:30 - 103:00 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
103:00 - 103:30 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
103:30 - 104:00 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
104:00 - 104:30 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
104:30 - 105:00 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
105:00 - 105:30 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
105:30 - 106:00 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
106:00 - 106:30 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
106:30 - 107:00 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
107:00 - 107:30 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
107:30 - 108:00 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
108:00 - 108:30 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
108:30 - 109:00 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
109:00 - 109:30 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
109:30 - 110:00 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
110:00 - 110:30 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
110:30 - 111:00 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
111:00 - 111:30 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.
111:30 - 112:00 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
112:00 - 112:30 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
112:30 - 113:00 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
113:00 - 113:30 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
113:30 - 114:00 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
114:00 - 114:30 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
114:30 - 115:00 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
115:00 - 115:30 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
115:30 - 116:00 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
116:00 - 116:30 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
116:30 - 117:00 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
117:00 - 117:30 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
117:30 - 118:00 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
118:00 - 118:30 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
118:30 - 119:00 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
119:00 - 119:30 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
119:30 - 120:00 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
120:00 - 120:30 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
120:30 - 121:00 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
121:00 - 121:30 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
121:30 - 122:00 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
122:00 - 122:30 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
122:30 - 123:00 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
123:00 - 123:30 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.
123:30 - 124:00 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
124:00 - 124:30 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
124:30 - 125:00 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
125:00 - 125:30 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
125:30 - 126:00 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
126:00 - 126:30 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%
126:30 - 127:00 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.
127:00 - 127:30 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
127:30 - 128:00 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
128:00 - 128:30 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
128:30 - 129:00 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,
129:00 - 129:30 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
129:30 - 130:00 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
130:00 - 130:30 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
130:30 - 131:00 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
131:00 - 131:30 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
131:30 - 132:00 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
132:00 - 132:30 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
132:30 - 133:00 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
133:00 - 133:30 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?
133:30 - 134:00 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.
134:00 - 134:30 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
134:30 - 135:00 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
135:00 - 135:30 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
135:30 - 136:00 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
136:00 - 136:30 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
136:30 - 137:00 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.
137:00 - 137:30 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
137:30 - 138:00 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
138:00 - 138:30 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
138:30 - 139:00 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
139:00 - 139:30 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
139:30 - 140:00 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
140:00 - 140:30 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,
140:30 - 141:00 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
141:00 - 141:30 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
141:30 - 142:00 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
142:00 - 142:30 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
142:30 - 143:00 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
143:00 - 143:30 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
143:30 - 144:00 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
144:00 - 144:30 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
144:30 - 145:00 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
145:00 - 145:30 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
145:30 - 146:00 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
146:00 - 146:30 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
146:30 - 147:00 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
147:00 - 147:30 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
147:30 - 148:00 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
148:00 - 148:30 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
148:30 - 149:00 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
149:00 - 149:30 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
149:30 - 150:00 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
150:00 - 150:30 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
150:30 - 151:00 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
151:00 - 151:30 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
151:30 - 152:00 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
152:00 - 152:30 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
152:30 - 153:00 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
153:00 - 153:30 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
153:30 - 154:00 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
154:00 - 154:30 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
154:30 - 155:00 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
155:00 - 155:30 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
155:30 - 156:00 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
156:00 - 156:30 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
156:30 - 157:00 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
157:00 - 157:30 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
157:30 - 158:00 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
158:00 - 158:30 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
158:30 - 159:00 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,
159:00 - 159:30 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
159:30 - 160:00 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
160:00 - 160:30 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
160:30 - 161:00 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
161:00 - 161:30 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
161:30 - 162:00 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
162:00 - 162:30 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,
162:30 - 163:00 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
163:00 - 163:30 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
163:30 - 164:00 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
164:00 - 164:30 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
164:30 - 165:00 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
165:00 - 165:30 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
165:30 - 166:00 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
166:00 - 166:30 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
166:30 - 167:00 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
167:00 - 167:30 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
167:30 - 168:00 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
168:00 - 168:30 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
168:30 - 169:00 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
169:00 - 169:30 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
169:30 - 170:00 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
170:00 - 170:30 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
170:30 - 171:00 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
171:00 - 171:30 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
171:30 - 172:00 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
172:00 - 172:30 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
172:30 - 173:00 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
173:00 - 173:30 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
173:30 - 174:00 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.
174:00 - 174:30 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
174:30 - 175:00 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,
175:00 - 175:30 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
175:30 - 176:00 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
176:00 - 176:30 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
176:30 - 177:00 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
177:00 - 177:30 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
177:30 - 178:00 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
178:00 - 178:30 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
178:30 - 179:00 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
179:00 - 179:30 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
179:30 - 180:00 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
180:00 - 180:30 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
180:30 - 181:00 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
181:00 - 181:30 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
181:30 - 182:00 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
182:00 - 182:30 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
182:30 - 183:00 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
183:00 - 183:30 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
183:30 - 184:00 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
184:00 - 184:30 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
184:30 - 185:00 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
185:00 - 185:30 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
185:30 - 186:00 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
186:00 - 186:30 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
186:30 - 187:00 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
187:00 - 187:30 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
187:30 - 188:00 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
188:00 - 188:30 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
188:30 - 189:00 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
189:00 - 189:30 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
189:30 - 190:00 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
190:00 - 190:30 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
190:30 - 191:00 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
191:00 - 191:30 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
191:30 - 192:00 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
192:00 - 192:30 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
192:30 - 193:00 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
193:00 - 193:30 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
193:30 - 194:00 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
194:00 - 194:30 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
194:30 - 195:00 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
195:00 - 195:30 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
195:30 - 196:00 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
196:00 - 196:30 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
196:30 - 197:00 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,
197:00 - 197:30 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
197:30 - 198:00 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
198:00 - 198:30 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
198:30 - 199:00 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
199:00 - 199:30 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
199:30 - 200:00 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
200:00 - 200:30 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
200:30 - 201:00 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
201:00 - 201:30 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
201:30 - 202:00 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
202:00 - 202:30 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
202:30 - 203:00 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
203:00 - 203:30 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
203:30 - 204:00 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
204:00 - 204:30 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
204:30 - 205:00 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
205:00 - 205:30 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
205:30 - 206:00 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
206:00 - 206:30 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
206:30 - 207:00 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,
207:00 - 207:30 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
207:30 - 208:00 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
208:00 - 208:30 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
208:30 - 209:00 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
209:00 - 209:30 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,
209:30 - 210:00 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
210:00 - 210:30 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
210:30 - 211:00 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
211:00 - 211:30 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
211:30 - 212:00 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
212:00 - 212:30 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
212:30 - 213:00 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
213:00 - 213:30 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
213:30 - 214:00 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
214:00 - 214:30 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
214:30 - 215:00 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
215:00 - 215:30 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.
215:30 - 216:00 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
216:00 - 216:30 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
216:30 - 217:00 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
217:00 - 217:30 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
217:30 - 218:00 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
218:00 - 218:30 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
218:30 - 219:00 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
219:00 - 219:30 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 cripple 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
219:30 - 220:00 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
220:00 - 220:30 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
220:30 - 221:00 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
221:00 - 221:30 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
221:30 - 222:00 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
222:00 - 222:30 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
222:30 - 223:00 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
223:00 - 223:30 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,
223:30 - 224:00 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
224:00 - 224:30 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
224:30 - 225:00 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 shit that let's If I can ask the internet as a blob one request, can we just celebrate awesome shit? and also criticized, but just like there's not enough celebration. Anyway, the the two um directions of
225:00 - 225:30 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.
225:30 - 226:00 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
226:00 - 226:30 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.
226:30 - 227:00 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
227:00 - 227:30 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
227:30 - 228:00 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
228:00 - 228:30 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
228:30 - 229:00 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
229:00 - 229:30 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
229:30 - 230:00 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
230:00 - 230:30 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
230:30 - 231:00 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
231:00 - 231:30 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
231:30 - 232:00 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
232:00 - 232:30 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
232:30 - 233:00 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,
233:00 - 233:30 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
233:30 - 234:00 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
234:00 - 234:30 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
234:30 - 235:00 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
235:00 - 235:30 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,
235:30 - 236:00 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
236:00 - 236:30 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
236:30 - 237:00 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?
237:00 - 237:30 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,
237:30 - 238:00 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
238:00 - 238:30 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
238:30 - 239:00 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
239:00 - 239:30 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.
239:30 - 240:00 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
240:00 - 240:30 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
240:30 - 241:00 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
241:00 - 241:30 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,
241:30 - 242:00 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
242:00 - 242:30 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
242:30 - 243:00 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
243:00 - 243:30 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
243:30 - 244:00 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
244:00 - 244:30 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.
244:30 - 245:00 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
245:00 - 245:30 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
245:30 - 246:00 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
246:00 - 246:30 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
246:30 - 247:00 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
247:00 - 247:30 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
247:30 - 248:00 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
248:00 - 248:30 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
248:30 - 249:00 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.
249:00 - 249:30 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
249:30 - 250:00 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
250:00 - 250:30 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
250:30 - 251:00 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
251:00 - 251:30 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
251:30 - 252:00 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
252:00 - 252:30 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
252:30 - 253:00 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
253:00 - 253:30 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
253:30 - 254:00 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.
254:00 - 254:30 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
254:30 - 255:00 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
255:00 - 255:30 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
255:30 - 256:00 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
256:00 - 256:30 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.
256:30 - 257:00 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
257:00 - 257:30 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
257:30 - 258:00 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
258:00 - 258:30 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
258:30 - 259:00 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
259:00 - 259:30 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
259:30 - 260:00 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
260:00 - 260:30 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
260:30 - 261:00 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
261:00 - 261:30 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,
261:30 - 262:00 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
262:00 - 262:30 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
262:30 - 263:00 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,
263:00 - 263:30 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
263:30 - 264:00 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
264:00 - 264:30 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 shit about some other group this is the dark side of humans but together in terms of the dynamics of that group is joyful. So yeah, that 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
264:30 - 265:00 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
265:00 - 265:30 we grow old. We grow old because we stop playing. Thank you for listening. I hope to see you next time.