back to index

John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets | Lex Fridman Podcast #309


small model | large model

link |
00:00:00.000
I remember the reaction where he had drawn these characters and he was slowly moving around and like people had no experience with 3D navigation.
link |
00:00:06.960
It was all still keyboard. We didn't even have mice set up at that time, but slowly moving, going up, picked up a key, go to a wall.
link |
00:00:14.760
The wall disappears in a little animation and there's a monster like right there and he practically fell out of his chair.
link |
00:00:20.440
It was just like, ah! And games just didn't do that. You know, the games were the gods eye view.
link |
00:00:26.820
You were a little invested in your little guy. You can be like, you know, happy or sad when things happen.
link |
00:00:32.120
But you just did not get that kind of startle reaction. You weren't inside the game.
link |
00:00:36.320
Something in the back of your brain, some reptile brain thing is just going, oh shit, something just happened.
link |
00:00:42.320
And that was one of those early points where it's like, yeah, this is going to make a difference.
link |
00:00:47.160
This is going to be powerful and it's going to matter.
link |
00:00:49.960
The following is a conversation with John Carmack, widely considered to be one of the greatest programmers ever.
link |
00:00:56.960
He was the cofounder of id Software and the lead programmer on several games that revolutionized the technology, the experience and the role of gaming in our society,
link |
00:01:06.960
including Commander Keen, Wolfenstein 3D, Doom and Quake.
link |
00:01:12.960
He spent many years as the CTO of Oculus VR helping to create portals into virtual worlds and to define the technological path to the metaverse and meta.
link |
00:01:24.960
And now he has been shifting some of his attention to the problem of artificial general intelligence.
link |
00:01:31.960
This was the longest conversation on this podcast at over five hours and still I could talk to John many, many more times.
link |
00:01:43.960
And we hope to do just that.
link |
00:01:45.960
This is the Lexington podcast to support it. Please check out our sponsors in the description.
link |
00:01:51.960
And now dear friends, here's John Carmack.
link |
00:01:56.960
What was the first program you've ever written? Do you remember?
link |
00:02:00.960
Yeah, I do.
link |
00:02:01.960
So I remember being in a radio shack going up to the TRS80 computers and learning just enough to be able to do 10 print John Carmack.
link |
00:02:11.960
And it's kind of interesting how, of course, I've, you know, Carnigan and Richie kind of standardized Hello World is the first thing that you do in every computer programming language and every computer,
link |
00:02:22.960
but not having any interaction with the cultures of Unix or any other standardized things.
link |
00:02:27.960
It was just like, well, what am I going to say? I'm going to say my name.
link |
00:02:30.960
And then you learn how to do go to 10 and have it scroll all off the screen.
link |
00:02:34.960
And that was definitely the first thing that I wound up doing on a computer.
link |
00:02:38.960
Can I ask you a programming advice?
link |
00:02:40.960
I was always told in the beginning that you're not allowed to use go to statements.
link |
00:02:43.960
That's really bad programming. Is this correct or not?
link |
00:02:45.960
Jumping around code.
link |
00:02:47.960
Can we look at the philosophy and the technical aspects of the go to statement that seems so convenient, but it's supposed to be programming.
link |
00:02:55.960
Certainly back in the day in basic programming languages, you didn't have proper loops.
link |
00:03:00.960
You didn't have four wiles and repeats.
link |
00:03:02.960
You know, that was the land of Pascal for people that kind of generally had access to it back then.
link |
00:03:06.960
So you had no choice but to use go tos.
link |
00:03:09.960
And as you made what were big programs back then, which were a thousand line basic program is a really big program.
link |
00:03:16.960
They did tend to sort of degenerate into madness.
link |
00:03:19.960
You didn't have good editors or code exploration tools.
link |
00:03:22.960
So you would wind up fixing things in one place at a little patch.
link |
00:03:26.960
And there's reasons why structured programming generally helps understanding.
link |
00:03:30.960
But go tos aren't poisonous.
link |
00:03:33.960
Sometimes they're the right thing to do.
link |
00:03:35.960
Usually it's because there's a language feature missing like nested breaks or something where it can sometimes be better to do a go to clean up or go to error rather than having multiple flags, multiple if statements littered throughout things.
link |
00:03:49.960
But it is rare.
link |
00:03:51.960
If you grep through all of my code right now, I don't think any of my current code bases would actually have a go to.
link |
00:03:58.960
But deep within sort of the technical underpinnings of a major game engine, you're going to have some go tos in a couple places probably.
link |
00:04:06.960
Yeah, the infrastructure on top of like the closer you get to machine code, the more go tos you're going to see, the more of these like hacks you're going to see.
link |
00:04:15.960
Because the set of features available to you in low level programming languages is not is limited.
link |
00:04:21.960
So print John Carmack.
link |
00:04:25.960
When is the first time if we could talk about love that you found love with programming?
link |
00:04:31.960
You said like this, this is really something special.
link |
00:04:34.960
It really was something that was one of those love at first sight things where just really from the time that I understood what a computer was even.
link |
00:04:42.960
I mean, I remember looking through old encyclopedias at the black and white photos of the IBM mainframes at the real to real tape decks.
link |
00:04:49.960
And for people nowadays, it can be a little hard to understand what the world was like then from information gathering where I would go to the libraries and there would be a couple books on the shelf about computers and they would be very out of date even at that point.
link |
00:05:04.960
Just not a lot of information, but I would grab everything that I could find and you know, devour everything whenever time or newsweek had some article about computers.
link |
00:05:13.960
I would like cut it out with scissors and put it somewhere.
link |
00:05:16.960
It just, it felt like this magical thing to me, this idea that the computer would just do exactly what you told it to.
link |
00:05:23.960
I mean, and there's a little bit of the genie monkey's paw sort of issues there where you'd better be really, really careful with what you're telling it to do.
link |
00:05:30.960
But it wasn't going to back talk you, it wasn't going to have a different point of view.
link |
00:05:34.960
It was going to carry out what you told it to do.
link |
00:05:36.960
And if you had the right commands, you could make it do these pretty magical things.
link |
00:05:42.960
And so what kind of programs did you write at first?
link |
00:05:45.960
So beyond the print John Carmack.
link |
00:05:47.960
So I can remember as going through the learning process where you find at the start you're just learning how to do the most basic possible things and I can remember stuff like Superman comic that Radio Shack commissioned to have.
link |
00:06:01.960
It's like Superman had lost some of his super brain and kids had to use Radio Shack TRS80 computers to do calculations for it to help him kind of complete his heroics.
link |
00:06:11.960
And I'd find little things like that and then get a few basic books to be able to kind of work my way up.
link |
00:06:19.960
And again, it was so precious back then.
link |
00:06:21.960
I had a couple books that would teach me important things about it.
link |
00:06:25.960
I had one book that I could start to learn a little bit of assembly language from and I'd have a few books on basic and some things that I could get from the libraries.
link |
00:06:33.960
But my goals in the early days was almost always making games of various kinds.
link |
00:06:39.960
I had I loved the arcade games and the early Atari 2600 games and being able to do some of those things myself on the computers was very much what I aspired to.
link |
00:06:50.960
And it was a whole journey where if you learn normal basic, you can't do any kind of an action game.
link |
00:06:55.960
You can write an adventure game.
link |
00:06:56.960
You can write things where you say, what do you do here?
link |
00:06:59.960
I get sort of tack troll that type of thing and that can be done in the context of basic.
link |
00:07:05.960
But to do things that had moving graphics, there were only the most limited things you could possibly do.
link |
00:07:11.960
You could maybe do breakout or Pong or that sort of thing in low resolution graphics.
link |
00:07:15.960
And in fact, one of my first sort of major technical hacks that I was kind of fond of was on the Apple II computers.
link |
00:07:24.960
They had a they had a mode called low resolution graphics where of course all graphics were low resolution back then.
link |
00:07:30.960
But you know, regular low resolution graphics, it was a grid of 40 by 40 pixels normally, but they could have 16 different colors.
link |
00:07:38.960
And I wanted to make a game kind of like the the arcade game Vanguard, just a scrolling game.
link |
00:07:44.960
And I wanted to just kind of have it scroll vertically up and I could move a little ship around.
link |
00:07:48.960
You could manage to do that in basic, but there's no way you could redraw the whole screen.
link |
00:07:52.960
And I remember at the time just coming up with what felt like a brainstorm to me where I knew enough about the way the hardware was controlled,
link |
00:08:01.960
where the text screen and the low resolution graphics screen were basically the same thing.
link |
00:08:05.960
And all those computers could scroll their text screen reasonably.
link |
00:08:09.960
You could do a listing and it would scroll things up.
link |
00:08:11.960
And I figured out that I could kind of tweak just a couple of things that I barely understood to put it into a graphics mode.
link |
00:08:18.960
And I could draw graphics and then I could just do a line feed at the very bottom of the screen.
link |
00:08:23.960
And then the system would scroll it all up using an assembly language routine that I didn't know how to write back then.
link |
00:08:29.960
So that was like this first great hack that sort of had analogs later on in my career for a lot of different things.
link |
00:08:36.960
So I found out that I could draw a screen.
link |
00:08:38.960
I could do a line feed at the bottom.
link |
00:08:40.960
We would scroll it up once.
link |
00:08:41.960
I could draw a couple more lines of stuff at the bottom.
link |
00:08:43.960
And that was my first way to kind of scroll the screen, which was interesting in that that played a big part later on in the id software days as well.
link |
00:08:52.960
So do efficient drawing where you don't have to draw the whole screen, but you draw from the bottom using the thing that was designed in the hardware for text output.
link |
00:09:03.960
Yeah.
link |
00:09:04.960
Where so much of until recently, game design was limited by what you could actually get the computer to do where it's easy to say, like, OK, I want to scroll the screen.
link |
00:09:15.960
You just redraw the entire screen at a slight offset.
link |
00:09:18.960
And nowadays that works just fine.
link |
00:09:20.960
Computers are ludicrously fast.
link |
00:09:23.960
But up until a decade ago or so, there were all these things everybody wanted to do.
link |
00:09:29.960
But if they knew enough programming to be able to make it happen, it would happen too slow to be a good experience, either just ridiculously slow or just slow enough that it wasn't fun to experience it like that.
link |
00:09:41.960
So so much of kind of the first couple of decades of the programming work that I did was largely figuring out how to do something that everybody knows how they want it to happen.
link |
00:09:50.960
It just has to happen two to ten times faster than sort of the straightforward way of doing things would make it happen.
link |
00:09:57.960
And it's different now because at this point, lots of things you can just do in the most naive possible way and it still works out.
link |
00:10:05.960
You know, you don't have nearly the creative limitations or the incentives for optimizing on that level.
link |
00:10:11.960
And there's a lot of pros and cons to that.
link |
00:10:13.960
But I do generally, you know, I'm not going to do the angry old man shaking my fist at the clouds bit where back in my day, programmers had to do real programming.
link |
00:10:22.960
You know, it's it's amazing that you can just kind of pick an idea and go do it right now.
link |
00:10:27.960
And you don't have to be some assembly language wizard or deep GPU Arcanist to be able to figure out how to make your wishes happen.
link |
00:10:34.960
Well, there's still, see, that's true.
link |
00:10:37.960
But let me put on my old man with a fist hat and say that probably the thing that will define the future still requires you to operate at the limits of the current system.
link |
00:10:49.960
So we'll probably talk about this. But if you talk about building the metaverse and building a VR experience that's compelling, it probably requires you to not to go to assembly or maybe not literally, but sort of spiritually to go to the limits of what the system is capable of.
link |
00:11:07.960
And that really was why virtual reality was specifically interesting to me where it had all the ties to you could say that even back in the early days, I have some old magazine articles that's talking about.
link |
00:11:18.960
Doom as a virtual reality experience back when just seeing anything in 3D.
link |
00:11:23.960
So you could say that we've been trying to build those virtual experiences from the very beginning.
link |
00:11:28.960
And in the modern era, virtual reality, especially on the mobile side of things, when it's standalone, you're basically using a cell phone chip to be able to produce these very immersive experiences.
link |
00:11:40.960
It does require work. It's not at the level of what an old school console game programmer would have operated at where you're looking at hardware registers and you're scheduling all the DNA accesses.
link |
00:11:52.960
But it is still definitely a different level than what a web developer or or even a PC steam game developer usually has to work at.
link |
00:12:00.960
And again, it's great. There's opportunities for people that want to operate it either into that spectrum there and still provide a lot of value to the world.
link |
00:12:08.960
Let me ask you sort of a big question about preference.
link |
00:12:14.960
What would you say is the best programming language, your favorite, but also the best you've seen throughout your career.
link |
00:12:24.960
You're considered by many to be the greatest programmer ever.
link |
00:12:28.960
I mean, it's so difficult to place that label on anyone.
link |
00:12:31.960
But if you put it on anyone, it's you.
link |
00:12:33.960
So let me ask you these kind of ridiculous questions of what's the best band of all time.
link |
00:12:38.960
But in your case, what's the best programming language?
link |
00:12:41.960
Everything has all the caveats about it.
link |
00:12:43.960
So what I use, so nowadays, I do program a reasonable amount of Python for AIML sorts of work.
link |
00:12:51.960
I'm not a native Python programmer.
link |
00:12:54.960
It's something I came to very late in my career.
link |
00:12:56.960
I understand what it's good for.
link |
00:12:58.960
But you don't dream in Python?
link |
00:12:59.960
I do not.
link |
00:13:00.960
And it has some of those things where there's some amazing stats.
link |
00:13:03.960
When you say if you just start, if you make a loop, you know, a triply nested loop and start doing operations in Python,
link |
00:13:10.960
you can be thousands to potentially a million times slower than a proper GPU tensor operation.
link |
00:13:16.960
And these are staggering numbers.
link |
00:13:18.960
You know, you can be as much slower as we've almost gotten faster in our pace of progress and all this other miraculous stuff.
link |
00:13:26.960
So your intuition is about inefficiencies within the Python sort of.
link |
00:13:29.960
It keeps hitting me upside the face where it's just gotten to the point now I understand.
link |
00:13:33.960
It's like, OK, you just can't do a loop if you care about performance in Python.
link |
00:13:37.960
You have to figure out how you can reformat this into some big vector operation or something that's going to be done completely within a C++ library.
link |
00:13:46.960
But the other hand is it's amazingly convenient.
link |
00:13:49.960
And you just see stuff that people are able to cobble together by just import a few different things.
link |
00:13:54.960
And you can do stuff that nobody on Earth could do 10 years ago and you can do it in a little cookbook thing that you copy pasted out of a website.
link |
00:14:01.960
So that is really great.
link |
00:14:03.960
When I'm sitting down to do what I consider kind of serious programming, it's still in C++.
link |
00:14:09.960
And it's really kind of a C flavored C++ at that where I'm not big into the modern template metaprogramming sorts of things.
link |
00:14:17.960
I see a lot of train wrecks coming from some of that over abstraction.
link |
00:14:22.960
I spent a few years really going kind of deep into the kind of historical Lisp work and Haskell and some of the functional programming sides of things.
link |
00:14:32.960
And there is a lot of value there in the way you think about things.
link |
00:14:37.960
And I changed a lot of the way I write my C and C++ code based on what I learned about the value that comes out of not having this random mutable state that you kind of lose track of.
link |
00:14:49.960
Because something that many people don't really appreciate till they've been at it for a long time is that it's not the writing of the program initially.
link |
00:14:57.960
It's the whole lifespan of the program.
link |
00:14:59.960
And that's when it's not necessarily just how fast you wrote it or how fast it operates, but it's how can it bend and adapt as situations change.
link |
00:15:08.960
And then the thing that I've really been learning in my time at Meta with the Oculus and VR work is it's also how well it hands off between a continuous kind of revolving door programmers taking over maintenance and different things and how you get people up to speed in different areas.
link |
00:15:23.960
And there's all these other different aspects of it.
link |
00:15:26.960
So C++ is a good language for handover between engineers.
link |
00:15:31.960
Probably not the best.
link |
00:15:33.960
And there's some really interesting aspects to this where in some cases languages that are not generally thought well of for many reasons like C is derided pretty broadly that, yes, obviously all of these security flaws that happen with the memory and unsafeness and buffer overruns and the things that you've got there.
link |
00:15:52.960
But there is this underappreciated aspect to the language is so simple, anyone can go and if you know C, you can generally jump in someplace and not have to learn what paradigms they're using because there just aren't that many available.
link |
00:16:07.960
I think there's some really, really well written C code.
link |
00:16:11.960
I find it great that if I'm messing around with something an open BSD say, I mean I can be walking around in the kernel and I'm like, I understand everything that's going on here.
link |
00:16:20.960
It's not hard for me to figure out what I need to do to make whatever change that I need to.
link |
00:16:28.960
While you can have more significant languages like it's a downside of Lisp where I don't regret the time that I spent with Lisp.
link |
00:16:36.960
I think that it did help my thinking about programming in some ways.
link |
00:16:41.960
But the people that are the biggest defenders of Lisp are saying how malleable of a language it is that if you write a huge Lisp program, you've basically invented your own kind of language and structure because it's not the primitives of the language you're using very much.
link |
00:16:56.960
It's all of the things you've built on top of that.
link |
00:16:58.960
And then a language like Racket, kind of one of the more modern Lisp versions, it's essentially touted as a language for building other languages.
link |
00:17:06.960
And I understand the value of that for a tiny little project, but the idea of that for one of these long term supported by lots of people kind of horrifies me where all of those abstractions that you're like, OK, you can't touch this code till you educate yourself on all of these things that we've built on top of that.
link |
00:17:26.960
And it was interesting to see how when Google made go, a lot of the criticisms of that are it's like, wow, this is not a state of the art language. This language is just so simple and almost crude.
link |
00:17:37.960
And you could see the programming language people just looking down at it.
link |
00:17:41.960
But it does seem to be quite popular as basically saying this is the good things about C. Everybody can just jump right in and use it.
link |
00:17:48.960
You don't need to restructure your brain to write good code in it.
link |
00:17:53.960
So I wish that I had more opportunity for doing some work in go.
link |
00:17:58.960
Rust is the other modern language that everybody talks about that I'm not fit past judgment on.
link |
00:18:03.960
I've done a little bit beyond Hello World.
link |
00:18:05.960
I wrote some like video decompression work in Rust just as an exercise.
link |
00:18:10.960
But that was a few years ago and I haven't really used it since.
link |
00:18:14.960
The best programming language is the one that works generally that you're currently using because that's another trap is in almost every case I've seen when people mixed languages on a project.
link |
00:18:24.960
That's a mistake.
link |
00:18:25.960
I would rather stay just in one language so that everybody can work across the entire thing.
link |
00:18:30.960
And we have, I get meta, we have a lot of projects that use kind of react framework.
link |
00:18:35.960
So you've got JavaScript here and then you have C++ for real work.
link |
00:18:40.960
And then you may have Java interfacing with some other part of the Android system.
link |
00:18:44.960
And those are all kind of horrible things.
link |
00:18:46.960
And that was one thing that I remember talking with Boz at Facebook about it where like, man, I wish we could have just said we're only hiring C++ programmers.
link |
00:18:58.960
And he just thought from the Facebook meta perspective, well, we just wouldn't be able to find enough with the thousands of programmers they've got there.
link |
00:19:07.960
It is not necessarily a dying breed, but you can sure find a lot more Java or JavaScript programmers.
link |
00:19:14.960
And I kind of mentioned that to Elon one time and he was kind of flabbergasted about that.
link |
00:19:20.960
It's like, well, you just, you go out and you find those programmers and you don't hire the other programmers that don't do the languages that you want to use.
link |
00:19:27.960
But right now, I guess, yeah, they're using JavaScript on a bunch of the SpaceX work for the UI side of things when you go find UI programmers, they're JavaScript programmers.
link |
00:19:36.960
I wonder if that's because there's a lot of JavaScript programmers, because I do think that great programmers are rare.
link |
00:19:44.960
That it's not, you know, if you just look at statistics of how many people are using different programming languages, that doesn't tell you the story of what the great programmers are using.
link |
00:19:55.960
And so you have to really look at what you were speaking to, which is the fundamentals of a language.
link |
00:20:00.960
What does it encourage?
link |
00:20:01.960
How does it encourage you to think?
link |
00:20:02.960
What kind of systems does it encourage you to build?
link |
00:20:05.960
There's something about C++ that has elements of creativity, but forces you to be an adult about your programming.
link |
00:20:14.960
Well, it expects you to be an adult.
link |
00:20:16.960
It does not force you to.
link |
00:20:18.960
So it brings out people that are willing to be creative in terms of building large systems and coming up with interesting solutions, but at the same time have the sort of the good software engineering practices that amend themselves to real world systems.
link |
00:20:38.960
Let me ask you about this other language, JavaScript.
link |
00:20:42.960
So if we, you know, aliens visit in thousands of years and humans are long gone, something tells me that most of the systems they find will be running JavaScript.
link |
00:20:54.960
I kind of think that if we're living in a simulation, it's written in JavaScript.
link |
00:21:00.960
You know, for the longest time, even still, JavaScript didn't get any respect, and yet it runs so much of the world and an increasing number of the world.
link |
00:21:12.960
Is it possible that all everything will be written in JavaScript one day?
link |
00:21:16.960
So the engineering under JavaScript is really pretty phenomenal.
link |
00:21:20.960
The systems that make JavaScript run as fast as it does right now are kind of miracles of modern engineering in many ways.
link |
00:21:29.960
It does feel like it is not an optimal language for all the things that it's being used for or an optimal distribution system to build huge apps in something like this without type systems and so on.
link |
00:21:44.960
But I think for a lot of people, it does reasonably the necessary things.
link |
00:21:49.960
It's still a C flavored language.
link |
00:21:51.960
It's still a braces and semicolon language. It's not hard for people to be trained in JavaScript and then understand the roots of where it came from.
link |
00:22:01.960
I think garbage collection is unequivocally a good thing for most programs to be written in.
link |
00:22:08.960
It's funny that I still, just this morning, I was on, I was seeing a Twitter thread of a bunch of really senior game dev people arguing about the virtues and costs of garbage collection.
link |
00:22:18.960
You will run into some people that are top notch programmers that just say, no, this is literally not a good thing.
link |
00:22:23.960
Oh, because it makes you lazy?
link |
00:22:25.960
Yes, that it makes you not think about things.
link |
00:22:27.960
And I do disagree.
link |
00:22:29.960
I think that there is so much objective data on the vulnerabilities that have happened in C and C++ programs, sometimes written by the best programmers in the world.
link |
00:22:39.960
It's like nobody is good enough to avoid ever shooting themselves in the foot with that.
link |
00:22:43.960
You write enough C code, you're going to shoot yourself in the foot.
link |
00:22:46.960
And garbage collection is a very great thing for the vast majority of programs.
link |
00:22:50.960
It's only when you get into the tightest of real time things that you start saying it's like, no, the garbage collection has more costs than it has benefits for me there.
link |
00:22:59.960
But that's not 99 plus percent of all the software in the world.
link |
00:23:03.960
So JavaScript is not terrible in those ways.
link |
00:23:08.960
And so much of programming is not the language itself, it's the infrastructure that surrounds it, all the libraries that you can get and the different ways you can deploy it, the portability that it gives you.
link |
00:23:23.960
And JavaScript is really strong on a lot of those things where for a long time, and it still does if I look at it, the web stack about everything that has to go when you do something really trivial in JavaScript
link |
00:23:35.960
and it shows up on a web browser to kind of x ray through that and see everything that has to happen for your one little JavaScript statement to turn into something visible in your web browser.
link |
00:23:46.960
It's very, very disquieting, just the depth of that stack and the fact that so few people can even comprehend all of the levels that are going on there.
link |
00:23:58.960
But it's again, I have to caution myself to not be the in the good old days old man about it because clearly there's enormous value here.
link |
00:24:07.960
The world does run on JavaScript to a pretty good approximation there and it's not falling apart.
link |
00:24:13.960
There's a bunch of scary stuff where you look at console logs and you just see all of these bad things that are happening, but it's still kind of limping along and nobody really notices.
link |
00:24:23.960
But so much of my systems design and systems analysis goes around.
link |
00:24:29.960
You should understand what the speed of light is, like what would be the best you could possibly do here.
link |
00:24:34.960
And it sounds horrible, but in a lot of cases, you can be a thousand times off your speed of light velocity for something and it's still be okay.
link |
00:24:44.960
And in fact, it can even sometimes still be the optimal thing in a larger system standpoint where there's a lot of things that you don't want to have to parachute in someone like me to go in and say, make this this web page run a thousand times faster.
link |
00:25:00.960
You know, make this web app into a hardcore native application that starts up in 37 milliseconds and everything responds in less than one frame latency.
link |
00:25:10.960
That's just not necessary. And if somebody wants to go pay me millions of dollars to do software like that when they can take somebody right out of a boot camp and say spin up an application for this, often being efficient is not really the best metric.
link |
00:25:26.960
And it's like there's that applies in a lot of areas where it's kind of interesting how a lot of our appliances and everything are all built around energy efficiency, sometimes at the expense of robustness in some other ways or higher costs in other ways where there's
link |
00:25:41.960
interesting things where energy or electricity could become much cheaper in a future world and that could change our engineering tradeoffs for the way we build certain things where you could throw away efficiency and actually get more benefits that actually matter.
link |
00:25:55.960
That's one of my, you know, I one of the directions I was considering swerving into was nuclear energy when I was kind of like, what do I want to do next?
link |
00:26:03.960
It was either going to be cost effective nuclear fission or artificial general intelligence. And one of the one of my pet ideas there is like, you know, people don't understand how cheap nuclear fuel is.
link |
00:26:17.960
And there would be ways that you could be a quarter of the efficiency or less. But if it wound up making your plant 10 times cheaper, that could be a radical innovation and something like that.
link |
00:26:30.960
So there's like some of these thoughts around like direct fission energy conversion, fission fragment conversion that, you know, maybe you build something that doesn't require all the steam turbines and everything, even if it winds up being less efficient.
link |
00:26:41.960
So that applies a lot in programming where there's always it's always good to know what you could do if you really sat down and took it took it far because sometimes there's discontinuities like around user reaction times.
link |
00:26:55.960
There are some points where the difference between operating in one second and 750 milliseconds, not that huge. You'll see it in web page statistics, but most of the usability stuff, not that great.
link |
00:27:07.960
But if you get down to 50 milliseconds, then all of a sudden this just feels amazing, you know, it's just like doing your bidding instantly rather than you're giving it a command, twiddling your thumbs, waiting for it to respond.
link |
00:27:18.960
So sometimes it's important to really crunch hard to get over some threshold. But there are there are broad basins in the value metric for lots of work where it just doesn't pay to even go that extra mile.
link |
00:27:31.960
And they're craftsmen that, you know, they just don't want to buy that and more power to them. You know, if somebody just wants to say, no, I'm going to be, my pride is in my work.
link |
00:27:41.960
I'm never going to do something that's not as good as I could possibly make it. I respect that and sometimes I am that person.
link |
00:27:48.960
But I try to focus more on the larger value picture and you do pick your battles and you deploy your resources in the play that's going to give you sort of the best user value in the end.
link |
00:27:59.960
Well, if you look at the evolution of life on Earth as a kind of programming effort, it seems like efficiency isn't the thing that's being optimized for.
link |
00:28:13.960
Like natural selection is very inefficient, but it kind of adapts and through the process of adaptations, building more and more complex systems that are more and more intelligent, the final result is kind of pretty interesting.
link |
00:28:27.960
And so I think of JavaScript the same way. It's like this giant mess that, you know, things naturally die off if they don't work.
link |
00:28:35.960
And if they become useful to people, they kind of naturally live and then you build this community, large community of people that are generating code and some code is sticky, some is not.
link |
00:28:47.960
And nobody knows the inefficiencies or the efficiencies or the breaking points, like how reliable this code is and you kind of just run it, assume it works and then get unpleasantly surprised and then that's very kind of the evolutionary process.
link |
00:29:02.960
So that's a really good analogy and we can go a lot of places with that where in the earliest days of programming when you had finite, you could count the bytes that you had to work on this.
link |
00:29:12.960
You had all the kind of hackers playing code golf to be one less instruction than the other person's multiply routine to kind of get through and it was so perfectly crafted.
link |
00:29:22.960
It was a crystal piece of artwork when you had a program because there just were not that many. You couldn't afford to be lazy in different ways.
link |
00:29:30.960
And in many ways I see that as akin to the symbolic AI work where again, if you did not have the resources to just say, well, we're going to do billions and billions of programmable weights here.
link |
00:29:41.960
You have to turn it down into something that is symbolic and crafted like that.
link |
00:29:46.960
But that's definitely not the way DNA and life and biological evolution and things work.
link |
00:29:53.960
On the one hand, it's almost humbling how little programming code is in our bodies.
link |
00:29:59.960
We've got a couple billion base pairs and it's like this all fits on a thumb drive for years now and then our brains are even a smaller section of that.
link |
00:30:07.960
You've got maybe 50 megabytes and this is not like Shannon Limit perfectly information dense conveyances here.
link |
00:30:16.960
It's like these are messy codes.
link |
00:30:18.960
They're broken up into amino acids.
link |
00:30:20.960
A lot of them don't do important things or they do things in very awkward ways.
link |
00:30:25.960
But it is this process of just accumulation on top of things and you need scale.
link |
00:30:32.960
Both you need scale for the population for that to work out.
link |
00:30:36.960
In the early days, in the 50s and 60s, the ancient era of computers where you could count when they say like when the Internet started even in the 70s, there were 18 hosts or something on it.
link |
00:30:47.960
It was this small finite number and you were still optimizing everything to be as good as you possibly could be.
link |
00:30:53.960
But now it's billions and billions of devices and everything going on.
link |
00:30:58.960
You can have this very much natural evolution going on where lots of things are tried, lots of things are blowing up.
link |
00:31:06.960
Venture capitalists lose their money when a startup invested in the wrong tech stack and things completely failed or failed the scale.
link |
00:31:13.960
But good things do come out of it and it's interesting to see the mimetic evolution of the way different things happen.
link |
00:31:21.960
Like mentioning Hello World at the beginning.
link |
00:31:23.960
It's funny how some little thing like that where everybody, every programmer knows Hello World now and that was a completely arbitrary sort of decision that just came out of the dominance of Unix and C and early examples of things like that.
link |
00:31:37.960
So millions of experiments are going on all the time, but some things do kind of rise to the top and win the fitness war for whether it's mind space or programming techniques or anything.
link |
00:31:49.960
Like there's a site on Stack Exchange called CodeGolf where people compete to write the shortest possible program for a particular task in all the different kinds of languages.
link |
00:32:00.960
And it's really interesting to see folks kind of their masters of their craft really play with the limits of programming languages.
link |
00:32:12.960
It's really beautiful to see.
link |
00:32:13.960
And across all the different programming languages, you get to see some of these weird programming languages and mainstream ones.
link |
00:32:21.960
The difference between Python 2 and 3, you get to see the difference between C and C++ and Java and you get to see JavaScript, all of that.
link |
00:32:29.960
And it's kind of inspiring to see how much depth of possibility there is within programming languages that CodeGolf kind of tasks reveal.
link |
00:32:42.960
Most of us, if you do any kind of programming, you kind of do boring kind of very vanilla type of code.
link |
00:32:49.960
That's the way to build large systems, but it's nice to see that the possibility of creative genius is still within those languages.
link |
00:32:56.960
It's laden within those languages.
link |
00:32:59.960
So given that you are once again one of the greatest programmers ever, what do you think makes a good programmer?
link |
00:33:07.960
Maybe a good modern programmer.
link |
00:33:09.960
So I just gave a long rant slash lecture at Meta to the TPM organization.
link |
00:33:16.960
And my biggest point was everything that we're doing really should flow from user value.
link |
00:33:23.960
You know, all the good things that we're doing.
link |
00:33:25.960
It's like we're not technical people.
link |
00:33:27.960
It's like you shouldn't be taking pride just in the specific thing like CodeGolf is the sort of thing.
link |
00:33:32.960
It's a fun puzzle game, but that really should not be a major motivator for you.
link |
00:33:37.960
It's like we're solving problems for people or we're providing entertainment to people.
link |
00:33:41.960
We're doing something of value to people that's displacing something else in their life.
link |
00:33:45.960
So we want to be providing a net value over what they could be doing, but instead they're choosing to use our products.
link |
00:33:52.960
And that's where, I mean, it sounds triter corny, but I fundamentally do think that's how you make the world a better place.
link |
00:33:59.960
If you have given more value to people than it took you and your team to create, then the world's a better place.
link |
00:34:06.960
People have gone from something of lesser value, chosen to use your product and their life feels better for that.
link |
00:34:12.960
And if you've produced that economically, that's a really good thing.
link |
00:34:17.960
On the other hand, if you spent ridiculous amounts of money, you've just kind of shoveled a lot of cash into a woodchipper there
link |
00:34:24.960
and you should maybe not feel so good about what you're doing.
link |
00:34:28.960
So being proud about a specific architecture or a specific technology or a specific code sequence that you've done,
link |
00:34:36.960
it's great to get a little smile, like a tiny little dopamine hit for that.
link |
00:34:40.960
But the top level metric should be that you're building things of value.
link |
00:34:44.960
Now, you can get into the argument about what is user value, how do you actually quantify that.
link |
00:34:50.960
And there can be big arguments about that, but it's easy to be able to say,
link |
00:34:54.960
okay, this pissed off user there is not getting value from what you're doing.
link |
00:34:58.960
This user over there with the big smile on their face, the moment of delight when something happened,
link |
00:35:03.960
there's a value that's happened there.
link |
00:35:05.960
I mean, you have to at least accept that there is a concept of user value.
link |
00:35:09.960
Even if you have trouble exactly quantifying it, you can usually make relative arguments about it.
link |
00:35:14.960
Well, this was better than this.
link |
00:35:16.960
We've improved things.
link |
00:35:18.960
So being a servant to the user is your job when you're a developer.
link |
00:35:24.960
You want to be producing something that other people are going to find valuable.
link |
00:35:29.960
And if you are technically inclined, then finding the right levers to be able to pull,
link |
00:35:35.960
to be able to make a design that's going to produce the most value for the least amount of effort.
link |
00:35:41.960
There's a ratio there where it's a problem at the big tech companies, whether it's MetaGoogle,
link |
00:35:49.960
Apple, Microsoft, Amazon, companies that have almost infinite money.
link |
00:35:54.960
I mean, I know their CFO will complain that it's not infinite money,
link |
00:35:58.960
but for most developer standpoints, it really does feel like it.
link |
00:36:02.960
And it's almost counterintuitive that if you're working hard as a developer on something,
link |
00:36:07.960
there's always this thought, if only I had more resources, more people, more RAM, more megahertz,
link |
00:36:13.960
then my product will be better.
link |
00:36:15.960
And that sense that at certain points, it's certainly true that if you are really hamstrung by this,
link |
00:36:21.960
removing an obstacle will make a better product, make more value.
link |
00:36:26.960
But if you're not making your core design decisions in this fiercely competitive way
link |
00:36:32.960
where you're saying feature A or feature B, you can't just say, let's do both,
link |
00:36:37.960
because then you're not making a value judgment about them.
link |
00:36:40.960
You're just saying, well, they both seem good.
link |
00:36:42.960
I don't want to necessarily have to pick out which one is better or how much better
link |
00:36:46.960
and tell team B that, sorry, we're not going to do this because A is more important.
link |
00:36:52.960
But that notion of always having to really critically value what you're doing,
link |
00:36:57.960
your time, the resources you expend, even the opportunity cost of doing something else,
link |
00:37:01.960
that's super important.
link |
00:37:04.960
Well, let me ask you about the big debates that you're mentioning of how to measure value.
link |
00:37:11.960
Is it possible to measure it kind of numerically,
link |
00:37:18.960
or can you do the sort of Johnny Ive, the designer route of imagining
link |
00:37:25.960
sort of somebody using a thing and imagining a smile on their face,
link |
00:37:31.960
imagining the experience of love and joy that you have when you use the thing.
link |
00:37:35.960
That's from a design perspective.
link |
00:37:37.960
Or if you're building more like a lower level thing for Linux,
link |
00:37:41.960
you imagine a developer that might come across this and use it and become happy
link |
00:37:48.960
and better off because of it.
link |
00:37:50.960
So where do you land on those things?
link |
00:37:52.960
I imagine like Meta and Google will probably try to measure the thing.
link |
00:37:58.960
It's like you try to optimize engagement or something.
link |
00:38:01.960
Let's measure engagement.
link |
00:38:03.960
I admire the designer ethic of think of a future that's immeasurable
link |
00:38:12.960
and you try to make somebody in that future that's different from today happy.
link |
00:38:16.960
So I do usually favor if you can get any kind of a metric that's good by all means
link |
00:38:23.960
listen to the data, but you can go too far there where we've had problems where
link |
00:38:27.960
it's like, hey, we had a performance regression because our fancy new telemetry system
link |
00:38:32.960
is doing a bazillion file rights to kind of archive this stuff
link |
00:38:36.960
because we needed to collect information to determine if we were doing,
link |
00:38:39.960
you know, if our plans were good.
link |
00:38:41.960
So when information is available, you should never ignore it.
link |
00:38:45.960
For actual users using the thing, human beings using the thing,
link |
00:38:50.960
large number of human beings, and you get to see sort of all the large numbers.
link |
00:38:53.960
So there's zero to one problem of when you're doing something really new,
link |
00:38:56.960
you do kind of have to make a guess.
link |
00:38:58.960
But one of the points that I've been making at Meta is we have more than enough users now
link |
00:39:04.960
that anything somebody wants to try in VR, we have users that will be interested in that.
link |
00:39:09.960
You do not get to make a completely greenfield blue sky pitch and say,
link |
00:39:14.960
I'm going to do this because I think it might be interesting.
link |
00:39:17.960
I challenge everyone.
link |
00:39:19.960
There are going to be people, whether it's, you know, working in VR on your,
link |
00:39:23.960
like on your desktop replacement or communicating with people in different ways
link |
00:39:28.960
or playing the games, there are going to be probably millions of people,
link |
00:39:34.960
or at least if you pick some tiny niche that we're not in right now,
link |
00:39:37.960
there's still going to be thousands of people out there that have the headsets
link |
00:39:41.960
that would be your target market.
link |
00:39:43.960
And I tell people, pay attention to them.
link |
00:39:45.960
Don't invent fictional users.
link |
00:39:47.960
Don't make an Alice Bob Charlie that fits whatever matrix of tendencies
link |
00:39:52.960
that you want to break the market down to because it's a mistake to think about
link |
00:39:56.960
imaginary users when you've got real users that you could be working with.
link |
00:40:01.960
But on the other hand, there is value to having a kind of wholeness of vision for a product.
link |
00:40:08.960
And companies like Meta have, you know, they understand the tradeoffs
link |
00:40:14.960
where you can have a company like SpaceX or, you know, Apple and the Steve Jobs era
link |
00:40:19.960
where you have a very powerful leading personality that I, you know,
link |
00:40:23.960
that can micromanage at a very low level and can say it's like,
link |
00:40:26.960
no, that handle needs to be different or that icon needs to change the tint there.
link |
00:40:31.960
And they clearly get a lot of value out of it.
link |
00:40:34.960
They also burn through a lot of employees that have horror stories to tell about
link |
00:40:38.960
working there afterwards.
link |
00:40:40.960
My position is that you're at your best when you've got a leader
link |
00:40:45.960
that is at their limit of what they can kind of comprehend of everything below them
link |
00:40:50.960
and they can have an informed opinion about everything that's going on.
link |
00:40:54.960
And you take somebody, you've got to believe that somebody that has 30, 40 years of experience,
link |
00:41:00.960
you would hope that they've got wisdom that the just out of boot camp person
link |
00:41:04.960
contributing doesn't have and that if they're like, well, that's wrong there,
link |
00:41:08.960
you probably shouldn't do it that way or even just don't do it that way, do it another way.
link |
00:41:13.960
So there's value there, but it can't go beyond a certain level.
link |
00:41:17.960
I mean, I have Steve Jobs stories of him saying things that are just wrong
link |
00:41:21.960
right in front of me about technical things because he was not operating at that level.
link |
00:41:27.960
But when it does work and you do get that kind of passionate leader
link |
00:41:31.960
that's thinking about the entire product and just really deeply cares about
link |
00:41:35.960
not letting anything slip through the cracks, I think that's got a lot of value.
link |
00:41:39.960
But the other side of that is the people saying that, well,
link |
00:41:42.960
we want to have these independent teams that are bubbling up the ideas
link |
00:41:45.960
because it's almost anti capitalist or anti free market to say it's like,
link |
00:41:50.960
I want my great leader to go ahead and dictate all these points there
link |
00:41:54.960
where clearly free markets bring up things that you don't expect.
link |
00:41:58.960
Like in VR, we saw a bunch of things like it didn't turn out at all
link |
00:42:02.960
the way the early people thought were going to be the key applications
link |
00:42:05.960
and things that would not have been approved by the dark cabal
link |
00:42:10.960
making the decisions about what gets into the store
link |
00:42:13.960
turn out in some cases be extremely successful.
link |
00:42:16.960
So I definitely kind of wanted to be there as a point where I did make a pitch.
link |
00:42:21.960
It's like, hey, make me VR dictator and I'll go in and get shit done.
link |
00:42:25.960
And that's just, it's not in the culture at Metta.
link |
00:42:28.960
They understand the trade offs and that's just not the way,
link |
00:42:32.960
that's not the company that they want, the team that they want to do.
link |
00:42:36.960
It's fascinating because VR and we'll talk about it more.
link |
00:42:39.960
It's still unclear to me in what way VR will change the world
link |
00:42:46.960
because it does seem clear that VR will somehow fundamentally transform this world
link |
00:42:50.960
and it's unclear to me how.
link |
00:42:53.960
Let me know when you want to get into that.
link |
00:42:56.960
Hold on a second.
link |
00:42:58.960
Stick to the you being the best programmer ever.
link |
00:43:02.960
Okay, in the early days when you didn't have adult responsibilities
link |
00:43:06.960
of leading teams and all that kind of stuff
link |
00:43:08.960
and you can focus on just being a programmer,
link |
00:43:12.960
what did the productive day in the life of John Carmack look like?
link |
00:43:17.960
How many hours of the keyboard? How much sleep?
link |
00:43:20.960
What was the source of calories that fueled the brain?
link |
00:43:23.960
What was it like? What time did you wake up?
link |
00:43:26.960
So I was able to be remarkably consistent about
link |
00:43:29.960
what was good working conditions for me for a very long time.
link |
00:43:33.960
I was never one of the programmers that would do all nighters going through
link |
00:43:39.960
work for 20 hours straight.
link |
00:43:41.960
It's like my brain generally starts turning to mush after 12 hours or so.
link |
00:43:46.960
But the hard work is really important
link |
00:43:49.960
and I would work for decades.
link |
00:43:51.960
I would work 60 hours a week.
link |
00:43:53.960
I would work a 10 hour day, 6 days a week,
link |
00:43:55.960
and try to be productive at that.
link |
00:43:58.960
Now my schedule shifted around a fair amount
link |
00:44:00.960
when I was young without any kids,
link |
00:44:02.960
any other responsibilities.
link |
00:44:04.960
I was on one of those cycling schedules
link |
00:44:06.960
where I'd kind of get in an hour later each day
link |
00:44:09.960
and roll around through the entire time
link |
00:44:11.960
and I'd wind up kind of pulling in at 2 or 3 in the afternoon sometimes
link |
00:44:15.960
and then working again past midnight or 2 in the morning.
link |
00:44:19.960
And that was when it was just me trying to make things happen.
link |
00:44:25.960
And I was usually isolated off in my office.
link |
00:44:27.960
People generally didn't bother me much at it
link |
00:44:30.960
and I could get a lot of programming work done that way.
link |
00:44:34.960
I did settle into a more normal schedule
link |
00:44:36.960
when I was taking kids to school and things like that.
link |
00:44:39.960
So kids were the forcing function that got you to wake up at the same time?
link |
00:44:43.960
It's not clear to me that there was much of a difference
link |
00:44:46.960
in the productivity with that where I kind of feel...
link |
00:44:50.960
If I just get up when I feel like it,
link |
00:44:52.960
it's usually a little later each day,
link |
00:44:54.960
but I just recently made the focusing decision
link |
00:44:57.960
to try to push my schedule back a little bit earlier
link |
00:44:59.960
to getting up at 8 in the morning
link |
00:45:01.960
and trying to shift things around.
link |
00:45:04.960
I'm often doing experiments with myself about
link |
00:45:07.960
what should I be doing to be more productive.
link |
00:45:10.960
And one of the things that I did realize was happening in recent months
link |
00:45:14.960
where I would go for a walk or a run.
link |
00:45:18.960
I cover like four miles a day
link |
00:45:20.960
and I would usually do that just as the sun's going down here in Texas now
link |
00:45:25.960
and it's still really damn hot,
link |
00:45:27.960
but I'd go out at 8.30 or something
link |
00:45:29.960
and cover the time there and then the showering.
link |
00:45:32.960
And it was putting a hold in my day
link |
00:45:34.960
where I would have still a couple of hours after that
link |
00:45:37.960
and sometimes my best hours were at night
link |
00:45:39.960
and I'd be like, I don't know what else is around.
link |
00:45:41.960
Nobody's bothering me,
link |
00:45:43.960
but that hole in the day was a problem.
link |
00:45:45.960
So just a couple of weeks ago,
link |
00:45:47.960
I made the change to go ahead and say,
link |
00:45:49.960
all right, I'm going to get up a little earlier.
link |
00:45:51.960
I'm going to do a walk or get out there first
link |
00:45:53.960
so I can have more uninterrupted time.
link |
00:45:55.960
So I'm still playing with factors like this
link |
00:45:57.960
as I kind of optimize my work efforts,
link |
00:46:00.960
but it's always been...
link |
00:46:03.960
It was 60 hours a week for a very long time.
link |
00:46:06.960
To some degree, I had a little thing in the back of my head
link |
00:46:08.960
where I would have a lot of programmers
link |
00:46:10.960
that would do these marathon sessions.
link |
00:46:12.960
And I had Dave Taylor, one of the guys that he had.
link |
00:46:14.960
He would be one of those people
link |
00:46:16.960
that would fall asleep under his desk sometimes
link |
00:46:18.960
and all the kind of classic hacker tropes about things.
link |
00:46:20.960
And a part of me was always a little bothered
link |
00:46:22.960
that that wasn't me,
link |
00:46:24.960
that I wouldn't go program 20 hours straight
link |
00:46:27.960
because I'm falling apart
link |
00:46:29.960
and not being very effective after 12 hours.
link |
00:46:32.960
I mean, yeah, 12 hour programming,
link |
00:46:34.960
that's fine when you're doing that,
link |
00:46:36.960
but not doing smart work much after.
link |
00:46:38.960
At least I'm not, but there's a range of people.
link |
00:46:40.960
I mean, that's something that a lot of people
link |
00:46:42.960
don't really get in their gut
link |
00:46:44.960
where there are people that work on four hours of sleep
link |
00:46:46.960
and are smart and can continue to do good work,
link |
00:46:48.960
but then there's a lot of people that just fall apart.
link |
00:46:51.960
So I do tell people that
link |
00:46:53.960
I always try to get eight hours of sleep.
link |
00:46:55.960
It's not this, you know,
link |
00:46:57.960
push yourself harder, get up earlier.
link |
00:46:59.960
I just do worse work where, you know,
link |
00:47:02.960
you can work 100 hours a week
link |
00:47:04.960
and people get eight hours of sleep
link |
00:47:06.960
if you just kind of prioritize things correctly.
link |
00:47:08.960
But I do believe in working hard, working a lot.
link |
00:47:11.960
There was a comment that Game Dev made
link |
00:47:14.960
that I know there's a backlash
link |
00:47:17.960
against really hard work in a lot of cases,
link |
00:47:20.960
and I get into online arguments about this all the time,
link |
00:47:23.960
but he was basically saying, yeah, 40 hours a week,
link |
00:47:25.960
that's kind of a part time job.
link |
00:47:27.960
And if you were really in it,
link |
00:47:29.960
you're doing what you think is important,
link |
00:47:31.960
what you're passionate about,
link |
00:47:33.960
what your work gets more done.
link |
00:47:35.960
And it's just really not possible to argue with that
link |
00:47:39.960
if you've been around the people
link |
00:47:41.960
that work with that level of intensity and just say,
link |
00:47:44.960
it's like, no, they should just stop.
link |
00:47:46.960
And we had, I kind of came back around to that
link |
00:47:49.960
a couple years ago where I was using the fictional example of,
link |
00:47:53.960
all right, some people say,
link |
00:47:55.960
they'll say with a straight face, they think,
link |
00:47:57.960
no, you are less productive
link |
00:47:59.960
if you work more than 40 hours a week.
link |
00:48:01.960
You're not really misinterpreting things
link |
00:48:03.960
where your marginal productivity for an hour after eight hours
link |
00:48:07.960
is less than in one of your peak hours,
link |
00:48:09.960
but you're not literally getting less done.
link |
00:48:11.960
There is a point where you start breaking things
link |
00:48:13.960
and getting worse behavior and everything out of it
link |
00:48:16.960
where you're literally going backwards,
link |
00:48:18.960
but it's not at eight or 10 or 12 hours.
link |
00:48:21.960
And the fictional example I would use was,
link |
00:48:23.960
imagine there's an asteroid coming to crash into Earth,
link |
00:48:28.960
destroy all of human life.
link |
00:48:30.960
Do you want Elon Musk or the people working at SpaceX
link |
00:48:33.960
that are building the interceptor
link |
00:48:35.960
that's going to deflect the asteroid?
link |
00:48:37.960
Do you want them to clock out at five
link |
00:48:39.960
because, damn it, they're just going to do worse work
link |
00:48:42.960
if they work another couple hours?
link |
00:48:44.960
And it seems absurd.
link |
00:48:46.960
And that's a hypothetical, though,
link |
00:48:48.960
and everyone can dismiss that,
link |
00:48:49.960
but then when coronavirus was hitting
link |
00:48:51.960
and you have all of these medical personnel
link |
00:48:54.960
that are clearly pushing themselves really, really hard,
link |
00:48:57.960
and I'd say it's like, okay, do you want all of these scientists
link |
00:49:01.960
working on treatments and vaccines
link |
00:49:03.960
and caring for all of these people?
link |
00:49:05.960
Are they really screwing everything up
link |
00:49:07.960
by working more than eight hours a day?
link |
00:49:09.960
And of course, people say I'm just an asshole
link |
00:49:11.960
to say something like that, but it's the truth.
link |
00:49:14.960
Working longer gets more done.
link |
00:49:17.960
So that's kind of the layer one,
link |
00:49:20.960
but I'd like to also say that,
link |
00:49:23.960
at least I believe, depending on the person,
link |
00:49:25.960
depending on the task,
link |
00:49:27.960
working more and harder
link |
00:49:30.960
will make you better for the next week
link |
00:49:35.960
in those peak hours.
link |
00:49:37.960
So there's something about a deep dedication to a thing
link |
00:49:41.960
that kind of gets deep in you.
link |
00:49:44.960
So the hard work isn't just about the raw hours of productivity.
link |
00:49:48.960
It's the thing it does to you
link |
00:49:53.960
in the weeks and months after, too.
link |
00:49:56.960
You're tempering yourself in some ways.
link |
00:49:58.960
And I think, you know, it's like the Girodreams of sushi.
link |
00:50:01.960
If you really dedicate yourself completely to making the sushi,
link |
00:50:04.960
like really putting in the long hours,
link |
00:50:07.960
day after day after day,
link |
00:50:09.960
you become a true craftsman of the thing you're doing.
link |
00:50:13.960
Now, there's, of course, discussions about
link |
00:50:15.960
are you sacrificing a lot of personal relationships,
link |
00:50:18.960
are you sacrificing a lot of other possible things
link |
00:50:21.960
to do with that time?
link |
00:50:23.960
But if you're talking about purely being a master
link |
00:50:27.960
or a craftsman of your art,
link |
00:50:30.960
that more hours isn't just about doing more.
link |
00:50:34.960
It's about becoming better at the thing you're doing.
link |
00:50:36.960
Yeah, and I don't gain say anybody that wants to work
link |
00:50:39.960
the minimum amount.
link |
00:50:41.960
They've got other priorities in their life.
link |
00:50:43.960
My only argument that I'm making,
link |
00:50:45.960
it's not that everybody should work hard.
link |
00:50:47.960
It's that if you want to accomplish something,
link |
00:50:49.960
if you want to be stronger and harder,
link |
00:50:51.960
is the path to getting it accomplished?
link |
00:50:53.960
Well, let me ask you about this then.
link |
00:50:55.960
The mythical work life balance.
link |
00:51:00.960
For an engineer, it seems like that's one of the professions
link |
00:51:05.960
for a programmer where working hard
link |
00:51:10.960
does lead to greater productivity in it.
link |
00:51:13.960
But it also raises the question of sort of personal relationships
link |
00:51:18.960
that kind of stop family.
link |
00:51:20.960
How are you able to find work life balance?
link |
00:51:23.960
Is there advice you can give maybe even outside yourself?
link |
00:51:26.960
Have you been able to arrive at any wisdom on this part
link |
00:51:30.960
in your years of life?
link |
00:51:32.960
I do think that there's a wide range of people
link |
00:51:34.960
where different people have different needs.
link |
00:51:36.960
It's not a one size fits all.
link |
00:51:38.960
I am certainly what works for me.
link |
00:51:40.960
I can tell enough that I'm different
link |
00:51:44.960
than a typical average person in the way things impact me.
link |
00:51:47.960
The things that I want to do, my goals are different
link |
00:51:50.960
and sort of the levers to impact things are different.
link |
00:51:54.960
I have literally never felt burnout
link |
00:51:58.960
and I know there's lots of brilliant smart people
link |
00:52:01.960
that do world leading work that get burned out
link |
00:52:04.960
and it's never hit me.
link |
00:52:06.960
I've never been at a point where I'm like,
link |
00:52:10.960
I just don't care about this.
link |
00:52:12.960
I don't want to do this anymore.
link |
00:52:14.960
I've always had the flexibility to work on lots of interesting things.
link |
00:52:18.960
I can always just turn my gaze to something else
link |
00:52:20.960
and have a great time working on that.
link |
00:52:23.960
So much of the ability to actually work hard
link |
00:52:26.960
is the ability to have multiple things to choose from
link |
00:52:29.960
and to use your time on the most appropriate thing.
link |
00:52:32.960
There are time periods where I am,
link |
00:52:35.960
it's the best time for me to read a new research paper
link |
00:52:37.960
that I need to really be thinking hard about it.
link |
00:52:40.960
Then there's a time that maybe I should just scan
link |
00:52:42.960
and organize my old notes because I'm just not on top of things.
link |
00:52:46.960
Then there's the time that, all right, let's go bang out
link |
00:52:49.960
a few hundred lines of code for something.
link |
00:52:51.960
So switching between them has been real valuable.
link |
00:52:56.960
So you always have kind of joined your heart
link |
00:52:58.960
for all the things you're doing
link |
00:53:00.960
and that is the kind of work life balance
link |
00:53:02.960
as a first sort of step.
link |
00:53:04.960
So you're always happy.
link |
00:53:06.960
Yeah, I mean, a lot of people would say
link |
00:53:09.960
that often I look like kind of a grim person
link |
00:53:11.960
with just sitting there with a neutral expression
link |
00:53:14.960
or even like knitted brows and a frown on my face
link |
00:53:16.960
as I'm staring at something.
link |
00:53:18.960
That's what happiness looks like for you.
link |
00:53:20.960
Yeah, it's kind of true.
link |
00:53:22.960
It's like, okay, I'm pushing through this.
link |
00:53:24.960
I'm making progress here.
link |
00:53:26.960
I know that doesn't work for everyone.
link |
00:53:29.960
I know it doesn't work for most people,
link |
00:53:31.960
but what I am always trying to do in those cases is
link |
00:53:34.960
I don't want to let somebody that might be a person like that
link |
00:53:38.960
be told by someone else that no, don't even try that out
link |
00:53:42.960
as an option where work life balance
link |
00:53:46.960
versus kind of your life's work
link |
00:53:48.960
where there's a small subset of the people
link |
00:53:51.960
that can be very happy being obsessive about things
link |
00:53:55.960
and obsession can often get things done
link |
00:53:58.960
that just practical, prudent, pedestrian work won't
link |
00:54:02.960
or at least won't for a very long time.
link |
00:54:05.960
There's legends of your nutritional intake
link |
00:54:09.960
in the early days.
link |
00:54:11.960
What can you say about being a programmer as a kind of athlete?
link |
00:54:17.960
So what was the nutrition that fueled it?
link |
00:54:20.960
I have never been that great on really paying attention to it
link |
00:54:25.960
where I'm good enough that I don't eat a lot.
link |
00:54:28.960
I've never been like a big, heavy guy,
link |
00:54:31.960
but it was interesting where one of the things
link |
00:54:33.960
that I can remember being an unhappy teenager
link |
00:54:35.960
not having enough money and one of the things
link |
00:54:38.960
that bothered me about not having enough money
link |
00:54:40.960
is I couldn't buy pizza whenever I wanted to.
link |
00:54:42.960
So I got rich and then I bought a whole lot of pizza.
link |
00:54:45.960
That was defining.
link |
00:54:47.960
That's what being rich felt like.
link |
00:54:49.960
There was a lot of little things.
link |
00:54:50.960
I could buy all the pizza and comic books and video games
link |
00:54:53.960
that I wanted to.
link |
00:54:55.960
It really didn't take that much,
link |
00:54:58.960
but the pizza was one of those things.
link |
00:55:00.960
It's absolutely true that for a long time
link |
00:55:02.960
it did software.
link |
00:55:03.960
I had a pizza delivered every single day.
link |
00:55:05.960
The delivery guy knew me by name.
link |
00:55:08.960
I didn't find out until years later
link |
00:55:10.960
that apparently I was such a good customer
link |
00:55:12.960
that they just never raised the price on me.
link |
00:55:14.960
I was using this six year old price for the pizzas
link |
00:55:17.960
that they were still kind of sending my way every day.
link |
00:55:20.960
So you were doing eating once a day?
link |
00:55:23.960
It would be spread out.
link |
00:55:25.960
You have a few pieces of pizza.
link |
00:55:27.960
You have some more later on
link |
00:55:28.960
and I'd maybe have something at home.
link |
00:55:30.960
One of the nice things at Facebook Meta
link |
00:55:33.960
is they feed you quite well.
link |
00:55:35.960
You get a different, I guess now it's door dash
link |
00:55:38.960
sorts of things delivered,
link |
00:55:39.960
but they take care of making sure
link |
00:55:41.960
that everybody does get well fed.
link |
00:55:43.960
I probably had better food those six years
link |
00:55:46.960
that I was working in the Meta office there
link |
00:55:48.960
than I used to before,
link |
00:55:50.960
but it's worked out okay for me.
link |
00:55:52.960
My health has always been good.
link |
00:55:54.960
I get a pretty good amount of exercise
link |
00:55:56.960
and I don't eat to excess
link |
00:55:58.960
and I avoid a lot of other kind of not so good for you things.
link |
00:56:02.960
So I'm still doing quite well at my age.
link |
00:56:04.960
Did you have a kind of, I don't know,
link |
00:56:08.960
spiritual experience with food or coffee
link |
00:56:12.960
or any of that kind of stuff?
link |
00:56:14.960
I mean, the programming experience with music
link |
00:56:17.960
or like I listen to brown noise on a program
link |
00:56:20.960
or like creating an environment
link |
00:56:22.960
and the things you take into your body,
link |
00:56:24.960
just everything you construct
link |
00:56:26.960
can become a kind of ritual
link |
00:56:28.960
that empowers the whole process of the program.
link |
00:56:31.960
Did you have that relationship with pizza or?
link |
00:56:33.960
It would really be with Diet Coke.
link |
00:56:35.960
There still is that sense of, you know,
link |
00:56:37.960
drop the can down, crack open the can of Diet Coke.
link |
00:56:39.960
All right, now I mean business.
link |
00:56:41.960
We're getting to work here.
link |
00:56:43.960
Still to this day?
link |
00:56:44.960
Yeah.
link |
00:56:45.960
Is Diet Coke a still partner?
link |
00:56:46.960
Yeah, probably eight or nine a day.
link |
00:56:48.960
Nice.
link |
00:56:49.960
Okay, what about your setup?
link |
00:56:51.960
How many screens, what kind of keyboard
link |
00:56:54.960
is there something interesting?
link |
00:56:56.960
What kind of IDE?
link |
00:56:58.960
Emax Vim or something modern?
link |
00:57:01.960
Linux, what operating system laptop
link |
00:57:03.960
or any interesting thing that brings you joy?
link |
00:57:06.960
So I kind of migrated cultures
link |
00:57:08.960
where early on through all of Game Dev,
link |
00:57:10.960
there was sort of one culture there
link |
00:57:12.960
which was really quite distinct from the more,
link |
00:57:14.960
the Silicon Valley venture, you know,
link |
00:57:17.960
culture for things.
link |
00:57:18.960
They're different groups
link |
00:57:19.960
and they have pretty different mores
link |
00:57:21.960
and the way they think about things where,
link |
00:57:23.960
and I still do think a lot of the big companies
link |
00:57:25.960
can learn things from the hardcore
link |
00:57:28.960
game development side of things
link |
00:57:30.960
where it still boggles my mind how hostile
link |
00:57:34.960
to debuggers and IDEs that so much of them,
link |
00:57:38.960
the kind of big money, get billions of dollars,
link |
00:57:40.960
Silicon Valley, venture backed funds are.
link |
00:57:43.960
Oh, that's interesting.
link |
00:57:44.960
Sorry, so you're saying like big companies
link |
00:57:47.960
at Google and Meta are hostile to?
link |
00:57:49.960
They are not big on debuggers and IDEs.
link |
00:57:52.960
So much of it is like Emacs BIM for things
link |
00:57:55.960
and we just assume that debuggers
link |
00:57:57.960
don't work most of the time for the systems
link |
00:58:00.960
and a lot of this comes from a sort of Linux bias
link |
00:58:03.960
on a lot of things where I did come up
link |
00:58:05.960
through the personal computers
link |
00:58:07.960
and then the DOS and then Windows
link |
00:58:10.960
and it was Borland Tools and then Visual Studio and.
link |
00:58:15.960
Do you appreciate the buggers?
link |
00:58:17.960
Very much so.
link |
00:58:18.960
I mean, a debugger is how you get a view
link |
00:58:20.960
into a system that's too complicated to understand.
link |
00:58:23.960
I mean, anybody that thinks just read the code
link |
00:58:25.960
and think about it, that's an insane statement.
link |
00:58:27.960
You can't even read all the code on a big system.
link |
00:58:30.960
You have to do experiments on the system
link |
00:58:33.960
and doing that by adding log statements,
link |
00:58:36.960
recompiling and rerunning it
link |
00:58:38.960
is an incredibly inefficient way of doing it.
link |
00:58:40.960
I mean, yes, you can always get things done
link |
00:58:42.960
even if you're working with stone knives
link |
00:58:44.960
and bare skins.
link |
00:58:46.960
That is the mark of a good programmer
link |
00:58:48.960
is that given any tools,
link |
00:58:50.960
you will figure out a way to get it done.
link |
00:58:52.960
But it's amazing what you can do
link |
00:58:54.960
with sometimes much, much better tools
link |
00:58:56.960
where instead of just going through
link |
00:58:58.960
this iterative compile run debug cycle,
link |
00:59:01.960
you have the old Lisp direction of like,
link |
00:59:04.960
you've got a REPL and you're working interactively
link |
00:59:06.960
and doing amazing things there.
link |
00:59:08.960
But in many cases, a debugger as a very powerful user interface
link |
00:59:11.960
that can stop, examine all the different things
link |
00:59:14.960
in your program, set all of these different breakpoints.
link |
00:59:16.960
And of course you can do that with GDP
link |
00:59:18.960
or whatever there.
link |
00:59:20.960
But this is one of the user interface
link |
00:59:22.960
fundamental principles where when something
link |
00:59:24.960
is complicated to do,
link |
00:59:26.960
you won't use it very often.
link |
00:59:28.960
There's people that will break out GDP
link |
00:59:30.960
when they're at their wits end
link |
00:59:32.960
and they just have beat their head against a problem
link |
00:59:34.960
for so long.
link |
00:59:36.960
But for somebody that kind of grew up in Game Dev,
link |
00:59:38.960
it's like they were running into the debugger anyways
link |
00:59:40.960
before they even knew there was a problem
link |
00:59:42.960
and you would just stop and see what was happening
link |
00:59:44.960
and sometimes you could fix things
link |
00:59:46.960
even before you did one compile cycle.
link |
00:59:50.960
You could be in the debugger and you could say,
link |
00:59:52.960
well, I'm just going to change this right here.
link |
00:59:54.960
And yep, that did the job and fix it and go on.
link |
00:59:56.960
And for people that don't know,
link |
00:59:58.960
GDP is a popular Linux debugger
link |
01:00:02.960
primarily for C++.
link |
01:00:04.960
They handle most of the languages,
link |
01:00:06.960
but it's based on C
link |
01:00:08.960
as the original Unix heritage.
link |
01:00:10.960
And it's kind of like command line.
link |
01:00:12.960
It doesn't allow for clean visualizations
link |
01:00:14.960
and you're exactly right.
link |
01:00:16.960
You're using this kind of debugger
link |
01:00:18.960
usually when you're at wits end
link |
01:00:20.960
and there's a problem that you can't figure out
link |
01:00:22.960
why by just looking at the codes if defined it.
link |
01:00:24.960
That's how I guess normal programmers use it.
link |
01:00:26.960
But you're saying there should be tools
link |
01:00:28.960
that kind of visualize
link |
01:00:30.960
and help you as part of the programming process.
link |
01:00:32.960
Just a normal programming process
link |
01:00:34.960
to understand the code deeper.
link |
01:00:36.960
Yeah, when I'm working on like my C++ code,
link |
01:00:38.960
I'm always running it from the debugger.
link |
01:00:42.960
You know, just I type in the code.
link |
01:00:44.960
I run it many times.
link |
01:00:46.960
The first thing I do after writing code
link |
01:00:48.960
is set a breakpoint and step through the function.
link |
01:00:50.960
Now other people will say it's like,
link |
01:00:52.960
oh, I do that in my head.
link |
01:00:54.960
Well, your head is a faulty interpreter
link |
01:00:56.960
of all those things there.
link |
01:00:58.960
And I've written brand new code.
link |
01:01:00.960
I want to step in there and I'm going to single step
link |
01:01:02.960
through that examine lots of things
link |
01:01:04.960
and see if it's actually doing what I expected it to.
link |
01:01:06.960
It is a kind of companion, the debugger.
link |
01:01:10.960
Like you're now coding in an interactive way
link |
01:01:12.960
with another being.
link |
01:01:14.960
The debugger is a kind of dumb being,
link |
01:01:16.960
but it's a reliable being.
link |
01:01:18.960
That is an interesting question
link |
01:01:20.960
of what role does AI play in that kind of,
link |
01:01:22.960
with Codex and these kind of
link |
01:01:24.960
ability to generate code.
link |
01:01:26.960
You might start having tools
link |
01:01:28.960
that understand the code
link |
01:01:30.960
in interesting deep ways
link |
01:01:32.960
that can work with you.
link |
01:01:34.960
There's a whole spectrum there
link |
01:01:36.960
from static code analyzers
link |
01:01:38.960
and various kind of dynamic tools
link |
01:01:40.960
there up to AI
link |
01:01:42.960
that can conceivably grok these programs
link |
01:01:44.960
that literally no human can understand.
link |
01:01:46.960
They're too big, too intertwined,
link |
01:01:48.960
and too interconnected,
link |
01:01:50.960
but it's not beyond the possibility
link |
01:01:52.960
of understanding.
link |
01:01:54.960
It's just beyond what we can hold in our heads
link |
01:01:56.960
as kind of mutable state
link |
01:01:58.960
while we're working on things.
link |
01:02:00.960
And I'm a big proponent again
link |
01:02:02.960
of things like static analyzers
link |
01:02:04.960
and some of that stuff where
link |
01:02:06.960
you'll find some people that don't like
link |
01:02:08.960
being scolded by a program
link |
01:02:10.960
for how they've written something where
link |
01:02:12.960
it's like, oh, I know better, and sometimes you do,
link |
01:02:14.960
but that was something that
link |
01:02:16.960
I was, it was very,
link |
01:02:18.960
very valuable for me when
link |
01:02:20.960
and not too many people get an opportunity
link |
01:02:22.960
like this to have. This is almost one of those spiritual
link |
01:02:24.960
experiences as a programmer and
link |
01:02:26.960
awakening to the
link |
01:02:28.960
software code bases were a couple million
link |
01:02:30.960
lines of code and
link |
01:02:32.960
at one point I had used a few of the
link |
01:02:34.960
different analysis tools, but
link |
01:02:36.960
I made a point to really
link |
01:02:38.960
go through and scrub the code base
link |
01:02:40.960
using every tool that I could find
link |
01:02:42.960
and it was eye opening where we had
link |
01:02:44.960
a reputation for having some of the
link |
01:02:46.960
most robust, strongest code,
link |
01:02:48.960
where there were some great things that
link |
01:02:50.960
I remember hearing from Microsoft
link |
01:02:52.960
telling us about crashes on Xbox
link |
01:02:54.960
and we had this tiny number that they said
link |
01:02:56.960
were probably literally hardware errors
link |
01:02:58.960
and then you have other significant
link |
01:03:00.960
titles that just have millions of
link |
01:03:02.960
faults that are getting recorded all the time,
link |
01:03:04.960
so I was proud of our code on a lot
link |
01:03:06.960
of levels, but when I took this
link |
01:03:08.960
code analysis squeegee through
link |
01:03:10.960
everything, it was
link |
01:03:12.960
it was shocking how many
link |
01:03:14.960
errors there were in there, things
link |
01:03:16.960
that you can say, okay, this was
link |
01:03:18.960
a copy paste, not changing something right
link |
01:03:20.960
here, lots of things that were
link |
01:03:22.960
the most common problem
link |
01:03:24.960
was something in a printf
link |
01:03:26.960
format string that was the wrong data
link |
01:03:28.960
type that could cause crashes there
link |
01:03:30.960
and you really want the warnings for
link |
01:03:32.960
things like that and the next most common
link |
01:03:34.960
was missing a check for null that could
link |
01:03:36.960
actually happen, that could blow things up
link |
01:03:38.960
and those are obviously like top C, C++
link |
01:03:40.960
things, everybody has those problems,
link |
01:03:42.960
but the long tail of
link |
01:03:44.960
all of the different little things that could go
link |
01:03:46.960
wrong there and we had good programmers
link |
01:03:48.960
and my own code stuff that I'd be looking
link |
01:03:50.960
at, it's like, oh, I wrote that code, that's
link |
01:03:52.960
definitely wrong, we've been using this
link |
01:03:54.960
for a year and
link |
01:03:56.960
it's this, you know, this
link |
01:03:58.960
mind sitting there waiting for us to step
link |
01:04:00.960
on and
link |
01:04:02.960
it was humbling, it was, and
link |
01:04:04.960
I reached the conclusion that
link |
01:04:06.960
anything that can be syntactically
link |
01:04:08.960
allowed in your language
link |
01:04:10.960
if it's going to show up
link |
01:04:12.960
eventually in a large enough code base
link |
01:04:14.960
you're not going to, good intentions
link |
01:04:16.960
aren't going to keep it from happening,
link |
01:04:18.960
you need automated tools and guard
link |
01:04:20.960
rails for things and those start with
link |
01:04:22.960
static types or even
link |
01:04:24.960
type hints in the more dynamic languages
link |
01:04:26.960
but the people that
link |
01:04:28.960
rebel against that, that basically
link |
01:04:30.960
say, that slows me down
link |
01:04:32.960
doing that, there's something to that, I get
link |
01:04:34.960
that, I've written, you know, I've cobbled
link |
01:04:36.960
things together in a notebook, I'm like
link |
01:04:38.960
wow, this is great that it just happened
link |
01:04:40.960
but yeah, that's kind of sketchy but it's working
link |
01:04:42.960
fine, I don't care, it does come back to
link |
01:04:44.960
that value analysis
link |
01:04:46.960
where sometimes it's right to not care
link |
01:04:48.960
but when you do care
link |
01:04:50.960
if it's going to be something that's going to
link |
01:04:52.960
live for years and it's going to have other people
link |
01:04:54.960
working on it and it's going to be
link |
01:04:56.960
deployed to millions of people
link |
01:04:58.960
then you want to use all of these tools
link |
01:05:00.960
you want to be told, it's like no, you've
link |
01:05:02.960
screwed up here, here, and here and that does
link |
01:05:04.960
require kind of an ego check about
link |
01:05:06.960
things where you have
link |
01:05:08.960
to be open to the fact
link |
01:05:10.960
that everything that you're doing is just littered
link |
01:05:12.960
with flaws, it's not that oh, you
link |
01:05:14.960
occasionally have a bad day, it's just
link |
01:05:16.960
whatever stream of code you output
link |
01:05:18.960
there's going to be a statistical
link |
01:05:20.960
regularity of things that you just make mistakes
link |
01:05:22.960
on and
link |
01:05:24.960
I do think there's a whole
link |
01:05:26.960
argument about test driven design
link |
01:05:28.960
and unit testing versus kind of
link |
01:05:30.960
analysis and different things
link |
01:05:32.960
I am more in favor of the
link |
01:05:34.960
analysis and the stuff that just like you can't run
link |
01:05:36.960
your program until you fix this rather
link |
01:05:38.960
than you can run it and hopefully
link |
01:05:40.960
a unit test will catch it in some way
link |
01:05:42.960
Yeah, in my private code
link |
01:05:44.960
I have asserts everywhere
link |
01:05:46.960
just there's something
link |
01:05:48.960
pleasant to me
link |
01:05:50.960
pleasurable to me about sort of the
link |
01:05:52.960
dictatorial rule of like
link |
01:05:54.960
this should be true at this point
link |
01:05:56.960
in too many times
link |
01:05:58.960
I've
link |
01:06:00.960
made mistakes
link |
01:06:02.960
that shouldn't have been made
link |
01:06:04.960
and I would assume
link |
01:06:06.960
I wouldn't be the kind of person that would make that mistake
link |
01:06:08.960
but I keep making that mistake therefore
link |
01:06:10.960
an assert really catches me
link |
01:06:12.960
really helps all the time
link |
01:06:14.960
so my
link |
01:06:16.960
I would say like 10 to 20% of my private code
link |
01:06:18.960
just for personal use is probably
link |
01:06:20.960
asserts. And they're active comments
link |
01:06:22.960
and it's one of those things that in theory
link |
01:06:24.960
they don't make any difference to the program
link |
01:06:26.960
and if it was all operating the way
link |
01:06:28.960
you expected it would be then
link |
01:06:30.960
they will never fire
link |
01:06:32.960
but even if you have it right
link |
01:06:34.960
and you wrote the code right initially
link |
01:06:36.960
then circumstances change
link |
01:06:38.960
the world outside your program changes
link |
01:06:40.960
and in fact that's one of the things
link |
01:06:42.960
where I'm kind of fond
link |
01:06:44.960
in a lot of cases of static array size
link |
01:06:46.960
declarations where
link |
01:06:48.960
I went through this period where it's like
link |
01:06:50.960
okay now we have general collection classes
link |
01:06:52.960
we should just make everything variable
link |
01:06:54.960
because I had this history of
link |
01:06:56.960
in the early days you get doom
link |
01:06:58.960
which had some fixed limits on it then
link |
01:07:00.960
everybody started making crazier and crazier
link |
01:07:02.960
things and they kept bumping up the different limits
link |
01:07:04.960
this many lines this many sectors
link |
01:07:06.960
and it seemed like
link |
01:07:08.960
a good idea well we should just make this completely
link |
01:07:10.960
you can go kind of go up to whatever
link |
01:07:12.960
and
link |
01:07:14.960
there's cases where that's the right thing to do
link |
01:07:16.960
but it also
link |
01:07:18.960
the other aspect of the world changing around you
link |
01:07:20.960
is it's good to be informed
link |
01:07:22.960
when the world has changed more than you thought it would
link |
01:07:24.960
and if you've got a continuously
link |
01:07:26.960
growing collection you're never going to find out
link |
01:07:28.960
you might have this quadratic
link |
01:07:30.960
slowdown on something where
link |
01:07:32.960
you thought oh I'm only ever going to have a handful
link |
01:07:34.960
of these but something changes
link |
01:07:36.960
and there's a new design style and all of a sudden
link |
01:07:38.960
you've got 10,000 of them
link |
01:07:40.960
so I kind of like in many cases
link |
01:07:42.960
picking a number
link |
01:07:44.960
some you know nice brown power of two
link |
01:07:46.960
number and setting it up in there
link |
01:07:48.960
and having an assert saying it's like hey you hit
link |
01:07:50.960
the you hit this limit you should probably
link |
01:07:52.960
think are the choices that you've made
link |
01:07:54.960
around all of this still relevant
link |
01:07:56.960
if somebody's using 10 times
link |
01:07:58.960
more than you thought they would
link |
01:08:00.960
yeah this code was originally written
link |
01:08:02.960
with this kind of world view
link |
01:08:04.960
with this kind of set of constraints
link |
01:08:06.960
thinking of the world in this way
link |
01:08:08.960
if something breaks that means
link |
01:08:10.960
you got to rethink the initial stuff
link |
01:08:12.960
and it's nice for it to
link |
01:08:14.960
for it to do that
link |
01:08:16.960
is there any stuff like keyboard
link |
01:08:18.960
or monitors
link |
01:08:20.960
I'm fairly pedestrian on
link |
01:08:22.960
a lot of that where I did move
link |
01:08:24.960
to triple monitors like in the last
link |
01:08:26.960
several years ago I had been dual monitor
link |
01:08:28.960
for a very long time and
link |
01:08:30.960
and it was one of those things where
link |
01:08:32.960
probably years later than
link |
01:08:34.960
I should have I'm just like well the video cards
link |
01:08:36.960
now generally have three output ports
link |
01:08:38.960
I should just put the third monitor up there
link |
01:08:40.960
that's been a pure win I've been very happy
link |
01:08:42.960
with that
link |
01:08:44.960
but no I don't have fancy keyboard
link |
01:08:46.960
or mouse or anything
link |
01:08:48.960
the key things is an IDE that has
link |
01:08:50.960
helpful debuggers
link |
01:08:52.960
has helpful tools so it's not
link |
01:08:54.960
the Emacs Vimrao and then Diet Coke
link |
01:08:56.960
yeah so I did spend
link |
01:08:58.960
one of my week long retreats
link |
01:09:00.960
where I'm like okay I'm going to make myself
link |
01:09:02.960
use
link |
01:09:04.960
it was actually classic VI which I know people will say
link |
01:09:06.960
you should never have done that you should have just used Vim
link |
01:09:08.960
directly but
link |
01:09:10.960
I gave it the good try it's like okay I'm being
link |
01:09:12.960
in kind of classic Unix developer
link |
01:09:14.960
mode here and
link |
01:09:16.960
I worked for a week on it
link |
01:09:18.960
I used Anki to like teach myself
link |
01:09:20.960
the different little key combinations
link |
01:09:22.960
for things like that and in the end it was just like
link |
01:09:24.960
alright this was kind of like
link |
01:09:26.960
my Civil War reenactment phase
link |
01:09:28.960
it's like I'm going out there doing it like they used to
link |
01:09:30.960
in the old days and it was kind of fun
link |
01:09:32.960
in that regard so many people right now
link |
01:09:34.960
they're screaming
link |
01:09:36.960
as they're listening to this
link |
01:09:38.960
so again the out is that this was not modern Vim
link |
01:09:40.960
but still
link |
01:09:42.960
yes I was very happy to get back to
link |
01:09:44.960
my visual studio at the end
link |
01:09:46.960
yeah I'm actually I struggle with this a lot
link |
01:09:48.960
because
link |
01:09:50.960
so you said Kinesis keyboard and
link |
01:09:52.960
I use Emacs primarily
link |
01:09:54.960
and I feel like
link |
01:09:56.960
I can exactly as you said
link |
01:09:58.960
I can understand the code I can navigate
link |
01:10:00.960
the code there's a lot of stuff you can build
link |
01:10:02.960
within Emacs with using Lisp
link |
01:10:04.960
you can customize a lot of things for yourself
link |
01:10:06.960
to help you
link |
01:10:08.960
introspect the code like to help you
link |
01:10:10.960
understand the code and visualize different aspects
link |
01:10:12.960
of the code you can even run debuggers
link |
01:10:14.960
but it's work
link |
01:10:16.960
and the world moves past you
link |
01:10:18.960
and the better and better ideas are constantly
link |
01:10:20.960
being built and that
link |
01:10:22.960
puts a kind of
link |
01:10:24.960
I need to take the same kind of
link |
01:10:26.960
treat as you're talking about but now
link |
01:10:28.960
I'm still fighting the Civil War
link |
01:10:30.960
I need to kind of move into the 21st century
link |
01:10:32.960
and it does seem like the world is
link |
01:10:34.960
or a large chunk of the world is moving
link |
01:10:36.960
towards visual studio code which is
link |
01:10:38.960
kind of interesting to me against the
link |
01:10:40.960
JavaScript ecosystem on the one hand
link |
01:10:42.960
and IDs are one of those
link |
01:10:44.960
things that you want to be infinitely
link |
01:10:46.960
fast you want them to just kind of
link |
01:10:48.960
immediately respond
link |
01:10:50.960
and like I mean heck I've got there's someone
link |
01:10:52.960
I know I'm an old school game dev guy
link |
01:10:54.960
that still uses visual studio 6
link |
01:10:56.960
and on a modern computer
link |
01:10:58.960
everything is just
link |
01:11:00.960
absolutely instant on something like that
link |
01:11:02.960
because it was made to work on a computer that's
link |
01:11:04.960
10,000 or 100,000
link |
01:11:06.960
times slower so just everything happens
link |
01:11:08.960
immediately and all the
link |
01:11:10.960
modern systems just feel
link |
01:11:12.960
you know they feel so crufty when
link |
01:11:14.960
it's like oh why is this refreshing the screen
link |
01:11:16.960
and moving around and updating over here
link |
01:11:18.960
and something blinks down there and you should
link |
01:11:20.960
update this and there's
link |
01:11:22.960
you know there are things that
link |
01:11:24.960
we've lost with that incredible flexibility
link |
01:11:26.960
but
link |
01:11:28.960
lots of people get tons of value from it
link |
01:11:30.960
and I am super happy that that seems
link |
01:11:32.960
to be winning over even a lot of the old
link |
01:11:34.960
Vim and Emacs people that they're kind of like
link |
01:11:36.960
hey visual studio codes maybe you know
link |
01:11:38.960
not so bad I am
link |
01:11:40.960
that may be the final peacekeeping solution
link |
01:11:42.960
where everybody is reasonably
link |
01:11:44.960
happy with something like that
link |
01:11:46.960
so can you explain what
link |
01:11:48.960
a.plan file is and
link |
01:11:50.960
what role that played in your life
link |
01:11:52.960
does it still continue to play a role
link |
01:11:54.960
back in the early early days
link |
01:11:56.960
of id software one of
link |
01:11:58.960
our big things that was unique with what we did
link |
01:12:00.960
is I had adopted
link |
01:12:02.960
next stations or kind of next step
link |
01:12:04.960
systems from I Steve Jobs
link |
01:12:06.960
is out in the
link |
01:12:08.960
out in the woods away from Apple company
link |
01:12:10.960
and
link |
01:12:12.960
they were basically it was kind of interesting
link |
01:12:14.960
because I did not really have a background
link |
01:12:16.960
with the Unix system so many of the people
link |
01:12:18.960
they get immersed in that
link |
01:12:20.960
in college and
link |
01:12:22.960
you know and that's you know that
link |
01:12:24.960
sets a lot of cultural expectations for them
link |
01:12:26.960
and I didn't have any of that
link |
01:12:28.960
but I knew that
link |
01:12:30.960
my background was I was a huge Apple
link |
01:12:32.960
to fanboy I was always
link |
01:12:34.960
a little suspicious of the Mac I was
link |
01:12:36.960
not really what I what kind
link |
01:12:38.960
of I wanted to go with
link |
01:12:40.960
but when Steve Jobs left
link |
01:12:42.960
Apple and started next this
link |
01:12:44.960
computer did just seem like one of those amazing things
link |
01:12:46.960
from the future where it had
link |
01:12:48.960
all of this cool stuff in it and we were
link |
01:12:50.960
still back in those days working on
link |
01:12:52.960
DOS everything blew up you had
link |
01:12:54.960
reset buttons because your computer would just freeze
link |
01:12:56.960
if you're doing development work literally
link |
01:12:58.960
dozens of times a day your computer was just rebooting
link |
01:13:00.960
constantly and so this
link |
01:13:02.960
idea of yes any of the
link |
01:13:04.960
the Unix work stations would have given
link |
01:13:06.960
a stable development platform where
link |
01:13:08.960
you don't crash and reboot all the
link |
01:13:10.960
time but next also had
link |
01:13:12.960
this really amazing graphical
link |
01:13:14.960
interface and it was great for building
link |
01:13:16.960
tools and it used
link |
01:13:18.960
Objective C as the kind of
link |
01:13:20.960
an interesting
link |
01:13:22.960
next was Unix based
link |
01:13:24.960
it's at Objective C so it has a lot of the
link |
01:13:26.960
elements that became Mac I mean
link |
01:13:28.960
the kind of reverse acquisition of Apple
link |
01:13:30.960
by next where that took over
link |
01:13:32.960
and became what what the modern Mac
link |
01:13:34.960
system and defined some of the developer
link |
01:13:36.960
like
link |
01:13:38.960
the tools and the whole community
link |
01:13:40.960
and you've still got if you're programming
link |
01:13:42.960
on Apple stuff now there's still all these
link |
01:13:44.960
NS somethings which was originally
link |
01:13:46.960
Next Step Objects of different kinds of things
link |
01:13:48.960
but one of the aspects
link |
01:13:50.960
of those Unix systems
link |
01:13:52.960
was they had this notion of
link |
01:13:54.960
a dot plan file where
link |
01:13:56.960
a dot file is an invisible
link |
01:13:58.960
file usually in your
link |
01:14:00.960
home directory or something and there was a trivial
link |
01:14:02.960
server running on most Unix systems
link |
01:14:04.960
at the time that
link |
01:14:06.960
when somebody ran a trivial
link |
01:14:08.960
little command called finger you could
link |
01:14:10.960
do a finger and then somebody's
link |
01:14:12.960
address it could be anywhere on the internet
link |
01:14:14.960
if you were connected correctly
link |
01:14:16.960
then all that server would do was
link |
01:14:18.960
read the dot plan file
link |
01:14:20.960
in that user's home directory and then just
link |
01:14:22.960
spit it out to you and originally
link |
01:14:24.960
the idea was that could be
link |
01:14:26.960
whether you're on vacation what your current
link |
01:14:28.960
project was it's supposed to be like the
link |
01:14:30.960
plan of what you're doing and people would
link |
01:14:32.960
use it for you know
link |
01:14:34.960
various purposes but all it did was
link |
01:14:36.960
dump that file over
link |
01:14:38.960
to the terminal of whoever issued
link |
01:14:40.960
the finger command
link |
01:14:42.960
and at one point
link |
01:14:44.960
I started just keeping a list
link |
01:14:46.960
of what I was doing in there
link |
01:14:48.960
which would be what I was working on in the day
link |
01:14:50.960
and I would have this little
link |
01:14:52.960
syntax I kind of got to myself about
link |
01:14:54.960
here's something that I'm working on
link |
01:14:56.960
I put a star when I finish it
link |
01:14:58.960
I could have a few other little bits of punctuation
link |
01:15:00.960
and at the time it
link |
01:15:02.960
started off as being just like my to do
link |
01:15:04.960
list and it would be these
link |
01:15:06.960
trivial obscure little things like
link |
01:15:08.960
I fixed something
link |
01:15:10.960
with collision detection code
link |
01:15:12.960
made fireball do something different
link |
01:15:14.960
and just little one liners that people that
link |
01:15:16.960
were following the games could kind of
link |
01:15:18.960
decipher but I did wind up
link |
01:15:20.960
starting to write
link |
01:15:22.960
much more in depth things I would have
link |
01:15:24.960
little notes of
link |
01:15:26.960
thoughts and insights and then I would
link |
01:15:28.960
eventually start having little essays I would
link |
01:15:30.960
sometimes dump into the dot plan files
link |
01:15:32.960
interspersed with the work logs of things
link |
01:15:34.960
that I was doing so in some
link |
01:15:36.960
ways it was like a super early proto
link |
01:15:38.960
blog where I was just kind
link |
01:15:40.960
of dumping out what I was working on but it
link |
01:15:42.960
was interesting enough that
link |
01:15:44.960
there were a lot of people
link |
01:15:46.960
that were interested in this
link |
01:15:48.960
so most of the people didn't have Unix workstation
link |
01:15:50.960
so there were the websites back in
link |
01:15:52.960
the day that would follow the doom and quake development
link |
01:15:54.960
that would
link |
01:15:56.960
basically make a little service that would go grab
link |
01:15:58.960
all the changes and then people could just get it with
link |
01:16:00.960
a web browser and there was a period
link |
01:16:02.960
where like all of the little
link |
01:16:04.960
kind of Dallas gaming diaspora
link |
01:16:06.960
of people that were at all in that
link |
01:16:08.960
orbit there were a couple dozen plan
link |
01:16:10.960
files going on which was
link |
01:16:12.960
and this was some years before
link |
01:16:14.960
blogging really became kind of a thing
link |
01:16:16.960
and it was kind of a
link |
01:16:18.960
a premonition of sort of the
link |
01:16:20.960
way things would go and there
link |
01:16:22.960
was it's all been collected
link |
01:16:24.960
it's available online in different places
link |
01:16:26.960
and it's kind of fun to go back and look through
link |
01:16:28.960
what I was thinking what
link |
01:16:30.960
I was doing in the different areas
link |
01:16:32.960
Have you had a chance to look back is there some interesting
link |
01:16:34.960
very low level specific
link |
01:16:36.960
to do items
link |
01:16:38.960
maybe things you've never completed all that kind
link |
01:16:40.960
of stuff and high level
link |
01:16:42.960
philosophical essay type of stuff
link |
01:16:44.960
that
link |
01:16:46.960
there's some good stuff on both where
link |
01:16:48.960
a lot of it was low level
link |
01:16:50.960
nitpicky details about game dev
link |
01:16:52.960
and
link |
01:16:54.960
I've learned enough things where there's no project
link |
01:16:56.960
that I worked on that I couldn't go back
link |
01:16:58.960
and do a better job on now
link |
01:17:00.960
I mean you just you learn things hopefully
link |
01:17:02.960
if you're doing it right you learn things as you get older
link |
01:17:04.960
and you should be able to do a better job
link |
01:17:06.960
at all of the early things and there's
link |
01:17:08.960
stuff in
link |
01:17:10.960
Wolfenstein Doomquake that's like oh clearly
link |
01:17:12.960
I could go back and do a better job
link |
01:17:14.960
at this whether it's something in the rendering engine
link |
01:17:16.960
side or how I implemented
link |
01:17:18.960
the monster behaviors
link |
01:17:20.960
or managed resources
link |
01:17:22.960
do you see the flaws in your thinking now
link |
01:17:24.960
looking back
link |
01:17:26.960
I mean sometimes I'll get the
link |
01:17:28.960
you know I'll look at it and say yeah I had a pretty
link |
01:17:30.960
clear view of I was doing good work
link |
01:17:32.960
there and I haven't
link |
01:17:34.960
really hit the point where
link |
01:17:36.960
there was another programmer Graham Divine
link |
01:17:38.960
who was he had worked at id and
link |
01:17:40.960
seventh guest and he made
link |
01:17:42.960
some comment one time where he said he looked back at some
link |
01:17:44.960
of his old notes he was like wow I
link |
01:17:46.960
was really smart back then
link |
01:17:48.960
and I don't hit
link |
01:17:50.960
that so much where I mean I look at it
link |
01:17:52.960
and I always know that yeah
link |
01:17:54.960
there's all the you know with aging you get
link |
01:17:56.960
certain changes in how you
link |
01:17:58.960
you're able to work problems but all of the
link |
01:18:00.960
problems that I've worked I
link |
01:18:02.960
I'm you know I'm sure that I could do
link |
01:18:04.960
a better job on all of them
link |
01:18:06.960
so you can still step right in if you could travel
link |
01:18:08.960
back in time and talk to that guy
link |
01:18:10.960
you would teach him a few things yeah absolutely
link |
01:18:12.960
it's awesome
link |
01:18:14.960
I'm what about the high level
link |
01:18:16.960
philosophical stuff is there some insights
link |
01:18:18.960
that stand out do you remember
link |
01:18:20.960
there's things that
link |
01:18:22.960
there's understanding about
link |
01:18:24.960
development and I
link |
01:18:26.960
you know in the industry and so on that
link |
01:18:28.960
were in a more primitive
link |
01:18:30.960
stage where
link |
01:18:32.960
I am I definitely learned
link |
01:18:34.960
a lot more in the later years
link |
01:18:36.960
about business and organization
link |
01:18:38.960
and team structure
link |
01:18:40.960
there were
link |
01:18:42.960
I mean there were definitely things that I was
link |
01:18:44.960
not the best person
link |
01:18:46.960
or even a very good person about managing
link |
01:18:48.960
like how a team should
link |
01:18:50.960
internally how people should work together
link |
01:18:52.960
I was just I
link |
01:18:54.960
you know I just
link |
01:18:56.960
get out of my way and let me work on the code
link |
01:18:58.960
and do this and more and more
link |
01:19:00.960
I've learned how
link |
01:19:02.960
in the larger scheme of things
link |
01:19:04.960
how but sometimes relatively
link |
01:19:06.960
unimportant some of those things are where it is
link |
01:19:08.960
this user value generation
link |
01:19:10.960
that's the the overarching
link |
01:19:12.960
importance for all of that and I
link |
01:19:14.960
I didn't necessarily have my eye on that
link |
01:19:16.960
ball correctly through a lot of my
link |
01:19:18.960
you know my earlier years
link |
01:19:20.960
and there's things that
link |
01:19:22.960
you know I could have I could have gotten more
link |
01:19:24.960
out of people handling things in different ways
link |
01:19:26.960
I am you know I could have made
link |
01:19:28.960
you know in some ways more
link |
01:19:30.960
successful products by following things
link |
01:19:32.960
in different ways there's mistakes that we
link |
01:19:34.960
made that we couldn't really have
link |
01:19:36.960
known how things would have worked out but
link |
01:19:38.960
it was interesting to see in later years companies
link |
01:19:40.960
like Activision showing that hey you really
link |
01:19:42.960
can just do the same game
link |
01:19:44.960
make it better every year and you can
link |
01:19:46.960
look at that from a negative standpoint
link |
01:19:48.960
and say it's like oh that's just being derivative
link |
01:19:50.960
and all that but if you step back again
link |
01:19:52.960
and say it's like no are the people buying it
link |
01:19:54.960
still enjoying it are they enjoying it more
link |
01:19:56.960
than what they might have bought otherwise
link |
01:19:58.960
and you can say no that's that's actually
link |
01:20:00.960
a great value creation
link |
01:20:02.960
engine to do that if you're in a position
link |
01:20:04.960
where you can I you know
link |
01:20:06.960
don't be forced into reinventing
link |
01:20:08.960
everything just because you think that you need
link |
01:20:10.960
to I am
link |
01:20:12.960
you know lots of things about
link |
01:20:14.960
business and team stuff that could be done
link |
01:20:16.960
better but the technical work the kind
link |
01:20:18.960
of technical visionary type stuff
link |
01:20:20.960
that I laid out I still
link |
01:20:22.960
feel pretty good about there are some
link |
01:20:24.960
classic old ones about my defending
link |
01:20:26.960
of OpenGL versus D3D
link |
01:20:28.960
which turned out
link |
01:20:30.960
to be one of the more probably
link |
01:20:32.960
important momentous things there where
link |
01:20:34.960
it never it was always
link |
01:20:36.960
a rearguard action on Windows
link |
01:20:38.960
where Microsoft was just not going
link |
01:20:40.960
to let that win but when I look
link |
01:20:42.960
back on it now
link |
01:20:44.960
that fight to keep OpenGL relevant
link |
01:20:46.960
for a number of years there
link |
01:20:48.960
meant that OpenGL was there
link |
01:20:50.960
when mobile started happening
link |
01:20:52.960
and OpenGL ES was the thing that
link |
01:20:54.960
drove all of the acceleration
link |
01:20:56.960
of the mobile industry
link |
01:20:58.960
and it's really only in the last few years
link |
01:21:00.960
as Apple's moved to metal and some
link |
01:21:02.960
of the other companies have moved to Vulcan
link |
01:21:04.960
that that's moved away
link |
01:21:06.960
but really stepping back
link |
01:21:08.960
and looking at it's like yeah I sold
link |
01:21:10.960
millions of games for different things
link |
01:21:12.960
but billions
link |
01:21:14.960
and billions of devices wound
link |
01:21:16.960
up with an appropriate
link |
01:21:18.960
capable graphics API
link |
01:21:20.960
do in no small part
link |
01:21:22.960
to me thinking that that was really important
link |
01:21:24.960
that we not just
link |
01:21:26.960
give up and use Microsoft's
link |
01:21:28.960
at that
link |
01:21:30.960
time really terrible API
link |
01:21:32.960
the thing about Microsoft is the APIs don't stay
link |
01:21:34.960
terrible they were terrible at the start
link |
01:21:36.960
but a few versions on
link |
01:21:38.960
they were actually quite good and there was a completely
link |
01:21:40.960
fair argument to be made that
link |
01:21:42.960
by the time DX9 was out
link |
01:21:44.960
it was probably a better programming environment
link |
01:21:46.960
than OpenGL but it was still
link |
01:21:48.960
a wonderful good thing
link |
01:21:50.960
that we had an open standard that could
link |
01:21:52.960
show up on Linux and Android
link |
01:21:54.960
iOS and eventually WebGL
link |
01:21:56.960
still to this day so
link |
01:21:58.960
that was one
link |
01:22:00.960
that would be on my greatest hits list of things
link |
01:22:02.960
that I kind of pushed with. In terms of impact it had
link |
01:22:04.960
on billions of devices yes
link |
01:22:06.960
so let's talk about it
link |
01:22:08.960
can you tell the origin story of id software
link |
01:22:10.960
again
link |
01:22:12.960
one of the greatest game developer
link |
01:22:14.960
companies ever it created
link |
01:22:16.960
Wolfstein 3D games that
link |
01:22:18.960
define my life also
link |
01:22:20.960
in many ways as a thing
link |
01:22:22.960
that made me realize what computers are capable of
link |
01:22:24.960
in terms of graphics in terms of
link |
01:22:26.960
performance it just
link |
01:22:28.960
unlocked something deep
link |
01:22:30.960
in me in understanding
link |
01:22:32.960
what these machines are all about as games can do that
link |
01:22:34.960
so Wolfstein 3D, Doom, Quake
link |
01:22:36.960
and just all the
link |
01:22:38.960
incredible engineering innovation that went into that
link |
01:22:40.960
so how did it all
link |
01:22:42.960
start? So I'll caveat up
link |
01:22:44.960
front that I usually don't
link |
01:22:46.960
consider myself the historian
link |
01:22:48.960
of the software side of things
link |
01:22:50.960
I usually do
link |
01:22:52.960
kind of point people at John Romero
link |
01:22:54.960
for stories about the early days
link |
01:22:56.960
where
link |
01:22:58.960
I've never been like I've commented
link |
01:23:00.960
that I'm a remarkably unsentimental person
link |
01:23:02.960
in some ways where I don't really
link |
01:23:04.960
spend a lot of time unless I'm explicitly
link |
01:23:06.960
prodded to go back and think about
link |
01:23:08.960
the early days of things and
link |
01:23:10.960
I didn't
link |
01:23:12.960
necessarily make the effort to
link |
01:23:14.960
archive everything exactly in my brain
link |
01:23:16.960
and the more that I work on machine learning
link |
01:23:18.960
and AI and the aspects of memory
link |
01:23:20.960
and how when you go back and polish certain
link |
01:23:22.960
things it's not necessarily exactly
link |
01:23:24.960
the way it happened but
link |
01:23:26.960
having said all of that from
link |
01:23:28.960
my view the way everything
link |
01:23:30.960
happened that led up to that was
link |
01:23:32.960
after I was
link |
01:23:34.960
an adult kind of taking
link |
01:23:36.960
a few college classes deciding to drop
link |
01:23:38.960
out I was doing
link |
01:23:40.960
I was hard scrabble contract
link |
01:23:42.960
programming work really struggling to
link |
01:23:44.960
kind of keep groceries and pay my rent
link |
01:23:46.960
and things and the company
link |
01:23:48.960
that I was doing the most work for was
link |
01:23:50.960
a company called Soft Disk Publishing
link |
01:23:52.960
which had the
link |
01:23:54.960
Sounds Bizarre Now business model
link |
01:23:56.960
of monthly subscription software
link |
01:23:58.960
you know before there was an internet
link |
01:24:00.960
that people could connect to and get software
link |
01:24:02.960
you would pay
link |
01:24:04.960
a certain amount and every month they would send
link |
01:24:06.960
you a disk that had some random software
link |
01:24:08.960
on it and people that were into
link |
01:24:10.960
computers thought this was kind of cool and they had
link |
01:24:12.960
different ones for the Apple 2
link |
01:24:14.960
the 2GS the PC the Mac
link |
01:24:16.960
the Amiga
link |
01:24:18.960
lots of different things here so quirky little
link |
01:24:20.960
business but I was doing a lot
link |
01:24:22.960
of contract programming for them where I'd
link |
01:24:24.960
write tiny little games and sell them
link |
01:24:26.960
for $300
link |
01:24:28.960
$500 and one of the things
link |
01:24:30.960
that I was doing again to keep
link |
01:24:32.960
my head above water here was
link |
01:24:34.960
I decided that I could make
link |
01:24:36.960
one program and I could
link |
01:24:38.960
port it to multiple systems
link |
01:24:40.960
so I would write a game like
link |
01:24:42.960
dark designs or catacombs and
link |
01:24:44.960
I would develop it on the Apple 2
link |
01:24:46.960
the 2GS and the IBM PC
link |
01:24:48.960
which apparently
link |
01:24:50.960
was the thing that really kind
link |
01:24:52.960
of piqued the attention of the
link |
01:24:54.960
people working down there like Jay Wilbur
link |
01:24:56.960
was my primary editor and Tom Hall
link |
01:24:58.960
was a secondary editor
link |
01:25:00.960
and they kept asking me it's like hey
link |
01:25:02.960
you should come down and work for us here
link |
01:25:04.960
and I
link |
01:25:06.960
pushed it off a couple times because I was
link |
01:25:08.960
really enjoying my freedom of kind of being
link |
01:25:10.960
off on my own even if I was barely
link |
01:25:12.960
getting by I loved it I was
link |
01:25:14.960
doing nothing but programming all day
link |
01:25:16.960
but I did have enough
link |
01:25:18.960
close scrapes with like damn I'm just
link |
01:25:20.960
really out of money that maybe I should
link |
01:25:22.960
get an actual job
link |
01:25:24.960
rather than contracting these kind of one at
link |
01:25:26.960
a time things and Jay Wilbur
link |
01:25:28.960
was great he was like fedexing me the checks
link |
01:25:30.960
when I would need them to kind
link |
01:25:32.960
of get over whatever hump I was at
link |
01:25:34.960
so I took the
link |
01:25:36.960
I finally took them up on their offer to come
link |
01:25:38.960
down to Shreveport, Louisiana
link |
01:25:40.960
I was in Kansas City at the time
link |
01:25:42.960
drove down
link |
01:25:44.960
to through the Ozarks and everything
link |
01:25:46.960
down to Louisiana
link |
01:25:48.960
and saw the soft disk
link |
01:25:50.960
offices went through talked to a bunch of
link |
01:25:52.960
people met the people I had been working
link |
01:25:54.960
with remotely at that time
link |
01:25:56.960
but the most important thing for me
link |
01:25:58.960
was I met two programmers
link |
01:26:00.960
there John Romero and Lane Roth
link |
01:26:02.960
that for the first time ever I had met
link |
01:26:04.960
programmers that knew more
link |
01:26:06.960
cool stuff than I did where
link |
01:26:08.960
the world was just different back then I
link |
01:26:10.960
was in Kansas City it was one of those
link |
01:26:12.960
smartest kid in the school does all the
link |
01:26:14.960
computer stuff the teachers don't have anything
link |
01:26:16.960
to teach him but all I had to learn
link |
01:26:18.960
from was these few books at the library
link |
01:26:20.960
it was not much at all
link |
01:26:22.960
and there were some aspects of programming
link |
01:26:24.960
that were kind of black magic to me
link |
01:26:26.960
like it's like oh he knows how to format
link |
01:26:28.960
a track on I am you know on a
link |
01:26:30.960
low level drive programming
link |
01:26:32.960
interface and this
link |
01:26:34.960
was I was still not at all
link |
01:26:36.960
sure I was going to take the job but I met
link |
01:26:38.960
these awesome programmers that
link |
01:26:40.960
were doing cool stuff and my Romero had
link |
01:26:42.960
worked at Origin Systems and he had done
link |
01:26:44.960
like you know so many different games
link |
01:26:46.960
ahead of time
link |
01:26:48.960
that I did kind of quickly decide like
link |
01:26:50.960
yeah I'll go take the job down there
link |
01:26:52.960
and I
link |
01:26:54.960
settled down there moved in
link |
01:26:56.960
and started working on more little
link |
01:26:58.960
projects and the first kind
link |
01:27:00.960
of big change that happened down there
link |
01:27:02.960
was the company wanted to make a gaming
link |
01:27:04.960
focused a PC gaming focused
link |
01:27:06.960
subscription just like all their
link |
01:27:08.960
other was the same formula that they used for
link |
01:27:10.960
everything pay a monthly
link |
01:27:12.960
fee and you'll get a disc with
link |
01:27:14.960
one or two games just every month
link |
01:27:16.960
and no choice in what you get but we think
link |
01:27:18.960
it'll be fun and that was the model
link |
01:27:20.960
they were comfortable with and said all right
link |
01:27:22.960
we're going to start this gamers edge department
link |
01:27:24.960
and all of us that were
link |
01:27:26.960
interested in that like me Romero
link |
01:27:28.960
I Tom Hall was kind of
link |
01:27:30.960
helping us from from his side of things
link |
01:27:32.960
Jay would peak in and we had a few other
link |
01:27:34.960
programmers
link |
01:27:36.960
working with us at the time and we were
link |
01:27:38.960
going to to just start making games
link |
01:27:40.960
just the same model
link |
01:27:42.960
and we dived in and it was fantastic
link |
01:27:44.960
you have to make new games
link |
01:27:46.960
every month every month
link |
01:27:48.960
yeah and this in
link |
01:27:50.960
retrospect looking back at it that sense
link |
01:27:52.960
that I had done all this contract programming
link |
01:27:54.960
and John Romero had done
link |
01:27:56.960
like far more of this where he had done one
link |
01:27:58.960
of his teaching himself efforts was he
link |
01:28:00.960
made a game for every letter of the alphabet
link |
01:28:02.960
that sense of like I'm just going to go make
link |
01:28:04.960
26 different games give him a different
link |
01:28:06.960
theme and you learn
link |
01:28:08.960
so much when you go through and you
link |
01:28:10.960
crank these things out like on a
link |
01:28:12.960
bi weekly monthly basis something
link |
01:28:14.960
to finish it's not like an I just
link |
01:28:16.960
an idea it's not just
link |
01:28:18.960
from from the very beginning to the very end
link |
01:28:20.960
it's done
link |
01:28:22.960
it has to be done there's no delaying
link |
01:28:24.960
it's done and you've got deadlines
link |
01:28:26.960
and that kind of
link |
01:28:28.960
rapid iteration pressure cooker
link |
01:28:30.960
environment was super important
link |
01:28:32.960
for all of us developing the skills
link |
01:28:34.960
that I you know that brought us
link |
01:28:36.960
to where we eventually went to I mean
link |
01:28:38.960
we would say like like in the history of the
link |
01:28:40.960
Beatles like it wasn't them being the Beatles
link |
01:28:42.960
it was them playing all of these other
link |
01:28:44.960
I am you know early works that that
link |
01:28:46.960
opportunity to craft all of their skills
link |
01:28:48.960
before they were famous that was
link |
01:28:50.960
very critical to their later successes
link |
01:28:52.960
and I think there's a lot of that here
link |
01:28:54.960
where we did these games that
link |
01:28:56.960
nobody remembers lots
link |
01:28:58.960
of little things that contributed
link |
01:29:00.960
to building up the skill set for the things
link |
01:29:02.960
that eventually did make us famous
link |
01:29:04.960
and just to ask you wrote the
link |
01:29:06.960
gambler I had to
link |
01:29:08.960
write it in a month just
link |
01:29:10.960
make money and nobody
link |
01:29:12.960
remembers that probably because he had to
link |
01:29:14.960
figure out because it's literally
link |
01:29:16.960
he he didn't have enough
link |
01:29:18.960
time to write it fast enough
link |
01:29:20.960
said to come up with hacks
link |
01:29:22.960
literally comes down to that
link |
01:29:24.960
point where pressure and limitation of
link |
01:29:26.960
resources is surprisingly
link |
01:29:28.960
important and it's
link |
01:29:30.960
counterintuitive in a lot of ways where you just
link |
01:29:32.960
think that if you've got all the time in the world
link |
01:29:34.960
and you've got all the resources in the world
link |
01:29:36.960
of course you're going to get something better
link |
01:29:38.960
but sometimes it really does work out that
link |
01:29:40.960
the you know I
link |
01:29:42.960
innovations mother necessity and you know
link |
01:29:44.960
where you can resource constraints and you
link |
01:29:46.960
have to do things when you don't have a choice
link |
01:29:48.960
it's surprising what you can do
link |
01:29:50.960
is there any good games written in that time
link |
01:29:52.960
would you say some of them are still fun to
link |
01:29:54.960
go back and play where
link |
01:29:56.960
you get the
link |
01:29:58.960
they were they were all about kind of the more
link |
01:30:00.960
modern term is game feel about how
link |
01:30:02.960
exact feel that things it's not the grand
link |
01:30:04.960
strategy of the design but how
link |
01:30:06.960
running and jumping and shooting and those
link |
01:30:08.960
things I feel in the
link |
01:30:10.960
in the moment and some of those are still
link |
01:30:12.960
you if you sat down on them you kind of go
link |
01:30:14.960
it's a little bit different it doesn't have the same
link |
01:30:16.960
movement feel but you move over and you're
link |
01:30:18.960
like bang jump bang it's like
link |
01:30:20.960
hey that's kind of cool still
link |
01:30:22.960
so you can get lost in the rhythm of the
link |
01:30:24.960
game like that is that what you mean by feel
link |
01:30:26.960
just like
link |
01:30:28.960
there's something about it that pulls you in
link |
01:30:30.960
nowadays again people talk about
link |
01:30:32.960
compulsion loops and things where it's that
link |
01:30:34.960
I am that sense of exactly
link |
01:30:36.960
what you're doing what your fingers are doing on
link |
01:30:38.960
the keyboard what your eyes are seeing
link |
01:30:40.960
and they're going to be the sequences of things
link |
01:30:42.960
grab the loot shoot the monster jump over
link |
01:30:44.960
the opposite will get to the end of the level
link |
01:30:46.960
these are eternal aspects of game design
link |
01:30:48.960
in a lot of ways but
link |
01:30:50.960
there are better and worse ways to do all of
link |
01:30:52.960
them and we did so many of these
link |
01:30:54.960
games that it was I we got
link |
01:30:56.960
a lot of practice with it
link |
01:30:58.960
so one of the kind of weird things
link |
01:31:00.960
that was happening at this time is
link |
01:31:02.960
John Romero was getting some
link |
01:31:04.960
some strange fan mail
link |
01:31:06.960
and back in the days this was before email
link |
01:31:08.960
so we literally got letters sometimes
link |
01:31:10.960
and telling him it's like oh I
link |
01:31:12.960
want to talk to you about your games I want to
link |
01:31:14.960
reach out different things
link |
01:31:16.960
and eventually
link |
01:31:18.960
it turned out that these were all coming
link |
01:31:20.960
from Scott Miller at Apigee Software
link |
01:31:22.960
and
link |
01:31:24.960
he was reaching out through he didn't think
link |
01:31:26.960
he could contact John directly that he would
link |
01:31:28.960
get intercepted so he was trying to get
link |
01:31:30.960
him to contact him through like
link |
01:31:32.960
back channel fan mail because he basically
link |
01:31:34.960
was saying hey I'm making all this money
link |
01:31:36.960
on shareware games
link |
01:31:38.960
I want you to make shareware games
link |
01:31:40.960
because he had seen some of the games
link |
01:31:42.960
that Romero had done
link |
01:31:44.960
and you know we looked at
link |
01:31:46.960
Scott Miller's games and we didn't think
link |
01:31:48.960
they were very good I am we're like
link |
01:31:50.960
that can't be making the kind
link |
01:31:52.960
of money that he's saying he's making 10 grand
link |
01:31:54.960
thing I am off of this game
link |
01:31:56.960
and we really thought that he was full
link |
01:31:58.960
of shit that it was a lie trying to
link |
01:32:00.960
get to get him into this
link |
01:32:02.960
but so that was kind of going on at
link |
01:32:04.960
I am you know at one level
link |
01:32:06.960
he was and it was funny the moment
link |
01:32:08.960
when Romero realized that he had some
link |
01:32:10.960
of these letters pinned up on his wall like all of
link |
01:32:12.960
his fans and then we noticed that they all had the same
link |
01:32:14.960
return address with different names on them
link |
01:32:16.960
which was a little bit of a two inch sort
link |
01:32:18.960
there trying to
link |
01:32:20.960
figure out the puzzle laid out before
link |
01:32:22.960
him yeah what happened after I kind of
link |
01:32:24.960
coincident with that was
link |
01:32:26.960
I was working on a lot of the new
link |
01:32:28.960
technologies where
link |
01:32:30.960
I was now full on the IBM PC
link |
01:32:32.960
for the first time where I was really
link |
01:32:34.960
a long hold out on Apple 2 forever
link |
01:32:36.960
and I you know I loved my Apple 2
link |
01:32:38.960
it was the computer I was wished I had when I was
link |
01:32:40.960
growing up and when I finally did have one
link |
01:32:42.960
I was I was kind of clinging on
link |
01:32:44.960
to that well past it's sort of good use
link |
01:32:46.960
by the best computer ever made you would you say
link |
01:32:48.960
um I wouldn't
link |
01:32:50.960
make judgments like that about it but it
link |
01:32:52.960
was positioned in such a way especially
link |
01:32:54.960
in the school systems that it impacted
link |
01:32:56.960
a whole lot of American
link |
01:32:58.960
programmers at least where
link |
01:33:00.960
there was programs that the Apple 2's got
link |
01:33:02.960
into the schools and they had enough
link |
01:33:04.960
capability that lots of interesting things
link |
01:33:06.960
happened with them you know in Europe
link |
01:33:08.960
it was different you had your Amiga's and
link |
01:33:10.960
Atari's and you know I'm acorns
link |
01:33:12.960
in the UK and things that
link |
01:33:14.960
that had different things but in the United States
link |
01:33:16.960
it was probably the Apple 2 made the most
link |
01:33:18.960
impact for a lot
link |
01:33:20.960
of programmers of my generation
link |
01:33:22.960
but so I was really digging
link |
01:33:24.960
into the IBM and this was
link |
01:33:26.960
even more so with the total
link |
01:33:28.960
focus because I had moved to another city
link |
01:33:30.960
where I didn't know anybody that I wasn't working
link |
01:33:32.960
with I had a little apartment
link |
01:33:34.960
and then at Softisk again the
link |
01:33:36.960
things that that drew me to it I had
link |
01:33:38.960
a couple programmers that knew more than
link |
01:33:40.960
I did and they had a
link |
01:33:42.960
library they had a set of books
link |
01:33:44.960
and a set of magazines they had a couple years
link |
01:33:46.960
ago they had a set of magazines the old
link |
01:33:48.960
Dr. Dobbs Journal and all of these
link |
01:33:50.960
magazines that had information
link |
01:33:52.960
about things and so
link |
01:33:54.960
I was just in total immersion
link |
01:33:56.960
mode it was Eat, Breathe, Sleep
link |
01:33:58.960
computer programming particularly the IBM
link |
01:34:00.960
for everything that I was
link |
01:34:02.960
doing and I was digging into
link |
01:34:04.960
a lot of these low level hardware details
link |
01:34:06.960
that people weren't usually paying
link |
01:34:08.960
attention to the way the IBM
link |
01:34:10.960
EGA cards worked
link |
01:34:12.960
which was fun for me I hadn't
link |
01:34:14.960
experienced with things at that level
link |
01:34:16.960
and back then you could get
link |
01:34:18.960
hardware documentation just down at the register
link |
01:34:20.960
levels this is where the CRTC
link |
01:34:22.960
register is this is how the
link |
01:34:24.960
color registers work and how the different things
link |
01:34:26.960
are applied and they were designed
link |
01:34:28.960
for a certain reason they were designed
link |
01:34:30.960
for an application they had
link |
01:34:32.960
an intended use in mind but
link |
01:34:34.960
I was starting to look at other
link |
01:34:36.960
ways that they could perhaps be exploited
link |
01:34:38.960
that they weren't initially intended for
link |
01:34:40.960
because you comment on like
link |
01:34:42.960
how the operating system was there
link |
01:34:44.960
what instructions said
link |
01:34:46.960
what are we talking about?
link |
01:34:48.960
So this was DOS and X86
link |
01:34:50.960
so 16 bit 8086
link |
01:34:52.960
the two 86's were there and
link |
01:34:54.960
three 86's existed they were rare
link |
01:34:56.960
we had a couple for our development systems
link |
01:34:58.960
but we were still targeting
link |
01:35:00.960
the more broad I
link |
01:35:02.960
it was all DOS 16 bit
link |
01:35:04.960
none of this was kind of DOS extenders
link |
01:35:06.960
and things. How different is it from the systems
link |
01:35:08.960
of today's it's kind of a precursor
link |
01:35:10.960
that's similar? Very little
link |
01:35:12.960
if you open up command.exe
link |
01:35:14.960
on or com on
link |
01:35:16.960
windows you see some of the remnants
link |
01:35:18.960
of all of that but it was a different world
link |
01:35:20.960
it was the 640k is enough
link |
01:35:22.960
world and nothing was
link |
01:35:24.960
protected it crashed all the time you had
link |
01:35:26.960
TSR's or terminate and stay
link |
01:35:28.960
resident hacks on top of things
link |
01:35:30.960
that would cause configuration problems
link |
01:35:32.960
all the hardware was manually
link |
01:35:34.960
configured in your auto exec
link |
01:35:36.960
so it was a very different world
link |
01:35:38.960
but the code is still the same similar
link |
01:35:40.960
you would still write
link |
01:35:42.960
my earliest code there was written in Pascal
link |
01:35:44.960
that was what I had learned
link |
01:35:46.960
between basic
link |
01:35:48.960
and C++ there's Pascal
link |
01:35:50.960
so when basic assembly language
link |
01:35:52.960
some of my intermediate
link |
01:35:54.960
stuff was well you had to for performance
link |
01:35:56.960
basic was just too slow so
link |
01:35:58.960
most of the work that I was doing as a contract
link |
01:36:00.960
programmer in my teenage years
link |
01:36:02.960
was assembly language
link |
01:36:04.960
you wrote games in assembly?
link |
01:36:06.960
yeah complete games
link |
01:36:08.960
in assembly language
link |
01:36:10.960
and it's thousands and thousands of lines
link |
01:36:12.960
of three letter acronyms for the
link |
01:36:14.960
instructions
link |
01:36:16.960
you don't earn the once again
link |
01:36:18.960
greatest programmer ever labeled
link |
01:36:20.960
without being able to write a game in assembly
link |
01:36:22.960
that's again everybody wrote there
link |
01:36:24.960
everybody serious wrote their games in assembly language
link |
01:36:26.960
it was kind of a
link |
01:36:28.960
everybody serious
link |
01:36:30.960
it was an outlier to use
link |
01:36:32.960
Pascal a little bit where there was one
link |
01:36:34.960
famous program called wizardry
link |
01:36:36.960
it was one of the great early role playing games
link |
01:36:38.960
that was written in Pascal
link |
01:36:40.960
but it was almost nothing used
link |
01:36:42.960
Pascal there but I did learn Pascal
link |
01:36:44.960
and I remember doing all of my
link |
01:36:46.960
like to this day I sketch in data structures
link |
01:36:48.960
when I'm thinking about something
link |
01:36:50.960
I'll open up a file
link |
01:36:52.960
and I'll start writing struct definitions
link |
01:36:54.960
for how data is going to be laid out
link |
01:36:56.960
and Pascal was kind of formative to that
link |
01:36:58.960
because I remember designing my rpgs
link |
01:37:00.960
in Pascal record structures
link |
01:37:02.960
and things like that and so I had
link |
01:37:04.960
I've gotten a Pascal compiler
link |
01:37:06.960
for the Apple 2GS that I could work on
link |
01:37:08.960
in the first IBM game that I developed
link |
01:37:10.960
I did in Pascal and
link |
01:37:12.960
and that's actually kind of an interesting story
link |
01:37:14.960
again talking about the constraints and resources
link |
01:37:16.960
where
link |
01:37:18.960
I had an Apple 2GS I didn't have an IBM PC
link |
01:37:20.960
I wanted to port my
link |
01:37:22.960
applications to IBM because
link |
01:37:24.960
I thought I could make more money on it
link |
01:37:26.960
so what I wound up doing is
link |
01:37:28.960
I rented a PC for a week
link |
01:37:30.960
and bought a copy of Turbo Pascal
link |
01:37:32.960
and so I had a hard
link |
01:37:34.960
one week and this was cutting into
link |
01:37:36.960
what minimal profit margin I had there
link |
01:37:38.960
but I had this computer for a week
link |
01:37:40.960
I had to get my program ported
link |
01:37:42.960
before I had to return the PC
link |
01:37:44.960
and that was kind of the first thing
link |
01:37:46.960
that I had done on the IBM PC
link |
01:37:48.960
and what led me to taking the job at Softisk
link |
01:37:50.960
and Turbo Pascal
link |
01:37:52.960
how's that different from regular Pascal
link |
01:37:54.960
is it different compiler or something like that
link |
01:37:56.960
so it was a product of Borland
link |
01:37:58.960
before Microsoft kind of killed them
link |
01:38:00.960
they were the hot stuff
link |
01:38:02.960
developer tools company
link |
01:38:04.960
Borland, Turbo Pascal, Turbo C
link |
01:38:06.960
and Turbo Prolog, I mean all the different things
link |
01:38:08.960
but what they did was
link |
01:38:10.960
they took a supremely pragmatic approach
link |
01:38:12.960
of making something useful
link |
01:38:14.960
it was one of these great examples where
link |
01:38:16.960
Pascal was an academic language
link |
01:38:18.960
and you had things like the UCSDP system
link |
01:38:20.960
that Wizardry was actually
link |
01:38:22.960
written in that they did
link |
01:38:24.960
they did manage to make a game with that
link |
01:38:26.960
but it was
link |
01:38:28.960
not a super practical system
link |
01:38:30.960
while Turbo Pascal was
link |
01:38:32.960
it was called Turbo because it was blazingly fast
link |
01:38:34.960
to compile I mean really ridiculously
link |
01:38:36.960
10 to 20 times
link |
01:38:38.960
faster than most other compilers at the time
link |
01:38:40.960
but it also had very
link |
01:38:42.960
pragmatic access to look you can just
link |
01:38:44.960
poke at the hardware in these different ways
link |
01:38:46.960
and we have libraries that let you do things
link |
01:38:48.960
and it was a pretty good
link |
01:38:50.960
it was a perfectly good way to write games
link |
01:38:52.960
and this is one of those things where people have talked about
link |
01:38:54.960
different paths that computer
link |
01:38:56.960
development could have taken
link |
01:38:58.960
where C took over the world
link |
01:39:00.960
for reasons that came out of Unix
link |
01:39:02.960
and eventually Linux
link |
01:39:04.960
and that was not a foregone conclusion at all
link |
01:39:06.960
and people can make
link |
01:39:08.960
real reasoned rational arguments
link |
01:39:10.960
that the world might have been better
link |
01:39:12.960
if it had gone a Pascal route
link |
01:39:14.960
I'm somewhat agnostic on that
link |
01:39:16.960
where I do know from experience
link |
01:39:18.960
it was perfectly good enough to do
link |
01:39:20.960
do that and it had some fundamental improvements
link |
01:39:22.960
like it had range checked arrays
link |
01:39:24.960
as an option there which could avoid
link |
01:39:26.960
many of C's
link |
01:39:28.960
real hazards that happened in a security space
link |
01:39:30.960
but C1
link |
01:39:32.960
they were basically operating at about the same level of abstraction
link |
01:39:34.960
it was a systems programming language
link |
01:39:36.960
but
link |
01:39:38.960
but you said Pascal had more emphasis on data structures
link |
01:39:40.960
actually
link |
01:39:42.960
in the tree of languages
link |
01:39:44.960
did Pascal come before C
link |
01:39:46.960
they were pretty contemporaneous
link |
01:39:48.960
so Pascal's lineage went to
link |
01:39:50.960
Modula 2 and eventually Oberon
link |
01:39:52.960
which was another Nicholas word
link |
01:39:54.960
kind of
link |
01:39:56.960
experimental language
link |
01:39:58.960
but they were all good enough at that level
link |
01:40:00.960
now some of the classic
link |
01:40:02.960
academic oriented Pascal's were just missing
link |
01:40:04.960
fundamental things like oh you can't access
link |
01:40:06.960
this core system thing because we're just using it
link |
01:40:08.960
to teach students but
link |
01:40:10.960
Turbo Pascal showed that only modest changes
link |
01:40:12.960
to it really did make it
link |
01:40:14.960
a completely capable language
link |
01:40:16.960
and it had some reasons why
link |
01:40:18.960
you could implement it as a single pass compiler
link |
01:40:20.960
so it could be way way faster
link |
01:40:22.960
although less scope for optimizations
link |
01:40:24.960
if you do it that way
link |
01:40:26.960
and it did have some range checking options
link |
01:40:28.960
it had a little bit better typing capability
link |
01:40:30.960
you'd have properly typed enums
link |
01:40:32.960
sorts of things and other stuff that C lacked
link |
01:40:34.960
but C was also
link |
01:40:36.960
clearly good enough and it wound up with
link |
01:40:38.960
a huge inertia from the UNIX
link |
01:40:40.960
ecosystem and everything that came with that
link |
01:40:42.960
garbage collection
link |
01:40:44.960
no it was not garbage collected
link |
01:40:46.960
so you could still have your use after freeze
link |
01:40:48.960
and all those other problems
link |
01:40:50.960
just getting rid of array overruns
link |
01:40:52.960
at least if you were compiled with that
link |
01:40:54.960
debugging option certainly would have avoided
link |
01:40:56.960
a lot of problems and could have a lot of
link |
01:40:58.960
benefits but so anyways that was the next
link |
01:41:00.960
thing I had to learn C because C
link |
01:41:02.960
was where it seemed like most of the
link |
01:41:04.960
things were going
link |
01:41:06.960
so I abandoned Pascal and I started working
link |
01:41:08.960
in C I started hacking on these hardware
link |
01:41:10.960
things dealing with
link |
01:41:12.960
the graphics controllers and the EGA systems
link |
01:41:14.960
and what we most
link |
01:41:16.960
wanted to do so at that time
link |
01:41:18.960
we had
link |
01:41:20.960
we were sitting in our darkened office playing
link |
01:41:22.960
all the different console video games
link |
01:41:24.960
and we were figuring out what do we want to
link |
01:41:26.960
what games do we want to make for our
link |
01:41:28.960
gamers edge product there
link |
01:41:30.960
and so we had one of the first Super
link |
01:41:32.960
Nintendos sitting there and we had
link |
01:41:34.960
an older Nintendo looking at all those
link |
01:41:36.960
games and the core thing that those consoles
link |
01:41:38.960
did that you just didn't get on the PC
link |
01:41:40.960
games was this ability to have
link |
01:41:42.960
a massive scrolling world
link |
01:41:44.960
where most of the games that you would make on the
link |
01:41:46.960
PC and early
link |
01:41:48.960
earlier personal computers would be a static
link |
01:41:50.960
screen you move little things around on it
link |
01:41:52.960
and you interact like that
link |
01:41:54.960
maybe you go to additional screens as
link |
01:41:56.960
you know as you move but
link |
01:41:58.960
arcade games and consoles had this
link |
01:42:00.960
wonderful ability to just have a big
link |
01:42:02.960
world that you're slowly moving your
link |
01:42:04.960
window through and that was
link |
01:42:06.960
for those types of games that kind of action
link |
01:42:08.960
exploration adventure games that was a
link |
01:42:10.960
super super important thing
link |
01:42:12.960
and PC games just didn't do
link |
01:42:14.960
that and what I
link |
01:42:16.960
had come across was a couple different
link |
01:42:18.960
techniques for implementing that
link |
01:42:20.960
on the PC and they're not
link |
01:42:22.960
hard complicated things
link |
01:42:24.960
when I explain them now they're
link |
01:42:26.960
they're pretty straightforward but just nobody was doing
link |
01:42:28.960
you sound like Einstein describing his
link |
01:42:30.960
five papers is pretty straightforward
link |
01:42:32.960
I understand but they're
link |
01:42:34.960
nevertheless revolutions so size scrolling
link |
01:42:36.960
is a game changer
link |
01:42:38.960
it's a genius invention
link |
01:42:40.960
and some of the consoles had different
link |
01:42:42.960
limitations about you could do one but not the
link |
01:42:44.960
other and there were similar things
link |
01:42:46.960
going on as advancements even in the console
link |
01:42:48.960
space where you'd have like the original
link |
01:42:50.960
Mario game was
link |
01:42:52.960
just horizontal scrolling and then later
link |
01:42:54.960
Mario games added vertical aspects to
link |
01:42:56.960
it and different things that
link |
01:42:58.960
you were doing to explore
link |
01:43:00.960
kind of expand the capabilities there
link |
01:43:02.960
and so much of the early game design for
link |
01:43:04.960
decades was removing limitations
link |
01:43:06.960
letting you do things that you envisioned
link |
01:43:08.960
as a designer you wanted the player to
link |
01:43:10.960
experience but the hardware just
link |
01:43:12.960
couldn't really or you didn't know
link |
01:43:14.960
how to make it happen it felt
link |
01:43:16.960
impossible you can imagine
link |
01:43:18.960
that you want to create like this
link |
01:43:20.960
big world through which you can
link |
01:43:22.960
size scroll like through which you can
link |
01:43:24.960
walk and then
link |
01:43:26.960
you ask yourself a question how do I
link |
01:43:28.960
actually build that in a way that's
link |
01:43:30.960
like the the latency
link |
01:43:32.960
is low enough the hardware
link |
01:43:34.960
can actually deliver that
link |
01:43:36.960
in such a way that it's a company
link |
01:43:38.960
and we knew what we wanted to do because
link |
01:43:40.960
we were playing all of these console games
link |
01:43:42.960
playing all these Nintendo games and arcade games
link |
01:43:44.960
clearly there is a whole world of awesome
link |
01:43:46.960
things there that we just couldn't do on
link |
01:43:48.960
the PC at least initially
link |
01:43:50.960
because every programmer can tell
link |
01:43:52.960
it's like if you want to scroll you can just redraw
link |
01:43:54.960
the whole screen but then it turns out well
link |
01:43:56.960
you're going five frames per second
link |
01:43:58.960
that's not an interactive fun experience
link |
01:44:00.960
you want to be going 30 or 60
link |
01:44:02.960
frames per second or something
link |
01:44:04.960
and it just didn't feel like that was possible
link |
01:44:06.960
it felt like the PCs had to get
link |
01:44:08.960
five times faster for you to make
link |
01:44:10.960
a playable game there
link |
01:44:12.960
and interestingly I wound up with
link |
01:44:14.960
two completely different solutions
link |
01:44:16.960
for the scrolling problem
link |
01:44:18.960
and this is
link |
01:44:20.960
this is a theme that runs through everything
link |
01:44:22.960
where all of these big technical advancements
link |
01:44:24.960
it turns out there's always a couple
link |
01:44:26.960
different ways of doing them and
link |
01:44:28.960
it's not like you found the one true
link |
01:44:30.960
way of doing it and we'll see this
link |
01:44:32.960
as we go into 3D games and things later
link |
01:44:34.960
but so the scrolling
link |
01:44:36.960
the first set of scrolling tricks that I got
link |
01:44:38.960
was
link |
01:44:40.960
the hardware had this ability to
link |
01:44:42.960
you could shift
link |
01:44:44.960
like inside the window of memory
link |
01:44:46.960
so the EGA cards at the time
link |
01:44:48.960
had 256 kilobytes of memory
link |
01:44:50.960
and it was
link |
01:44:52.960
awkwardly set up in this planer format
link |
01:44:54.960
where instead of
link |
01:44:56.960
having 256 or
link |
01:44:58.960
you know 24 million colors
link |
01:45:00.960
you had 16 colors which is 4 bits
link |
01:45:02.960
so you had 4 bit planes
link |
01:45:04.960
64k a piece of course
link |
01:45:06.960
64k is a nice round number
link |
01:45:08.960
for 16 bit addressing
link |
01:45:10.960
so your graphics card had a 16 bit
link |
01:45:12.960
window that you could
link |
01:45:14.960
look at and you could tell it to start
link |
01:45:16.960
the video scan out anywhere inside there
link |
01:45:18.960
so there were a couple games
link |
01:45:20.960
that had taken this approach if you could make
link |
01:45:22.960
a 2x2 screen or a 1x4 screen
link |
01:45:24.960
and you could do scrolling
link |
01:45:26.960
really easily like that you could just lay it
link |
01:45:28.960
all out and just pan around there
link |
01:45:30.960
but you just couldn't make it any bigger
link |
01:45:32.960
because that's all the memory that was there
link |
01:45:34.960
the first insight to the scrolling
link |
01:45:36.960
that I had was well
link |
01:45:38.960
if we make a screen that's just
link |
01:45:40.960
one tile larger you know and we usually
link |
01:45:42.960
had tiles that were 16 pixels by 16
link |
01:45:44.960
pixels the little classic Mario
link |
01:45:46.960
block that you run into
link |
01:45:48.960
lots of art gets drawn that way
link |
01:45:50.960
and your screen is a certain number of tiles
link |
01:45:52.960
but if you had one little buffer region
link |
01:45:54.960
outside of that
link |
01:45:56.960
you could easily pan around inside that
link |
01:45:58.960
16 pixel region that could be perfectly
link |
01:46:00.960
smooth but then what happens
link |
01:46:02.960
if you get to the edge and you want to keep going
link |
01:46:04.960
the first way we did
link |
01:46:06.960
scrolling was what I called
link |
01:46:08.960
adaptive tile refresh
link |
01:46:10.960
which was really just a matter of you get
link |
01:46:12.960
to the edge and then you go back
link |
01:46:14.960
to the original point and then only
link |
01:46:16.960
change the tiles that have
link |
01:46:18.960
actually that are different between where
link |
01:46:20.960
it was in most of the games at the time
link |
01:46:22.960
if you think about sort of your
link |
01:46:24.960
classic Super Mario Brothers game
link |
01:46:26.960
you've got big fields of blue sky
link |
01:46:28.960
long rows of
link |
01:46:30.960
the same brick texture
link |
01:46:32.960
and there's a lot of commonality
link |
01:46:34.960
it's kind of like a data compression thing
link |
01:46:36.960
if you take the screen and you set it down
link |
01:46:38.960
on top of each other in general
link |
01:46:40.960
only about 10% of the tiles
link |
01:46:42.960
were actually different there
link |
01:46:44.960
so this was a way to
link |
01:46:46.960
go ahead and say well I'm going to move it back
link |
01:46:48.960
and then I'm only going to change those
link |
01:46:50.960
10, 20, whatever percent
link |
01:46:52.960
tiles there and that meant
link |
01:46:54.960
that it was essentially five times
link |
01:46:56.960
faster than if you were redrawing all of the
link |
01:46:58.960
tiles and that worked well enough
link |
01:47:00.960
for us to do a bunch of these games
link |
01:47:02.960
for Gamers Edge
link |
01:47:04.960
we had a lot of these scrolling games like
link |
01:47:06.960
Slurnax and Shadow Knights and things like
link |
01:47:08.960
that that we were cranking out at this high
link |
01:47:10.960
rate that had this scrolling effect on it
link |
01:47:12.960
and it worked well enough there were design
link |
01:47:14.960
challenges there where
link |
01:47:16.960
if you made the worst case if you made a
link |
01:47:18.960
report over the entire screen
link |
01:47:20.960
you scroll over one and every single tile
link |
01:47:22.960
changes and your frame rate is now five frames
link |
01:47:24.960
per second because it had to redraw everything
link |
01:47:26.960
so the designers had a little bit
link |
01:47:28.960
that they had to worry about they had to make
link |
01:47:30.960
these relatively plain looking levels
link |
01:47:32.960
but it was still pretty magical
link |
01:47:34.960
it was something that we hadn't seen before
link |
01:47:36.960
and
link |
01:47:38.960
the first thing that we wound up doing
link |
01:47:40.960
with that was I had just gotten this
link |
01:47:42.960
working and Tom Hall
link |
01:47:44.960
was sitting there with me and
link |
01:47:46.960
we were looking over at our Super Nintendo
link |
01:47:48.960
on the side there with Super Mario
link |
01:47:50.960
3 running and we had
link |
01:47:52.960
the technology we had the
link |
01:47:54.960
tools set up there and we stayed up all night
link |
01:47:56.960
and we basically cloned
link |
01:47:58.960
the first level of Super Mario Brothers
link |
01:48:00.960
performance wise as well
link |
01:48:02.960
and so it and we had our little character
link |
01:48:04.960
running and jumping in there it wasn't
link |
01:48:06.960
it was close to pixel accurate as far as
link |
01:48:08.960
all the backgrounds and everything
link |
01:48:10.960
but the gaming was just stuff that we cobbled
link |
01:48:12.960
together from previous games that I had
link |
01:48:14.960
written I just kind of like really
link |
01:48:16.960
kick bash the whole thing together to make this demo
link |
01:48:18.960
and that was one of the rare cases
link |
01:48:20.960
when I said I don't usually do
link |
01:48:22.960
these all night programming things
link |
01:48:24.960
there's probably only two memorable ones
link |
01:48:26.960
that I can think about you know one
link |
01:48:28.960
was the all nighter to go ahead and get
link |
01:48:30.960
I am to get our dangerous Dave
link |
01:48:32.960
and copyright infringement is how we
link |
01:48:34.960
titled it because we had a game called dangerous Dave
link |
01:48:36.960
was you know running around with the shotgun shooting
link |
01:48:38.960
things I and we were
link |
01:48:40.960
just taking our most beloved game at the time
link |
01:48:42.960
there the Super Mario 3
link |
01:48:44.960
and sort of sticking Dave inside that
link |
01:48:46.960
with this new scrolling technology that
link |
01:48:48.960
was going perfectly smooth for
link |
01:48:50.960
I am you know for them
link |
01:48:52.960
as it ran and Tom
link |
01:48:54.960
and I just kind of blurrily the next morning
link |
01:48:56.960
you know kind of left and we left
link |
01:48:58.960
a disc on I you know on the
link |
01:49:00.960
desk for John Romero and Jay Wilbur
link |
01:49:02.960
to see and just said run this
link |
01:49:04.960
and we eventually made it back in
link |
01:49:06.960
later in the day and
link |
01:49:08.960
it was you know like they grabbed
link |
01:49:10.960
us and pulled us in you know pulled us
link |
01:49:12.960
into the room and that was the point where
link |
01:49:14.960
they were like we got to do something
link |
01:49:16.960
with this you know we're we're going to make
link |
01:49:18.960
a company we're going to go make our own
link |
01:49:20.960
games where this was something that
link |
01:49:22.960
we we were able to just kind of hit them
link |
01:49:24.960
with a hammer of an experience like wow
link |
01:49:26.960
this is just like so much cooler than
link |
01:49:28.960
what we thought was possible
link |
01:49:30.960
there and initially we tried
link |
01:49:32.960
to get Nintendo to to let us make
link |
01:49:34.960
Super Mario 3 on the PC
link |
01:49:36.960
that's really what we wanted to do we're like
link |
01:49:38.960
hey we can finish this it's line
link |
01:49:40.960
of sight for this will be great
link |
01:49:42.960
and we sent something to Nintendo
link |
01:49:44.960
and we heard that it did get looked at
link |
01:49:46.960
in Japan and they just
link |
01:49:48.960
weren't interested in that
link |
01:49:50.960
but that's another one of those life could have gone
link |
01:49:52.960
a very different way where we could have been
link |
01:49:54.960
like Nintendo's house PC team
link |
01:49:56.960
you know at that point
link |
01:49:58.960
and defined the direction of
link |
01:50:00.960
you know
link |
01:50:02.960
Wolfenstein
link |
01:50:04.960
and Doom and Quake
link |
01:50:06.960
has been a Nintendo creation
link |
01:50:08.960
yeah so at the same time
link |
01:50:10.960
that we were just doing our first scrolling
link |
01:50:12.960
demos I'm
link |
01:50:14.960
we reached out to Scott Miller at
link |
01:50:16.960
Apigee and said it's like hey we do
link |
01:50:18.960
want to make some games you know these things
link |
01:50:20.960
that you think you want those are those are nothing
link |
01:50:22.960
what do you see what we can actually do now this
link |
01:50:24.960
is going to be amazing and
link |
01:50:26.960
he just like popped right up and sent a check
link |
01:50:28.960
to us where we at that point
link |
01:50:30.960
we still thought he might be a fraud that
link |
01:50:32.960
he was just lying about all of this but he
link |
01:50:34.960
was totally correct on how much money
link |
01:50:36.960
he was making with his shareware titles
link |
01:50:38.960
and this was his
link |
01:50:40.960
his kind of real brainstorm about this
link |
01:50:42.960
where shareware was this idea
link |
01:50:44.960
that software doesn't have a fixed price
link |
01:50:46.960
if you use it you send out of the goodness
link |
01:50:48.960
of your heart some money to the creator
link |
01:50:50.960
and there were a couple utilities
link |
01:50:52.960
that did make some significant success
link |
01:50:54.960
like that but for the most part
link |
01:50:56.960
it didn't really work you know there wasn't
link |
01:50:58.960
much software in a pure shareware
link |
01:51:00.960
model that that was successful
link |
01:51:02.960
the apogee
link |
01:51:04.960
innovation was to
link |
01:51:06.960
take something call it shareware
link |
01:51:08.960
split it into three pieces you always made a trilogy
link |
01:51:10.960
and you would
link |
01:51:12.960
put the first piece out but then you buy
link |
01:51:14.960
the whole trilogy for
link |
01:51:16.960
some shareware amount which in reality
link |
01:51:18.960
it meant that the first part was a demo
link |
01:51:20.960
where you kind of like the demo went
link |
01:51:22.960
everywhere for free and you paid money to
link |
01:51:24.960
to get the whole set but
link |
01:51:26.960
it was still played as shareware and we were
link |
01:51:28.960
happy to have the first one go everywhere
link |
01:51:30.960
and it wasn't a crippled demo where the
link |
01:51:32.960
first episode of all these trilogies
link |
01:51:34.960
it was a real complete game and probably
link |
01:51:36.960
20 times as many people
link |
01:51:38.960
played that part of it thought they had a great game
link |
01:51:40.960
had found memories
link |
01:51:42.960
of it but never paid us a dime
link |
01:51:44.960
but enough people
link |
01:51:46.960
were happy with that where
link |
01:51:48.960
it was really quite successful and these
link |
01:51:50.960
early games that we didn't think very much
link |
01:51:52.960
of compared to commercial quality
link |
01:51:54.960
games but they were doing really good
link |
01:51:56.960
business some fairly crude
link |
01:51:58.960
things and people it was good
link |
01:52:00.960
business people enjoyed it and
link |
01:52:02.960
it wasn't like you were taking a crapshoot on what
link |
01:52:04.960
you were getting you just played a third of the
link |
01:52:06.960
experience and you loved it enough
link |
01:52:08.960
to hand write out a check
link |
01:52:10.960
and put it in an envelope and address it
link |
01:52:12.960
and send it out to Apogee
link |
01:52:14.960
to get the rest of them so
link |
01:52:16.960
it was a really pretty feel good
link |
01:52:18.960
business prospect there because
link |
01:52:20.960
everybody was happy
link |
01:52:22.960
you know they knew what they were getting
link |
01:52:24.960
when they send it in and they would send in
link |
01:52:26.960
mail if you're going to the trouble of addressing
link |
01:52:28.960
a letter and I am filling out
link |
01:52:30.960
an envelope you write something in it and
link |
01:52:32.960
there were just the literal bags of fan mail
link |
01:52:34.960
for the shareware
link |
01:52:36.960
games so people loved them
link |
01:52:38.960
I should mention that for you
link |
01:52:40.960
the definition of wealth is being
link |
01:52:42.960
able to have pizza
link |
01:52:44.960
whenever you want for me
link |
01:52:46.960
there was a dream
link |
01:52:48.960
that would play shareware games over
link |
01:52:50.960
and over the part that's free
link |
01:52:52.960
over and over and it was very
link |
01:52:54.960
deeply fulfilling experience but
link |
01:52:56.960
I dreamed of a time where
link |
01:52:58.960
I could actually afford
link |
01:53:00.960
the full experience and this is kind of this
link |
01:53:02.960
dreamland beyond
link |
01:53:04.960
the horizon when you could
link |
01:53:06.960
find out what else is there
link |
01:53:08.960
in some sense
link |
01:53:10.960
even just playing the shareware
link |
01:53:12.960
was
link |
01:53:14.960
the limitation of that
link |
01:53:16.960
life is
link |
01:53:18.960
limited eventually we all die
link |
01:53:20.960
in that way shareware was
link |
01:53:22.960
like
link |
01:53:24.960
somehow really fulfilling
link |
01:53:26.960
to have this kind of mysterious thing
link |
01:53:28.960
beyond what's free
link |
01:53:30.960
always there it's kind of
link |
01:53:32.960
I don't know that maybe
link |
01:53:34.960
it's because a part of my childhood is playing
link |
01:53:36.960
shareware games that was a really fulfilling
link |
01:53:38.960
experience it's so interesting how that model
link |
01:53:40.960
still brought joy
link |
01:53:42.960
to so many people the 20x
link |
01:53:44.960
people that played it I felt very good about
link |
01:53:46.960
that I would run into people it's like
link |
01:53:48.960
that would say oh I loved that game
link |
01:53:50.960
that you had early on Commander Keen
link |
01:53:52.960
whatever and
link |
01:53:54.960
and no they meant just the first
link |
01:53:56.960
episode that they got to see everywhere
link |
01:53:58.960
that's me I played the crap out of Commander Keen
link |
01:54:00.960
and that was all good
link |
01:54:02.960
yeah
link |
01:54:04.960
so we were in this position where Scott Miller
link |
01:54:06.960
was just fronting us cash and saying yeah
link |
01:54:08.960
make a game but
link |
01:54:10.960
we did not properly
link |
01:54:12.960
pull the trigger and say alright
link |
01:54:14.960
we're quitting our jobs we were like
link |
01:54:16.960
we're gonna do both we're gonna keep working
link |
01:54:18.960
at soft disk working on this
link |
01:54:20.960
and then we're going to go ahead
link |
01:54:22.960
and make a new game for
link |
01:54:24.960
Apogee at the same time
link |
01:54:26.960
and this eventually did lead to some legal
link |
01:54:28.960
problems and we had we had trouble
link |
01:54:30.960
it all got worked out in the end but
link |
01:54:32.960
it was not a good call at the time
link |
01:54:34.960
there and your legal mind at the time was not
link |
01:54:36.960
stellar
link |
01:54:38.960
you you were not thinking
link |
01:54:40.960
in terms of the illegal no I
link |
01:54:42.960
I definitely wasn't none of us were
link |
01:54:44.960
I and in hindsight
link |
01:54:46.960
yeah it's like how did we think we were going to get away
link |
01:54:48.960
with like even using our work computers
link |
01:54:50.960
to write write software for
link |
01:54:52.960
you know our our breakaway
link |
01:54:54.960
new company it was
link |
01:54:56.960
not a good plan how did Commander
link |
01:54:58.960
Keen come to be
link |
01:55:00.960
so the design process
link |
01:55:02.960
we would start from we had some idea of what
link |
01:55:04.960
we wanted to do we wanted to do a
link |
01:55:06.960
Mario like game it was going to be a side
link |
01:55:08.960
scroller I was going to use the technology
link |
01:55:10.960
we we had some sense
link |
01:55:12.960
of what it would have to look like because of the limitations
link |
01:55:14.960
of this adaptive tile refresh
link |
01:55:16.960
technology it had to have
link |
01:55:18.960
fields of relatively constant tiles
link |
01:55:20.960
you couldn't just paint up a background
link |
01:55:22.960
and then move that around
link |
01:55:24.960
I the early design
link |
01:55:26.960
or all the design for Commander Keen really came
link |
01:55:28.960
from Tom Hall where
link |
01:55:30.960
he was
link |
01:55:32.960
the main creative mind
link |
01:55:34.960
for the early in software stuff
link |
01:55:36.960
where we had an interesting division of things where
link |
01:55:38.960
Tom was
link |
01:55:40.960
all creative and design I was all
link |
01:55:42.960
programming John Romero was an interesting
link |
01:55:44.960
bridge where he was both a very good
link |
01:55:46.960
programmer and also very good designer
link |
01:55:48.960
and artist and kind of straddled
link |
01:55:50.960
between the areas but Commander
link |
01:55:52.960
Keen was very much Tom Hall's baby
link |
01:55:54.960
and
link |
01:55:56.960
he came up with all the design and
link |
01:55:58.960
backstory for the different things of kind of
link |
01:56:00.960
a mad scientist little kid
link |
01:56:02.960
with I am
link |
01:56:04.960
building a rocket ship and a zap gun
link |
01:56:06.960
and visiting alien worlds
link |
01:56:08.960
and doing all this that the
link |
01:56:10.960
background that we lay the game inside
link |
01:56:12.960
of and there's not
link |
01:56:14.960
a whole lot to any of these things you know
link |
01:56:16.960
design for us was always just what we
link |
01:56:18.960
needed to do to make the game that was
link |
01:56:20.960
going to be so much fun to play
link |
01:56:22.960
and we made our we laid out
link |
01:56:24.960
our first trilogy of games you know
link |
01:56:26.960
the shareware formula it's going to be
link |
01:56:28.960
three pieces we make Commander Keen one
link |
01:56:30.960
two and three and we just really
link |
01:56:32.960
started
link |
01:56:34.960
busting on all that work and it went together
link |
01:56:36.960
really quickly it was like three months
link |
01:56:38.960
and it was something that while we were
link |
01:56:40.960
still making games every month
link |
01:56:42.960
for Gamers Edge we were sharing
link |
01:56:44.960
technology between that I'd write a bunch
link |
01:56:46.960
of code for this and we just kind of use it
link |
01:56:48.960
for both again not a particularly good
link |
01:56:50.960
idea there that had consequences for us
link |
01:56:52.960
but
link |
01:56:54.960
in three months we got our first our
link |
01:56:56.960
first game out and all of a sudden it
link |
01:56:58.960
was three times as successful as
link |
01:57:00.960
the most successful thing Apogee had had
link |
01:57:02.960
before and we were making like $30,000
link |
01:57:04.960
a month
link |
01:57:06.960
from the Commander Keen stuff
link |
01:57:08.960
and that was again a surprise
link |
01:57:10.960
to us it was more than we thought that
link |
01:57:12.960
was going to that that was going to make
link |
01:57:14.960
and we said well we're going to certainly
link |
01:57:16.960
roll into another set of titles
link |
01:57:18.960
from this and in that three months
link |
01:57:20.960
I had come up with a much better way
link |
01:57:22.960
of doing the scrolling technology that
link |
01:57:24.960
was not the adaptive tile refresh
link |
01:57:26.960
which in some ways was even simpler
link |
01:57:28.960
and these things
link |
01:57:30.960
so many of the great ideas of technology
link |
01:57:32.960
are things that are back at the envelope
link |
01:57:34.960
designs I make this comment
link |
01:57:36.960
about modern machine learning where
link |
01:57:38.960
all the things that are really important
link |
01:57:40.960
practically in the last decade are each
link |
01:57:42.960
of them fits on the back of an envelope
link |
01:57:44.960
there are these simple little things
link |
01:57:46.960
they're not super dense hard to
link |
01:57:48.960
understand technologies
link |
01:57:50.960
and so the the second scrolling
link |
01:57:52.960
trick was just a matter of like
link |
01:57:54.960
okay we know we've got this 64k
link |
01:57:56.960
window
link |
01:57:58.960
and the question was always like well you could
link |
01:58:00.960
make a 2x2 but you can't
link |
01:58:02.960
go off the edge
link |
01:58:04.960
but I finally asked well what actually
link |
01:58:06.960
happens if you just go off the
link |
01:58:08.960
edge if you take your start
link |
01:58:10.960
and you say it's like okay
link |
01:58:12.960
I can move over I'm scrolling I can move
link |
01:58:14.960
over I can move down I'm scrolling
link |
01:58:16.960
I get to what should be the bottom of the memory
link |
01:58:18.960
window it's like well what if I just
link |
01:58:20.960
keep going and I say I'm going to start
link |
01:58:22.960
at you know what happens if I start
link |
01:58:24.960
at FFFE at the very
link |
01:58:26.960
end of the 64k block
link |
01:58:28.960
and it turns out it just
link |
01:58:30.960
wraps back around to the top of the block
link |
01:58:32.960
and I'm like oh well this makes
link |
01:58:34.960
everything easy you can just scroll
link |
01:58:36.960
the screen everywhere and all you have to draw
link |
01:58:38.960
is just one new line of tiles
link |
01:58:40.960
which everything you expose it might be
link |
01:58:42.960
unaligned off various parts
link |
01:58:44.960
of the screen memory
link |
01:58:46.960
but it just works that no longer
link |
01:58:48.960
had the problem of you had to have fields
link |
01:58:50.960
of the similar colors because
link |
01:58:52.960
it doesn't matter what you're doing you could be
link |
01:58:54.960
having a completely unique world
link |
01:58:56.960
and you're just drawing the new strip
link |
01:58:58.960
that comes on but it might be
link |
01:59:00.960
like you said unaligned
link |
01:59:02.960
so it can be all over the place and it turns out
link |
01:59:04.960
it doesn't matter I would have two page flipped
link |
01:59:06.960
screens as long as they didn't overlap they moved
link |
01:59:08.960
in series through this
link |
01:59:10.960
two dimensional window of graphics
link |
01:59:12.960
and that was one of those like well
link |
01:59:14.960
this is so simple this just
link |
01:59:16.960
this just works it's faster
link |
01:59:18.960
I am there it seemed like there was no
link |
01:59:20.960
downside funny thing was
link |
01:59:22.960
I it turned out after we shipped
link |
01:59:24.960
titles with this there were
link |
01:59:26.960
what they called super VGA
link |
01:59:28.960
cards the cards that would allow higher
link |
01:59:30.960
resolutions and I and
link |
01:59:32.960
different features that the standard ones didn't
link |
01:59:34.960
and on some of those
link |
01:59:36.960
cards this was a weird
link |
01:59:38.960
compatibility cork again because nobody thought
link |
01:59:40.960
this was not what it was designed to do
link |
01:59:42.960
and some of those cards had more
link |
01:59:44.960
memory they had more than just
link |
01:59:46.960
256k in four planes they had
link |
01:59:48.960
512k or a megabyte
link |
01:59:50.960
and on some of those cards
link |
01:59:52.960
I scroll my window down
link |
01:59:54.960
and then it goes into uninitialized
link |
01:59:56.960
memory that actually exists there
link |
01:59:58.960
rather than wrapping back around at the top
link |
02:00:00.960
and then
link |
02:00:02.960
I was in the tough position of do I have to
link |
02:00:04.960
track every single one of these and it was a mad
link |
02:00:06.960
house back then with there were
link |
02:00:08.960
20 different video card vendors with
link |
02:00:10.960
all slightly different implementations of
link |
02:00:12.960
their non standard functionality
link |
02:00:14.960
so either I needed to natively
link |
02:00:16.960
program all of the the VGA
link |
02:00:18.960
cards there to
link |
02:00:20.960
map in that memory and keep scrolling
link |
02:00:22.960
down through all of that or I kind
link |
02:00:24.960
of punted and took the easy solution
link |
02:00:26.960
of when you finally did run to the
link |
02:00:28.960
edge of the screen I accepted
link |
02:00:30.960
a hitch and just copied the whole screen up
link |
02:00:32.960
there so on some of those
link |
02:00:34.960
those cards it was
link |
02:00:36.960
a compatibility mode in the normal ones
link |
02:00:38.960
when it all worked fine everything was just
link |
02:00:40.960
beautifully smooth but if you had one of those
link |
02:00:42.960
cards where it did not wrap the way
link |
02:00:44.960
I wanted it to you'd be
link |
02:00:46.960
scrolling around scrolling around and
link |
02:00:48.960
then eventually you'd have a little hitch where
link |
02:00:50.960
200 milliseconds or something
link |
02:00:52.960
that was not super smooth as it
link |
02:00:54.960
froze a little bit and this was the binary
link |
02:00:56.960
thing is it one of the standard
link |
02:00:58.960
screens or isn't one of the weird ones
link |
02:01:00.960
the super VGA one yeah okay
link |
02:01:02.960
and so we would default to and I think
link |
02:01:04.960
that was one of those that changed over
link |
02:01:06.960
the kind of course of deployment where
link |
02:01:08.960
early on we would have a normal mode
link |
02:01:10.960
and then you would have you would enable the compatibility
link |
02:01:12.960
flag if your screen did this crazy
link |
02:01:14.960
flickery thing when you got to a certain
link |
02:01:16.960
point in the game and then
link |
02:01:18.960
later I think it probably got enabled by default
link |
02:01:20.960
as just more and more of the cards
link |
02:01:22.960
I kind of did not do exactly
link |
02:01:24.960
the right thing and that's the two edge
link |
02:01:26.960
sword of doing unconventional
link |
02:01:28.960
things with technology where
link |
02:01:30.960
you can find something that nobody thought about
link |
02:01:32.960
doing that kind of scrolling trick when they
link |
02:01:34.960
set up those cards but
link |
02:01:36.960
the fact that nobody thought that was the primary reason
link |
02:01:38.960
when I was relying on that then
link |
02:01:40.960
I wound up being broken on some of the later
link |
02:01:42.960
cards let me take a bit
link |
02:01:44.960
of a tangent but
link |
02:01:46.960
ask you about the hacker
link |
02:01:48.960
ethic because you mentioned shareware
link |
02:01:50.960
it's an interesting world
link |
02:01:52.960
the world of people
link |
02:01:54.960
that make money
link |
02:01:56.960
business and the people that
link |
02:01:58.960
build systems the engineers
link |
02:02:00.960
and
link |
02:02:02.960
what is the hacker
link |
02:02:04.960
ethic you've been a man
link |
02:02:06.960
of the people and you've
link |
02:02:08.960
embodied at least the part of that
link |
02:02:10.960
ethic what does it mean
link |
02:02:12.960
what did it mean to you at the time what does it mean to
link |
02:02:14.960
you today so Steven Levy's
link |
02:02:16.960
book hackers was a really
link |
02:02:18.960
formative book for me as a teenager
link |
02:02:20.960
I mean I read it several
link |
02:02:22.960
times and there was
link |
02:02:24.960
all of the great lore of the early
link |
02:02:26.960
MIT era of hackers
link |
02:02:28.960
ending up at the end with
link |
02:02:30.960
it kind of went through the early
link |
02:02:32.960
MIT hackers and the Silicon Valley
link |
02:02:34.960
hardware hackers and then
link |
02:02:36.960
the game hackers in part 3
link |
02:02:38.960
and at that time as a teenager
link |
02:02:40.960
I really
link |
02:02:42.960
was kind of bitter in some ways
link |
02:02:44.960
I thought I was born too late
link |
02:02:46.960
I thought I missed the window
link |
02:02:48.960
there and I really thought I
link |
02:02:50.960
belonged in that third section of that
link |
02:02:52.960
book with the game hackers and they were talking
link |
02:02:54.960
about the Williams at Sierra
link |
02:02:56.960
and Origin Systems with Richard Garriott
link |
02:02:58.960
and it's like
link |
02:03:00.960
I really wanted to be there
link |
02:03:02.960
and I knew that was now
link |
02:03:04.960
a few years in the past it was
link |
02:03:06.960
not to be
link |
02:03:08.960
but the early days
link |
02:03:10.960
early MIT hacker days talking
link |
02:03:12.960
a lot about this sense of
link |
02:03:14.960
the hacker ethic that there was this sense
link |
02:03:16.960
that it was about
link |
02:03:18.960
sharing information being good
link |
02:03:20.960
not keeping it to yourself and
link |
02:03:22.960
that it's not a zero sum game
link |
02:03:24.960
that you can share something
link |
02:03:26.960
with another programmer and it doesn't
link |
02:03:28.960
take it away from you
link |
02:03:30.960
you then have somebody else doing something
link |
02:03:32.960
and I also think that there's
link |
02:03:34.960
an aspect of it where it's
link |
02:03:36.960
this ability to take
link |
02:03:38.960
joy in other people's accomplishments
link |
02:03:40.960
where it's not the cutthroat bit of
link |
02:03:42.960
like I have to be first I have to be
link |
02:03:44.960
recognized as the one
link |
02:03:46.960
that did this in some way but
link |
02:03:48.960
being able to see somebody else
link |
02:03:50.960
do something and say holy shit that's amazing
link |
02:03:52.960
you know and just taking joy
link |
02:03:54.960
in the ability of something amazing
link |
02:03:56.960
that somebody else does
link |
02:03:58.960
and the
link |
02:04:00.960
big thing that I was able to do
link |
02:04:02.960
through in software was
link |
02:04:04.960
this ability to eventually release the source code
link |
02:04:06.960
for most of our like all of our really
link |
02:04:08.960
seminal game titles and that
link |
02:04:10.960
was a it was a stepping stone
link |
02:04:12.960
process where we were
link |
02:04:14.960
kind of surprised early on where
link |
02:04:16.960
people were able to
link |
02:04:18.960
hack the existing games and of course I had
link |
02:04:20.960
experience with that I remember hacking my copies
link |
02:04:22.960
of Ultima so I give myself you know
link |
02:04:24.960
9999 gold and raise my levels
link |
02:04:26.960
and you know break out the sector editor
link |
02:04:28.960
and so I was familiar with all of that
link |
02:04:30.960
so it was just it was with a smile
link |
02:04:32.960
when I started to see people doing that to our
link |
02:04:34.960
games I am you know making
link |
02:04:36.960
level editors for Commander Keen
link |
02:04:38.960
or hacking up Wolfenstein 3D
link |
02:04:40.960
but I made
link |
02:04:42.960
the pitch internally
link |
02:04:44.960
that we should actually release our own
link |
02:04:46.960
tools for like what we did
link |
02:04:48.960
what we used to create the games
link |
02:04:50.960
and that was you know that was
link |
02:04:52.960
a little bit debatable about
link |
02:04:54.960
well you know will this let other will
link |
02:04:56.960
give people a leg up it's always like what's that
link |
02:04:58.960
going to mean for the competition
link |
02:05:00.960
but the really hard pitch
link |
02:05:02.960
was to actually release the full
link |
02:05:04.960
source code for the games
link |
02:05:06.960
and it was a balancing act with
link |
02:05:08.960
the other people inside the company
link |
02:05:10.960
where it's
link |
02:05:12.960
interesting how the programmers
link |
02:05:14.960
generally did get
link |
02:05:16.960
certainly I am the people
link |
02:05:18.960
that I worked closely with they did kind of
link |
02:05:20.960
get that hacker ethic bit where
link |
02:05:22.960
you wanted to share your code you were
link |
02:05:24.960
you were proud of it you wanted other people to take it
link |
02:05:26.960
do cool things with it
link |
02:05:28.960
but interestingly
link |
02:05:30.960
the broader
link |
02:05:32.960
game industry is a little more
link |
02:05:34.960
hesitant to embrace that than
link |
02:05:36.960
like the group of people that we happen to have
link |
02:05:38.960
at id software where it was
link |
02:05:40.960
always a little interesting to me seeing how
link |
02:05:42.960
a lot of people in the game modding
link |
02:05:44.960
community were very possessive
link |
02:05:46.960
of their code they did not want to share their
link |
02:05:48.960
code they wanted it to be theirs it was their
link |
02:05:50.960
you know claim to fame and that
link |
02:05:52.960
was much more like what we tended
link |
02:05:54.960
to see with artists where you know the
link |
02:05:56.960
artists understand something about credit
link |
02:05:58.960
and I you know wanting it to be known
link |
02:06:00.960
as their work and a lot of the
link |
02:06:02.960
game programmers
link |
02:06:04.960
felt a little bit more like artists
link |
02:06:06.960
than like hacker programmers in that it was
link |
02:06:08.960
about building something that
link |
02:06:10.960
maybe felt more like art to them than
link |
02:06:12.960
the more tool based and
link |
02:06:14.960
exploration based kind of
link |
02:06:16.960
hacking culture side of things
link |
02:06:18.960
it's so interesting that this kind of
link |
02:06:22.960
fear that credit will not be
link |
02:06:24.960
sufficiently attributed to you
link |
02:06:26.960
and that's one of the things that I do
link |
02:06:28.960
bump into a lot because
link |
02:06:30.960
I try not
link |
02:06:32.960
to go I mean it's easy for
link |
02:06:34.960
me to say because so much credit is heaped on
link |
02:06:36.960
me for the id software side of
link |
02:06:38.960
things but when people come up and
link |
02:06:40.960
they want to pick a fight and say no it's
link |
02:06:42.960
like that wasn't where first person gaming
link |
02:06:44.960
came from and you can point to
link |
02:06:46.960
you know you can point to some of like things
link |
02:06:48.960
on obscure titles that I was never aware
link |
02:06:50.960
of or like the old Play Doh systems
link |
02:06:52.960
or you know each personal computer
link |
02:06:54.960
had something that was 3D
link |
02:06:56.960
and moving around and I'm
link |
02:06:58.960
you know and I'm happy to say it's like no
link |
02:07:00.960
I mean I saw Battlezone and Star Wars
link |
02:07:02.960
in the arcades I had seen 3D graphics
link |
02:07:04.960
I had seen all these things they're
link |
02:07:06.960
standing on the shoulders of lots of other people
link |
02:07:08.960
but sometimes these examples they pull out
link |
02:07:10.960
like I didn't know that existed I mean
link |
02:07:12.960
there I had never heard of that before
link |
02:07:14.960
then that didn't contribute to
link |
02:07:16.960
what I made but there's plenty of stuff that
link |
02:07:18.960
did and you know I
link |
02:07:20.960
I think there's good cases to be made
link |
02:07:22.960
that obviously Doom and Quake
link |
02:07:24.960
and Wolfenstein were formative examples
link |
02:07:26.960
for what
link |
02:07:28.960
everything that came after
link |
02:07:30.960
that but I don't feel
link |
02:07:32.960
the need to go fight and say claim
link |
02:07:34.960
primacy or initial invention
link |
02:07:36.960
of anything like that but a lot of people
link |
02:07:38.960
do want to. I think when you fight
link |
02:07:40.960
for the credit in that way
link |
02:07:42.960
and it does go against the hacker ethic
link |
02:07:44.960
you destroy
link |
02:07:46.960
something fundamental about the culture, about the
link |
02:07:48.960
community that builds cool stuff
link |
02:07:50.960
I think credit ultimately
link |
02:07:52.960
so
link |
02:07:54.960
I had this
link |
02:07:56.960
sort of there's a famous
link |
02:07:58.960
wrestler and freestyle wrestling
link |
02:08:00.960
called
link |
02:08:02.960
and he always preached
link |
02:08:04.960
that you should just focus
link |
02:08:06.960
on the art of the wrestling
link |
02:08:08.960
and let people
link |
02:08:10.960
write
link |
02:08:12.960
your story however they want
link |
02:08:14.960
the
link |
02:08:16.960
the highest form of the art is just
link |
02:08:18.960
focusing on the art and that's something
link |
02:08:20.960
that is something about the
link |
02:08:22.960
hacker ethic is just
link |
02:08:24.960
focus on building cool stuff
link |
02:08:26.960
sharing it with other cool people
link |
02:08:28.960
and credit will get
link |
02:08:30.960
assigned correctly
link |
02:08:34.960
in the long arc of history
link |
02:08:36.960
and I generally think that's true
link |
02:08:38.960
and you've got
link |
02:08:40.960
you know like there's some things
link |
02:08:42.960
there's a graphics technique that got labeled
link |
02:08:44.960
car max reverse
link |
02:08:46.960
literally named it and it turned out
link |
02:08:48.960
that I wasn't the first person to figure
link |
02:08:50.960
that out like most scientific
link |
02:08:52.960
things or mathematical things you might have
link |
02:08:54.960
like oh this other person had actually done that
link |
02:08:56.960
somewhat before and then there's
link |
02:08:58.960
things that get attributed to me like the inverse
link |
02:09:00.960
square root hack that I actually didn't
link |
02:09:02.960
do I flat out that wasn't me and it's like
link |
02:09:04.960
it's weird how the memetic power
link |
02:09:06.960
of the internet I cannot
link |
02:09:08.960
convince people of that
link |
02:09:10.960
everything just gets attributed to you now
link |
02:09:12.960
even though you've never
link |
02:09:14.960
sought that the credit of things
link |
02:09:16.960
I mean but part
link |
02:09:18.960
of the fact that the humility behind
link |
02:09:20.960
that is what attracts the
link |
02:09:22.960
attributions
link |
02:09:24.960
let's talk about a game
link |
02:09:26.960
you mean one of the greatest games ever made
link |
02:09:28.960
I know you could talk about doing quake
link |
02:09:30.960
and so on but to me Wolfenstein 3D was like
link |
02:09:32.960
whoa
link |
02:09:34.960
it blew my mind
link |
02:09:36.960
that a world like this could exist so
link |
02:09:38.960
how did Wolfenstein 3D come to be
link |
02:09:40.960
in terms of the programming
link |
02:09:42.960
in terms of the design in terms of some of the
link |
02:09:44.960
memorable technical challenges
link |
02:09:46.960
and also
link |
02:09:48.960
actually just something you haven't mentioned
link |
02:09:50.960
you know
link |
02:09:52.960
how did these ideas
link |
02:09:54.960
come to be
link |
02:09:56.960
inside your mind the adaptive
link |
02:09:58.960
side scrolling so
link |
02:10:00.960
the solutions to these technical challenges
link |
02:10:02.960
so I usually can
link |
02:10:04.960
introspectively pull back
link |
02:10:06.960
pretty detailed
link |
02:10:08.960
accounts of how technology solutions
link |
02:10:10.960
and design choices on my part
link |
02:10:12.960
came to be where
link |
02:10:14.960
technically we had done two games
link |
02:10:16.960
3D games like that before
link |
02:10:18.960
where hover tank was the first one
link |
02:10:20.960
which had flat shaded walls
link |
02:10:22.960
but did have the scaled enemies inside it
link |
02:10:24.960
and then catacombs 3D
link |
02:10:26.960
which had textured walls
link |
02:10:28.960
scaled enemies and
link |
02:10:30.960
some more
link |
02:10:32.960
some more functionality like the
link |
02:10:34.960
disappearing walls and some other stuff
link |
02:10:36.960
but what's really interesting from a
link |
02:10:38.960
game development standpoint is
link |
02:10:40.960
those games catacombs 3D
link |
02:10:42.960
hover tank and Wolfenstein
link |
02:10:44.960
they literally used
link |
02:10:46.960
the same code for
link |
02:10:48.960
a lot of the character behavior that a 2D
link |
02:10:50.960
game that I had made earlier called catacombs
link |
02:10:52.960
did where
link |
02:10:54.960
it was an overhead view game kind of like gauntlet
link |
02:10:56.960
you're running around and you can open up doors
link |
02:10:58.960
pick up items basic game stuff
link |
02:11:00.960
and the thought was
link |
02:11:02.960
that this exact same
link |
02:11:04.960
game experience just
link |
02:11:06.960
presented in a different perspective
link |
02:11:08.960
it could be literally the same game
link |
02:11:10.960
just with a different view into it
link |
02:11:12.960
would have a dramatically different
link |
02:11:14.960
impact on the players
link |
02:11:16.960
so it wasn't
link |
02:11:18.960
a true 3D you're saying that
link |
02:11:20.960
you can kind of take it
link |
02:11:22.960
you can scale enemies meaning things that are
link |
02:11:24.960
farther away you can make them smaller
link |
02:11:26.960
so from the game was
link |
02:11:28.960
a 2D map like all of our games
link |
02:11:30.960
use the same tool for creation
link |
02:11:32.960
we use the same map editor for creating
link |
02:11:34.960
keen as Wolfenstein and
link |
02:11:36.960
hevertank and catacombs and all this stuff
link |
02:11:38.960
so the game was a 2D grid
link |
02:11:40.960
made out of blocks and you
link |
02:11:42.960
could say well these are walls these are where
link |
02:11:44.960
the enemies start then they start moving around
link |
02:11:46.960
and these early games like catacombs
link |
02:11:48.960
you played it strictly in a 2D view
link |
02:11:50.960
it was a scrolling 2D view
link |
02:11:52.960
and that was kind of using an adaptive tile refresh
link |
02:11:54.960
at the time to be able to do something
link |
02:11:56.960
like that and then
link |
02:11:58.960
the thought that these early
link |
02:12:00.960
games all it did was take the same
link |
02:12:02.960
basic enemy logic but
link |
02:12:04.960
instead of seeing it from the god's eye view
link |
02:12:06.960
on top you were inside it
link |
02:12:08.960
and turning from side to side yawing
link |
02:12:10.960
your view and moving forwards and backwards
link |
02:12:12.960
and side to side and
link |
02:12:14.960
it's a striking thing where you always talk
link |
02:12:16.960
about wanting to isolate and factor changes
link |
02:12:18.960
in values and this was one of those
link |
02:12:20.960
most pure cases there where
link |
02:12:22.960
the rest of the game changed very little
link |
02:12:24.960
it was our normal kind of change the colors
link |
02:12:26.960
on something and draw a different picture
link |
02:12:28.960
for it but it's kind of the same thing
link |
02:12:30.960
but the perspective changed in a really
link |
02:12:32.960
fundamental way and
link |
02:12:34.960
it was dramatically different
link |
02:12:36.960
I can remember the reactions
link |
02:12:38.960
where the artist Adrian
link |
02:12:40.960
that had been drawing the pictures for
link |
02:12:42.960
we had a cool big troll thing in catacombs 3D
link |
02:12:44.960
and we had these walls
link |
02:12:46.960
that you could get a key and you could make
link |
02:12:48.960
the blocks disappear and really simple stuff
link |
02:12:50.960
blocks could either be there or not there
link |
02:12:52.960
so our idea of a door was
link |
02:12:54.960
being able to make a set of blocks just disappear
link |
02:12:56.960
and I remember the reaction
link |
02:12:58.960
when he had drawn these characters and he was slowly
link |
02:13:00.960
moving around and people
link |
02:13:02.960
had no experience with 3D navigation
link |
02:13:04.960
it was all still keyboard, we didn't even have mice
link |
02:13:06.960
set up at that time
link |
02:13:08.960
but slowly moving, going up
link |
02:13:10.960
picked up a key, go to a wall
link |
02:13:12.960
the wall disappears in a little animation
link |
02:13:14.960
and there's a monster right there
link |
02:13:16.960
and he practically fell out of his chair
link |
02:13:18.960
and games just
link |
02:13:20.960
didn't do that
link |
02:13:22.960
the games were the gods eye view
link |
02:13:24.960
you were a little invested in your little guy
link |
02:13:26.960
you know, happy or sad when things
link |
02:13:28.960
happened but you just did not get that
link |
02:13:30.960
kind of startle reaction
link |
02:13:32.960
something in your face, something in the back of your brain
link |
02:13:34.960
some reptile brain thing
link |
02:13:36.960
is just going oh shit, something just happened
link |
02:13:38.960
and that was one of those
link |
02:13:40.960
early points where it's like yeah
link |
02:13:42.960
this is going to make a difference
link |
02:13:44.960
this is going to be powerful and it's going to matter
link |
02:13:46.960
were you able to imagine that
link |
02:13:48.960
in the idea stage or no
link |
02:13:50.960
so not that exact thing
link |
02:13:52.960
so again, we had cases
link |
02:13:54.960
like the arcade games battle zone
link |
02:13:56.960
and star wars that you could kind of
link |
02:13:58.960
see a 3D world and things coming at you
link |
02:14:00.960
and you get some sense of it
link |
02:14:02.960
but nothing had done the kind
link |
02:14:04.960
of worlds that we were doing and the sort of
link |
02:14:06.960
action based things, 3D
link |
02:14:08.960
at the time was
link |
02:14:10.960
really largely about the simulation
link |
02:14:12.960
thoughts and this is something
link |
02:14:14.960
that really might have
link |
02:14:16.960
trended differently if not for
link |
02:14:18.960
the id software approach in the games
link |
02:14:20.960
where there were flight simulators
link |
02:14:22.960
there were driving simulators
link |
02:14:24.960
you had like hard drive in
link |
02:14:26.960
and Microsoft flight simulator
link |
02:14:28.960
and these were doing 3D and general purpose
link |
02:14:30.960
3D in ways that were
link |
02:14:32.960
more flexible than what we were doing with our
link |
02:14:34.960
games but they were looked at as
link |
02:14:36.960
simulations, they weren't trying to
link |
02:14:38.960
necessarily be fast or responsive
link |
02:14:40.960
or letting you do
link |
02:14:42.960
kind of exciting maneuvers
link |
02:14:44.960
because they were trying to simulate reality
link |
02:14:46.960
and they were taking their cues from the big systems
link |
02:14:48.960
the Evans in Sutherland and the silicon
link |
02:14:50.960
graphics that were doing things
link |
02:14:52.960
but we were taking our cues from
link |
02:14:54.960
the console and arcade games
link |
02:14:56.960
we wanted things that were
link |
02:14:58.960
sort of quarter eaters that were doing fast
link |
02:15:00.960
pace things that you could smack you around
link |
02:15:02.960
rather than just smoothly gliding you
link |
02:15:04.960
from place to place
link |
02:15:06.960
quarter eaters
link |
02:15:08.960
and you know a funny thing is
link |
02:15:10.960
so much that that built into us
link |
02:15:12.960
that Wolfenstein still had
link |
02:15:14.960
lives and you had like one of the biggest power ups
link |
02:15:16.960
in all these games like was an extra life
link |
02:15:18.960
because you started off with 3 lives
link |
02:15:20.960
and you lose your lives and then it's game over
link |
02:15:22.960
and there weren't save games in
link |
02:15:24.960
most of this stuff
link |
02:15:26.960
it sounds almost crazy to say this
link |
02:15:28.960
but it was an innovation in DOOM
link |
02:15:30.960
to not have lives
link |
02:15:32.960
you could just play DOOM as long as you wanted
link |
02:15:34.960
you just restart at the start of the level
link |
02:15:36.960
and why not?
link |
02:15:38.960
we aren't trying to take people's quarters
link |
02:15:40.960
they've already paid for the entire game
link |
02:15:42.960
we want them to have a good time
link |
02:15:44.960
and you would have some
link |
02:15:46.960
I think that there's something to the epic journey
link |
02:15:48.960
of making it to the end having to restart
link |
02:15:50.960
all the way from the beginning after a certain number
link |
02:15:52.960
of tries but now more fun is had
link |
02:15:54.960
when you just let people kind of keep trying
link |
02:15:56.960
when they're stuck rather than having to go
link |
02:15:58.960
all the way back and learn different things
link |
02:16:00.960
so you've recommended the
link |
02:16:02.960
game engine black book Wolfenstein 3D
link |
02:16:04.960
for technical exploration of the game
link |
02:16:06.960
so looking back
link |
02:16:08.960
30 years
link |
02:16:10.960
what are some memorable technical innovations
link |
02:16:12.960
that made this perspective
link |
02:16:14.960
shift into this world that's
link |
02:16:16.960
so immersive that scares you when a monster appears
link |
02:16:18.960
or some things you have to solve?
link |
02:16:20.960
so one of the interesting things
link |
02:16:22.960
that come back to the theme of
link |
02:16:24.960
deadlines and resource constraints
link |
02:16:26.960
the game catacombs 3D
link |
02:16:28.960
we shipped
link |
02:16:30.960
we were supposed to be shipping this for gamers edge
link |
02:16:32.960
on a monthly cadence and I had
link |
02:16:34.960
slipped I was actually
link |
02:16:36.960
late it slipped like six weeks because
link |
02:16:38.960
this was texture mapped walls
link |
02:16:40.960
doing stuff that I hadn't done before
link |
02:16:42.960
and
link |
02:16:44.960
at the six week point it was
link |
02:16:46.960
still kind of glitchy and buggy
link |
02:16:48.960
there were things that I knew that
link |
02:16:50.960
if you had a wall that was like almost edge
link |
02:16:52.960
on you could slide over to it and you could
link |
02:16:54.960
see some things freak out or vanish or not
link |
02:16:56.960
work and I hated that
link |
02:16:58.960
I but I was up against
link |
02:17:00.960
the wall we had to ship the game
link |
02:17:02.960
it was still a lot of fun to play it was
link |
02:17:04.960
novel nobody had seen it it gave you that
link |
02:17:06.960
startle reflex I reaction
link |
02:17:08.960
so it was worth shipping
link |
02:17:10.960
but it had these things that I knew
link |
02:17:12.960
were kind of flaky and janky and not
link |
02:17:14.960
not what I was really proud of
link |
02:17:16.960
so one of the
link |
02:17:18.960
things that I did very differently in Wolfenstein
link |
02:17:20.960
I was
link |
02:17:22.960
I went catacombs used
link |
02:17:24.960
almost a conventional
link |
02:17:26.960
thing where you had segments that were
link |
02:17:28.960
one dimensional polygons basically that were
link |
02:17:30.960
clipped and back faced
link |
02:17:32.960
and done kind of like a very crude
link |
02:17:34.960
3D engine from the professionals
link |
02:17:36.960
but I wasn't getting it done
link |
02:17:38.960
right I was not doing a good
link |
02:17:40.960
enough job I didn't really have line of sight
link |
02:17:42.960
to fix
link |
02:17:44.960
it right there's stuff that of course I look back
link |
02:17:46.960
it's like oh it's obvious how to do this do
link |
02:17:48.960
the math right do your clipping right
link |
02:17:50.960
check all of this how you handle the precision
link |
02:17:52.960
but I did not know how to do that
link |
02:17:54.960
at that time and I the first 3D
link |
02:17:56.960
engine you wrote catacombs 3D
link |
02:17:58.960
you know hover tank had been a little bit before that
link |
02:18:00.960
but that had the flat shaded walls so
link |
02:18:02.960
the texture mapping on the walls was what
link |
02:18:04.960
was bringing in some of these challenges
link |
02:18:06.960
that was that was hard for me
link |
02:18:08.960
and I couldn't solve it right at the time
link |
02:18:10.960
can you describe what flat shading is in texture mapping
link |
02:18:12.960
so in the the walls were
link |
02:18:14.960
solid color one of 16 colors
link |
02:18:16.960
I am in hover tank
link |
02:18:18.960
so that's easy it's fast you just
link |
02:18:20.960
draw the solid color for everything
link |
02:18:22.960
texture mapping is what we all see
link |
02:18:24.960
today where you have an image that is
link |
02:18:26.960
stretched and distorted onto the walls
link |
02:18:28.960
or the surfaces that you're working with
link |
02:18:30.960
I am and it was
link |
02:18:32.960
you know it was a long time for me to just figure
link |
02:18:34.960
out how to do that without it
link |
02:18:36.960
distorting in the wrong ways
link |
02:18:38.960
and I did not get it all
link |
02:18:40.960
exactly right in catacombs and I
link |
02:18:42.960
had these flaws
link |
02:18:44.960
so that was important enough to me
link |
02:18:46.960
that rather than continuing to bang my head
link |
02:18:48.960
on that when I wasn't positive I was
link |
02:18:50.960
going to get it I went with a completely
link |
02:18:52.960
different approach for drawing
link |
02:18:54.960
for figuring out where the walls were
link |
02:18:56.960
which was a ray casting approach
link |
02:18:58.960
which I had done in catacombs 3D
link |
02:19:00.960
I had a bunch of C code
link |
02:19:02.960
I was going to make this work right and it wasn't
link |
02:19:04.960
working right in Wolfenstein
link |
02:19:06.960
I wound up going to a very
link |
02:19:08.960
small amount of assembly code
link |
02:19:10.960
so in some ways they should be
link |
02:19:12.960
a slower way of doing it
link |
02:19:14.960
but by making it a smaller amount of work
link |
02:19:16.960
that I could more tightly optimize
link |
02:19:18.960
it worked out and Wolfenstein 3D
link |
02:19:20.960
was just absolutely rock solid
link |
02:19:22.960
you know it was you know nothing
link |
02:19:24.960
glitched in there the game just was
link |
02:19:26.960
pretty much flawless through all of that
link |
02:19:28.960
and I was super proud of that
link |
02:19:30.960
but eventually like in the later games
link |
02:19:32.960
I went back to the more span based
link |
02:19:34.960
things where I could get more total efficiency
link |
02:19:36.960
once I really did figure out
link |
02:19:38.960
how to do it so there were two
link |
02:19:40.960
sort of key technical things to Wolfenstein
link |
02:19:42.960
one was this ray casting approach
link |
02:19:44.960
which you still to this day
link |
02:19:46.960
you see people go and say let's
link |
02:19:48.960
write a ray casting engine because
link |
02:19:50.960
it's an understandable way of doing things
link |
02:19:52.960
that lets you make games very much
link |
02:19:54.960
like that so you see raycasters in
link |
02:19:56.960
javascript raycasters in python
link |
02:19:58.960
people that are basically going
link |
02:20:00.960
and re implementing that
link |
02:20:02.960
approach to taking a tiled world
link |
02:20:04.960
and casting out into it
link |
02:20:06.960
it works pretty well but it's not the fastest
link |
02:20:08.960
way of doing it. Can you describe what ray casting is?
link |
02:20:10.960
So you start off
link |
02:20:12.960
and you've got your screen which is
link |
02:20:14.960
320 pixels across at the time if you haven't
link |
02:20:16.960
sized down the window for
link |
02:20:18.960
greater speed and at every
link |
02:20:20.960
pixel there's going to be an angle
link |
02:20:22.960
you've got your position in the world
link |
02:20:24.960
and you're going to just run along that angle
link |
02:20:26.960
and keep going until you hit a block
link |
02:20:28.960
so up to 320
link |
02:20:30.960
times across there it's going to throw
link |
02:20:32.960
cast array out into the world
link |
02:20:34.960
from wherever your origin is
link |
02:20:36.960
until it runs into a wall
link |
02:20:38.960
and then it can figure out exactly where on the wall
link |
02:20:40.960
it hits. The performance
link |
02:20:42.960
challenge of that is as it's going out
link |
02:20:44.960
every block it's crossing
link |
02:20:46.960
it checks is this a solid wall
link |
02:20:48.960
so that means that in
link |
02:20:50.960
like the early Wolfenstein levels you're
link |
02:20:52.960
in a small jail cell going out into a small
link |
02:20:54.960
hallway it's super efficient for
link |
02:20:56.960
that because you're only stepping across three
link |
02:20:58.960
or four blocks but then if somebody
link |
02:21:00.960
makes a room that covers our maps
link |
02:21:02.960
we're limited to 64 by 64 blocks
link |
02:21:04.960
if you made one room
link |
02:21:06.960
that was nothing but walls at the far
link |
02:21:08.960
space it would go pretty slow
link |
02:21:10.960
because it would be stepping across
link |
02:21:12.960
80 tile tests or something
link |
02:21:14.960
along the way. By the way the physics of our
link |
02:21:16.960
universe seems to be competing this very thing
link |
02:21:18.960
so this maps nicely to the
link |
02:21:20.960
actual physics of our world.
link |
02:21:22.960
Yeah you get like I follow a little bit
link |
02:21:24.960
of something like Stephen Wolfram's work on
link |
02:21:26.960
you know interconnected network
link |
02:21:28.960
information states of that and
link |
02:21:30.960
that's it's beyond what I can
link |
02:21:32.960
have an informed opinion on
link |
02:21:34.960
but it's interesting that people are
link |
02:21:36.960
considering things like that and have
link |
02:21:38.960
and have things that can back
link |
02:21:40.960
it up. Yeah
link |
02:21:42.960
there's whole different sets of interesting stuff
link |
02:21:44.960
there. So Wolfenstein 3D
link |
02:21:46.960
had raycasting. So raycasting
link |
02:21:48.960
and then the other kind of key aspect
link |
02:21:50.960
was what I called compiled
link |
02:21:52.960
scalars where the
link |
02:21:54.960
idea of
link |
02:21:56.960
you saw this in the earlier classic
link |
02:21:58.960
arcade games like Space Harrier and stuff
link |
02:22:00.960
where you would take a picture which is
link |
02:22:02.960
normally drawn directly on the screen
link |
02:22:04.960
and then if you have the ability to make
link |
02:22:06.960
it bigger or smaller big chunky pixels
link |
02:22:08.960
or physically small drop sampled
link |
02:22:10.960
pixels that's the fundamental
link |
02:22:12.960
aspect of what our characters
link |
02:22:14.960
were doing in these 3D games you would have
link |
02:22:16.960
it's just like you might have drawn a tiny little character
link |
02:22:18.960
but now we can make them really big
link |
02:22:20.960
and make them really small move it around
link |
02:22:22.960
that was the limited kind of 3D
link |
02:22:24.960
that we had for characters to make them
link |
02:22:26.960
turn there were literally eight different views
link |
02:22:28.960
of them you didn't actually have a 3D model
link |
02:22:30.960
that would rotate you just had these cardboard
link |
02:22:32.960
cutouts but that was good enough for that
link |
02:22:34.960
startle fight reaction and
link |
02:22:36.960
it was kind of what we had to deal
link |
02:22:38.960
with there. So a straightforward
link |
02:22:40.960
approach to do that you could just write
link |
02:22:42.960
out your doubly nested loop of
link |
02:22:44.960
you've got your stretch factor
link |
02:22:46.960
and it's like you've got a point you stretch by a little
link |
02:22:48.960
bit it might be on the same pixel it might
link |
02:22:50.960
be on the next pixel might have skipped a pixel
link |
02:22:52.960
you can write that out but it's
link |
02:22:54.960
not gonna be fast enough where especially
link |
02:22:56.960
you get a character for that right in
link |
02:22:58.960
your face monster covering almost the
link |
02:23:00.960
entire screen doing that with a
link |
02:23:02.960
general purpose scaling routine
link |
02:23:04.960
would have just been much too slow it would have
link |
02:23:06.960
worked when they're small characters but then it would get
link |
02:23:08.960
slower and slower as they got closer to you
link |
02:23:10.960
until right at the time when you most care
link |
02:23:12.960
about having a fast reaction time
link |
02:23:14.960
the game would be chunking down
link |
02:23:16.960
so the fastest possible
link |
02:23:18.960
way to draw pixels
link |
02:23:20.960
at that time was to
link |
02:23:22.960
I am
link |
02:23:24.960
instead of saying I've got a general
link |
02:23:26.960
purpose I am
link |
02:23:28.960
version that can handle any scale
link |
02:23:30.960
I made I used
link |
02:23:32.960
a program to make essentially
link |
02:23:34.960
a hundred or more separate little
link |
02:23:36.960
programs that was optimized for
link |
02:23:38.960
I will take an image and I will draw it
link |
02:23:40.960
12 pixels tall I'll take an image I'll
link |
02:23:42.960
draw it 14 pixels tall
link |
02:23:44.960
up by every two pixels even
link |
02:23:46.960
for that so you would have the most
link |
02:23:48.960
optimized code so that in
link |
02:23:50.960
the normal case where
link |
02:23:52.960
most of the world is fairly large
link |
02:23:54.960
I like the pixels are big you know
link |
02:23:56.960
we did not have a lot of memory so
link |
02:23:58.960
in most cases that meant that you
link |
02:24:00.960
would load a pixel color and then
link |
02:24:02.960
you would store it multiple times
link |
02:24:04.960
so that was faster
link |
02:24:06.960
than even copying an image
link |
02:24:08.960
in a normal conventional case because
link |
02:24:10.960
most of the time the image is expanded
link |
02:24:12.960
so instead of doing one read one
link |
02:24:14.960
write for a simple copy you might
link |
02:24:16.960
be doing one read and three or four writes
link |
02:24:18.960
as it got really big and that had
link |
02:24:20.960
the beneficial aspect of just when you
link |
02:24:22.960
needed the performance most when things are covering
link |
02:24:24.960
the screen it was giving you the most
link |
02:24:26.960
acceleration for that by the way we
link |
02:24:28.960
were able to
link |
02:24:30.960
understand this through
link |
02:24:32.960
thinking about it or were you testing like
link |
02:24:34.960
the right speed and this again
link |
02:24:36.960
comes back to I can
link |
02:24:38.960
find the antecedents for things like this
link |
02:24:40.960
so in I
link |
02:24:42.960
back in the Apple 2 days
link |
02:24:44.960
the graphics were
link |
02:24:46.960
essentially single bits at a time
link |
02:24:48.960
and if you wanted to make your
link |
02:24:50.960
little spaceship if you wanted to make it
link |
02:24:52.960
smoothly go across the world
link |
02:24:54.960
if you just took the image and you drew it out at the next
link |
02:24:56.960
location you would move by seven pixels
link |
02:24:58.960
at a time so it would go chunk chunk chunk
link |
02:25:00.960
if you wanted to make it move smoothly
link |
02:25:02.960
you actually had to make seven versions
link |
02:25:04.960
of the ship that were pre shifted
link |
02:25:06.960
you could write a program that would shift it
link |
02:25:08.960
dynamically but on a one megahertz
link |
02:25:10.960
processor that's not going anywhere fast
link |
02:25:12.960
so if you wanted to do a smooth
link |
02:25:14.960
moving fast action game you made
link |
02:25:16.960
separate versions of each of these
link |
02:25:18.960
sprites now there were a few
link |
02:25:20.960
more tricks you could pull that if it still
link |
02:25:22.960
wasn't fast enough you could make
link |
02:25:24.960
a compiled shape where
link |
02:25:26.960
instead of this program
link |
02:25:28.960
that normally copies an image
link |
02:25:30.960
it says like get this byte from here
link |
02:25:32.960
stored here get this byte store this byte
link |
02:25:34.960
if you've got the memory space
link |
02:25:36.960
you could say I'm going to write
link |
02:25:38.960
the program that does nothing but draw
link |
02:25:40.960
this shape it's going to be like
link |
02:25:42.960
I'm going to load the immediate value
link |
02:25:44.960
25 you know which is some
link |
02:25:46.960
bit pattern and then I'm going to store
link |
02:25:48.960
that at this location
link |
02:25:50.960
rather than loading something from memory
link |
02:25:52.960
that involve indexing registers
link |
02:25:54.960
and this other slow stuff you could
link |
02:25:56.960
go ahead and say no I'm going to hard code
link |
02:25:58.960
the exact values of all of the image right
link |
02:26:00.960
into the program and this was always
link |
02:26:02.960
a horrible trade off there but you didn't have much
link |
02:26:04.960
memory and you didn't have much speed
link |
02:26:06.960
but if you had something that you wanted to go
link |
02:26:08.960
really fast you could turn it into a program
link |
02:26:10.960
and that was
link |
02:26:12.960
you know knowing about that technique is what
link |
02:26:14.960
made me think about some of these unwinding
link |
02:26:16.960
it for the PC where people
link |
02:26:18.960
that didn't come from that background were less
link |
02:26:20.960
likely to think about that
link |
02:26:22.960
I mean there's some deep parallels
link |
02:26:24.960
probably to human cognition as well
link |
02:26:26.960
there's something about
link |
02:26:28.960
optimizing
link |
02:26:30.960
and compressing
link |
02:26:32.960
the
link |
02:26:34.960
the processing of a new information that
link |
02:26:36.960
requires you to predict the possible
link |
02:26:38.960
ways in which
link |
02:26:40.960
the game or the world
link |
02:26:42.960
might unroll and you have
link |
02:26:44.960
something like compiled scalars always
link |
02:26:46.960
there so you have like
link |
02:26:48.960
optimum like you have a prediction
link |
02:26:50.960
of how the world will unroll and you have
link |
02:26:52.960
some kind of optimized
link |
02:26:54.960
data structure
link |
02:26:56.960
for that prediction and then you can modify
link |
02:26:58.960
if the world turns out to be different
link |
02:27:00.960
you can modify in a slight way.
link |
02:27:02.960
As far as building out techniques so much of the brain
link |
02:27:04.960
is about the associative context
link |
02:27:06.960
you know there just when you learn something
link |
02:27:08.960
it's in the context of something else
link |
02:27:10.960
and you can have faint tiny little
link |
02:27:12.960
hints of things and I do think there are
link |
02:27:14.960
some deep things around
link |
02:27:16.960
like sparse distributed memories and boosting
link |
02:27:18.960
that's like if you can just be slightly above the noise
link |
02:27:20.960
floor of having some hint of something
link |
02:27:22.960
you can have things refined into
link |
02:27:24.960
pulling the memory back up so
link |
02:27:26.960
having a being a programmer and having a
link |
02:27:28.960
toolbox of like all of these things that
link |
02:27:30.960
things that I did in all of these previous
link |
02:27:32.960
lives of programming tasks that
link |
02:27:34.960
still matters to me about how I'm
link |
02:27:36.960
able to pull up some of these things like in that
link |
02:27:38.960
case it was something I did on the Apple
link |
02:27:40.960
to then being relevant for the PC
link |
02:27:42.960
and I have still cases
link |
02:27:44.960
when I would when I would work on mobile
link |
02:27:46.960
development then be like okay I did
link |
02:27:48.960
something like this back in the
link |
02:27:50.960
the doom days but now it's a different
link |
02:27:52.960
environment but I still had that tie
link |
02:27:54.960
I can bring it in and I can transform it
link |
02:27:56.960
into what the world needs right now
link |
02:27:58.960
and I do think that's actually one of the
link |
02:28:00.960
very core things with human cognition
link |
02:28:02.960
and brain like I you know brain
link |
02:28:04.960
like functioning is finding
link |
02:28:06.960
these ways about you've got your brain is
link |
02:28:08.960
kind of everything everywhere all at once
link |
02:28:10.960
you know it's it is just a set of all of this
link |
02:28:12.960
stuff that is just fetched back by these
link |
02:28:14.960
queries that go into it and they can
link |
02:28:16.960
just be slightly above the noise floor
link |
02:28:18.960
with random noise in your neurons and synapses
link |
02:28:20.960
that are affecting exactly what gets pulled
link |
02:28:22.960
up so you're saying some of these very
link |
02:28:24.960
specific solutions for different
link |
02:28:26.960
games you find
link |
02:28:28.960
that there's a kernel of an a deep
link |
02:28:30.960
idea that's generalizable to other
link |
02:28:32.960
to other things yeah you can't
link |
02:28:34.960
predict what it's going to be but that
link |
02:28:36.960
idea of like I called out that compiled
link |
02:28:38.960
shaders in the forward that I wrote
link |
02:28:40.960
for that the game engine black book
link |
02:28:42.960
as you know this is it's
link |
02:28:44.960
kind of an endpoint of unrolling
link |
02:28:46.960
code but that's one of those things
link |
02:28:48.960
that thinking about that and having that
link |
02:28:50.960
in your mind and I'm sure there are some
link |
02:28:52.960
programmers that you know hear about that
link |
02:28:54.960
think about it a little bit it's kind of the
link |
02:28:56.960
mind blown moment it's like oh you can
link |
02:28:58.960
just turn all of that data into code
link |
02:29:00.960
and nowadays you know you have instruction
link |
02:29:02.960
cash issues and that's not necessarily the
link |
02:29:04.960
best idea but there are different
link |
02:29:06.960
it's an idea that has power
link |
02:29:08.960
and has probably relevance in some other
link |
02:29:10.960
areas maybe it's in a hardware point of
link |
02:29:12.960
view that there's a way you approach
link |
02:29:14.960
building hardware that has that same
link |
02:29:16.960
you don't even have to think about iterating
link |
02:29:18.960
everything all the way into it in one
link |
02:29:20.960
place what is the story
link |
02:29:22.960
of how you came to program doom
link |
02:29:24.960
what is some memorable technical
link |
02:29:26.960
challenges or innovations within that game
link |
02:29:28.960
so the path that we went
link |
02:29:30.960
after after Wolfenstein
link |
02:29:32.960
got out and we were on this crazy
link |
02:29:34.960
arc where keen one through three
link |
02:29:36.960
more success than we thought keen
link |
02:29:38.960
four through six even more success
link |
02:29:40.960
Wolfenstein even more success so we
link |
02:29:42.960
were on this this crazy trajectory
link |
02:29:44.960
for things so actually our first
link |
02:29:46.960
box commercial project was a commander
link |
02:29:48.960
keen game but then
link |
02:29:50.960
Wolfenstein was going to have a game
link |
02:29:52.960
Spear of Destiny which was
link |
02:29:54.960
a commercial version 60 new levels
link |
02:29:56.960
so the rest of the team took the game
link |
02:29:58.960
engine pretty much as it was
link |
02:30:00.960
and started working on that we got
link |
02:30:02.960
new monsters but it's
link |
02:30:04.960
basically reskins of the things
link |
02:30:06.960
there there's a really interesting aspect
link |
02:30:08.960
about that that I didn't appreciate until much
link |
02:30:10.960
much later about how
link |
02:30:12.960
Wolfenstein clearly did
link |
02:30:14.960
tap out its limit about
link |
02:30:16.960
what you want to play
link |
02:30:18.960
all the levels and a couple of our license
link |
02:30:20.960
things there was a hard
link |
02:30:22.960
creative wall that you did not really
link |
02:30:24.960
benefit much by continuing to beat on it
link |
02:30:26.960
but a game
link |
02:30:28.960
like doom and other more modern
link |
02:30:30.960
games like Minecraft or something
link |
02:30:32.960
there's kind of a turing completeness level
link |
02:30:34.960
of design freedom that you get in games
link |
02:30:36.960
that Wolfenstein clearly sat on one
link |
02:30:38.960
side of you know all the creative
link |
02:30:40.960
people in the world could not go and do
link |
02:30:42.960
a masterpiece just with the technology
link |
02:30:44.960
that Wolfenstein had Wolfenstein
link |
02:30:46.960
could do Wolfenstein but you really couldn't
link |
02:30:48.960
do something crazy and different
link |
02:30:50.960
but it didn't take that much more capability
link |
02:30:52.960
to get to Wolfenstein with
link |
02:30:54.960
the freeform lines and
link |
02:30:56.960
a little bit more artistic freedom to get
link |
02:30:58.960
to the point where people still announce
link |
02:31:00.960
new doom levels today all these
link |
02:31:02.960
years after without having completely
link |
02:31:04.960
tapped out the creativity how did you
link |
02:31:06.960
put it touring complete
link |
02:31:08.960
design space design space
link |
02:31:10.960
like you know we have the kind of
link |
02:31:12.960
computational universality
link |
02:31:14.960
on a lot of things and for creativity
link |
02:31:16.960
but yeah there's things where
link |
02:31:18.960
a box can be too small
link |
02:31:20.960
but above a certain point
link |
02:31:22.960
you kind of are at the point where
link |
02:31:24.960
you really have almost
link |
02:31:26.960
unbounded creative ability there and doom
link |
02:31:28.960
was the first time you crossed
link |
02:31:30.960
that line yeah where there were
link |
02:31:32.960
thousands of doom levels created
link |
02:31:34.960
and some of them still have something new
link |
02:31:36.960
and interesting to say to the world about it
link |
02:31:38.960
that line
link |
02:31:40.960
can you introspect what that line
link |
02:31:42.960
was is in the design space
link |
02:31:44.960
is it something about the programming
link |
02:31:46.960
capabilities that you were able
link |
02:31:48.960
to add to the game
link |
02:31:50.960
so the graphics fidelity
link |
02:31:52.960
was a necessary part because the block
link |
02:31:54.960
limitations in Wolfenstein
link |
02:31:56.960
what we had right there
link |
02:31:58.960
was not enough
link |
02:32:00.960
the full scale blocks although
link |
02:32:02.960
Minecraft I really did show that
link |
02:32:04.960
perhaps blocks stacked
link |
02:32:06.960
in 3D and at one quarter
link |
02:32:08.960
the scale of that one eighth in volume
link |
02:32:10.960
is then sufficient to have all
link |
02:32:12.960
of that but the wall
link |
02:32:14.960
sized blocks that we had in Wolfenstein
link |
02:32:16.960
was too much of a creative limitation
link |
02:32:18.960
we licensed the technology to a few other teams
link |
02:32:20.960
none of them made
link |
02:32:22.960
too much of a dent with that
link |
02:32:24.960
it just wasn't enough creative ability
link |
02:32:26.960
but a little bit more whether
link |
02:32:28.960
it was the variable floors and ceilings
link |
02:32:30.960
and arbitrary angles in doom
link |
02:32:32.960
or the smaller
link |
02:32:34.960
blocks in Minecraft
link |
02:32:36.960
is then enough to open it up to
link |
02:32:38.960
worlds and worlds of new capabilities
link |
02:32:40.960
what is binary space
link |
02:32:42.960
partitioning
link |
02:32:44.960
which is one of the technologies
link |
02:32:46.960
jump around a little bit
link |
02:32:48.960
on the story path there
link |
02:32:50.960
so while the team was working on
link |
02:32:52.960
Spirit Destiny for Wolfenstein
link |
02:32:54.960
we had met another development team
link |
02:32:56.960
Raven Software while we were in Wisconsin
link |
02:32:58.960
and
link |
02:33:00.960
they had RPG background
link |
02:33:02.960
and I still kind of love that
link |
02:33:04.960
and I offered to do a game engine
link |
02:33:06.960
for them to let them do
link |
02:33:08.960
a 3D rendered RPG
link |
02:33:10.960
instead of the like most RPG games
link |
02:33:12.960
were kind of hand drawn they made it look
link |
02:33:14.960
kind of 3D but it was done just all with
link |
02:33:16.960
artist work rather than a real engine
link |
02:33:18.960
and
link |
02:33:20.960
after Wolfenstein this was still a tile
link |
02:33:22.960
based world but I added floors and ceilings
link |
02:33:24.960
and some lighting and the ability to have
link |
02:33:26.960
some sloped floors in different areas
link |
02:33:28.960
and that was my intermediate step for a game called
link |
02:33:30.960
Lancaster
link |
02:33:32.960
and it had slowed down enough
link |
02:33:34.960
it was not fast enough to do our type
link |
02:33:36.960
of action things so they had the screen
link |
02:33:38.960
cropped down a little bit so
link |
02:33:40.960
you couldn't go the full screen width
link |
02:33:42.960
like we would try to do in Wolfenstein
link |
02:33:44.960
but I learned a lot
link |
02:33:46.960
I got the floors and ceilings and lightings and it looked great
link |
02:33:48.960
they were great artists up there
link |
02:33:50.960
and it was an inspiration for us to look at
link |
02:33:52.960
some of that stuff
link |
02:33:54.960
but I had learned enough from that
link |
02:33:56.960
that I had the plan for
link |
02:33:58.960
faster ways to do the lighting
link |
02:34:00.960
and shadowing and I wanted to do this freeform
link |
02:34:02.960
geometry I wanted to break out of this tile
link |
02:34:04.960
based 90
link |
02:34:06.960
degree world limitations
link |
02:34:08.960
so we had that was
link |
02:34:10.960
when we got our next stations and we were working
link |
02:34:12.960
with these higher powered systems
link |
02:34:14.960
and we built
link |
02:34:16.960
an editor that let us draw kind of arbitrary
link |
02:34:18.960
line segments and I was working hard
link |
02:34:20.960
to try to make something that could
link |
02:34:22.960
render this fast enough
link |
02:34:24.960
I was pushing myself
link |
02:34:26.960
pretty hard
link |
02:34:28.960
and we were at a point where
link |
02:34:30.960
we could see some things that looked amazingly cool
link |
02:34:32.960
but it wasn't really fast enough
link |
02:34:34.960
for the way I was doing it
link |
02:34:36.960
for this flexibility it was no longer
link |
02:34:38.960
I couldn't just raycast into it
link |
02:34:40.960
and I had these very complex sets of lines
link |
02:34:42.960
and simple little worlds were okay
link |
02:34:44.960
but the cool things that we wanted to do
link |
02:34:46.960
just weren't quite fast enough
link |
02:34:48.960
and I wound up taking a break
link |
02:34:50.960
at that point and I did
link |
02:34:52.960
the port I did two ports
link |
02:34:54.960
of
link |
02:34:56.960
our games I
link |
02:34:58.960
Wolfenstein to the
link |
02:35:00.960
Super Nintendo it was a
link |
02:35:02.960
crazy difficult thing to do
link |
02:35:04.960
which was an even slower processor
link |
02:35:06.960
a couple megahertz processor
link |
02:35:08.960
and
link |
02:35:10.960
it had been this whole thing where we had farmed out
link |
02:35:12.960
the
link |
02:35:14.960
work and it wasn't going well
link |
02:35:16.960
and I took it back over
link |
02:35:18.960
and trying to make it go fast
link |
02:35:20.960
on there where it really
link |
02:35:22.960
did not have much processing power
link |
02:35:24.960
the pixels were stretched up hugely
link |
02:35:26.960
and it was pretty ugly when you looked at it
link |
02:35:28.960
but in the end it did come out fast enough
link |
02:35:30.960
to play and still be kind of fun from that
link |
02:35:32.960
but that was where I started
link |
02:35:34.960
using BSP trees or binary
link |
02:35:36.960
space partitioning trees it was one of those things
link |
02:35:38.960
I had to make it faster
link |
02:35:40.960
there it was a stepping stone
link |
02:35:42.960
where it was reasonably easy to understand
link |
02:35:44.960
in the grid world of Wolfenstein
link |
02:35:46.960
where it was all still 90 degree angles
link |
02:35:48.960
BSP trees were
link |
02:35:50.960
I eased myself into
link |
02:35:52.960
it with that and it was a big success
link |
02:35:54.960
then when I came
link |
02:35:56.960
back to working on Doom
link |
02:35:58.960
I had this new tool in my toolbox
link |
02:36:00.960
it was going to be a lot harder with the arbitrary
link |
02:36:02.960
angles of Doom this was where
link |
02:36:04.960
I really started grappling with epsilon
link |
02:36:06.960
problems and just you know
link |
02:36:08.960
up until that point I hadn't really had to deal with
link |
02:36:10.960
the fact that I am
link |
02:36:12.960
so many numeric things this almost felt like a betrayal
link |
02:36:14.960
to me where people had told me that I had
link |
02:36:16.960
mathematicians up on a bit of a pedestal
link |
02:36:18.960
where I was
link |
02:36:20.960
people think I'm a math wizard and I'm not
link |
02:36:22.960
I really everything that I did
link |
02:36:24.960
was really done with a solid
link |
02:36:26.960
high school math understanding
link |
02:36:28.960
you know algebra 2 trigonometry
link |
02:36:30.960
and I am
link |
02:36:32.960
that was what got me all the way through Doom and Quake
link |
02:36:34.960
and all of that of just understanding
link |
02:36:36.960
basics of matrices and
link |
02:36:38.960
knowing it well enough to do something with it
link |
02:36:40.960
what's the epsilon problems you ran into
link |
02:36:42.960
so I when you wind up taking
link |
02:36:44.960
a like a sloped line
link |
02:36:46.960
you say I'm going to intersect it with another sloped
link |
02:36:48.960
line I am
link |
02:36:50.960
then you wind up with something that's not going to be
link |
02:36:52.960
on these nice grid boundaries
link |
02:36:54.960
with the Wolfenstein tile maps
link |
02:36:56.960
all you've got is horizontal and vertical lines
link |
02:36:58.960
looking at it from above and if you cut
link |
02:37:00.960
one of them it's just obvious the other one gets cut
link |
02:37:02.960
exactly at that point
link |
02:37:04.960
but when you have angled lines you're doing
link |
02:37:06.960
a kind of a slope intercept problem
link |
02:37:08.960
and you wind up with rational numbers there
link |
02:37:10.960
where things that are not going
link |
02:37:12.960
to evenly land on an integer
link |
02:37:14.960
or even on any fixed point value that you've got
link |
02:37:16.960
so everything winds up having
link |
02:37:18.960
to snap to some fixed point value
link |
02:37:20.960
so the lines slightly change their
link |
02:37:22.960
angle you wind up if you cut something
link |
02:37:24.960
here this one's going to bend a little this way
link |
02:37:26.960
and it's not going to be completely straight
link |
02:37:28.960
and then you come down to all these questions of
link |
02:37:30.960
well this one is a
link |
02:37:32.960
point on an angled line
link |
02:37:34.960
you can't answer that in finite
link |
02:37:36.960
precision unless you're doing something
link |
02:37:38.960
with actual rational numbers
link |
02:37:40.960
and later on I did waste far too much
link |
02:37:42.960
time chasing things like that how do you
link |
02:37:44.960
do precise arithmetic with rational numbers
link |
02:37:46.960
and it always blows up eventually
link |
02:37:48.960
exponentially as you do
link |
02:37:50.960
so these kind of things are impossible with computers
link |
02:37:52.960
so they're possible
link |
02:37:54.960
again there are paths to do
link |
02:37:56.960
doing it but you can't fit them conveniently
link |
02:37:58.960
in any of the numbers you need to start using
link |
02:38:00.960
big nums and different
link |
02:38:02.960
factor trackings of different things
link |
02:38:04.960
so you have to if you have any
link |
02:38:06.960
elements of OCD and you want to do something
link |
02:38:08.960
perfectly you're screwed if you're working
link |
02:38:10.960
with floating point yeah so
link |
02:38:12.960
so you had to deal with this for the first
link |
02:38:14.960
time and there were lots of challenges
link |
02:38:16.960
there about like okay they built
link |
02:38:18.960
this cool thing and the way the BSP
link |
02:38:20.960
trees work is it basically
link |
02:38:22.960
takes the walls and it carves other
link |
02:38:24.960
walls by those walls in this clever
link |
02:38:26.960
way that you can then take
link |
02:38:28.960
all of these fragments and then you can
link |
02:38:30.960
for sure from any given point
link |
02:38:32.960
get an ordering of everything in the world
link |
02:38:34.960
and you can say this goes in front of this
link |
02:38:36.960
goes in front of this all the way back to
link |
02:38:38.960
the last thing and that's super
link |
02:38:40.960
valuable for graphics where
link |
02:38:42.960
kind of a classic graphics
link |
02:38:44.960
algorithm would be painter's algorithm
link |
02:38:46.960
you paint the furthest thing first and then the next thing
link |
02:38:48.960
and then the next thing and then it comes up
link |
02:38:50.960
and it's all perfect for you that's
link |
02:38:52.960
slow because you don't want to have to have drawn
link |
02:38:54.960
everything like that but you can also flip
link |
02:38:56.960
it around and draw the closest thing
link |
02:38:58.960
to you and then if you're clever
link |
02:39:00.960
about it you can figure out what you need
link |
02:39:02.960
to draw that's visible beyond
link |
02:39:04.960
that and that's what BSP trees allow you to
link |
02:39:06.960
do. Yeah so it's combined with
link |
02:39:08.960
a bunch of other things but it gives
link |
02:39:10.960
you that ordering it's a clever way
link |
02:39:12.960
of doing things and I remember
link |
02:39:14.960
I had learned this from one of
link |
02:39:16.960
my graphics bible at the time
link |
02:39:18.960
a book called Folien Van Damme and I can't
link |
02:39:20.960
it was a different world back there there was a small
link |
02:39:22.960
integer number of books and
link |
02:39:24.960
this book that yeah
link |
02:39:26.960
this book that was it was big fat college
link |
02:39:28.960
textbook that I had read
link |
02:39:30.960
through many times I didn't
link |
02:39:32.960
understand everything in it some of it wasn't
link |
02:39:34.960
useful to me but they had the little
link |
02:39:36.960
thing about
link |
02:39:38.960
finite orderings of you draw a little t
link |
02:39:40.960
shaped thing and you can say you can
link |
02:39:42.960
you can make a fixed ahead of time order from
link |
02:39:44.960
this and you can generalize this with
link |
02:39:46.960
the BSP trees and I
link |
02:39:48.960
got a little bit more information about that and
link |
02:39:50.960
it was kind of fun later while I was working on
link |
02:39:52.960
Quake I got to meet Bruce Nailer
link |
02:39:54.960
who is one of the original researchers that
link |
02:39:56.960
developed those technologies
link |
02:39:58.960
for academic literature
link |
02:40:00.960
and that was kind of fun but I was very much
link |
02:40:02.960
finding a tool that can help me solve
link |
02:40:04.960
what I was doing and I was using it in this
link |
02:40:06.960
very crude way in a two dimensional fashion
link |
02:40:08.960
rather than the general 3D the epsilon
link |
02:40:10.960
problem got much worse in Quake
link |
02:40:12.960
in three dimensionals when things angle in every
link |
02:40:14.960
way but eventually I did sort
link |
02:40:16.960
out the sort out how to do it reliably
link |
02:40:18.960
on doom there were still a few
link |
02:40:20.960
edge cases in doom that were not
link |
02:40:22.960
absolutely perfect where
link |
02:40:24.960
they even got terminologies in the
link |
02:40:26.960
communities like when you got to something where it
link |
02:40:28.960
was messed up it was a hall of mirrors effect
link |
02:40:30.960
because you'd sweep by and it wouldn't draw
link |
02:40:32.960
something there and you would just wind up with
link |
02:40:34.960
the leftover remnants as you flipped
link |
02:40:36.960
between the two pages
link |
02:40:38.960
but BSP trees were important
link |
02:40:40.960
for it but it's again worth noting
link |
02:40:42.960
that after we did
link |
02:40:44.960
doom our major competition
link |
02:40:46.960
came from I'm Ken Silverman
link |
02:40:48.960
his build engine which was used for Duke
link |
02:40:50.960
Nukem 3D and some of the other games for
link |
02:40:52.960
3D realms and he used a completely
link |
02:40:54.960
different technology nothing to do with
link |
02:40:56.960
I'm with BSP
link |
02:40:58.960
trees so there's not just
link |
02:41:00.960
a one true way of doing things
link |
02:41:02.960
I'm there were critical things
link |
02:41:04.960
about to make any of those games
link |
02:41:06.960
fast you had to you had to separate
link |
02:41:08.960
your drawing into you drew vertical lines
link |
02:41:10.960
and you drew horizontal lines just
link |
02:41:12.960
kind of changing exactly what you would
link |
02:41:14.960
draw with them that was critical for
link |
02:41:16.960
the technologies at that time
link |
02:41:18.960
and like all the games that were
link |
02:41:20.960
kind of like that wound up doing something
link |
02:41:22.960
similar but there were still a bunch of other
link |
02:41:24.960
decisions that could be made
link |
02:41:26.960
and we made good enough decisions
link |
02:41:28.960
on everything on doom
link |
02:41:30.960
we brought in multiplayer
link |
02:41:32.960
significantly and it was our first game
link |
02:41:34.960
that was designed to be modified
link |
02:41:36.960
by the user community where we had this
link |
02:41:38.960
whole set up of our wad files
link |
02:41:40.960
and pwads and things that people could
link |
02:41:42.960
build with tools that we released to them
link |
02:41:44.960
and they eventually rewrote to be better
link |
02:41:46.960
than what we released but they could build
link |
02:41:48.960
things and you could add it to your game
link |
02:41:50.960
without destructively modifying it which
link |
02:41:52.960
is what you had to do in all the early games
link |
02:41:54.960
the data files are
link |
02:41:56.960
the executable before while doom
link |
02:41:58.960
was set up in this flexible way so
link |
02:42:00.960
that you could just say run the normal
link |
02:42:02.960
game with this added on on top and it
link |
02:42:04.960
would overlay just the things
link |
02:42:06.960
that you wanted to there
link |
02:42:08.960
would you say that doom was kind of the
link |
02:42:10.960
first true 3d game
link |
02:42:12.960
that you created so no it's still
link |
02:42:14.960
doom would usually be called a 2
link |
02:42:16.960
and a half d game where it had
link |
02:42:18.960
three dimensional points on it and this is
link |
02:42:20.960
another one of these kind of pedantic things
link |
02:42:22.960
that I love to argue about about what was
link |
02:42:24.960
the first 3d game I still
link |
02:42:26.960
like every month probably I hear from
link |
02:42:28.960
somebody about well was doom really
link |
02:42:30.960
a 3d game or something
link |
02:42:32.960
and
link |
02:42:34.960
I give the point where
link |
02:42:36.960
characters had three coordinates
link |
02:42:38.960
so you had like an x y and z the
link |
02:42:40.960
cacodamon could be coming in very high
link |
02:42:42.960
and come down towards you
link |
02:42:44.960
the walls had three coordinates
link |
02:42:46.960
on them so on some sense
link |
02:42:48.960
it's a 3d game engine
link |
02:42:50.960
not a fully general 3d game
link |
02:42:52.960
engine you could not
link |
02:42:54.960
build a pyramid in doom because
link |
02:42:56.960
you couldn't make a sloped wall
link |
02:42:58.960
which was slightly different where in
link |
02:43:00.960
that previous shadow caster game I couldn't
link |
02:43:02.960
have vertexes and have a sloped floor there
link |
02:43:04.960
but the changes that I made for
link |
02:43:06.960
doom to get higher speed and
link |
02:43:08.960
a different set of flexibility traded away
link |
02:43:10.960
that ability but you literally couldn't make
link |
02:43:12.960
that you could not
link |
02:43:14.960
make different heights
link |
02:43:16.960
of passages but you could not make a bridge
link |
02:43:18.960
over another area you could not
link |
02:43:20.960
go over and above it so it still had
link |
02:43:22.960
some 2d limitations to it
link |
02:43:24.960
that's more about the building versus the actual
link |
02:43:26.960
experience because the experiences
link |
02:43:28.960
it felt like things would come at you but again
link |
02:43:30.960
you couldn't look up either
link |
02:43:32.960
you could only pitch
link |
02:43:34.960
it was 4 degrees of freedom rather than
link |
02:43:36.960
6 degrees of freedom you did not
link |
02:43:38.960
have the ability to tilt your head this way
link |
02:43:40.960
or pitch up and down so that takes us
link |
02:43:42.960
to quake what was
link |
02:43:44.960
the leap there
link |
02:43:46.960
what was some fascinating
link |
02:43:48.960
technical challenges and there were a lot
link |
02:43:50.960
or not challenges but innovations
link |
02:43:52.960
that you've come up with so quake was
link |
02:43:54.960
kind of the first thing where
link |
02:43:56.960
I did have to kind of come face
link |
02:43:58.960
to face with my limitations
link |
02:44:00.960
where it was the first thing where
link |
02:44:02.960
I really did kind of give
link |
02:44:04.960
it my all and still come up
link |
02:44:06.960
you know come up a little bit short in terms
link |
02:44:08.960
of what and when I wanted to
link |
02:44:10.960
to get it done and the company
link |
02:44:12.960
brand had some serious stresses
link |
02:44:14.960
through the whole project
link |
02:44:16.960
and we
link |
02:44:18.960
bit off a lot so the things that we set out
link |
02:44:20.960
to do was it was going to be
link |
02:44:22.960
really a true 3D engine where
link |
02:44:24.960
it could do 6 degree of freedom
link |
02:44:26.960
you could have all the
link |
02:44:28.960
viewpoints you could model anything
link |
02:44:30.960
it had
link |
02:44:32.960
a really remarkable new lighting
link |
02:44:34.960
model with the surface caching
link |
02:44:36.960
and things that was one of those where it was starting
link |
02:44:38.960
to do some things that they weren't doing
link |
02:44:40.960
even on the very high end systems
link |
02:44:42.960
and it was going to be
link |
02:44:44.960
completely programmable
link |
02:44:46.960
in the modding standpoint where
link |
02:44:48.960
the thing that you couldn't do and do
link |
02:44:50.960
you could replace almost all of the media
link |
02:44:52.960
but you couldn't really change the game
link |
02:44:54.960
there were still some people
link |
02:44:56.960
that were doing the hex setting of the executable
link |
02:44:58.960
the dehacked things where you could change
link |
02:45:00.960
a few things about rules and people made
link |
02:45:02.960
some really capture the flag type things
link |
02:45:04.960
by hacking the executable but
link |
02:45:06.960
it wasn't really set out to do that
link |
02:45:08.960
quake was going to have its own
link |
02:45:10.960
language that the game was going to be implemented
link |
02:45:12.960
and that would be able to be overwritten
link |
02:45:14.960
just like any of the media
link |
02:45:16.960
code was going to be data for that
link |
02:45:18.960
and you would be able to have expansion
link |
02:45:20.960
packs that changed fundamental things
link |
02:45:22.960
and mods and so on
link |
02:45:24.960
and the multiplayer
link |
02:45:26.960
was going to be playable over the internet
link |
02:45:28.960
it was going to support a client
link |
02:45:30.960
server rather than peer to peer
link |
02:45:32.960
so we had the possibility of supporting
link |
02:45:34.960
larger numbers of players in disparate locations
link |
02:45:36.960
with this full flexibility
link |
02:45:38.960
of the programming overrides
link |
02:45:40.960
with full six degree of freedom
link |
02:45:42.960
modeling and viewing
link |
02:45:44.960
and with this fancy new light map
link |
02:45:46.960
kind of surface caching
link |
02:45:48.960
side it was a lot and this was
link |
02:45:50.960
one of those things that if I could
link |
02:45:52.960
go back and tell
link |
02:45:54.960
tell younger me to do something differently
link |
02:45:56.960
it would have been to split those innovations
link |
02:45:58.960
up into two phases
link |
02:46:00.960
in two separate games. It will be phase one
link |
02:46:02.960
and phase two. So it probably would have been
link |
02:46:04.960
taking the doom rendering engine
link |
02:46:06.960
and bringing in
link |
02:46:08.960
the TCP IP client server
link |
02:46:10.960
focusing on the multiplayer
link |
02:46:12.960
and the Quake C
link |
02:46:14.960
or would have been Doom C programming language there
link |
02:46:16.960
so I would have split that into
link |
02:46:18.960
programming language and networking
link |
02:46:20.960
with the same doom engine
link |
02:46:22.960
rather than forcing everybody to go towards
link |
02:46:24.960
the Quake engine which really meant
link |
02:46:26.960
getting a Pentium. While it ran on a 486
link |
02:46:28.960
it was not a great experience there
link |
02:46:30.960
we could have made more people happier
link |
02:46:32.960
and gotten two games done
link |
02:46:34.960
50% more time.
link |
02:46:36.960
So speaking of people happier
link |
02:46:38.960
or
link |
02:46:40.960
mutual friend Joe Rogan
link |
02:46:42.960
it seems like has the most
link |
02:46:44.960
important moment of his life
link |
02:46:46.960
has centered around Quake
link |
02:46:48.960
so it was a definitive
link |
02:46:50.960
part of his life
link |
02:46:52.960
so would he agree with
link |
02:46:54.960
your thinking that
link |
02:46:56.960
they should split
link |
02:46:58.960
so he is a person who loves Quake
link |
02:47:00.960
and played Quake a lot
link |
02:47:02.960
would he agree that you should have
link |
02:47:04.960
done the doom engine
link |
02:47:06.960
and focus on the multiplayer for phase 1
link |
02:47:08.960
or
link |
02:47:10.960
in your looking back
link |
02:47:12.960
is the 3D world that Quake created
link |
02:47:14.960
was also
link |
02:47:16.960
fundamental to the
link |
02:47:18.960
enriching experience. I would say that
link |
02:47:20.960
what would have happened is
link |
02:47:22.960
you would have had a
link |
02:47:24.960
doom looking but Quake feeling
link |
02:47:26.960
game
link |
02:47:28.960
8 months earlier and then maybe
link |
02:47:30.960
6 months after Quake actually
link |
02:47:32.960
shipped then there would have been the full
link |
02:47:34.960
running on a Pentium I am
link |
02:47:36.960
6 degree of freedom, graphics engine type
link |
02:47:38.960
things there so it's not that it wouldn't
link |
02:47:40.960
have been there
link |
02:47:42.960
it would have been something amazingly cool
link |
02:47:44.960
earlier and then something even cooler
link |
02:47:46.960
somewhat later where
link |
02:47:48.960
I would much rather have gone and done
link |
02:47:50.960
two 1 year development efforts
link |
02:47:52.960
I've cycled them through
link |
02:47:54.960
I've been a little more pragmatic about that
link |
02:47:56.960
rather than killing us
link |
02:47:58.960
ourselves on the whole Quake development
link |
02:48:00.960
but I would say it's obviously
link |
02:48:02.960
things worked out well in the end
link |
02:48:04.960
but looking back and saying how would I
link |
02:48:06.960
optimize and do things differently
link |
02:48:08.960
that did seem to be a clear case where
link |
02:48:10.960
I
link |
02:48:12.960
going ahead and we had enormous momentum
link |
02:48:14.960
on doom you know we did doom too
link |
02:48:16.960
as the kind of commercial boxed version
link |
02:48:18.960
after our shareware success
link |
02:48:20.960
with the original but we could have just
link |
02:48:22.960
made another doom game
link |
02:48:24.960
adding those new features
link |
02:48:26.960
in it would have been huge we would have
link |
02:48:28.960
learned all the same lessons but faster
link |
02:48:30.960
and it would have given
link |
02:48:32.960
6 degree of freedom and Pentium
link |
02:48:34.960
class systems a little bit more time
link |
02:48:36.960
to get mainstream because we did
link |
02:48:38.960
cut out a lot of people with the hardware
link |
02:48:40.960
requirements for Quake
link |
02:48:42.960
was there any dark moments for you personally
link |
02:48:44.960
psychologically in having
link |
02:48:48.960
having such harsh deadlines
link |
02:48:50.960
and having this also made
link |
02:48:52.960
difficult technical challenges
link |
02:48:54.960
so I've never really
link |
02:48:56.960
had
link |
02:48:58.960
really dark black places I mean
link |
02:49:00.960
I can't necessarily put myself in
link |
02:49:02.960
anyone else's shoes but I understand
link |
02:49:04.960
a lot of people
link |
02:49:06.960
have you have significant
link |
02:49:08.960
challenges with kind of their
link |
02:49:10.960
mental health and well being and I've been
link |
02:49:12.960
I've been super stressed
link |
02:49:14.960
I've been you know unhappy as a teenager
link |
02:49:16.960
in various ways but
link |
02:49:18.960
I've never I've never really
link |
02:49:20.960
gone to a very dark
link |
02:49:22.960
place I just seem to be
link |
02:49:24.960
largely
link |
02:49:26.960
immune to what really
link |
02:49:28.960
wrecks people I mean I've had plenty of time
link |
02:49:30.960
when I'm very unhappy and miserable about
link |
02:49:32.960
something but it's never
link |
02:49:34.960
hit me like you know I believe
link |
02:49:36.960
it winds up hitting some other people
link |
02:49:38.960
I've borne up well under whatever
link |
02:49:40.960
stresses have I
link |
02:49:42.960
you know have kind of fallen on me and I've
link |
02:49:44.960
always coped best on that
link |
02:49:46.960
when all I need to do is
link |
02:49:48.960
usually just kind of bear down on my work
link |
02:49:50.960
I pull myself out of
link |
02:49:52.960
whatever hole I might be slipping into
link |
02:49:54.960
by actually making progress
link |
02:49:56.960
I mean maybe if I was in a
link |
02:49:58.960
position where I was never able to make
link |
02:50:00.960
that progress I could have slid down further
link |
02:50:02.960
but I've always been in a
link |
02:50:04.960
place where okay a little bit
link |
02:50:06.960
more work maybe I'm in a tough spot here
link |
02:50:08.960
but I always know
link |
02:50:10.960
if I just keep pushing eventually
link |
02:50:12.960
I break through and I make progress I feel
link |
02:50:14.960
good about what I'm doing
link |
02:50:16.960
and that's been enough for me so
link |
02:50:18.960
far in my life
link |
02:50:20.960
Have you seen in the distance
link |
02:50:22.960
like
link |
02:50:24.960
you know ideas of depression
link |
02:50:26.960
or contemplating suicide have you seen
link |
02:50:28.960
those things far?
link |
02:50:30.960
So it was interesting when I was a teenager
link |
02:50:32.960
I was
link |
02:50:34.960
probably on some level a troubled
link |
02:50:36.960
youth I was unhappy most of my teenage
link |
02:50:38.960
years I
link |
02:50:40.960
wanted to be on my own doing
link |
02:50:42.960
programming all the time as soon as I
link |
02:50:44.960
was 18, 19 even though
link |
02:50:46.960
I was poor I was doing exactly what I wanted
link |
02:50:48.960
and I was very happy but high
link |
02:50:50.960
school was not a great time for me
link |
02:50:52.960
and I had
link |
02:50:54.960
a conversation with like the school counselor
link |
02:50:56.960
and they're kind of running their script it's like
link |
02:50:58.960
okay it's kind of a weird kid here let's
link |
02:51:00.960
carefully probe around it's like
link |
02:51:02.960
you know do you ever think about ending
link |
02:51:04.960
it all? I'm like no of course
link |
02:51:06.960
not never not at all
link |
02:51:08.960
this is temporary things are going to be better
link |
02:51:12.960
and that's always been kind of the case
link |
02:51:14.960
for me and obviously
link |
02:51:16.960
that's not that way for everyone and other people
link |
02:51:18.960
do react differently and
link |
02:51:20.960
what was your escape
link |
02:51:22.960
from the troubled youth
link |
02:51:24.960
like
link |
02:51:26.960
you know music
link |
02:51:28.960
video games
link |
02:51:30.960
books
link |
02:51:32.960
how did you escape from
link |
02:51:34.960
a world that's full of cruelty and suffering
link |
02:51:36.960
and that's absurd? Yeah I mean I was
link |
02:51:38.960
not you know I was not victim of cruelty
link |
02:51:40.960
and suffering it's like I was an unhappy
link |
02:51:42.960
somewhat petulant youth and you know in my
link |
02:51:44.960
point where I you know I'm not
link |
02:51:46.960
putting myself up with anybody else's
link |
02:51:48.960
suffering but I was unhappy
link |
02:51:50.960
objectively and
link |
02:51:52.960
the things that I did that
link |
02:51:54.960
very much characterized my childhood
link |
02:51:56.960
were I had
link |
02:51:58.960
books, comic books, dungeons and dragons,
link |
02:52:00.960
arcade games, video games
link |
02:52:02.960
like some of my fondest
link |
02:52:04.960
childhood memories are the convenience stores
link |
02:52:06.960
the 711s and quick trips because
link |
02:52:08.960
they had a spinner rack of comic books
link |
02:52:10.960
and they had a little side room with
link |
02:52:12.960
two or three video games, arcade games
link |
02:52:14.960
in it and that was
link |
02:52:16.960
that was very much my happy place you know if I
link |
02:52:18.960
could I get my comic books and
link |
02:52:20.960
if I could go to a library and you know
link |
02:52:22.960
go through those little 0 0
link |
02:52:24.960
0 section where computer books were supposed
link |
02:52:26.960
to be and there are a few sad little books there
link |
02:52:28.960
but still just being able to sit down
link |
02:52:30.960
and go through that and I read
link |
02:52:32.960
you know I read a ridiculous number
link |
02:52:34.960
of books both fiction and nonfiction
link |
02:52:36.960
as a teenager and
link |
02:52:38.960
you know as I my
link |
02:52:40.960
my rebelling in high school was
link |
02:52:42.960
just sitting there with my nose in a book ignoring
link |
02:52:44.960
the class and through lots of it and
link |
02:52:46.960
teachers had a range of reactions
link |
02:52:48.960
to that some more
link |
02:52:50.960
accepting of it than others
link |
02:52:52.960
I'm with you on that so let
link |
02:52:54.960
us return to quake for a bit with the technical
link |
02:52:56.960
challenges what
link |
02:52:58.960
everything together
link |
02:53:00.960
from the networking
link |
02:53:02.960
to the graphics
link |
02:53:04.960
what are some things you remember
link |
02:53:06.960
that were
link |
02:53:08.960
innovations you had to come up with in order
link |
02:53:10.960
to make it all happen
link |
02:53:12.960
yeah so there were a bunch of things on quake
link |
02:53:14.960
where on the one hand the idea
link |
02:53:16.960
that I built my own programming language
link |
02:53:18.960
to implement the game in
link |
02:53:20.960
looking back and I try to tell people
link |
02:53:22.960
it's like every every high level
link |
02:53:24.960
programmer sometime in their career goes through
link |
02:53:26.960
and they invent their own language it just seems to be a thing
link |
02:53:28.960
that's pretty broadly done people
link |
02:53:30.960
they're like I'm gonna go write a computer programming language
link |
02:53:32.960
and
link |
02:53:34.960
you know I don't regret having done it
link |
02:53:36.960
but after that I switched
link |
02:53:38.960
from quake C my quirky little
link |
02:53:40.960
pseudo object orient or
link |
02:53:42.960
entity oriented language there
link |
02:53:44.960
quake 2 went back to using DLLs
link |
02:53:46.960
with C and then quake 3
link |
02:53:48.960
I implemented my own C interpreter or compiler
link |
02:53:50.960
which was a much smarter thing to do
link |
02:53:52.960
that I should have done originally for quake
link |
02:53:54.960
but building my own language was
link |
02:53:56.960
an experience I learned a lot from that
link |
02:53:58.960
and then there was a generation
link |
02:54:00.960
of game programmers that learned
link |
02:54:02.960
programming with quake C which I feel kind
link |
02:54:04.960
of bad about because
link |
02:54:06.960
we give javascript a lot of crap but
link |
02:54:08.960
quake C was nothing to
link |
02:54:10.960
write home about there
link |
02:54:12.960
but it allowed people to do
link |
02:54:14.960
magical things you get into programming not
link |
02:54:16.960
because you love the
link |
02:54:18.960
BNF syntax of a language
link |
02:54:20.960
it's because the language lets you do
link |
02:54:22.960
something that you cared about and here's
link |
02:54:24.960
very much you could do something
link |
02:54:26.960
in a whole beautiful three dimensional world
link |
02:54:28.960
and the idea and the fact that the code
link |
02:54:30.960
for the game was out there you could say
link |
02:54:32.960
I like the shotgun but I want
link |
02:54:34.960
it to be more badass you go in there and say
link |
02:54:36.960
okay now it does 200 points damage
link |
02:54:38.960
and then you go around with a big grin
link |
02:54:40.960
on your face blowing up monsters all over
link |
02:54:42.960
the game so yeah it's
link |
02:54:44.960
I you know it is not
link |
02:54:46.960
what I would do today going back with that
link |
02:54:48.960
language but that was a big part of it
link |
02:54:50.960
learning about the networking stuff
link |
02:54:52.960
I because it's
link |
02:54:54.960
interesting where I learned these things by
link |
02:54:56.960
reading books so I would get a book on networking
link |
02:54:58.960
find something I
link |
02:55:00.960
read all about and learn okay packets they can
link |
02:55:02.960
be out of order
link |
02:55:04.960
lost or duplicated these are all
link |
02:55:06.960
the things that can theoretically happen to packets
link |
02:55:08.960
so I wind up spending all this time
link |
02:55:10.960
thinking about how do we deal about all that
link |
02:55:12.960
and it turns out of course in the real world
link |
02:55:14.960
those are things that yes theoretically can
link |
02:55:16.960
happen with multiple routes but they really
link |
02:55:18.960
aren't things that you're 99.999%
link |
02:55:20.960
of your packets
link |
02:55:22.960
have to deal with
link |
02:55:24.960
so there was learning experiences about
link |
02:55:26.960
lots of that like why
link |
02:55:28.960
when TCP is appropriate
link |
02:55:30.960
versus UDP and and how
link |
02:55:32.960
if you do things in UDP you wind up reinventing
link |
02:55:34.960
TCP badly in almost all cases
link |
02:55:36.960
so you know there's
link |
02:55:38.960
there's good arguments for using both
link |
02:55:40.960
for different game technology
link |
02:55:42.960
different parts of the game process transitioning
link |
02:55:44.960
from level to level and all but the
link |
02:55:46.960
the graphics were the showcase
link |
02:55:48.960
of what what quake
link |
02:55:50.960
was all about it was this graphics technology
link |
02:55:52.960
that nobody had seen there
link |
02:55:54.960
and it was a while before
link |
02:55:56.960
you know there were competitive things out there
link |
02:55:58.960
and it went a long
link |
02:56:00.960
time internally really not working
link |
02:56:02.960
where we were even building
link |
02:56:04.960
levels where the game
link |
02:56:06.960
just was not at all
link |
02:56:08.960
shippable with large fractions of the world
link |
02:56:10.960
like disappearing not being there
link |
02:56:12.960
I or being really
link |
02:56:14.960
slow in various parts of it and it
link |
02:56:16.960
was this act of faith it's like
link |
02:56:18.960
I think I'm gonna be able to fix this I think
link |
02:56:20.960
I'm gonna be able to make this work
link |
02:56:22.960
I'm and lots
link |
02:56:24.960
of stuff changed where the level designers
link |
02:56:26.960
would build something then have to throw it away
link |
02:56:28.960
as something fundamental in the kind of
link |
02:56:30.960
graphics or level technology changed
link |
02:56:32.960
and the
link |
02:56:34.960
I'm so there were two big things
link |
02:56:36.960
that contributed to making it possible
link |
02:56:38.960
at that time frame I am
link |
02:56:40.960
two new things there was
link |
02:56:42.960
certainly hardcore optimized low level
link |
02:56:44.960
assembly language this is where
link |
02:56:46.960
I had hired Michael a brash away from
link |
02:56:48.960
Microsoft and he had been one of my
link |
02:56:50.960
early inspirations where
link |
02:56:52.960
that back in the soft disk days the library
link |
02:56:54.960
of magazines that they had
link |
02:56:56.960
some of my most treasured ones were
link |
02:56:58.960
Michael a brash's articles
link |
02:57:00.960
in Dr. Dobbs Journal and
link |
02:57:02.960
it was it was amazing after
link |
02:57:04.960
all of our success in doom we were able to
link |
02:57:06.960
kind of hit him up and say hey we'd like you
link |
02:57:08.960
to come work at id software and he was in
link |
02:57:10.960
the senior technical role at Microsoft
link |
02:57:12.960
and I am you know and
link |
02:57:14.960
he was on track for and this was right when
link |
02:57:16.960
Microsoft was starting to take off and I did
link |
02:57:18.960
eventually
link |
02:57:20.960
convince him that what we were doing
link |
02:57:22.960
was going to be really amazing with quake it was
link |
02:57:24.960
going to it was going to be something nobody
link |
02:57:26.960
had seen before it had
link |
02:57:28.960
these aspects of what we were talking
link |
02:57:30.960
about we had metaverse talk back then
link |
02:57:32.960
we had read snow crash and we
link |
02:57:34.960
were we knew about this and
link |
02:57:36.960
Michael was
link |
02:57:38.960
big into the science fiction and we would talk
link |
02:57:40.960
about all that and kind of spin this tail
link |
02:57:42.960
and it was some of the same conversations
link |
02:57:44.960
that we have today about the metaverse
link |
02:57:46.960
about how you could have different areas
link |
02:57:48.960
linked together by portals and you could have
link |
02:57:50.960
user generated content and changing
link |
02:57:52.960
out all of these things so you really
link |
02:57:54.960
were creating the metaverse quaking
link |
02:57:56.960
and we we talked about things like
link |
02:57:58.960
philosophically advertised as a virtual
link |
02:58:00.960
reality experience you know that was
link |
02:58:02.960
the first wave of virtual reality was
link |
02:58:04.960
in the late 80s and early 90s
link |
02:58:06.960
you had like the lawnmower man
link |
02:58:08.960
I'm you know movie and you had
link |
02:58:10.960
time in newsweek talking about the early
link |
02:58:12.960
VPL headsets and
link |
02:58:14.960
of course that cratered so hard that
link |
02:58:16.960
people didn't want to look at virtual reality
link |
02:58:18.960
for decades afterwards where
link |
02:58:20.960
it was just it was spoken
link |
02:58:22.960
mirrors it was not real in the sense
link |
02:58:24.960
that you could actually do something
link |
02:58:26.960
real and valuable with it but
link |
02:58:28.960
but still we had that kind of common
link |
02:58:30.960
set of talking points and we were talking
link |
02:58:32.960
about what these games could
link |
02:58:34.960
I could become and how you'd
link |
02:58:36.960
like to see people building all of these
link |
02:58:38.960
creative things because we were seeing an
link |
02:58:40.960
explosion of work with doom at that time
link |
02:58:42.960
people were doing amazingly
link |
02:58:44.960
cool things like we saw cooler
link |
02:58:46.960
levels that we had built coming out of the
link |
02:58:48.960
user community and then people finding
link |
02:58:50.960
ways to you know change the characters
link |
02:58:52.960
in different ways and it was great and we
link |
02:58:54.960
knew what we were doing in quake was
link |
02:58:56.960
removing those last things there
link |
02:58:58.960
was some quirky things with a couple
link |
02:59:00.960
of the data types that didn't work right
link |
02:59:02.960
for overriding and then and then the
link |
02:59:04.960
core thing about the programming model
link |
02:59:06.960
and I was definitely going to hit all of
link |
02:59:08.960
those in quake I'm
link |
02:59:10.960
but the the graphics side of it was
link |
02:59:12.960
it was still
link |
02:59:14.960
I knew what I wanted to do
link |
02:59:16.960
and it was one of these
link |
02:59:18.960
hubris things where it's like well
link |
02:59:20.960
so far I've been able to kind of
link |
02:59:22.960
kick everything that I set out
link |
02:59:24.960
to go do but quake
link |
02:59:26.960
was definitely a little bit
link |
02:59:28.960
more than could be comfortably chewed
link |
02:59:30.960
at that point and
link |
02:59:32.960
but Michael was one of the
link |
02:59:34.960
one of the strongest programmers and
link |
02:59:36.960
graphics programmers that I knew
link |
02:59:38.960
and he was one of the people that I trusted
link |
02:59:40.960
to to write assembly code
link |
02:59:42.960
you know better than I could and there's
link |
02:59:44.960
there's a few people that I can point to
link |
02:59:46.960
about things like this where I'm a world
link |
02:59:48.960
class optimizer I mean I make things
link |
02:59:50.960
go fast but I recognize
link |
02:59:52.960
there's a number of people that
link |
02:59:54.960
can write tighter assembly code
link |
02:59:56.960
tighter SIMD code or tighter CUDA code
link |
02:59:58.960
then you know then I can write
link |
03:00:00.960
I'm you know my best strengths
link |
03:00:02.960
are a little bit more at the system
link |
03:00:04.960
level I mean I'm good at all of that
link |
03:00:06.960
but the most leverage comes
link |
03:00:08.960
from making the decisions that are a little bit
link |
03:00:10.960
higher up where you figure out
link |
03:00:12.960
how to change your large scale problems
link |
03:00:14.960
so that these lower level problems
link |
03:00:16.960
are easier to do or it makes it possible
link |
03:00:18.960
to do them in a
link |
03:00:20.960
in a uniquely fast way
link |
03:00:22.960
so most of my
link |
03:00:24.960
you know my big wins in a lot of ways
link |
03:00:26.960
from all the way from the early games through
link |
03:00:28.960
you know through VR and the aerospace
link |
03:00:30.960
work that I'm doing and did
link |
03:00:32.960
and hopefully the AI work that I'm working on
link |
03:00:34.960
now is finding an angle on something
link |
03:00:36.960
that means you trade off
link |
03:00:38.960
something that you maybe think
link |
03:00:40.960
you need but it turns out you don't need
link |
03:00:42.960
and by making a sacrifice in one place
link |
03:00:44.960
you can get big advantages
link |
03:00:46.960
in another place.
link |
03:00:48.960
Is it clear at which level of the system
link |
03:00:50.960
those big advantages
link |
03:00:52.960
can be gained? It's not always
link |
03:00:54.960
clear and that's why the thing that
link |
03:00:56.960
that I try to make one of my core
link |
03:00:58.960
values and I
link |
03:01:00.960
proselytize to a lot of people is
link |
03:01:02.960
trying to know the entire stack
link |
03:01:04.960
you know trying to see through
link |
03:01:06.960
everything that happens and it's almost
link |
03:01:08.960
impossible on like the web browser
link |
03:01:10.960
level of things where there's so many levels
link |
03:01:12.960
to it but you should at least understand
link |
03:01:14.960
what they all are even if you can't understand
link |
03:01:16.960
all the performance characteristics at
link |
03:01:18.960
each level but it goes all the way
link |
03:01:20.960
down to literally the hardware
link |
03:01:22.960
so what does the what is this
link |
03:01:24.960
chip capable of and
link |
03:01:26.960
what is this software that you're writing capable
link |
03:01:28.960
of and then with this architecture you put
link |
03:01:30.960
on top of that then the ecosystem around
link |
03:01:32.960
it all the people that are
link |
03:01:34.960
working on it so there are
link |
03:01:36.960
all these decisions and
link |
03:01:38.960
they're never made in a globally optimal way
link |
03:01:40.960
but sometimes you can drive
link |
03:01:42.960
a thread of global optimality through it
link |
03:01:44.960
you can't look at everything it's too complicated
link |
03:01:46.960
but sometimes you can step
link |
03:01:48.960
back up and make a different
link |
03:01:50.960
decision and we kind of went through this on the
link |
03:01:52.960
graphic side on Quake where
link |
03:01:54.960
in some ways it was kind of bad where
link |
03:01:56.960
Michael would spend his time
link |
03:01:58.960
writing like I'd rough out
link |
03:02:00.960
the basic routines like okay here's our
link |
03:02:02.960
span rasterizer and he would spend
link |
03:02:04.960
a month writing this
link |
03:02:06.960
beautiful cycle optimized
link |
03:02:08.960
piece of assembly language that
link |
03:02:10.960
does what I asked
link |
03:02:12.960
it to do and he did it faster than
link |
03:02:14.960
my original code would do or probably
link |
03:02:16.960
what I would be able to do even if I had spent
link |
03:02:18.960
that month on it but then
link |
03:02:20.960
we'd have some cases when I'd be like
link |
03:02:22.960
okay well I figured out at this
link |
03:02:24.960
higher level instead of drawing these in
link |
03:02:26.960
a painter's order here I do a span
link |
03:02:28.960
buffer and it cuts out
link |
03:02:30.960
30% or 40% of all
link |
03:02:32.960
of these pixels but it means you need to
link |
03:02:34.960
rewrite kind of this interface of all of
link |
03:02:36.960
that and I could tell that wore on him a
link |
03:02:38.960
little bit but in the end it was
link |
03:02:40.960
it was the right thing to do where we wound up
link |
03:02:42.960
changing that rasterization
link |
03:02:44.960
approach and we wound up with a super optimized
link |
03:02:46.960
assembly language
link |
03:02:48.960
core loop and then a good
link |
03:02:50.960
system around it which minimized how much
link |
03:02:52.960
that had to be called
link |
03:02:54.960
in order to be able to do this kind of system
link |
03:02:56.960
level thinking whether we're talking
link |
03:02:58.960
about game development
link |
03:03:00.960
aerospace
link |
03:03:02.960
nuclear energy
link |
03:03:04.960
AI
link |
03:03:06.960
VR you have to be able to
link |
03:03:08.960
understand the hardware
link |
03:03:10.960
the low level software
link |
03:03:12.960
the high level software the design
link |
03:03:14.960
decisions the whole thing the full
link |
03:03:16.960
stack of it. Yeah and that's where
link |
03:03:18.960
a lot of these things become possible
link |
03:03:20.960
when you're really when you're bringing
link |
03:03:22.960
the future forward I mean there's a pace
link |
03:03:24.960
that everything just kind of glides towards
link |
03:03:26.960
where we have a lot of progress that's happening
link |
03:03:28.960
at such a different so many different ways
link |
03:03:30.960
you kind of slide towards progress just
link |
03:03:32.960
left to your own programs just get faster
link |
03:03:34.960
for a while it wasn't clear if they were
link |
03:03:36.960
going to get fatter more than they get
link |
03:03:38.960
quicker than they get faster and it cancels out
link |
03:03:40.960
but it is clear now in retrospect now
link |
03:03:42.960
programs just get faster and have gotten
link |
03:03:44.960
faster for a long time
link |
03:03:46.960
but if you want to do something like back
link |
03:03:48.960
of that original talking about
link |
03:03:50.960
scrolling games say what this needs to
link |
03:03:52.960
be five times faster well
link |
03:03:54.960
we can wait six years
link |
03:03:56.960
and just it'll naturally get that much
link |
03:03:58.960
faster at that time
link |
03:04:00.960
or you come up with some really clever way of
link |
03:04:02.960
doing it so there are those
link |
03:04:04.960
opportunities like that in a whole bunch
link |
03:04:06.960
of different areas now
link |
03:04:08.960
most programmers don't need to be
link |
03:04:10.960
thinking about that there's not that many
link |
03:04:12.960
you know there's a lot of opportunities for
link |
03:04:14.960
this but it's not everyone's work a day type
link |
03:04:16.960
stuff so everyone doesn't have to know
link |
03:04:18.960
how all these things work they don't have
link |
03:04:20.960
to know how their compiler works how
link |
03:04:22.960
you know the processor chip manages
link |
03:04:24.960
cache eviction and all these
link |
03:04:26.960
low level things but
link |
03:04:28.960
sometimes there are powerful opportunities
link |
03:04:30.960
that you can look at and say
link |
03:04:32.960
we can bring the future
link |
03:04:34.960
five years faster
link |
03:04:36.960
you know we can do something that wouldn't it be
link |
03:04:38.960
great if we could do this well we can do
link |
03:04:40.960
it today if we make a certain
link |
03:04:42.960
set of decisions and
link |
03:04:44.960
it is in some ways smoke and mirrors
link |
03:04:46.960
where you say it's like doom was
link |
03:04:48.960
a lot of smoke and mirrors where people
link |
03:04:50.960
thought it was more capable than it actually
link |
03:04:52.960
was but we picked the right
link |
03:04:54.960
smoke and mirrors to deploy in the game
link |
03:04:56.960
where by doing this
link |
03:04:58.960
people will think that it's more general
link |
03:05:00.960
we're gonna amaze them with what they've got here
link |
03:05:02.960
and they won't notice
link |
03:05:04.960
that it doesn't do these other things
link |
03:05:06.960
so smart decision making
link |
03:05:08.960
at that point that's where that
link |
03:05:10.960
that kind of global
link |
03:05:12.960
holistic top down view
link |
03:05:14.960
can work and
link |
03:05:16.960
I'm
link |
03:05:18.960
really a strong believer that technology
link |
03:05:20.960
should be
link |
03:05:22.960
sitting at that table having those discussions
link |
03:05:24.960
because you do have cases where you say well
link |
03:05:26.960
you want to be the Jonathan Ivy or whatever
link |
03:05:28.960
where it's a pure design
link |
03:05:30.960
solution and
link |
03:05:32.960
that's in some
link |
03:05:34.960
cases now where you truly have almost infinite
link |
03:05:36.960
resources like if you're trying to do
link |
03:05:38.960
a scrolling game on the PC
link |
03:05:40.960
now you don't even have to talk to a technology
link |
03:05:42.960
person you can just have
link |
03:05:44.960
any intern can make that go run
link |
03:05:46.960
as fast as it needs to there and it can be
link |
03:05:48.960
completely design based
link |
03:05:50.960
but if you're trying to do something that's hard
link |
03:05:52.960
either that can't be done
link |
03:05:54.960
for resources like VR on a mobile
link |
03:05:56.960
chipset or that we don't even know how
link |
03:05:58.960
to do yet like artificial general intelligence
link |
03:06:00.960
it's probably going to be
link |
03:06:02.960
a matter of coming at it from an angle
link |
03:06:04.960
like I mean for AGI we have some of
link |
03:06:06.960
like some of the Hutter principles
link |
03:06:08.960
about how you can
link |
03:06:10.960
sort of some of that there are theoretical
link |
03:06:12.960
ways that you can say this is the optimal
link |
03:06:14.960
learning algorithm that can solve everything
link |
03:06:16.960
but it's completely impractical you know
link |
03:06:18.960
you just can't do that so
link |
03:06:20.960
clearly you have to make some concessions
link |
03:06:22.960
for general intelligence
link |
03:06:24.960
and nobody knows what the right ones are
link |
03:06:26.960
yet so people are taking different
link |
03:06:28.960
angles of attack I hope I've got something
link |
03:06:30.960
clever to come up with in that space
link |
03:06:32.960
it's been surprising to me
link |
03:06:34.960
and I think perhaps it is a
link |
03:06:36.960
principle of progress that
link |
03:06:38.960
smoking mirrors somehow is the way
link |
03:06:40.960
you build the future
link |
03:06:42.960
you kind of
link |
03:06:44.960
fake it till you make it
link |
03:06:46.960
and you almost always make it and I think that's going to be
link |
03:06:48.960
the way we achieve AGI
link |
03:06:50.960
that's going to be the way we build
link |
03:06:52.960
consciousness into our machines
link |
03:06:54.960
is there's you know
link |
03:06:56.960
philosophers debate about the touring test
link |
03:06:58.960
is essentially about faking it
link |
03:07:00.960
till you make it
link |
03:07:02.960
you start by faking it
link |
03:07:04.960
and I think that always leads
link |
03:07:06.960
to making it
link |
03:07:08.960
because if you look at history
link |
03:07:10.960
arguments when as soon as people start talking about
link |
03:07:12.960
qualia and consciousness
link |
03:07:14.960
and Chinese rooms and things it's like
link |
03:07:16.960
I just check out I just don't think there's any value
link |
03:07:18.960
in those conversations it's just like
link |
03:07:20.960
go ahead tell me it's not going to work
link |
03:07:22.960
I'm going to do my best to try to make it work anyways
link |
03:07:24.960
I don't know if you work with legged robots
link |
03:07:26.960
there's a bunch of these
link |
03:07:28.960
they make
link |
03:07:30.960
they sure as heck make me feel like they're conscious
link |
03:07:32.960
in a certain
link |
03:07:34.960
way that's not here today
link |
03:07:36.960
but is
link |
03:07:38.960
you could see the kernel
link |
03:07:40.960
it's like
link |
03:07:42.960
the flame
link |
03:07:44.960
the beginnings of a flame
link |
03:07:46.960
we don't have line of sight but there's glimmerings
link |
03:07:48.960
of light in the distance for all of these things
link |
03:07:50.960
yeah I'm hearing murmuring in a distant
link |
03:07:52.960
room
link |
03:07:54.960
well let me ask you a human question here
link |
03:07:56.960
you've in the game
link |
03:07:58.960
design space you've done a lot of incredible work
link |
03:08:00.960
throughout but in terms
link |
03:08:02.960
of game design
link |
03:08:04.960
you have changed the world and there's a few people
link |
03:08:06.960
around you that did the same
link |
03:08:08.960
so famously there's some animosity
link |
03:08:10.960
there's much love
link |
03:08:12.960
but there's some animosity between you
link |
03:08:14.960
and John Romero
link |
03:08:16.960
what is at the core of that animosity
link |
03:08:18.960
and human tension
link |
03:08:20.960
so there really hasn't been
link |
03:08:22.960
for a long time and even at the beginning
link |
03:08:24.960
it's like yes
link |
03:08:26.960
I did push Romero out of the company
link |
03:08:28.960
and
link |
03:08:30.960
one of the things that I look back
link |
03:08:32.960
if I could go back telling my younger self
link |
03:08:34.960
some advice about things
link |
03:08:36.960
the original
link |
03:08:38.960
founding
link |
03:08:40.960
corporate structure of id software
link |
03:08:42.960
really led to a bunch of problems
link |
03:08:44.960
we started off with us as
link |
03:08:46.960
equal partners
link |
03:08:48.960
and we had a buy sell agreement because we didn't
link |
03:08:50.960
want outsiders to be telling us what to do
link |
03:08:52.960
inside the company
link |
03:08:54.960
and that did lead to a bunch of the
link |
03:08:56.960
problems where I was sitting here going
link |
03:08:58.960
it's like alright
link |
03:09:00.960
I'm working harder than anyone
link |
03:09:02.960
I'm doing these technologies
link |
03:09:04.960
nobody's done before
link |
03:09:06.960
but we're all equal partners
link |
03:09:08.960
and then I see somebody that's
link |
03:09:10.960
not working as hard
link |
03:09:12.960
and it's
link |
03:09:14.960
I can't say I was the most mature about that
link |
03:09:16.960
I was 20 something years old
link |
03:09:18.960
and it did
link |
03:09:20.960
bother me when I'm like everybody
link |
03:09:22.960
we need all pulled together and we've done it before
link |
03:09:24.960
everybody we know we can do this
link |
03:09:26.960
get together and we grind it all out
link |
03:09:28.960
but not everybody wanted
link |
03:09:30.960
to do that for for all time
link |
03:09:32.960
you know and I was the youngest one of the
link |
03:09:34.960
crowd there I had different
link |
03:09:36.960
sets of kind of backgrounds
link |
03:09:38.960
and motivations and left
link |
03:09:40.960
at that point where
link |
03:09:42.960
it was I'm alright
link |
03:09:44.960
either everybody has to be contributing
link |
03:09:46.960
like up to this level or they
link |
03:09:48.960
need to get pushed out was not
link |
03:09:50.960
I am that was not a
link |
03:09:52.960
great situation and I look back
link |
03:09:54.960
on it and know that
link |
03:09:56.960
we pushed people out of the company that could
link |
03:09:58.960
have contributed if there was
link |
03:10:00.960
a different framework for them
link |
03:10:02.960
and the modern kind of Silicon Valley
link |
03:10:04.960
like let your stock vest over a time period
link |
03:10:06.960
and maybe it's non voting stock
link |
03:10:08.960
and all those different things we knew nothing about
link |
03:10:10.960
any of that I mean we we didn't know
link |
03:10:12.960
what we were doing in terms of corporate
link |
03:10:14.960
structure or anything so if you think
link |
03:10:16.960
the framework was different some of the
link |
03:10:18.960
human tension could have been a little bit
link |
03:10:20.960
almost certainly would have I
link |
03:10:22.960
mean I look back at that and
link |
03:10:24.960
and it's like even trying to summon up
link |
03:10:26.960
in my mind it's like I know
link |
03:10:28.960
I was really really angry
link |
03:10:30.960
about I am you know like
link |
03:10:32.960
Romero not working as hard as I wanted
link |
03:10:34.960
him to work or not carrying
link |
03:10:36.960
his load on the design for quake
link |
03:10:38.960
and coming up with things there
link |
03:10:40.960
but you know he was definitely doing things
link |
03:10:42.960
he made some of the best levels there
link |
03:10:44.960
he was working with our I some of
link |
03:10:46.960
our external teams like Raven on the
link |
03:10:48.960
licensing side of things
link |
03:10:50.960
I am you know but there were differences
link |
03:10:52.960
of opinion about it
link |
03:10:54.960
but he landed you know right on his
link |
03:10:56.960
feet he went he got 20 million dollars
link |
03:10:58.960
from Eidos to go do I on storm
link |
03:11:00.960
and he got to do things his way
link |
03:11:02.960
and spun up three teams simultaneously
link |
03:11:04.960
because that was always one of the
link |
03:11:06.960
one of the challenging things in it it
link |
03:11:08.960
where we were doing these single string
link |
03:11:10.960
one project after another
link |
03:11:12.960
and I think some of them you know
link |
03:11:14.960
wanted to grow the company more and I
link |
03:11:16.960
didn't because I knew people that were
link |
03:11:18.960
saying that oh companies turn to shit
link |
03:11:20.960
when you got 50 employees it's just
link |
03:11:22.960
a different world there and I loved
link |
03:11:24.960
our little dozen people
link |
03:11:26.960
working on the projects
link |
03:11:28.960
but you can look at and say well
link |
03:11:30.960
business realities matter it's like
link |
03:11:32.960
you're super successful here and we could
link |
03:11:34.960
we could take a swing and a miss on
link |
03:11:36.960
something but you do it a couple times
link |
03:11:38.960
and you're out of luck there's
link |
03:11:40.960
there's a reason companies try to have
link |
03:11:42.960
multiple teams running at one time
link |
03:11:44.960
I am and so
link |
03:11:46.960
something I didn't really appreciate back then
link |
03:11:48.960
so if you look past all that
link |
03:11:50.960
you did create some amazing things together
link |
03:11:52.960
what did you love about John Romero
link |
03:11:54.960
what did you respect and appreciate about
link |
03:11:56.960
what did you admire about him
link |
03:11:58.960
what did you learn from him
link |
03:12:00.960
when I met him he was the coolest programmer I had ever met
link |
03:12:02.960
I you know he had done all of this
link |
03:12:04.960
stuff he had he had made all of these
link |
03:12:06.960
games he had worked at
link |
03:12:08.960
you know one of the companies that I thought was the coolest
link |
03:12:10.960
at origin systems and
link |
03:12:12.960
he knew all this stuff he made things
link |
03:12:14.960
happen fast and he could
link |
03:12:16.960
it was also kind of a polymath about this where
link |
03:12:18.960
he could do he made his own he drew his
link |
03:12:20.960
own art he made his own levels as well
link |
03:12:22.960
as you know we worked on sound design
link |
03:12:24.960
systems on top of actually
link |
03:12:26.960
being a really good programmer
link |
03:12:28.960
and we had you know we went through
link |
03:12:30.960
a little it was kind of fun where one of
link |
03:12:32.960
the early things that we did where
link |
03:12:34.960
there was kind of the young buck bit going in
link |
03:12:36.960
where I was the new guy
link |
03:12:38.960
and he was the kind of the
link |
03:12:40.960
he was the top man programmer at
link |
03:12:42.960
the soft disk area and eventually
link |
03:12:44.960
we had sort of a challenge over the weekend
link |
03:12:46.960
that we were going to like race to
link |
03:12:48.960
implement this game to port one of our PC games
link |
03:12:50.960
back down to the Apple too
link |
03:12:52.960
and that was where we finally kind of became clear
link |
03:12:54.960
it's like okay
link |
03:12:55.960
Carmack stands a little bit apart on the
link |
03:12:57.960
programming side of things and
link |
03:12:59.960
but Romero then very gracefully
link |
03:13:01.960
moved into well he'll work on the tools
link |
03:13:03.960
he'll work on the systems
link |
03:13:05.960
do some of the game design stuff as well as
link |
03:13:07.960
contributing on starting
link |
03:13:09.960
to lead the design aspects of a lot of things
link |
03:13:11.960
so he was
link |
03:13:13.960
enormously valuable
link |
03:13:15.960
in the early stuff and so much of Doom
link |
03:13:17.960
and even Quake have his stamp
link |
03:13:19.960
on it in a lot of ways
link |
03:13:21.960
but you know he wasn't
link |
03:13:23.960
at the same level of focus that
link |
03:13:25.960
I brought to the work that we were
link |
03:13:27.960
doing there and he really did
link |
03:13:29.960
we hit
link |
03:13:31.960
such a degree of success that
link |
03:13:33.960
it was all in the press about that
link |
03:13:35.960
the Rockstar game programmers
link |
03:13:37.960
I mean it's the Beatles problem
link |
03:13:39.960
yeah I mean you know he ate it up
link |
03:13:41.960
and he did personify it there was the whole
link |
03:13:43.960
game developers with
link |
03:13:45.960
Ferraris that we had
link |
03:13:47.960
there and I thought that
link |
03:13:49.960
you know that led to some
link |
03:13:51.960
challenges there but
link |
03:13:53.960
so much of the
link |
03:13:55.960
you know the stuff that was great in the games
link |
03:13:57.960
did come from him and I would certainly
link |
03:13:59.960
not take that away from him
link |
03:14:01.960
and even after we parted
link |
03:14:03.960
ways and he took his swing with
link |
03:14:05.960
Eidos in some ways he was
link |
03:14:07.960
like he was ahead of the curve with mobile
link |
03:14:09.960
gaming as well where
link |
03:14:11.960
one of his companies after Eidos was working
link |
03:14:13.960
on feature phone game development
link |
03:14:15.960
and I wound up doing
link |
03:14:17.960
some of that just before
link |
03:14:19.960
the iPhone crossing over into the iPhone
link |
03:14:21.960
phase there and that was something
link |
03:14:23.960
that clearly did turn out to be a huge
link |
03:14:25.960
thing although he was too
link |
03:14:27.960
early for what he was working on
link |
03:14:29.960
at that time you know we've had
link |
03:14:31.960
pretty cordial relationships
link |
03:14:33.960
where I was happy to talk with him anytime
link |
03:14:35.960
I've run into him at a
link |
03:14:37.960
conference I've actually had some other people
link |
03:14:39.960
just say it's like oh you shouldn't
link |
03:14:41.960
you know you shouldn't go over there and give him the time
link |
03:14:43.960
of day or felt that
link |
03:14:45.960
Masters of Doom was
link |
03:14:47.960
you know like
link |
03:14:49.960
played things up in a way that I shouldn't be
link |
03:14:51.960
too happy with but I'm okay
link |
03:14:53.960
with all of that. So you still got love
link |
03:14:55.960
in your heart. Yeah I mean I just talked
link |
03:14:57.960
with him like last year
link |
03:14:59.960
I guess it was even this year about mentioning
link |
03:15:01.960
that I'm going off doing this AI stuff
link |
03:15:03.960
I'm going big into artificial intelligence
link |
03:15:05.960
and he had a bunch of
link |
03:15:07.960
ideas for how AI is going to
link |
03:15:09.960
play into gaming and you know asked
link |
03:15:11.960
if I was interested in collaborating and it's not
link |
03:15:13.960
in line with what I'm
link |
03:15:15.960
doing but I do you know
link |
03:15:17.960
I wish almost everyone the best I mean
link |
03:15:19.960
I know I may not have partnered on the best
link |
03:15:21.960
of terms with you know with
link |
03:15:23.960
some people but I was thrilled
link |
03:15:25.960
to see Tom Hall writing
link |
03:15:27.960
VR games now he wrote
link |
03:15:29.960
working on a game called Demio which is
link |
03:15:31.960
really an awesome VR game it's like
link |
03:15:33.960
Dungeons and Dragons we all used to play Dungeons
link |
03:15:35.960
and Dragons together that was one of the things that was what we did
link |
03:15:37.960
on Sundays in the early
link |
03:15:39.960
days I would dungeon master and they'd all play
link |
03:15:41.960
and I you know so it really made
link |
03:15:43.960
me smile seeing Tom involved with
link |
03:15:45.960
an RPG game in virtual reality
link |
03:15:47.960
you were
link |
03:15:49.960
the CTO of Oculus
link |
03:15:51.960
VR since 2013
link |
03:15:53.960
and maybe less than a year involved
link |
03:15:55.960
in a bit in
link |
03:15:57.960
2019
link |
03:15:59.960
Oculus was acquired by Facebook
link |
03:16:01.960
now meta in
link |
03:16:03.960
2014 you've spoken
link |
03:16:05.960
brilliantly about both the low level details
link |
03:16:07.960
the experimental design and the big picture vision
link |
03:16:09.960
of virtual reality
link |
03:16:11.960
let me ask you about the metaverse
link |
03:16:13.960
the big question here both
link |
03:16:15.960
philosophically and technically
link |
03:16:17.960
how hard is it to build the metaverse
link |
03:16:19.960
what is the metaverse in your view
link |
03:16:21.960
you started with discussing
link |
03:16:23.960
and thinking about quake as a kind of metaverse
link |
03:16:25.960
as you think about
link |
03:16:27.960
it today what is the metaverse
link |
03:16:29.960
the thing that
link |
03:16:31.960
could create this compelling user value
link |
03:16:33.960
this experience that will change the world
link |
03:16:35.960
and how hard is it to build it
link |
03:16:37.960
so the term comes from
link |
03:16:39.960
Neil Stephenson's book snow crash
link |
03:16:41.960
which many of us had read back in
link |
03:16:43.960
the 90s it was one of those kind of
link |
03:16:45.960
formative books and
link |
03:16:47.960
there was this sense that
link |
03:16:49.960
the
link |
03:16:51.960
the possibilities and kind of the freedom
link |
03:16:53.960
and unlimited capabilities
link |
03:16:55.960
to build a virtual world
link |
03:16:57.960
that does whatever you want
link |
03:16:59.960
whatever you ask of it has been a powerful draw
link |
03:17:01.960
for generations of developers
link |
03:17:03.960
game developers specifically
link |
03:17:05.960
and people that are thinking about more
link |
03:17:07.960
general purpose applications
link |
03:17:09.960
so we were talking about that
link |
03:17:11.960
back in the doom and quake days about
link |
03:17:13.960
how do you wind up with an interconnected
link |
03:17:15.960
set of worlds that you kind of visit
link |
03:17:17.960
from one to another and as
link |
03:17:19.960
web pages were becoming a thing you start
link |
03:17:21.960
thinking about how what is the
link |
03:17:23.960
interactive kind of 3D based
link |
03:17:25.960
equivalent of this and there were
link |
03:17:27.960
a lot of really bad takes you had
link |
03:17:29.960
like vermal then
link |
03:17:31.960
virtual reality markup languages
link |
03:17:33.960
and there's aspects like that
link |
03:17:35.960
that came from people saying
link |
03:17:37.960
well what kind of capabilities
link |
03:17:39.960
should we develop to
link |
03:17:41.960
to enable this and that
link |
03:17:43.960
kind of capability first work has usually
link |
03:17:45.960
not panned out very well
link |
03:17:47.960
on the other hand we have
link |
03:17:49.960
successful games that started
link |
03:17:51.960
with things like doom and quake
link |
03:17:53.960
and communities that formed around those
link |
03:17:55.960
and whether it was server lists
link |
03:17:57.960
in the early days or literal
link |
03:17:59.960
portaling between different games
link |
03:18:01.960
and then modern things
link |
03:18:03.960
that are on completely different order of magnitude
link |
03:18:05.960
like minecraft and fortnite that have
link |
03:18:07.960
100 million plus users
link |
03:18:09.960
you know
link |
03:18:11.960
I still think that that's the right way
link |
03:18:13.960
to go to build the metaverse is
link |
03:18:15.960
you build something that's amazing that people
link |
03:18:17.960
love and people wind up spending all their
link |
03:18:19.960
time in because it's awesome
link |
03:18:21.960
and you expand the capabilities of that
link |
03:18:23.960
so even if it's a very basic experience
link |
03:18:25.960
as long as people
link |
03:18:27.960
minecraft is an amazing case study
link |
03:18:29.960
in so many things
link |
03:18:31.960
where what's been able to be done with
link |
03:18:33.960
that is really enlightening
link |
03:18:35.960
and there are other cases
link |
03:18:37.960
where like right now roblox
link |
03:18:39.960
is basically a game construction
link |
03:18:41.960
kit aimed at kids and that was a capability
link |
03:18:43.960
first play and it's achieving scale
link |
03:18:45.960
that's on the same order
link |
03:18:47.960
of those things so
link |
03:18:49.960
it's not impossible but
link |
03:18:51.960
my preferred bet would be
link |
03:18:53.960
you make something amazing that people love
link |
03:18:55.960
and you make it better and better
link |
03:18:57.960
and that's where I could say
link |
03:18:59.960
we could have gone back and followed a path
link |
03:19:01.960
kind of like that in the early days
link |
03:19:03.960
if you just kind of take the same game
link |
03:19:05.960
whether it's when Activision demonstrated
link |
03:19:07.960
that you could make Call of Duty every year
link |
03:19:09.960
and not only is it not bad
link |
03:19:11.960
people kind of love it and it's a
link |
03:19:13.960
it's very profitable
link |
03:19:15.960
it's something like that
link |
03:19:17.960
take a great game
link |
03:19:19.960
release a new version every year
link |
03:19:21.960
that lets the capabilities grow and expand
link |
03:19:23.960
to start saying it's like okay
link |
03:19:25.960
it's a game about running around and shooting things
link |
03:19:27.960
but now you can have
link |
03:19:29.960
bring your media into it
link |
03:19:31.960
you can add persistence of
link |
03:19:33.960
social sense signs of life
link |
03:19:35.960
or whatever you want to add to it
link |
03:19:37.960
I still think that's
link |
03:19:39.960
quite a good position to take
link |
03:19:41.960
and I think that
link |
03:19:43.960
doing a bottoms up capability
link |
03:19:45.960
approach with Horizon Worlds
link |
03:19:47.960
where it's a fairly general purpose
link |
03:19:49.960
creators can build whatever
link |
03:19:51.960
they want in their sort of thing
link |
03:19:53.960
I am you know it's
link |
03:19:55.960
it's hard to compare and compete with something
link |
03:19:57.960
like Fortnite which also has
link |
03:19:59.960
enormous amounts of creativity
link |
03:20:01.960
even though it was not designed originally
link |
03:20:03.960
as a general purpose sort of thing
link |
03:20:05.960
so there's we have examples on both sides
link |
03:20:07.960
me personally
link |
03:20:09.960
I would have bet on
link |
03:20:11.960
to do entertainment
link |
03:20:13.960
valuable destination first
link |
03:20:15.960
and expanding from there
link |
03:20:17.960
so
link |
03:20:19.960
can you imagine the thing that will be
link |
03:20:21.960
kind of if we look back
link |
03:20:23.960
a couple centuries from now
link |
03:20:25.960
and you think about the experiences
link |
03:20:27.960
that marked
link |
03:20:29.960
the singularity the transition
link |
03:20:31.960
in
link |
03:20:33.960
where most of our world
link |
03:20:35.960
moved into virtual reality
link |
03:20:37.960
what do you think those experiences will look like
link |
03:20:39.960
so I do think it's going to be
link |
03:20:41.960
kind of like the way the web
link |
03:20:43.960
slowly took over where you're
link |
03:20:45.960
the frog in the pot of water
link |
03:20:47.960
that's slowly heating up where
link |
03:20:49.960
having lived through all of that
link |
03:20:51.960
I remember when it was shocking to start
link |
03:20:53.960
seeing the first website address
link |
03:20:55.960
on a billboard when you're like hey
link |
03:20:57.960
my computer world is infecting the real world
link |
03:20:59.960
you know this is spreading out
link |
03:21:01.960
in some way but
link |
03:21:03.960
there's still when you look back and say
link |
03:21:05.960
well what made the web take off
link |
03:21:07.960
and it wasn't
link |
03:21:09.960
a big bang sort of moment there
link |
03:21:11.960
it was a bunch of little things
link |
03:21:13.960
that turned out not to even be the things
link |
03:21:15.960
that are relevant now that
link |
03:21:17.960
brought them into it so
link |
03:21:19.960
well I wonder from I mean like you said
link |
03:21:21.960
you're not a historian so maybe
link |
03:21:23.960
there's a historian
link |
03:21:25.960
out there that could really identify
link |
03:21:27.960
that moment
link |
03:21:29.960
data driven way it could be like
link |
03:21:31.960
MySpace or something like that
link |
03:21:33.960
maybe the first major social network
link |
03:21:35.960
that really reached into
link |
03:21:37.960
non geek
link |
03:21:39.960
world or something like that
link |
03:21:41.960
I think that's kind of the fallacy
link |
03:21:43.960
of historians though looking for
link |
03:21:45.960
some of those kind of primary dominant
link |
03:21:47.960
causes where so many of
link |
03:21:49.960
these things are like we see
link |
03:21:51.960
an exponential curve but it's not because
link |
03:21:53.960
like one thing is going exponential
link |
03:21:55.960
it's because we have hundreds
link |
03:21:57.960
of little sigmoid curves overlapped on
link |
03:21:59.960
top of each other and they just happen to keep
link |
03:22:01.960
adding up so that you've got something kind
link |
03:22:03.960
of going exponential at any given point
link |
03:22:05.960
but no single one of them
link |
03:22:07.960
was the critical thing there were
link |
03:22:09.960
dozens and dozens of things I mean
link |
03:22:11.960
seeing the transitions of stuff like
link |
03:22:13.960
as obviously MySpace giving way
link |
03:22:15.960
to other things but even like blogging giving
link |
03:22:17.960
way to social media
link |
03:22:19.960
and getting resurrected in
link |
03:22:21.960
other guys and the memes that
link |
03:22:23.960
happened there dancing baby gift
link |
03:22:25.960
or whatever the all your base
link |
03:22:27.960
not belong to us whatever those
link |
03:22:29.960
early memes that led to the modern
link |
03:22:31.960
memes and the humor on
link |
03:22:33.960
the different the different evolution
link |
03:22:35.960
of humor on the internet I'm sure
link |
03:22:37.960
the historians will also write books about
link |
03:22:39.960
from the different website
link |
03:22:41.960
that support to create the infrastructure
link |
03:22:43.960
for that humor like Reddit and all that kind of stuff
link |
03:22:45.960
so people will go back
link |
03:22:47.960
and they will name firsts and critical
link |
03:22:49.960
moments but it's probably going to
link |
03:22:51.960
be a poor approximation of what actually
link |
03:22:53.960
happens and we've already
link |
03:22:55.960
seen like in the VR space where
link |
03:22:57.960
it didn't play out the
link |
03:22:59.960
way we thought it would in terms of what was going to be
link |
03:23:01.960
like when the modern
link |
03:23:03.960
era VR basically started with my E3
link |
03:23:05.960
demo of Doom 3 on the Rift prototype
link |
03:23:07.960
so we're like first person
link |
03:23:09.960
shooters in VR match made in heaven
link |
03:23:11.960
right and that didn't
link |
03:23:13.960
work out that way at all they have
link |
03:23:15.960
you know they have the most comfort problems with it
link |
03:23:17.960
and then the most popular
link |
03:23:19.960
virtual reality app is Beat Saber
link |
03:23:21.960
which nobody predicted back then
link |
03:23:23.960
what does that make you
link |
03:23:25.960
like from first
link |
03:23:27.960
principles if you were to like
link |
03:23:29.960
reverse engineer that why
link |
03:23:31.960
are these like silly fun games
link |
03:23:33.960
well it actually makes
link |
03:23:35.960
very clear sense when you
link |
03:23:37.960
analyze it from hindsight
link |
03:23:39.960
and look at the engineering reasons where
link |
03:23:41.960
it's not just that it was a magical
link |
03:23:43.960
quirky idea it was something that
link |
03:23:45.960
played almost perfectly to what
link |
03:23:47.960
turned out to be the real strengths of VR
link |
03:23:49.960
where the one thing that I really
link |
03:23:51.960
underestimated importance in VR
link |
03:23:53.960
was the importance of the controllers
link |
03:23:55.960
I was still thinking we could do a lot more
link |
03:23:57.960
with the game pad and just the
link |
03:23:59.960
amazingness of taking any existing game
link |
03:24:01.960
being able to move your head around and look around
link |
03:24:03.960
that was really amazing
link |
03:24:05.960
but the controllers
link |
03:24:07.960
were super important but the problem is
link |
03:24:09.960
so many things that you do with the controllers
link |
03:24:11.960
just suck it feels like
link |
03:24:13.960
it breaks the illusion like trying to pick up glasses
link |
03:24:15.960
with the controllers where you're like oh use the grip
link |
03:24:17.960
button when you're kind of close and it'll
link |
03:24:19.960
snap into your hand all of those
link |
03:24:21.960
things are unnatural
link |
03:24:23.960
actions that you do them and it's still
link |
03:24:25.960
part of the VR experience but
link |
03:24:27.960
beat saber winds up
link |
03:24:29.960
I playing only to the
link |
03:24:31.960
strengths it completely hides all the weaknesses
link |
03:24:33.960
of it because you are holding
link |
03:24:35.960
something in your hand you keep a solid grip
link |
03:24:37.960
on it the whole time it slices
link |
03:24:39.960
through things without ever bumping into
link |
03:24:41.960
things you never get into the point where
link |
03:24:43.960
you know I'm knocking on this table but in
link |
03:24:45.960
VR my hand just goes right through it
link |
03:24:47.960
so you've got something that
link |
03:24:49.960
slices through so it's never
link |
03:24:51.960
your brain telling you oh I should have hit something
link |
03:24:53.960
you've got a lightsaber here it's just
link |
03:24:55.960
you expect it to slice through everything
link |
03:24:57.960
audio and music
link |
03:24:59.960
turned out to be a really powerful
link |
03:25:01.960
aspect of virtual reality where you're
link |
03:25:03.960
blocking the world off and constructing
link |
03:25:05.960
the world around you and
link |
03:25:07.960
I and being something that can run
link |
03:25:09.960
efficiently on even this relatively
link |
03:25:11.960
low powered hardware and
link |
03:25:13.960
can have a valuable loop
link |
03:25:15.960
in a small amount of time where
link |
03:25:17.960
a lot of modern games you're supposed
link |
03:25:19.960
to sit down and play it for an hour just to get
link |
03:25:21.960
anywhere sometimes a new game takes an hour to
link |
03:25:23.960
get through the tutorial level and that's
link |
03:25:25.960
not good for VR for a couple reasons
link |
03:25:27.960
you do still have the comfort issues if
link |
03:25:29.960
you're moving around at all but you've
link |
03:25:31.960
also got just you know discomfort
link |
03:25:33.960
from the headset battery life span
link |
03:25:35.960
on the mobile versions so having
link |
03:25:37.960
things that do break down into
link |
03:25:39.960
three and four minute windows of play
link |
03:25:41.960
that turns out to be very valuable from
link |
03:25:43.960
a gameplay standpoint
link |
03:25:45.960
so it winds up being kind of a perfect
link |
03:25:47.960
form of all of these things that are really
link |
03:25:49.960
good it doesn't have any of the comfort
link |
03:25:51.960
problems you're not navigating around
link |
03:25:53.960
you're standing still all the stuff flies
link |
03:25:55.960
at you it has placed audio
link |
03:25:57.960
strengths it adds
link |
03:25:59.960
the whole fitness in VR nobody
link |
03:26:01.960
was thinking about that back in the
link |
03:26:03.960
at the beginning and it turns out that
link |
03:26:05.960
that is an excellent daily
link |
03:26:07.960
fitness thing to be doing if you go play
link |
03:26:09.960
an hour of beat saver
link |
03:26:11.960
or supernatural or something that is
link |
03:26:13.960
legit solid exercise
link |
03:26:15.960
and it's more fun than doing it
link |
03:26:17.960
just about any other way there
link |
03:26:19.960
so that's kind of the arcade stage
link |
03:26:21.960
of things if I were to
link |
03:26:23.960
say with my experience with VR
link |
03:26:25.960
the thing that I think
link |
03:26:27.960
is powerful is the
link |
03:26:29.960
maybe it's not here yet
link |
03:26:31.960
but the degree to which
link |
03:26:33.960
it is immersive in the way
link |
03:26:35.960
that quake is immersive
link |
03:26:37.960
it takes you to another world
link |
03:26:39.960
for me because I'm a fan of role
link |
03:26:41.960
playing games
link |
03:26:43.960
the Elder Scrolls series
link |
03:26:45.960
like
link |
03:26:47.960
Skyrim or even Daggerfall
link |
03:26:49.960
it just takes you to another world
link |
03:26:51.960
and when you're not in that world
link |
03:26:53.960
you miss not being there
link |
03:26:55.960
and then you just you kind of want to
link |
03:26:57.960
stay there forever because life is
link |
03:26:59.960
shitty
link |
03:27:01.960
and you just want to go to this place
link |
03:27:03.960
is that I there was a
link |
03:27:05.960
there was a time when I
link |
03:27:07.960
we were kind of asked to come up with
link |
03:27:09.960
like what's your view about VR
link |
03:27:11.960
and I am
link |
03:27:13.960
my pitch was that it should be better inside
link |
03:27:15.960
the headset than outside it's the world
link |
03:27:17.960
as you want it and
link |
03:27:19.960
everybody thought that was dystopian
link |
03:27:21.960
and like that's like oh you're just going to
link |
03:27:23.960
forget about the world outside
link |
03:27:25.960
and I don't get that
link |
03:27:27.960
mindset where the idea that
link |
03:27:29.960
if you can make the world better inside
link |
03:27:31.960
the headset than outside
link |
03:27:33.960
you've just improved the person's life
link |
03:27:35.960
that has a headset that can wear it
link |
03:27:37.960
and there are plenty of things
link |
03:27:39.960
that we just can't do for everyone in the
link |
03:27:41.960
real world everybody can't have Richard Branson's
link |
03:27:43.960
private island but everyone can have
link |
03:27:45.960
a private VR island and it can have
link |
03:27:47.960
the things that they want on it and there's
link |
03:27:49.960
a lot of these kind of rivalrous goods
link |
03:27:51.960
in the real world that VR
link |
03:27:53.960
can just be better at
link |
03:27:55.960
we can do a lot of things like that
link |
03:27:57.960
that can be very very rich
link |
03:27:59.960
so yeah I want the I think it's going to be
link |
03:28:01.960
a positive thing this world where people want
link |
03:28:03.960
to go back into their headset
link |
03:28:05.960
where it can be better than somebody
link |
03:28:07.960
in a tiny apartment
link |
03:28:09.960
can have a palatial estate in virtual reality
link |
03:28:11.960
that can have all their friends from all over the world
link |
03:28:13.960
come over and visit them
link |
03:28:15.960
without everybody getting on a plane
link |
03:28:17.960
and meeting in some place
link |
03:28:19.960
and dealing with all the other logistics hassles
link |
03:28:21.960
there is real value in the
link |
03:28:23.960
you know the presence that you can get
link |
03:28:25.960
for remote meetings it's
link |
03:28:27.960
it's all the little things that we need to sort out
link |
03:28:29.960
but those are things that we have
link |
03:28:31.960
line of sight on people
link |
03:28:33.960
that have been in like a good VR meeting
link |
03:28:35.960
using work rooms where you can say
link |
03:28:37.960
oh that was better than a zoom meeting
link |
03:28:39.960
but of course it's more of a hassle
link |
03:28:41.960
to get into it not everyone has the headset
link |
03:28:43.960
interoperability is worse
link |
03:28:45.960
you can't have you cap out at a certain number
link |
03:28:47.960
there's all these things that need to be fixed
link |
03:28:49.960
but that's one of those things you can look at
link |
03:28:51.960
and say we know there's value there
link |
03:28:53.960
we just need to really grind hard
link |
03:28:55.960
file off all the rough edges
link |
03:28:57.960
and make that possible
link |
03:28:59.960
so you do think we have line of sight
link |
03:29:01.960
because
link |
03:29:03.960
there's a reason like
link |
03:29:05.960
I do this podcast
link |
03:29:07.960
in person for example
link |
03:29:09.960
doing it remotely
link |
03:29:11.960
it's not the same
link |
03:29:13.960
and if somebody were to ask me
link |
03:29:15.960
why it's not the same I wouldn't be able to write down
link |
03:29:17.960
exactly why
link |
03:29:19.960
but you're saying
link |
03:29:21.960
that it's possible whatever the magic is
link |
03:29:23.960
for in person interaction
link |
03:29:25.960
that immersiveness
link |
03:29:27.960
of the experience
link |
03:29:29.960
we are almost there
link |
03:29:31.960
yes so the idea of
link |
03:29:33.960
like I'm
link |
03:29:35.960
doing a VR interview with someone
link |
03:29:37.960
I'm not saying it's here right now
link |
03:29:39.960
but you can see glimmers
link |
03:29:41.960
of what it should be and
link |
03:29:43.960
we largely know what would need to be
link |
03:29:45.960
fixed and improved to
link |
03:29:47.960
like you say there's a difference between
link |
03:29:49.960
a remote interview doing a podcast over zoom
link |
03:29:51.960
or something and face to face
link |
03:29:53.960
there's that sense of presence
link |
03:29:55.960
that immediacy the super low latency
link |
03:29:57.960
responsiveness being able to see
link |
03:29:59.960
all the subtle things there
link |
03:30:01.960
just occupying the same field of view
link |
03:30:03.960
and all of those are things that we absolutely
link |
03:30:05.960
can do in VR
link |
03:30:07.960
and that simple case of
link |
03:30:09.960
a small meeting with a couple people
link |
03:30:11.960
that's the much easier case than everybody thinks
link |
03:30:13.960
the ready player one multiverse with a thousand
link |
03:30:15.960
people going across that you know a huge bridge
link |
03:30:17.960
to amazing places
link |
03:30:19.960
that's harder in a lot of other technical ways
link |
03:30:21.960
not to say we can't also do
link |
03:30:23.960
that but that's further away and has more challenges
link |
03:30:25.960
but this small thing about
link |
03:30:27.960
being able to have a meeting with
link |
03:30:29.960
one or a few people
link |
03:30:31.960
and have it feel real
link |
03:30:33.960
feel like you're there
link |
03:30:35.960
you have the same interactions and talking with them
link |
03:30:37.960
you get subtle cues as we start
link |
03:30:39.960
getting eye and face tracking and some of the other things
link |
03:30:41.960
on high end headsets
link |
03:30:43.960
a lot of that is going to come over
link |
03:30:45.960
and it doesn't have to be
link |
03:30:47.960
as good this is an important
link |
03:30:49.960
thing that people miss where
link |
03:30:51.960
there was a lot of people that
link |
03:30:53.960
especially rich people that would
link |
03:30:55.960
look at VR and say it's like
link |
03:30:57.960
this just isn't that good
link |
03:30:59.960
and I'd say it's like well you've already been
link |
03:31:01.960
court side backstage
link |
03:31:03.960
and you know on pit row and you've done all of
link |
03:31:05.960
these experiences because you get to do them in
link |
03:31:07.960
real life but most people don't
link |
03:31:09.960
get to and even if the experience
link |
03:31:11.960
is only half as good if it's something
link |
03:31:13.960
that they never would have gotten to do before
link |
03:31:15.960
it's still a very good thing
link |
03:31:17.960
and as we can push that number up
link |
03:31:19.960
over time it has a minimum
link |
03:31:21.960
viable value level
link |
03:31:23.960
when it does something
link |
03:31:25.960
that is valuable enough to people as long as it's
link |
03:31:27.960
better inside the headset on any metric
link |
03:31:29.960
than it is outside and people choose to go
link |
03:31:31.960
there we're on the right path
link |
03:31:33.960
and we have a value gradient that
link |
03:31:35.960
I'm just always hammering on we can just follow
link |
03:31:37.960
this value gradient just keep making things
link |
03:31:39.960
better rather than
link |
03:31:41.960
going for that one
link |
03:31:43.960
close your eyes swing for the fences
link |
03:31:45.960
I kind of silver bullet
link |
03:31:47.960
approach well I wonder if there's a value
link |
03:31:49.960
gradient for in person meetings because if you
link |
03:31:51.960
get that right
link |
03:31:53.960
that would change the world
link |
03:31:55.960
you don't need a ready player one
link |
03:31:57.960
but
link |
03:31:59.960
I wonder if there's that
link |
03:32:01.960
value gradient you can follow
link |
03:32:03.960
along because
link |
03:32:05.960
if there is any follow it
link |
03:32:07.960
then there'll be a certain
link |
03:32:09.960
like face shift
link |
03:32:11.960
a certain point where people
link |
03:32:13.960
will shift from
link |
03:32:15.960
from zoom to this
link |
03:32:17.960
I wonder
link |
03:32:19.960
what
link |
03:32:21.960
what are the bottlenecks is it software
link |
03:32:23.960
is it hardware like is it
link |
03:32:25.960
is it all about latency
link |
03:32:27.960
so I have big arguments
link |
03:32:29.960
internally about strategic
link |
03:32:31.960
things like that where I
link |
03:32:33.960
like the next headset that's
link |
03:32:35.960
coming out that we've made
link |
03:32:37.960
various announcements about is going to be a higher end
link |
03:32:39.960
headset more expensive more features
link |
03:32:41.960
lots of people want to make those tradeoffs
link |
03:32:43.960
I you know we'll see
link |
03:32:45.960
what the market has to say about the
link |
03:32:47.960
exact tradeoffs we've made here
link |
03:32:49.960
but if you want to replace zoom
link |
03:32:51.960
you need to have something that everybody has
link |
03:32:53.960
and
link |
03:32:55.960
I like cheaper because
link |
03:32:57.960
also lighter
link |
03:32:59.960
and cheaper wind up being
link |
03:33:01.960
a virtuous cycle there where
link |
03:33:03.960
expensive and more features
link |
03:33:05.960
tends to also lead towards heavier and it just
link |
03:33:07.960
kind of goes it's like let's add more features the features
link |
03:33:09.960
are not
link |
03:33:11.960
they have physical presence and weight
link |
03:33:13.960
and draw from batteries and all of those
link |
03:33:15.960
things so I've always favored
link |
03:33:17.960
a lower end cheaper
link |
03:33:19.960
faster approach that's why
link |
03:33:21.960
I was always behind the mobile side of
link |
03:33:23.960
VR rather than the higher end PC
link |
03:33:25.960
headsets I think that's
link |
03:33:27.960
proven out well but there's
link |
03:33:29.960
I you always ideally we have
link |
03:33:31.960
a whole range of things but if you've only got
link |
03:33:33.960
one or two things it's important
link |
03:33:35.960
that those two things cover the
link |
03:33:37.960
you know the scope that you think is most
link |
03:33:39.960
important when we're in a world when it's like
link |
03:33:41.960
cell phones and there's 50 of them on the market
link |
03:33:43.960
covering every conceivable
link |
03:33:45.960
ecological niche you want that's going to be great
link |
03:33:47.960
but we're not going to be there for a while
link |
03:33:49.960
where the bottlenecks is it the hardware
link |
03:33:51.960
the software yeah so right
link |
03:33:53.960
now I am you can play
link |
03:33:55.960
you can get workrooms
link |
03:33:57.960
on quest and you can set up these
link |
03:33:59.960
things and it's a pretty good experience it's
link |
03:34:01.960
surprisingly good I haven't tried it it's
link |
03:34:03.960
surprisingly good yeah the voice
link |
03:34:05.960
latency is better on that
link |
03:34:07.960
than a lot better than a zoom meeting
link |
03:34:09.960
so you've got a more a better sense
link |
03:34:11.960
of immediacy there the
link |
03:34:13.960
expressions that you get from
link |
03:34:15.960
the current hardware with just
link |
03:34:17.960
kind of your controllers and your head
link |
03:34:19.960
is pretty realistic feeling you've got a
link |
03:34:21.960
pretty good sense of being there with someone
link |
03:34:23.960
are these like
link |
03:34:25.960
avatars of people yeah
link |
03:34:27.960
you do you get to see their body
link |
03:34:29.960
yeah and they're sitting around a table
link |
03:34:31.960
yeah and it feel
link |
03:34:33.960
it feels better than zoom better than
link |
03:34:35.960
you yeah better than you'd expect for that it
link |
03:34:37.960
is definitely
link |
03:34:39.960
yeah I'd say it's it's quite a bit
link |
03:34:41.960
better than zoom when everything's working right
link |
03:34:43.960
but there's still all the rough edges
link |
03:34:45.960
of the reason zoom became so successful
link |
03:34:47.960
is because they just nailed the usability
link |
03:34:49.960
of everything it's high quality
link |
03:34:51.960
with a absolutely first rate
link |
03:34:53.960
experience and we are not
link |
03:34:55.960
there yet with any of the VR stuff
link |
03:34:57.960
I'm trying to to push hard
link |
03:34:59.960
to get I keep talking
link |
03:35:01.960
about it's like it needs to just be one click
link |
03:35:03.960
to make everything happen and we're getting there
link |
03:35:05.960
in our our home environment not
link |
03:35:07.960
the whole work rooms application but the main home
link |
03:35:09.960
where you can now kind of go over and click
link |
03:35:11.960
and invite and still winds up taking
link |
03:35:13.960
five times longer than it should
link |
03:35:15.960
but we're getting close to that
link |
03:35:17.960
where you click there they click
link |
03:35:19.960
on their button and then they're sitting there
link |
03:35:21.960
in this good presence with you
link |
03:35:23.960
but latencies need to get a lot better
link |
03:35:25.960
user interface needs to get a lot better
link |
03:35:27.960
I'm ubiquity of the headsets
link |
03:35:29.960
needs to get better we need to have
link |
03:35:31.960
a hundred million of them out there
link |
03:35:33.960
just so that everybody knows somebody that uses
link |
03:35:35.960
this all the time well I think it's a
link |
03:35:37.960
virtuous cycle because I do think
link |
03:35:39.960
the
link |
03:35:41.960
interface
link |
03:35:43.960
is the thing that makes or breaks
link |
03:35:45.960
this kind of revolution
link |
03:35:47.960
it's so interesting how like
link |
03:35:49.960
you said one click but it's also like how you
link |
03:35:51.960
achieve that one click
link |
03:35:53.960
I don't know what is a
link |
03:35:55.960
can I ask a dark
link |
03:35:57.960
question maybe let's keep it outside of meta
link |
03:35:59.960
but
link |
03:36:01.960
this is about meta but also Google and
link |
03:36:03.960
big company are they
link |
03:36:05.960
able to do this kind of thing
link |
03:36:07.960
it seems like let me put
link |
03:36:09.960
on my cranky old man head
link |
03:36:11.960
is they seem to
link |
03:36:13.960
not do a good job of
link |
03:36:15.960
creating
link |
03:36:17.960
these user friendly interfaces
link |
03:36:19.960
as they get bigger and bigger as a company
link |
03:36:21.960
like Google has created
link |
03:36:23.960
some of the greatest interfaces ever
link |
03:36:25.960
early on and it's
link |
03:36:27.960
I mean creating Gmail
link |
03:36:29.960
just so many brilliant
link |
03:36:31.960
interfaces
link |
03:36:33.960
and she seems to be getting crappier
link |
03:36:35.960
and crappier at that same with
link |
03:36:37.960
meta same with
link |
03:36:39.960
Microsoft
link |
03:36:41.960
it's just it seems to get worse
link |
03:36:43.960
and worse at that is this I don't know what is
link |
03:36:45.960
it because you become more conservative
link |
03:36:47.960
careful risk averse
link |
03:36:49.960
is that why can you speak to that
link |
03:36:51.960
and really eye opening to me working inside
link |
03:36:53.960
a tech Titan where
link |
03:36:55.960
I am you know I
link |
03:36:57.960
had my small companies and then we're
link |
03:36:59.960
acquired by a you know a midsize
link |
03:37:01.960
game publisher and then
link |
03:37:03.960
Oculus getting acquired by
link |
03:37:05.960
meta and meta has grown by a factor
link |
03:37:07.960
of many just in the
link |
03:37:09.960
the eight years since the acquisition
link |
03:37:11.960
so I did
link |
03:37:13.960
not have experience with this
link |
03:37:15.960
and it's it was interesting
link |
03:37:17.960
because I remember like previously my benchmark
link |
03:37:19.960
for kind of use
link |
03:37:21.960
of resources was some of the government programs
link |
03:37:23.960
I interacted with on the aerospace
link |
03:37:25.960
side and I remember thinking
link |
03:37:27.960
there was okay there's an Air Force
link |
03:37:29.960
program and they spent 50 million dollars
link |
03:37:31.960
and they didn't they didn't
link |
03:37:33.960
launch anything they didn't even build anything
link |
03:37:35.960
it was just kind of like they I you know
link |
03:37:37.960
they made a bunch of papers and had some parts
link |
03:37:39.960
in a warehouse and nothing came
link |
03:37:41.960
of it's like 50 million dollars
link |
03:37:43.960
I am and I have
link |
03:37:45.960
I've had to radically recalibrate my
link |
03:37:47.960
sense of like how much money can
link |
03:37:49.960
be spent with without a product
link |
03:37:51.960
of the resources where
link |
03:37:53.960
on the very the plus
link |
03:37:55.960
side VR has turned out
link |
03:37:57.960
we've built pretty much
link |
03:37:59.960
exactly what
link |
03:38:01.960
you know we just passed the 10 year mark then
link |
03:38:03.960
from my I like my first demo
link |
03:38:05.960
of the Rift and if I
link |
03:38:07.960
could have said what I wanted to have it would
link |
03:38:09.960
have been a standalone inside
link |
03:38:11.960
out tracked 4k resolution
link |
03:38:13.960
headset that I
link |
03:38:15.960
that could still plug into a PC for high end
link |
03:38:17.960
rendering and that's exactly what we've got
link |
03:38:19.960
on Quest 2 first of all let's
link |
03:38:21.960
pause on that with me being cranky
link |
03:38:23.960
and everything it's what
link |
03:38:25.960
meta achieved with
link |
03:38:27.960
Oculus and so on is incredible
link |
03:38:29.960
I mean this is this
link |
03:38:31.960
what when I thought about the future of
link |
03:38:33.960
VR is what I imagine in terms of hardware
link |
03:38:35.960
I would say and maybe in terms
link |
03:38:37.960
of the experience as well but
link |
03:38:39.960
it's still not there somehow
link |
03:38:41.960
on the one hand we did kind of
link |
03:38:43.960
achieve it and win and we've got we've sold
link |
03:38:45.960
you know we're a success right now
link |
03:38:47.960
but the amount of resources
link |
03:38:49.960
that have gone into it it winds up getting
link |
03:38:51.960
clotted up into counting where last
link |
03:38:53.960
mark did announce that
link |
03:38:55.960
they spent ten billion dollars a year
link |
03:38:57.960
like on reality labs now reality
link |
03:38:59.960
labs covers a lot it was
link |
03:39:01.960
VR was not the large part
link |
03:39:03.960
of it also had portal and spark and the
link |
03:39:05.960
big AR research efforts
link |
03:39:07.960
and it's been expanding out
link |
03:39:09.960
to include AI and other things there
link |
03:39:11.960
where I there's
link |
03:39:13.960
a lot going on there but
link |
03:39:15.960
ten billion dollars was just a number
link |
03:39:17.960
that I had trouble processing
link |
03:39:19.960
it's just I feel sick to my
link |
03:39:21.960
stomach thinking about that much money
link |
03:39:23.960
being spent but that's how
link |
03:39:25.960
they demonstrate commitment to this
link |
03:39:27.960
where it's not
link |
03:39:29.960
more so than like yeah Google goes
link |
03:39:31.960
and cancels all of these projects
link |
03:39:33.960
different things I like that
link |
03:39:35.960
while meta is really sticking with
link |
03:39:37.960
the funding of VR and
link |
03:39:39.960
AR is still further out with it so
link |
03:39:41.960
there's something to be said for that
link |
03:39:43.960
it's not just going to vanish
link |
03:39:45.960
the works going in I just wish it could
link |
03:39:47.960
be all those resources could be
link |
03:39:49.960
applied more effectively
link |
03:39:51.960
because I see all these cases I point
link |
03:39:53.960
out these examples of how
link |
03:39:55.960
a third party that we're kind of competing
link |
03:39:57.960
with in various ways a number of these examples
link |
03:39:59.960
and they do work
link |
03:40:01.960
with a tenth of the people
link |
03:40:03.960
that we do internally
link |
03:40:05.960
and a lot of it comes from yes there's
link |
03:40:07.960
the small company can just go do it
link |
03:40:09.960
while in a big company you do have
link |
03:40:11.960
to worry about I
link |
03:40:13.960
is there some SDK internally that you
link |
03:40:15.960
should be using because another team is making
link |
03:40:17.960
it you have to have your cross functional
link |
03:40:19.960
group meetups for different things
link |
03:40:21.960
you do have more concerns about
link |
03:40:23.960
you know about privacy or diversity
link |
03:40:25.960
and equity and I'm safety
link |
03:40:27.960
of different things parental issues
link |
03:40:29.960
and things that a small start up company
link |
03:40:31.960
can just kind of you know Cowboy
link |
03:40:33.960
often do something interesting
link |
03:40:35.960
and there's a lot more
link |
03:40:37.960
that is a problem that you have to
link |
03:40:39.960
pay attention to in the big companies but I'm not
link |
03:40:41.960
willing to believe that we are within
link |
03:40:43.960
even a factor of two
link |
03:40:45.960
or four of what the efficiency could be
link |
03:40:47.960
you know I am constantly
link |
03:40:49.960
kind of crying out for it's like
link |
03:40:51.960
we can do better than this
link |
03:40:53.960
and you wonder what the mechanisms to
link |
03:40:55.960
unlock that efficiency are
link |
03:40:57.960
you know I don't
link |
03:40:59.960
there is some sense in a large company
link |
03:41:01.960
that
link |
03:41:03.960
like an individual engineer might not believe
link |
03:41:05.960
that they can change the world maybe
link |
03:41:07.960
you delegate a little bit of the
link |
03:41:09.960
responsibility to be the one
link |
03:41:11.960
who changes the world in a big company
link |
03:41:13.960
I think but the reality is
link |
03:41:15.960
like the world
link |
03:41:17.960
will get changed by a single
link |
03:41:19.960
engineer anyway so if
link |
03:41:21.960
whether inside Google or inside a start
link |
03:41:23.960
up it doesn't matter it's just like Google
link |
03:41:25.960
and Meta needs to
link |
03:41:27.960
help those engineers believe they're the ones
link |
03:41:29.960
that are going to decrease that latency
link |
03:41:31.960
is it'll take one John Carmack
link |
03:41:33.960
like the 20 year old
link |
03:41:35.960
Carmack that's
link |
03:41:37.960
inside meta right now to change everything
link |
03:41:39.960
and I try to
link |
03:41:41.960
point that out and push people it's like
link |
03:41:43.960
try to go ahead and when you see
link |
03:41:45.960
some because there is you get the silo
link |
03:41:47.960
mentality where you're like okay I know
link |
03:41:49.960
something's not right over there but that's
link |
03:41:51.960
I'm staying in my lane here
link |
03:41:53.960
and there's a couple people that I can
link |
03:41:55.960
you know I can think about that are willing
link |
03:41:57.960
to just like hop all over the place
link |
03:41:59.960
and man I treasure them the people that are
link |
03:42:01.960
just willing to they're fearless
link |
03:42:03.960
you know they will go over and they will go
link |
03:42:05.960
rebuild the kernel and change this distribution
link |
03:42:07.960
go in and hack a firmware over here
link |
03:42:09.960
to to get something done right
link |
03:42:11.960
and that is relatively rare
link |
03:42:13.960
you know there's thousands of developers
link |
03:42:15.960
and you've got a small handful that are willing
link |
03:42:17.960
to operate at that level
link |
03:42:19.960
and you know and it's potentially risky
link |
03:42:21.960
for them the the politics are
link |
03:42:23.960
you know are real in a lot of that and I'm in the
link |
03:42:25.960
you know very much the privileged position
link |
03:42:27.960
of I am you know I'm
link |
03:42:29.960
more or less untouchable there where
link |
03:42:31.960
I've been dinged like twice for it's like
link |
03:42:33.960
you said something insensitive in that post
link |
03:42:35.960
and you should probably not say that
link |
03:42:37.960
I am but for the most part
link |
03:42:39.960
yes I you know I get away with
link |
03:42:41.960
I every week I'm posting something
link |
03:42:43.960
you know pretty loud and opinionated
link |
03:42:45.960
in you know internally and
link |
03:42:47.960
I think that's useful for the company
link |
03:42:49.960
but I am
link |
03:42:51.960
yeah it's not it's rare to have a
link |
03:42:53.960
position like that and I can't necessarily
link |
03:42:55.960
offer advice for how someone
link |
03:42:57.960
can do that I well you could
link |
03:42:59.960
offer advice to a company in general to
link |
03:43:01.960
give a little bit of freedom
link |
03:43:03.960
for the young wild
link |
03:43:05.960
like the wildest ideas come from
link |
03:43:07.960
the young minds
link |
03:43:09.960
and so you need to give
link |
03:43:11.960
the young minds freedom to think
link |
03:43:13.960
big and wild and and crazy
link |
03:43:15.960
and for that they have to be opinionated
link |
03:43:17.960
they have to be
link |
03:43:19.960
they have to think
link |
03:43:21.960
crazy ideas and thoughts
link |
03:43:23.960
and pursue them with a full
link |
03:43:25.960
passion without being slowed down by bureaucracy
link |
03:43:27.960
or managers and all that kind of stuff
link |
03:43:29.960
obviously startups
link |
03:43:31.960
really empower that but big companies
link |
03:43:33.960
could too and that's that's a design
link |
03:43:35.960
challenge for company for big companies
link |
03:43:37.960
to see how can you enable
link |
03:43:39.960
that how can you come there are
link |
03:43:41.960
so many resources there and
link |
03:43:43.960
they do you know amazing things do get
link |
03:43:45.960
accomplished but there's so much
link |
03:43:47.960
more that could come out of that and
link |
03:43:49.960
you know I'm hope I'm always hopeful I'm
link |
03:43:51.960
an optimist in almost everything you know I think
link |
03:43:53.960
things can get better I think that they
link |
03:43:55.960
can improve things that you go
link |
03:43:57.960
through a path and you're learning
link |
03:43:59.960
how does and doesn't work and I'm not
link |
03:44:01.960
I'm not ready to be fatalistic about
link |
03:44:03.960
the kind of the outcome of any of that
link |
03:44:05.960
me neither I know too
link |
03:44:07.960
many good people inside of those large
link |
03:44:09.960
companies that are incredible
link |
03:44:11.960
you have a friendship
link |
03:44:13.960
with Elon Musk
link |
03:44:15.960
often when I talk to him he'll bring up
link |
03:44:17.960
how incredible of an engineer and just
link |
03:44:19.960
a big picture thinker you are
link |
03:44:21.960
his huge amount of respect
link |
03:44:23.960
for you
link |
03:44:25.960
I just I've never been
link |
03:44:27.960
a fly in the wall between a discussion between
link |
03:44:29.960
the two of you I just wonder is there something
link |
03:44:31.960
you guys
link |
03:44:33.960
debate argue about
link |
03:44:35.960
discuss is there some interesting problems
link |
03:44:37.960
that the two of you
link |
03:44:39.960
think about you come from different
link |
03:44:41.960
worlds maybe there's some intersection
link |
03:44:43.960
and then in aerospace maybe
link |
03:44:45.960
there's some intersection
link |
03:44:47.960
in your new efforts
link |
03:44:49.960
in artificial intelligence
link |
03:44:51.960
in terms of thinking is there something
link |
03:44:53.960
interesting you could say about sort of the
link |
03:44:55.960
things that you need to base the two of you have
link |
03:44:57.960
so I think in some ways
link |
03:44:59.960
we do have a kind of similar background
link |
03:45:01.960
where we're almost exactly the same age
link |
03:45:03.960
and we had kind of similar
link |
03:45:05.960
programming backgrounds on the personal
link |
03:45:07.960
computers and you know even some of the
link |
03:45:09.960
books that we would read and things that
link |
03:45:11.960
would kind of turn us into the people that
link |
03:45:13.960
we are today and
link |
03:45:15.960
I think there is a degree of
link |
03:45:17.960
sensibility similarities
link |
03:45:19.960
where you know we kind of call
link |
03:45:21.960
bullshit on the same things and kind of see
link |
03:45:23.960
opportunities
link |
03:45:25.960
in different technology and there's that
link |
03:45:27.960
sense of you know I always talk about the
link |
03:45:29.960
speed of light solutions for things and he's
link |
03:45:31.960
thinking about kind of
link |
03:45:33.960
minimum manufacturing and engineering and
link |
03:45:35.960
operational standpoints for
link |
03:45:37.960
things and
link |
03:45:39.960
so I mean I first met Elon
link |
03:45:41.960
right at the start of the aerospace era
link |
03:45:43.960
where I wasn't familiar with
link |
03:45:45.960
you know I was still in my game dev bubble
link |
03:45:47.960
I really wasn't familiar with all the startups
link |
03:45:49.960
that were going and being successful
link |
03:45:51.960
and what went on with PayPal and all of his
link |
03:45:53.960
different companies but you know I met
link |
03:45:55.960
him as I was starting to do Armadillo
link |
03:45:57.960
Aerospace and you know he
link |
03:45:59.960
came down with kind of his right hand
link |
03:46:01.960
propulsion guy and we
link |
03:46:03.960
talked about rockets you know what can we
link |
03:46:05.960
what can we do with this and it was kind
link |
03:46:07.960
of specific things about like
link |
03:46:09.960
how are our flight computers set up
link |
03:46:11.960
what are different propellant options
link |
03:46:13.960
you know what can happen with
link |
03:46:15.960
different ways of putting
link |
03:46:17.960
things together and then
link |
03:46:19.960
in some ways he was certainly the
link |
03:46:21.960
biggest player in the sort of
link |
03:46:23.960
space community that was going on in the
link |
03:46:25.960
early 2000s
link |
03:46:27.960
he was the most
link |
03:46:29.960
well funded although you know his funding
link |
03:46:31.960
in the larger scheme of things compared to
link |
03:46:33.960
a like a NASA or something
link |
03:46:35.960
like that was really tiny
link |
03:46:37.960
it was a lot more than I had at the time
link |
03:46:39.960
I but
link |
03:46:41.960
it was interesting I had a point years later
link |
03:46:43.960
when I realized okay
link |
03:46:45.960
my like my financial resources
link |
03:46:47.960
at this point are basically what
link |
03:46:49.960
Elon's was when he went all in
link |
03:46:51.960
on SpaceX and Tesla
link |
03:46:53.960
and there's
link |
03:46:55.960
I think in many
link |
03:46:57.960
corners he does not get
link |
03:46:59.960
the respect that he should about being
link |
03:47:01.960
a wealthy person that could
link |
03:47:03.960
just retire and he went
link |
03:47:05.960
all in where he was really
link |
03:47:07.960
going to you know
link |
03:47:09.960
he could have gone bust and there's
link |
03:47:11.960
plenty of people you look at the you know
link |
03:47:13.960
the sad athletes
link |
03:47:15.960
or entertainers that had all the money
link |
03:47:17.960
in the world and blew it he could have been
link |
03:47:19.960
the business case example of that
link |
03:47:21.960
but I
link |
03:47:23.960
you know the things that he was doing space
link |
03:47:25.960
exploration electrification of
link |
03:47:27.960
transportation
link |
03:47:29.960
solar city type things
link |
03:47:31.960
these are big world level
link |
03:47:33.960
things and I have a great deal
link |
03:47:35.960
of admiration that he was willing
link |
03:47:37.960
to throw himself so completely
link |
03:47:39.960
into that because
link |
03:47:41.960
in contrast with myself I was doing
link |
03:47:43.960
armadillo aerospace with this tightly
link |
03:47:45.960
bounded it was John's
link |
03:47:47.960
crazy money at the time
link |
03:47:49.960
that had a finite limit on it it was
link |
03:47:51.960
never going to impact me or my family
link |
03:47:53.960
if it completely
link |
03:47:55.960
failed and I was still hedging
link |
03:47:57.960
my bets working at in software
link |
03:47:59.960
at the time when he had been
link |
03:48:01.960
you know really all in
link |
03:48:03.960
there and
link |
03:48:05.960
I have a huge amount of respect for that
link |
03:48:07.960
and people do not the other thing I get
link |
03:48:09.960
irritated with is people would say it's like
link |
03:48:11.960
Elon's just a business guy
link |
03:48:13.960
he just got like he was gifted
link |
03:48:15.960
the money and he's just kind of
link |
03:48:17.960
investing in all of this when
link |
03:48:19.960
he was really deeply involved
link |
03:48:21.960
in a lot of the decisions
link |
03:48:23.960
not all of them were perfect but
link |
03:48:25.960
he cared very much
link |
03:48:27.960
about engine material selection
link |
03:48:29.960
propellant selection
link |
03:48:31.960
and for years he'd be kind of telling
link |
03:48:33.960
me it's like get off that hydrogen
link |
03:48:35.960
peroxide stuff it's like
link |
03:48:37.960
liquid oxygen is the only proper
link |
03:48:39.960
oxidizer for this
link |
03:48:41.960
and
link |
03:48:43.960
the times that I've gone through the factories
link |
03:48:45.960
with him we're talking
link |
03:48:47.960
very detailed things about
link |
03:48:49.960
like how this weld is made
link |
03:48:51.960
how this sub assembly goes together
link |
03:48:53.960
what are like start
link |
03:48:55.960
up shut down behaviors of the different
link |
03:48:57.960
things so he is
link |
03:48:59.960
really in there
link |
03:49:01.960
at a very detailed level and I think
link |
03:49:03.960
that he is the best modern
link |
03:49:05.960
example now of someone that
link |
03:49:07.960
tries to that can effectively
link |
03:49:09.960
micromanage some decisions on things
link |
03:49:11.960
on both Tesla and
link |
03:49:13.960
SpaceX to some degree where
link |
03:49:15.960
he cares enough about it I worry a lot
link |
03:49:17.960
that he stretched too thin that
link |
03:49:19.960
you get boring company in Neuralink
link |
03:49:21.960
and Twitter and all the other possible
link |
03:49:23.960
things there where I know
link |
03:49:25.960
I've got
link |
03:49:27.960
limits on how much I can pay attention
link |
03:49:29.960
to that I have to kind of box
link |
03:49:31.960
off different amounts of time
link |
03:49:33.960
and I look back at like at my aerospace
link |
03:49:35.960
side of things it's like I did not
link |
03:49:37.960
go all in on that I did not
link |
03:49:39.960
commit myself at a level that it would
link |
03:49:41.960
have taken to be successful there
link |
03:49:43.960
and I
link |
03:49:45.960
and it's kind of a weird thing just
link |
03:49:47.960
like having a discussion with
link |
03:49:49.960
the richest man in the world right now
link |
03:49:51.960
he operates on
link |
03:49:53.960
you know on a level that is still
link |
03:49:55.960
very much in my
link |
03:49:57.960
wheelhouse on a technical side of things
link |
03:49:59.960
so doing that systems level type of
link |
03:50:01.960
thinking we can go to the
link |
03:50:03.960
level of details and go up high to the
link |
03:50:05.960
big picture do you think
link |
03:50:07.960
in the aerospace
link |
03:50:09.960
arena
link |
03:50:11.960
in the next 5, 10
link |
03:50:13.960
years do you think we're going to put a human
link |
03:50:15.960
on Mars like what do you think is the
link |
03:50:17.960
interesting
link |
03:50:19.960
no I do in fact I made
link |
03:50:21.960
a bet with someone with a group of people
link |
03:50:23.960
kind of this about whether
link |
03:50:25.960
boots on Mars by 2030
link |
03:50:27.960
and this was kind of a fun
link |
03:50:29.960
fun story because I was
link |
03:50:31.960
at an Intel sponsored event
link |
03:50:33.960
and we had a bunch of just
link |
03:50:35.960
world class brilliant people and we were
link |
03:50:37.960
talking about computing stuff but the after dinner
link |
03:50:39.960
conversation was like what are some other
link |
03:50:41.960
things how they're going to go in the future
link |
03:50:43.960
and one of the ones tossed up on the white board
link |
03:50:45.960
was like boots on Mars by 2030
link |
03:50:47.960
and most of the
link |
03:50:49.960
people in the room thought yes
link |
03:50:51.960
you know I thought that like SpaceX is kicking
link |
03:50:53.960
ass we've got all this possible stuff
link |
03:50:55.960
I seems likely that it's
link |
03:50:57.960
going to go that way and
link |
03:50:59.960
I said no I think
link |
03:51:01.960
less than 50% chance that it's going to make
link |
03:51:03.960
it there
link |
03:51:05.960
and people you know were kind of like oh
link |
03:51:07.960
why the pessimism or whatever and of course
link |
03:51:09.960
I'm an optimist at almost everything
link |
03:51:11.960
but for me to be the one kind
link |
03:51:13.960
of outlier saying no I don't think so
link |
03:51:15.960
then I started
link |
03:51:17.960
saying some of the things I said well let's
link |
03:51:19.960
be concrete about it let's bet
link |
03:51:21.960
$10,000 that it's not going to happen
link |
03:51:23.960
and this was
link |
03:51:25.960
this was really a startling
link |
03:51:27.960
thing to see that I again
link |
03:51:29.960
room full of brilliant people but as
link |
03:51:31.960
soon as like money came on the line
link |
03:51:33.960
and they were like do I want to put
link |
03:51:35.960
$10,000 and I was not the richest person
link |
03:51:37.960
in the room there are people much better
link |
03:51:39.960
off than there's a spectrum
link |
03:51:41.960
but
link |
03:51:43.960
you know as soon as they started think it's like oh I could
link |
03:51:45.960
lose money by
link |
03:51:47.960
keeping my position right
link |
03:51:49.960
now and all these
link |
03:51:51.960
engineers they engage their brain they started thinking
link |
03:51:53.960
it's like okay launch windows
link |
03:51:55.960
launch delays
link |
03:51:57.960
like how many times would it take to get this
link |
03:51:59.960
right what historical precedence do we have
link |
03:52:01.960
and I
link |
03:52:03.960
and then it mostly came down to it's like well
link |
03:52:05.960
what about in transit by 2030
link |
03:52:07.960
and then I if you know what about
link |
03:52:09.960
I you know different things or would you
link |
03:52:11.960
hand would you go for 2032
link |
03:52:13.960
but one of the people did go ahead
link |
03:52:15.960
and was optimistic enough to make a bet
link |
03:52:17.960
with me so I have a $10,000
link |
03:52:19.960
bet that by 2030
link |
03:52:21.960
I think it's going to happen shortly thereafter
link |
03:52:23.960
I think there will probably be infrastructure
link |
03:52:25.960
on Mars by 2030
link |
03:52:27.960
but I don't think that we'll have humans
link |
03:52:29.960
on Mars on 23rd I think it's possible
link |
03:52:31.960
but I think it's less than a 50% chance
link |
03:52:33.960
so I felt safe making that bet
link |
03:52:35.960
well I think
link |
03:52:37.960
you had an interesting point
link |
03:52:39.960
correct me if I'm wrong that's a dark one
link |
03:52:41.960
that's um
link |
03:52:43.960
that should perhaps
link |
03:52:45.960
help people appreciate Elon Musk
link |
03:52:47.960
which is
link |
03:52:49.960
in this particular
link |
03:52:51.960
effort
link |
03:52:53.960
Elon is critical
link |
03:52:55.960
to the success
link |
03:52:57.960
SpaceX seems to be
link |
03:52:59.960
critical to the
link |
03:53:01.960
20th
link |
03:53:03.960
humans on Mars by 2030
link |
03:53:05.960
or thereabouts
link |
03:53:07.960
so if something happens to Elon
link |
03:53:09.960
then all of this
link |
03:53:11.960
collapses
link |
03:53:13.960
and this is in contrast to the other
link |
03:53:15.960
$10,000 bet I made
link |
03:53:17.960
kind of recently and that was
link |
03:53:19.960
driving cars at like a level 5
link |
03:53:21.960
running around cities
link |
03:53:23.960
and people have kind of nitpicked that
link |
03:53:25.960
that we probably don't mean exactly level 5
link |
03:53:27.960
but the guy I'm having the bet with
link |
03:53:29.960
is we're going to be
link |
03:53:31.960
we know what we mean about this
link |
03:53:33.960
yeah, coding horror
link |
03:53:35.960
but I
link |
03:53:37.960
yeah I mean it's just
link |
03:53:39.960
he doesn't think that people are going to be riding around
link |
03:53:41.960
in robo taxis in 2030
link |
03:53:43.960
in major cities just
link |
03:53:45.960
like you take an Uber now
link |
03:53:47.960
you think it will
link |
03:53:49.960
and the difference is everybody looks at this
link |
03:53:51.960
it's like oh but Tesla's been wrong
link |
03:53:53.960
they've been promising it for years
link |
03:53:55.960
and it's not here yet
link |
03:53:57.960
and the reason this is different
link |
03:53:59.960
than the bet with Mars
link |
03:54:01.960
is Mars really is
link |
03:54:03.960
more than is comfortable a bet on
link |
03:54:05.960
Elon Musk
link |
03:54:07.960
that is his thing
link |
03:54:09.960
and he is really going to move heaven and earth
link |
03:54:11.960
to try to make that happen
link |
03:54:13.960
and perhaps not even SpaceX
link |
03:54:15.960
just Elon Musk
link |
03:54:17.960
yeah because if Elon went away
link |
03:54:19.960
and SpaceX went public
link |
03:54:21.960
and got a board of directors
link |
03:54:23.960
there are more profitable things they could be doing
link |
03:54:25.960
than focusing on human
link |
03:54:27.960
presence on Mars
link |
03:54:29.960
so this really is a sort of personal thing there
link |
03:54:31.960
and in
link |
03:54:33.960
contrast with that self driving cars
link |
03:54:35.960
have a dozen credible
link |
03:54:37.960
companies working really hard
link |
03:54:39.960
and while
link |
03:54:41.960
yes it's going slower than most people
link |
03:54:43.960
thought it would
link |
03:54:45.960
betting against that is a bet against almost
link |
03:54:47.960
the entire world in terms of
link |
03:54:49.960
all of these companies that have all of these
link |
03:54:51.960
incentives it's not just
link |
03:54:53.960
you know one guy's passion project
link |
03:54:55.960
I
link |
03:54:57.960
and I do think that it is solvable
link |
03:54:59.960
although there's I recognize it's not a hundred percent chance
link |
03:55:01.960
because it's possible
link |
03:55:03.960
the long tail of self driving problems winds up
link |
03:55:05.960
being an AGI complete problem
link |
03:55:07.960
I think there's plenty of value to
link |
03:55:09.960
mine out of it with narrow AI
link |
03:55:11.960
and I think that it's you know it's going to happen
link |
03:55:13.960
probably more so than people expect
link |
03:55:15.960
but it's that whole sigmoid
link |
03:55:17.960
curve where you over you know
link |
03:55:19.960
you overestimate the near term progress
link |
03:55:21.960
you underestimate the long term progress
link |
03:55:23.960
and I think self driving is going to be like
link |
03:55:25.960
that and I think 2030 still
link |
03:55:27.960
a pretty good bet
link |
03:55:29.960
yeah unfortunately
link |
03:55:31.960
self driving
link |
03:55:33.960
is a problem that
link |
03:55:35.960
is safety critical
link |
03:55:37.960
meaning that
link |
03:55:39.960
if you don't do it well
link |
03:55:41.960
people get hurt
link |
03:55:43.960
but the other side of that is people are terrible drivers
link |
03:55:45.960
so it is not going to be
link |
03:55:47.960
that's probably going to be the argument that gets it through
link |
03:55:49.960
is like we can save
link |
03:55:51.960
10,000 lives a year
link |
03:55:53.960
by taking imperfect self driving
link |
03:55:55.960
cars and letting them take over a lot
link |
03:55:57.960
of driving responsibilities
link |
03:55:59.960
it's like was it 30,000 people a year
link |
03:56:01.960
die in auto accidents right now in America
link |
03:56:03.960
and a lot of those are
link |
03:56:05.960
preventable and the problem is you'll have
link |
03:56:07.960
people that every time a Tesla
link |
03:56:09.960
crashes into something you've got a bunch of people
link |
03:56:11.960
that literally have vested interest
link |
03:56:13.960
shorting Tesla to come out and make it the
link |
03:56:15.960
worst thing in the world and people
link |
03:56:17.960
will be fighting against that but
link |
03:56:19.960
optimist in me again I think that
link |
03:56:21.960
we will have systems that are statistically
link |
03:56:23.960
safer than human drivers
link |
03:56:25.960
and we will be saving
link |
03:56:27.960
thousands and thousands of lives
link |
03:56:29.960
every year when we can hand over
link |
03:56:31.960
more of those responsibilities to it
link |
03:56:33.960
I do still think as a person
link |
03:56:35.960
who studied this problem very deeply
link |
03:56:37.960
from a human side as well
link |
03:56:39.960
it's still an open problem
link |
03:56:41.960
how good slash bad
link |
03:56:43.960
humans are driving
link |
03:56:45.960
it's a kind of funny
link |
03:56:47.960
thing we say about each other oh humans
link |
03:56:49.960
suck at driving
link |
03:56:51.960
everybody except you
link |
03:56:53.960
of course like we think we're good at driving
link |
03:56:55.960
but I
link |
03:56:57.960
after really studying it
link |
03:56:59.960
I think you start to notice
link |
03:57:01.960
you know because I watched
link |
03:57:03.960
hundreds of hours of humans
link |
03:57:05.960
driving the projects of this kind of
link |
03:57:07.960
thing you've noticed that
link |
03:57:09.960
even with the distraction
link |
03:57:11.960
even with everything else humans are
link |
03:57:13.960
able to do
link |
03:57:15.960
some incredible things
link |
03:57:17.960
with the attention even when you're
link |
03:57:19.960
just looking at the smartphone just to get
link |
03:57:21.960
cues from the environment to make
link |
03:57:23.960
less seconds decisions
link |
03:57:25.960
to use instinctual
link |
03:57:27.960
type of decisions that actually save
link |
03:57:29.960
your ass time and time and time again
link |
03:57:31.960
and
link |
03:57:33.960
are able to do that
link |
03:57:35.960
with so much uncertainty around you
link |
03:57:37.960
in such tricky dynamic environments
link |
03:57:39.960
I don't know
link |
03:57:41.960
I don't know exactly
link |
03:57:43.960
how hard is it
link |
03:57:45.960
to beat that kind of
link |
03:57:47.960
skill of common sense reasoning
link |
03:57:49.960
so this is one of those interesting
link |
03:57:51.960
things that there have been a lot of studies about
link |
03:57:53.960
how experts in their field
link |
03:57:55.960
usually underestimate the
link |
03:57:57.960
progress that's going to happen
link |
03:57:59.960
because an expert thinks about all the
link |
03:58:01.960
problems they deal with and they're like
link |
03:58:03.960
damn I'm going to have a hard time solving
link |
03:58:05.960
all of this and they filter out the fact
link |
03:58:07.960
that they are one expert in a field of
link |
03:58:09.960
thousands and you know
link |
03:58:11.960
you think about yeah I can't do all of that
link |
03:58:13.960
and you sometimes forget about the scope of
link |
03:58:15.960
the ecosystem that you're embedded in
link |
03:58:17.960
and if you think back eight years
link |
03:58:19.960
very specifically the state of AI
link |
03:58:21.960
and machine learning where
link |
03:58:23.960
we had just gotten resnets probably
link |
03:58:25.960
at that point and you look at all
link |
03:58:27.960
of the amazing magical things
link |
03:58:29.960
that have happened in eight years
link |
03:58:31.960
and they do kind of seem to be happening
link |
03:58:33.960
a little faster in recent years also
link |
03:58:35.960
and you project that eight more years
link |
03:58:37.960
into the future where again
link |
03:58:39.960
I think there's a 50% chance we're going to
link |
03:58:41.960
have signs of life of AGI
link |
03:58:43.960
which we can put through driver's
link |
03:58:45.960
ed if we need to to actually build
link |
03:58:47.960
self driving cars and I think that
link |
03:58:49.960
the narrow systems are going to
link |
03:58:51.960
have real value demonstrated well before
link |
03:58:53.960
then
link |
03:58:55.960
that there's a lot of life in AGI
link |
03:58:57.960
you've mentioned that
link |
03:58:59.960
okay first of all
link |
03:59:01.960
you're one of the most
link |
03:59:03.960
brilliant people on this earth you could be
link |
03:59:05.960
solving a number of different
link |
03:59:07.960
problems as you've mentioned
link |
03:59:09.960
your mind was attracted to nuclear energy
link |
03:59:11.960
obviously virtual reality
link |
03:59:13.960
with the metaverse is something you could have
link |
03:59:15.960
a tremendous impact on so I do want to say
link |
03:59:17.960
a quick thing about nuclear energy where
link |
03:59:19.960
I you know this is something that
link |
03:59:21.960
I read this so
link |
03:59:23.960
precisely feels like aerospace
link |
03:59:25.960
before SpaceX where
link |
03:59:27.960
from everything that I know about all of these
link |
03:59:29.960
I am the physics of this
link |
03:59:31.960
stuff hasn't changed and
link |
03:59:33.960
the reasons why things are expensive
link |
03:59:35.960
now are not fundamental
link |
03:59:37.960
I somebody
link |
03:59:39.960
should be going into I
link |
03:59:41.960
really hard Elon musk
link |
03:59:43.960
style at
link |
03:59:45.960
vision economical vision not
link |
03:59:47.960
fusion where the
link |
03:59:49.960
fusion is the kind of the
link |
03:59:51.960
darling of people that want to go and do
link |
03:59:53.960
nuclear because it doesn't have
link |
03:59:55.960
the taint that fission has in a lot of people's
link |
03:59:57.960
minds but
link |
03:59:59.960
it's an almost absurdly complex thing
link |
04:00:01.960
where nuclear fusion
link |
04:00:03.960
as you look at the Tokamax
link |
04:00:05.960
or any of the things that people are building and it's
link |
04:00:07.960
doing all of this infrastructure
link |
04:00:09.960
just at the end of the day to make something
link |
04:00:11.960
hot to that you can then
link |
04:00:13.960
turn into energy through a conventional
link |
04:00:15.960
power plant and all of that
link |
04:00:17.960
work which we think we've got line of sight
link |
04:00:19.960
on but even if it comes out
link |
04:00:21.960
then you have to do all of that
link |
04:00:23.960
immensely complex expensive stuff
link |
04:00:25.960
just to make something hot where
link |
04:00:27.960
nuclear fission is basically you put these two
link |
04:00:29.960
rocks together and they get hot all
link |
04:00:31.960
by themselves that is just
link |
04:00:33.960
that much simpler it's just
link |
04:00:35.960
orders of magnitude simpler
link |
04:00:37.960
and the actual rocks the refined uranium
link |
04:00:39.960
is not very expensive it's
link |
04:00:41.960
a couple percent of the cost
link |
04:00:43.960
of electricity that's why I made that point
link |
04:00:45.960
where you could have something which was
link |
04:00:47.960
five times less efficient
link |
04:00:49.960
than current systems
link |
04:00:51.960
and if the rest of the plant was a whole much cheaper
link |
04:00:53.960
you could still be super super
link |
04:00:55.960
valuable so how much of
link |
04:00:57.960
the pie do you think
link |
04:00:59.960
could be solved
link |
04:01:01.960
by nuclear energy by fission
link |
04:01:03.960
so how much could it
link |
04:01:05.960
become the primary source of energy on earth
link |
04:01:07.960
it could be most of it
link |
04:01:09.960
like the reserves of uranium as it stands now
link |
04:01:11.960
could not power the whole earth but
link |
04:01:13.960
I am you know you get into breeder reactors
link |
04:01:15.960
and thorium and things like that
link |
04:01:17.960
that you do for conventional fission
link |
04:01:19.960
there is enough for everything
link |
04:01:21.960
now I mean solar
link |
04:01:22.960
photovoltaic has been amazing
link |
04:01:24.960
you know it's I
link |
04:01:26.960
one of my current projects is working on an
link |
04:01:28.960
off grid system and it's been fun just
link |
04:01:30.960
kind of again putting my hands on all the
link |
04:01:32.960
stripping the wires and wiring things together
link |
04:01:34.960
and doing all of that and just having followed
link |
04:01:36.960
that a little bit from the outside
link |
04:01:38.960
over the last couple decades
link |
04:01:40.960
there's been semiconductor like magical
link |
04:01:42.960
progress in what's going on there
link |
04:01:45.960
so I'm all for all of that
link |
04:01:47.960
but it doesn't solve everything and nuclear
link |
04:01:49.960
really still does seem like
link |
04:01:51.960
the smart money bet for what you should be
link |
04:01:53.960
getting for baseband on a lot of things
link |
04:01:56.960
and solar may be cheaper for
link |
04:01:58.960
you know peaking over air conditioning loads
link |
04:02:00.960
during the the summer and things that you
link |
04:02:02.960
can push around in different ways
link |
04:02:04.960
but it's one of those things that's
link |
04:02:06.960
it's just strange how
link |
04:02:08.960
we've had the technology sitting there
link |
04:02:10.960
but these non technical reasons on the
link |
04:02:12.960
social optics of it has been
link |
04:02:14.960
this major forcing function
link |
04:02:16.960
for something that
link |
04:02:18.960
you know really should be at the cornerstone
link |
04:02:20.960
of all of the world's concerns
link |
04:02:22.960
with energy it's interesting
link |
04:02:24.960
how the non technical factors
link |
04:02:26.960
have really dominated something that is
link |
04:02:28.960
so fundamental to
link |
04:02:30.960
kind of the existence of the human race as we
link |
04:02:32.960
know it today
link |
04:02:34.960
and much of the troubles of the world including
link |
04:02:36.960
wars in different parts
link |
04:02:38.960
of the world like Ukraine is energy
link |
04:02:40.960
based and
link |
04:02:42.960
yeah it's just sitting right there to be solved
link |
04:02:46.960
that said
link |
04:02:48.960
I mean to me personally I think
link |
04:02:50.960
it's clear that if AGI would
link |
04:02:52.960
be achieved that would change the course
link |
04:02:54.960
of human history so AGI
link |
04:02:56.960
wise I was
link |
04:02:58.960
I was making this decision about what do I want
link |
04:03:00.960
to focus on after
link |
04:03:02.960
VR and I'm still working on VR
link |
04:03:04.960
regularly I spend a day
link |
04:03:06.960
a week kind of consulting with
link |
04:03:08.960
meta and I you know
link |
04:03:10.960
boss styles me the consulting
link |
04:03:12.960
CTO is kind of like the Sherlock Holmes
link |
04:03:14.960
that comes in and consults on
link |
04:03:16.960
some of the specific tough issues
link |
04:03:18.960
and I'm still pretty passionate about all
link |
04:03:20.960
of that but I have been
link |
04:03:22.960
figuring out how to compartmentalize
link |
04:03:24.960
and force that into a smaller
link |
04:03:26.960
box to work on some other things
link |
04:03:28.960
and I did come down to this decision between
link |
04:03:30.960
working on
link |
04:03:32.960
economical nuclear fission or
link |
04:03:34.960
artificial general intelligence
link |
04:03:36.960
and the fission side of things
link |
04:03:38.960
I've got a bunch of interesting things
link |
04:03:40.960
going that way but
link |
04:03:42.960
it would take that would be a fairly big
link |
04:03:44.960
project thing to do I don't think
link |
04:03:46.960
it needs to be as big as people expect
link |
04:03:48.960
I do think something original space
link |
04:03:50.960
excised I
link |
04:03:52.960
you build it power your building off of it
link |
04:03:54.960
and then the government I think will come
link |
04:03:56.960
around to what you need to
link |
04:03:58.960
is everybody loves an existence proof
link |
04:04:00.960
I think it's possible somebody should be
link |
04:04:02.960
doing this but it's going to involve
link |
04:04:04.960
some politics it's going to involve
link |
04:04:06.960
decent sized teams and a bunch of this
link |
04:04:08.960
cross functional stuff that I don't love
link |
04:04:10.960
while the artificial
link |
04:04:12.960
general intelligence side of things
link |
04:04:14.960
I'm
link |
04:04:16.960
it seems to me like this is
link |
04:04:18.960
the highest leverage
link |
04:04:20.960
moment for potentially
link |
04:04:22.960
a single individual potentially
link |
04:04:24.960
in the history of the world where
link |
04:04:26.960
the things that we know about
link |
04:04:28.960
the brain about what we can do
link |
04:04:30.960
with artificial intelligence
link |
04:04:32.960
nobody can say absolutely
link |
04:04:34.960
on any of these things but
link |
04:04:36.960
I am not a madman
link |
04:04:38.960
for saying that it is likely
link |
04:04:40.960
that the code for artificial general
link |
04:04:42.960
intelligence is going to be
link |
04:04:44.960
tens of thousands of lines
link |
04:04:46.960
of code not millions of lines
link |
04:04:48.960
of code this is code that conceivably
link |
04:04:50.960
one individual could
link |
04:04:52.960
write unlike writing a new web browser
link |
04:04:54.960
operating system
link |
04:04:56.960
and based on the progress
link |
04:04:58.960
that AI has machine
link |
04:05:00.960
learning has made in the recent decade
link |
04:05:02.960
it's likely that the
link |
04:05:04.960
important things that we don't know
link |
04:05:06.960
are relatively simple there's
link |
04:05:08.960
probably a handful of things
link |
04:05:10.960
and my bet is that
link |
04:05:12.960
I think there's less than
link |
04:05:14.960
six key insights that need
link |
04:05:16.960
to be made each one of them can probably
link |
04:05:18.960
be written on the back of an envelope
link |
04:05:20.960
we don't know what they are but when
link |
04:05:22.960
they're put together in concert with
link |
04:05:24.960
GPUs at scale and the data
link |
04:05:26.960
that we all have access to
link |
04:05:28.960
that we can make something that behaves
link |
04:05:30.960
like a human being
link |
04:05:32.960
or like a living creature
link |
04:05:34.960
and that can then be educated
link |
04:05:36.960
in whatever ways that we need to get to the point
link |
04:05:38.960
where we can have
link |
04:05:40.960
universal remote workers where
link |
04:05:42.960
anything that somebody does
link |
04:05:44.960
mediated by a computer and doesn't require
link |
04:05:46.960
physical interaction
link |
04:05:48.960
that an AGI will be able to do
link |
04:05:50.960
we can already simulate the
link |
04:05:52.960
equivalent of the zoom meetings
link |
04:05:54.960
with avatars and
link |
04:05:56.960
synthetic deepfakes and whatnot
link |
04:05:58.960
we can definitely do that
link |
04:06:00.960
we have superhuman capabilities
link |
04:06:02.960
on any narrow thing that we can
link |
04:06:04.960
that we can formalize and make a loss
link |
04:06:06.960
function for but there's things we don't
link |
04:06:08.960
know how to do now but I don't
link |
04:06:10.960
think they are unapproachably
link |
04:06:12.960
hard now that's incredibly hubristic
link |
04:06:14.960
to say that it's like
link |
04:06:16.960
but I think that what I said a couple
link |
04:06:18.960
years ago is a 50% chance
link |
04:06:20.960
that somewhere there will be signs of
link |
04:06:22.960
life of AGI in
link |
04:06:24.960
2030 and I've probably increased
link |
04:06:26.960
that slightly I may be at
link |
04:06:28.960
55, 60% now because I do
link |
04:06:30.960
think there's a little sense of
link |
04:06:32.960
acceleration there.
link |
04:06:34.960
So I wonder what the and by the way you also
link |
04:06:36.960
written that I bet
link |
04:06:38.960
with hindsight we will find that clear
link |
04:06:40.960
antecedents of all the critical
link |
04:06:42.960
remaining steps for AGI
link |
04:06:44.960
are already buried somewhere
link |
04:06:46.960
in the vast literature of today so the ideas
link |
04:06:48.960
are already there.
link |
04:06:50.960
I think that's likely the case one of the
link |
04:06:52.960
things that appeals to so many people
link |
04:06:54.960
including me about the promise of AGI
link |
04:06:56.960
is we know that
link |
04:06:58.960
we're only drinking from a straw from
link |
04:07:00.960
the fire hose of all the information
link |
04:07:02.960
out there I mean you look at
link |
04:07:04.960
just in a very narrowly
link |
04:07:06.960
bounded field like machine learning like
link |
04:07:08.960
you can't read all the papers that come out
link |
04:07:10.960
all the time you can't go back and read
link |
04:07:12.960
all the clever things that people did
link |
04:07:14.960
in the 90s or earlier that people have
link |
04:07:16.960
forgotten about because they didn't pan out
link |
04:07:18.960
all the time when they were trying to do them
link |
04:07:20.960
with 12 neurons
link |
04:07:22.960
so that this idea that
link |
04:07:24.960
yeah I think there are gems
link |
04:07:26.960
buried in some of the older literature
link |
04:07:28.960
that was not the path taken by everything
link |
04:07:30.960
and you can see a kind of herd
link |
04:07:32.960
mentality on the things that happen right
link |
04:07:34.960
now it's almost funny to see
link |
04:07:36.960
like oh Google does something and open AI
link |
04:07:38.960
does something meta does something and
link |
04:07:40.960
you know they're the same people that all
link |
04:07:42.960
talk to each other and they all one up in
link |
04:07:44.960
each other and they're all capable of
link |
04:07:46.960
each other's work given a month
link |
04:07:48.960
or two after somebody has an announcement
link |
04:07:50.960
of that but there's
link |
04:07:52.960
a whole world of possible
link |
04:07:54.960
approaches to machine learning
link |
04:07:56.960
and I think that
link |
04:07:58.960
we probably will in hindsight go back and see
link |
04:08:00.960
it's like yeah that was kind of clearly
link |
04:08:02.960
predicted by this early paper
link |
04:08:04.960
here you know and this turns out
link |
04:08:06.960
that if you do this and this and take this result
link |
04:08:08.960
from animal training
link |
04:08:10.960
and this thing from neuroscience over here
link |
04:08:12.960
and put it together and set
link |
04:08:14.960
up this curriculum for them to learn in
link |
04:08:16.960
that that's kind of what it took
link |
04:08:18.960
you don't have too many people
link |
04:08:20.960
now that are still saying it's not
link |
04:08:22.960
possible or it's going to take hundreds of years
link |
04:08:24.960
and 10 years ago you would get
link |
04:08:26.960
you would collect get a collection of experts
link |
04:08:28.960
and you would have a decent chunk on the margin
link |
04:08:30.960
that either say not possible
link |
04:08:32.960
or a couple hundred years
link |
04:08:34.960
might be centuries and the median
link |
04:08:36.960
estimate would be like
link |
04:08:38.960
50 70 years and it's been
link |
04:08:40.960
coming down and I know with me saying
link |
04:08:42.960
eight years for something that still puts me
link |
04:08:44.960
on the optimistic side but it's not
link |
04:08:46.960
crazy out in the fringes
link |
04:08:48.960
and just being able to look at that
link |
04:08:50.960
at a meta level about the trend
link |
04:08:52.960
of the
link |
04:08:54.960
predictions going down there
link |
04:08:56.960
the idea that something could
link |
04:08:58.960
be happening relatively soon
link |
04:09:00.960
now
link |
04:09:02.960
I do not believe in fast takeoffs
link |
04:09:04.960
that's one of the safety issues that people say
link |
04:09:06.960
it's like oh it's going to go boom and the AI
link |
04:09:08.960
is going to take over the world
link |
04:09:10.960
and that's one of the reasons I don't think
link |
04:09:12.960
that's a credible position
link |
04:09:14.960
and I think that
link |
04:09:16.960
we will go from a point where we start
link |
04:09:18.960
seeing things that
link |
04:09:20.960
that credibly look like
link |
04:09:22.960
look like animals behaviors and
link |
04:09:24.960
I have a human voice box wired into them
link |
04:09:26.960
it's like I tried to get Elon to say
link |
04:09:28.960
it's like you're you're pig in neurolink
link |
04:09:30.960
give it a human voice box and let it start
link |
04:09:32.960
learning human words
link |
04:09:34.960
I think that you know I think animal intelligence
link |
04:09:36.960
is closer to human intelligence than a lot
link |
04:09:38.960
and I think that culture and modalities
link |
04:09:40.960
of IO
link |
04:09:42.960
make the gulf seem a lot bigger than it
link |
04:09:44.960
actually is there's just that smooth
link |
04:09:46.960
spectrum of how the brain developed
link |
04:09:48.960
and cortexes and
link |
04:09:50.960
scaling of different things going on there
link |
04:09:52.960
cultural modalities of IO
link |
04:09:54.960
yes languages
link |
04:09:56.960
the
link |
04:09:58.960
sort of loss in translation conceals a lot
link |
04:10:00.960
of intelligence
link |
04:10:02.960
so when you think about
link |
04:10:04.960
signs of life for AGI
link |
04:10:06.960
thinking about
link |
04:10:08.960
human interpretable signs
link |
04:10:10.960
so the example I give if we get to the point
link |
04:10:12.960
where you've got a learning disabled toddler
link |
04:10:14.960
some kind of real special needs
link |
04:10:16.960
child that can still
link |
04:10:18.960
interact with their favorite TV show
link |
04:10:20.960
and video game and can be
link |
04:10:22.960
trained and learn in some
link |
04:10:24.960
appreciably human like way
link |
04:10:26.960
at that point you can deploy an army
link |
04:10:28.960
of engineers
link |
04:10:30.960
cognitive scientist education
link |
04:10:32.960
developmental education people
link |
04:10:34.960
and you've got so many advantages
link |
04:10:36.960
there unlike real education where you
link |
04:10:38.960
can do rollbacks and A.B. testing
link |
04:10:40.960
and you can find a golden path through a curriculum
link |
04:10:42.960
of different things if you get to that point
link |
04:10:44.960
learning disabled toddler
link |
04:10:46.960
I think that it's
link |
04:10:48.960
it's going to be a done deal
link |
04:10:50.960
but you think we'll know when we see it
link |
04:10:52.960
so
link |
04:10:54.960
there's been a lot of really interesting
link |
04:10:56.960
general learning progress from
link |
04:10:58.960
deep mind
link |
04:11:00.960
opening eye a little bit too
link |
04:11:02.960
I tend to believe
link |
04:11:04.960
that Tesla autopilot deserves
link |
04:11:06.960
a lot more credit than it's getting
link |
04:11:08.960
for making progress
link |
04:11:10.960
on the general
link |
04:11:12.960
on the doing the multitask learning
link |
04:11:14.960
thing and increasing the number of tasks
link |
04:11:16.960
and automating that
link |
04:11:18.960
process of
link |
04:11:20.960
sort of
link |
04:11:22.960
learning from the edge
link |
04:11:24.960
discovering the edge cases and learning from the edge cases
link |
04:11:26.960
that is it's really
link |
04:11:28.960
approaching from a different angle the general
link |
04:11:30.960
learning problem
link |
04:11:32.960
but the more clear approach
link |
04:11:34.960
comes from deep mind where you have these
link |
04:11:36.960
kind of game situations
link |
04:11:38.960
build systems
link |
04:11:40.960
there but I don't know
link |
04:11:42.960
people seem to be quite
link |
04:11:46.960
there will always be people that just won't
link |
04:11:48.960
believe it and I fundamentally
link |
04:11:50.960
don't care I mean I don't care
link |
04:11:52.960
if they don't believe it I
link |
04:11:54.960
when it starts doing people's jobs
link |
04:11:56.960
and I mean I don't care about the
link |
04:11:58.960
philosophical zombie argument at all
link |
04:12:00.960
absolutely absolutely but will you
link |
04:12:02.960
do you think you will notice that something
link |
04:12:04.960
special has happened here
link |
04:12:06.960
or
link |
04:12:08.960
because to me I've been
link |
04:12:10.960
noticing a lot of special things
link |
04:12:12.960
I think a lot of credit should go
link |
04:12:14.960
to deep mind for alpha
link |
04:12:16.960
zero
link |
04:12:18.960
that was truly special
link |
04:12:20.960
self play mechanisms achieve
link |
04:12:22.960
sort of solve problems that
link |
04:12:24.960
used to be thought unsolvable
link |
04:12:26.960
like the game of go
link |
04:12:28.960
also I mean protein folding
link |
04:12:30.960
starting to get into that space
link |
04:12:32.960
where learning is doing
link |
04:12:34.960
at first it wasn't
link |
04:12:36.960
end to end learning
link |
04:12:38.960
now it's end to end learning
link |
04:12:40.960
of a very difficult previously thought
link |
04:12:42.960
unsolvable problem of protein folding
link |
04:12:44.960
and so
link |
04:12:48.960
where do you think
link |
04:12:50.960
would be a really magical
link |
04:12:52.960
moment for you
link |
04:12:54.960
there have been incredible things happening
link |
04:12:56.960
in recent years like you say all of the
link |
04:12:58.960
things from deep mind and open AI
link |
04:13:00.960
that have been huge show piece
link |
04:13:02.960
things but when you really get down to it
link |
04:13:04.960
you read the papers and you look at the way
link |
04:13:06.960
the models are going
link |
04:13:08.960
it's still like a feed forward
link |
04:13:10.960
you push something in something comes out
link |
04:13:12.960
on the end I mean maybe there's
link |
04:13:14.960
diffusion models or Monte Carlo
link |
04:13:16.960
tree rollouts and different things going on
link |
04:13:18.960
but it's not a being
link |
04:13:20.960
it's not close to a being
link |
04:13:22.960
that's going through
link |
04:13:24.960
a lifelong learning process
link |
04:13:26.960
do you want something that kind
link |
04:13:28.960
of gives signs of a being
link |
04:13:30.960
like what's the difference between
link |
04:13:32.960
a neural network
link |
04:13:34.960
a feed forward neural network
link |
04:13:36.960
and a being
link |
04:13:38.960
so where's the
link |
04:13:40.960
fundamentally the brain is a recurrent neural network
link |
04:13:42.960
generating an action policy
link |
04:13:44.960
I mean it's implemented on a biological
link |
04:13:46.960
substrate and it's interesting thinking about
link |
04:13:48.960
things like that where we know fundamentally
link |
04:13:50.960
the brain is not
link |
04:13:52.960
a convolutional neural network or a transformer
link |
04:13:54.960
those are specialized things that
link |
04:13:56.960
are very valuable for what we're doing
link |
04:13:58.960
but it's not the way the brain's doing now
link |
04:14:00.960
I do think consciousness and AI
link |
04:14:02.960
in general is a substrate
link |
04:14:04.960
independent mechanism where
link |
04:14:06.960
it doesn't have to be implemented the way the brain is
link |
04:14:08.960
but if you've only got one existence
link |
04:14:10.960
proof there's certainly some
link |
04:14:12.960
value in caring about what it says and does
link |
04:14:16.960
and so the idea that
link |
04:14:18.960
anything that can be done with a narrow
link |
04:14:20.960
AI that you can quantify up a
link |
04:14:22.960
loss function for a reward mechanism
link |
04:14:24.960
you're almost certainly going to be able
link |
04:14:26.960
to produce something that's more
link |
04:14:28.960
resource effective to train and deploy
link |
04:14:30.960
and use in an inference mode
link |
04:14:32.960
you know train a whole lot using an inference
link |
04:14:34.960
but a living being
link |
04:14:36.960
is going to be something that's a continuous
link |
04:14:38.960
lifelong learned task
link |
04:14:40.960
agnostic thing
link |
04:14:42.960
and while a lot of learning
link |
04:14:44.960
is really important too and the
link |
04:14:46.960
long term memory
link |
04:14:48.960
so memory is a big weird part
link |
04:14:50.960
of that puzzle. We've got
link |
04:14:52.960
again I have all the respect in the world
link |
04:14:54.960
for the amazing things that are being done
link |
04:14:56.960
now but sometimes they can be taken
link |
04:14:58.960
a little bit out of context with things
link |
04:15:00.960
like there's some smoke and
link |
04:15:02.960
mirrors going on like the GATO
link |
04:15:04.960
the recent work the multi task learning stuff
link |
04:15:06.960
you know it's amazing that it's the one
link |
04:15:08.960
it's one model that plays all
link |
04:15:10.960
the Atari games I am as well
link |
04:15:12.960
as doing all these other things
link |
04:15:14.960
but I of course it didn't learn
link |
04:15:16.960
to do all of those it was instructed
link |
04:15:18.960
in doing that by other reinforcement
link |
04:15:20.960
learners going through and doing that
link |
04:15:22.960
and even in the case of all the games
link |
04:15:24.960
it's still going with a specific
link |
04:15:26.960
hand coded reward function
link |
04:15:28.960
in each of those Atari games
link |
04:15:30.960
where it's not that you know how does it
link |
04:15:32.960
it just wants to spend its summer afternoon
link |
04:15:34.960
playing Atari because that's the most interesting
link |
04:15:36.960
thing for it so it's again not
link |
04:15:38.960
a general it's not learning the way
link |
04:15:40.960
humans learn and there's
link |
04:15:42.960
I believe a lot of things that are
link |
04:15:44.960
challenging to make a loss function
link |
04:15:46.960
for that you can train through
link |
04:15:48.960
these existing conventional things
link |
04:15:50.960
we're going to chip away at all the things
link |
04:15:52.960
that people do I am
link |
04:15:54.960
that we can turn into narrow
link |
04:15:56.960
AI problems and
link |
04:15:58.960
billions of probably trillions of
link |
04:16:00.960
dollars of value are going to be created
link |
04:16:02.960
by that but there's still going to be
link |
04:16:04.960
a set of things and we've got questionable
link |
04:16:06.960
cases like the self driving car
link |
04:16:08.960
where it's possible it's
link |
04:16:10.960
not my bet but it's plausible
link |
04:16:12.960
that the long tail could be problematic
link |
04:16:14.960
enough that that really does require
link |
04:16:16.960
a full on artificial general intelligence
link |
04:16:18.960
I am the counter argument
link |
04:16:20.960
is that data solves almost everything
link |
04:16:22.960
is an interpolation problem if you have enough
link |
04:16:24.960
data and Tesla may be able to get
link |
04:16:26.960
enough data from all
link |
04:16:28.960
their deployed stuff to be able to work like
link |
04:16:30.960
that but maybe not and
link |
04:16:32.960
there are all the other problems about like say
link |
04:16:34.960
you want to have a strategy meeting
link |
04:16:36.960
and you want to go ahead and bring in all
link |
04:16:38.960
the remote workers and your consultants
link |
04:16:40.960
and you want a world where some of those
link |
04:16:42.960
could be AIs that are
link |
04:16:44.960
you know that are talking and interacting
link |
04:16:46.960
with you in an area
link |
04:16:48.960
that is too murky to have a crisp loss
link |
04:16:50.960
function but they still have
link |
04:16:52.960
things that on some level they're
link |
04:16:54.960
rewarded on some internal level
link |
04:16:56.960
for building a valuable to humans
link |
04:16:58.960
kind of life
link |
04:17:00.960
and ability to interact with things
link |
04:17:02.960
see I still think
link |
04:17:04.960
that self driving car
link |
04:17:06.960
solving that problem will take us very far
link |
04:17:08.960
towards AGI you might not need AGI
link |
04:17:10.960
but I am really
link |
04:17:12.960
inspired by what
link |
04:17:14.960
autopilot is doing
link |
04:17:16.960
Waymo, so some of the other
link |
04:17:18.960
companies I think Waymo leads the way
link |
04:17:20.960
there is also really
link |
04:17:22.960
interesting but they don't have quite as ambitious
link |
04:17:24.960
of an effort in terms of
link |
04:17:26.960
learning based
link |
04:17:28.960
sort of data hungry
link |
04:17:30.960
approach to driving which I think
link |
04:17:32.960
is very close to the kind of thing that would
link |
04:17:34.960
take us far
link |
04:17:36.960
towards AGI. Yeah and it's a funny thing
link |
04:17:38.960
because as far as I can tell
link |
04:17:40.960
Elon is completely serious about all of his
link |
04:17:42.960
concerns about AGI
link |
04:17:44.960
being an existential threat and
link |
04:17:46.960
I tried to draw him out to talk about AI
link |
04:17:48.960
and he just didn't want to
link |
04:17:50.960
and I think that
link |
04:17:52.960
I get that little fatalistic sense from him
link |
04:17:54.960
and it's weird because his company
link |
04:17:56.960
could very well be the leading company
link |
04:17:58.960
leading towards a lot of that where
link |
04:18:00.960
Tesla being a super pragmatic company
link |
04:18:02.960
that's doing things because
link |
04:18:04.960
they really want to solve this actual problem
link |
04:18:06.960
it's a different vibe than the research
link |
04:18:08.960
oriented companies where
link |
04:18:10.960
it's a great time to be an AI researcher
link |
04:18:12.960
you've got your pick of trillion dollar companies
link |
04:18:14.960
that will pay you to kind of work on the problems
link |
04:18:16.960
you're interested in but that's not
link |
04:18:18.960
necessarily driving hard towards
link |
04:18:20.960
the core problem of
link |
04:18:22.960
AGI as something that's going to produce
link |
04:18:24.960
a lot of value by doing things that
link |
04:18:26.960
you know that people currently do
link |
04:18:28.960
or would like to do.
link |
04:18:30.960
I have a million questions to you
link |
04:18:32.960
about your ideas about
link |
04:18:34.960
AGI but do you think
link |
04:18:36.960
it needs to be embodied
link |
04:18:38.960
do you think it needs to have a body
link |
04:18:40.960
to start to
link |
04:18:42.960
notice the signs of life
link |
04:18:44.960
to develop the kind of system that's
link |
04:18:46.960
able to reason
link |
04:18:48.960
perceive the world in the way that an AGI
link |
04:18:50.960
should and act in the world
link |
04:18:52.960
so should we be thinking about robots
link |
04:18:54.960
or can this be achieved in a
link |
04:18:56.960
purely digital system?
link |
04:18:58.960
What's your opinion on that and that's
link |
04:19:00.960
that no it does not need
link |
04:19:02.960
to be embodied in the physical world
link |
04:19:04.960
where you could say most of my
link |
04:19:06.960
career is about making simulated
link |
04:19:08.960
virtual worlds in games
link |
04:19:10.960
or virtual reality and so
link |
04:19:12.960
on a fundamental level I believe that
link |
04:19:14.960
you can make a simulated environment that provides
link |
04:19:16.960
much of the value of what the real
link |
04:19:18.960
environment does and restricting
link |
04:19:20.960
yourself to operating
link |
04:19:22.960
at real time in the physical world with
link |
04:19:24.960
physical objects I think is an enormous
link |
04:19:26.960
handicap I mean that's one
link |
04:19:28.960
of the real lessons driven home by all my
link |
04:19:30.960
aerospace work is that
link |
04:19:32.960
you know
link |
04:19:34.960
reality is a bitch in so many ways there
link |
04:19:36.960
we're dealing with all the mechanical components
link |
04:19:38.960
like everything fails, Murphy's law
link |
04:19:40.960
even if you've done it right before on your fifth one
link |
04:19:42.960
it might come out differently
link |
04:19:44.960
so yeah I think that
link |
04:19:46.960
anybody that
link |
04:19:48.960
is all in on the embodied aspect of it
link |
04:19:50.960
they are tying a huge weight
link |
04:19:52.960
to their ankles and I think
link |
04:19:54.960
I would almost
link |
04:19:56.960
count them out anybody that's making that a cornerstone
link |
04:19:58.960
of their belief about it I would almost write
link |
04:20:00.960
them off as being worried about them
link |
04:20:02.960
getting to AGI first
link |
04:20:04.960
I was very surprised that Elon's big on
link |
04:20:06.960
the humanoid robots
link |
04:20:08.960
I mean like the NASA Robonaut stuff was always
link |
04:20:10.960
almost a gag line
link |
04:20:12.960
like what are you doing people?
link |
04:20:14.960
Well that's very interesting because he has a very pragmatic
link |
04:20:16.960
view of that that's just
link |
04:20:20.960
a way to solve a particular problem
link |
04:20:22.960
in a factory. Now I do think that
link |
04:20:24.960
once you have an AGI
link |
04:20:26.960
robotic bodies, humanoid bodies are going to be
link |
04:20:28.960
enormously valuable I just don't think
link |
04:20:30.960
they're helpful getting to AGI
link |
04:20:32.960
Well he has a very sort of practical view
link |
04:20:34.960
which I disagree with and I argue with him
link |
04:20:36.960
but it's a practical view that
link |
04:20:38.960
there's you know you could
link |
04:20:40.960
transfer the problem of
link |
04:20:42.960
driving to the problem of
link |
04:20:44.960
robotic manipulation
link |
04:20:46.960
because so much of it is perception
link |
04:20:48.960
it's perception
link |
04:20:50.960
and it's just a different context
link |
04:20:52.960
and so you can apply all the same
link |
04:20:54.960
kind of data engine
link |
04:20:56.960
learning processes to a
link |
04:20:58.960
different environment and so why not
link |
04:21:00.960
apply it to the humanoid robot environment
link |
04:21:02.960
but
link |
04:21:04.960
I think
link |
04:21:06.960
I do think that there's a certain
link |
04:21:08.960
magic to the body
link |
04:21:10.960
robot.
link |
04:21:12.960
That may be the thing that finally convinces people
link |
04:21:14.960
but again I don't really care
link |
04:21:16.960
that much about convincing people
link |
04:21:18.960
but the world that I'm looking towards
link |
04:21:20.960
is you know you
link |
04:21:22.960
you go to the website and say
link |
04:21:24.960
I want five Frank 1As to
link |
04:21:26.960
work on my team today and they all spin up
link |
04:21:28.960
and they start showing up in your Zoom meetings
link |
04:21:30.960
to push back but also
link |
04:21:32.960
to agree with you but first to push back
link |
04:21:34.960
I do think you need to convince people
link |
04:21:36.960
for them to welcome that thing
link |
04:21:38.960
into their life.
link |
04:21:40.960
I think there's enough businesses that operate
link |
04:21:42.960
on an objective kind of profit
link |
04:21:44.960
loss sort of basis that
link |
04:21:46.960
I mean if you look at how many things
link |
04:21:48.960
again talking about the world as
link |
04:21:50.960
an evolutionary space there
link |
04:21:52.960
when you do have free markets and you have
link |
04:21:54.960
entrepreneurs
link |
04:21:56.960
you're going to have people that are going to be willing to go out and try
link |
04:21:58.960
whatever crazy things
link |
04:22:00.960
and when it proves to be beneficial
link |
04:22:02.960
you know there's fast followers in all sorts of
link |
04:22:04.960
places.
link |
04:22:06.960
Yeah and you're saying that
link |
04:22:08.960
Quake and VR
link |
04:22:10.960
is a kind of embodiment but just in
link |
04:22:12.960
a digital world and if you're able to
link |
04:22:14.960
demonstrate
link |
04:22:16.960
if you're able to do something productive in that kind
link |
04:22:18.960
of digital reality
link |
04:22:22.960
then AGI doesn't
link |
04:22:24.960
need to have a body. Yeah it's like one of the really
link |
04:22:26.960
practical technical questions that I kind
link |
04:22:28.960
of keep arguing with myself over
link |
04:22:30.960
if you're doing a training
link |
04:22:32.960
and learning and you've got like you can
link |
04:22:34.960
watch Sesame Street you can play master system
link |
04:22:36.960
games or something is it enough
link |
04:22:38.960
to have just a video feed that
link |
04:22:40.960
is that video coming in
link |
04:22:42.960
or should it literally be on
link |
04:22:44.960
a virtual TV set in a virtual room
link |
04:22:46.960
even if it's a simple room
link |
04:22:48.960
just to have that sense of
link |
04:22:50.960
you're looking at a 2D projection on a screen
link |
04:22:52.960
versus having the screen beamed directly
link |
04:22:54.960
into your retinas and
link |
04:22:56.960
I think it's possible
link |
04:22:58.960
to maybe get past some of these signs
link |
04:23:00.960
of life of things with the
link |
04:23:02.960
just kind of projected directly into the receptor
link |
04:23:04.960
fields but eventually
link |
04:23:06.960
for more
link |
04:23:08.960
kind of human emotional connection
link |
04:23:10.960
for things probably having
link |
04:23:12.960
some VR room with a lot of screens
link |
04:23:14.960
in it for the AI to be learning in
link |
04:23:16.960
is likely helpful
link |
04:23:18.960
it may be a world of different AIs
link |
04:23:20.960
interacting with each other. That self play I do think
link |
04:23:22.960
is one of the critical things where
link |
04:23:24.960
socialization wise one of the other limitations
link |
04:23:26.960
I set for myself thinking about
link |
04:23:28.960
these is I need
link |
04:23:30.960
something that is at least
link |
04:23:32.960
potentially real time because
link |
04:23:34.960
I want it's nice you can always slow down
link |
04:23:36.960
time you can run on a subscale
link |
04:23:38.960
system and test an algorithm
link |
04:23:40.960
at some lower level and if you've got
link |
04:23:42.960
extra horsepower running it faster than real time
link |
04:23:44.960
is a great thing but
link |
04:23:46.960
I want to be able to
link |
04:23:48.960
have the AIs
link |
04:23:50.960
either socially interact with each other
link |
04:23:52.960
or critically with actual
link |
04:23:54.960
people you're sort of child development psychiatrist
link |
04:23:56.960
that comes in and
link |
04:23:58.960
interacts and does the good boy, bad boy
link |
04:24:00.960
sort of thing
link |
04:24:02.960
as they're going through and exploring different things
link |
04:24:04.960
and it's nice to
link |
04:24:06.960
I come back to the value of
link |
04:24:08.960
constraints in a lot of ways and if I say
link |
04:24:10.960
well one of my constraints is real time
link |
04:24:12.960
operation I mean it might still be
link |
04:24:14.960
a huge data center full of
link |
04:24:16.960
computers but it should be
link |
04:24:18.960
able to interact on a zoom meeting
link |
04:24:20.960
with people and that's how you also do
link |
04:24:22.960
start convincing people even if it's not
link |
04:24:24.960
a robot body moving around which eventually
link |
04:24:26.960
gets to irrefutable levels
link |
04:24:28.960
but if you can go ahead and
link |
04:24:30.960
not just type back and forth to a GPT
link |
04:24:32.960
bot on something but
link |
04:24:34.960
you're literally talking to them
link |
04:24:36.960
embodied over zoom form
link |
04:24:38.960
and working through problems
link |
04:24:40.960
with them or exploring situations
link |
04:24:42.960
having conversations
link |
04:24:44.960
that are fully stateful and learned
link |
04:24:46.960
I think that
link |
04:24:48.960
that's a valuable thing so I do keep
link |
04:24:50.960
all of my eyes on things that
link |
04:24:52.960
can be implemented within sort of that
link |
04:24:54.960
30 frames per second
link |
04:24:56.960
kind of work and I think that's feasible
link |
04:24:58.960
Do you think the most compelling experience
link |
04:25:00.960
is that it first will be
link |
04:25:02.960
for pleasure
link |
04:25:04.960
or for business as they ask in airports
link |
04:25:06.960
so
link |
04:25:08.960
meaning is it
link |
04:25:10.960
if it's interacting with
link |
04:25:12.960
AI
link |
04:25:14.960
agents will it be
link |
04:25:16.960
sort of like friends
link |
04:25:20.960
entertainment
link |
04:25:22.960
almost like a therapist or whatever
link |
04:25:24.960
that kind of interaction
link |
04:25:26.960
or is it in the business setting something
link |
04:25:28.960
like you said brainstorming different ideas
link |
04:25:30.960
sort of
link |
04:25:32.960
this is all a different formulation of
link |
04:25:34.960
a kind of a touring test or the spirit
link |
04:25:36.960
of the original touring test where do you think
link |
04:25:38.960
the biggest benefit will first come
link |
04:25:40.960
So it's going to start off hugely expensive
link |
04:25:42.960
I mean you're going to
link |
04:25:44.960
we're still all guessing about
link |
04:25:46.960
what compute is going to be necessary
link |
04:25:48.960
I fall on the side of I don't think
link |
04:25:50.960
you run the numbers and you're like 86 billion neurons
link |
04:25:52.960
100 trillion synapses
link |
04:25:54.960
I don't think those all need to be weights
link |
04:25:56.960
I don't think we need models that are quite that big
link |
04:25:58.960
that often
link |
04:26:00.960
we've got reasonable estimates
link |
04:26:02.960
of what some parts of the brain do
link |
04:26:04.960
we don't have the neocortex formula
link |
04:26:06.960
but we kind of get some of the other sensory
link |
04:26:08.960
processing and it doesn't feel like
link |
04:26:10.960
we need to we can simulate that in computers
link |
04:26:12.960
for less weights but still
link |
04:26:14.960
it's probably going to be
link |
04:26:16.960
thousands of GPUs
link |
04:26:18.960
to be running
link |
04:26:20.960
a human level AGI
link |
04:26:22.960
depending on how it's implemented that might give you
link |
04:26:24.960
sort of a clan of 128
link |
04:26:26.960
run in batch people
link |
04:26:28.960
depending on whether they're sparsity in the way
link |
04:26:30.960
the weights and things are set up
link |
04:26:32.960
if it is a reasonably dense thing
link |
04:26:34.960
then just the memory bandwidth tradeoffs
link |
04:26:36.960
means you get 128 of them at the same time
link |
04:26:38.960
and either it's
link |
04:26:40.960
all feeding together learning in parallel
link |
04:26:42.960
or kind of all running together
link |
04:26:44.960
I kind of talking to a bunch of people
link |
04:26:46.960
but still if you've got thousands of GPUs
link |
04:26:48.960
necessary to run these
link |
04:26:50.960
things it's going to be kind of
link |
04:26:52.960
expensive where it might start
link |
04:26:54.960
off a thousand dollars
link |
04:26:56.960
an hour for your even post
link |
04:26:58.960
development or something for that
link |
04:27:00.960
which would be something that you would only use
link |
04:27:02.960
for a business
link |
04:27:04.960
something where you think they're going to help you make
link |
04:27:06.960
a strategic decision or point out something
link |
04:27:08.960
super important but I also
link |
04:27:10.960
am completely confident
link |
04:27:12.960
that we will have another factor
link |
04:27:14.960
of a thousand in cost performance
link |
04:27:16.960
increase in AGI
link |
04:27:18.960
type calculations
link |
04:27:20.960
not in general computing necessarily
link |
04:27:22.960
but there's so much more that we can do
link |
04:27:24.960
with packaging, making those right tradeoffs
link |
04:27:26.960
all those same types of things that
link |
04:27:28.960
in the next couple of decades
link |
04:27:30.960
thousand X easy and then you're down to a dollar an hour
link |
04:27:32.960
and
link |
04:27:34.960
then you're kind of like well
link |
04:27:36.960
I should have an entourage of AIs
link |
04:27:38.960
that are following me around
link |
04:27:40.960
helping me out on anything that I want them to do
link |
04:27:42.960
that's one interesting trajectory
link |
04:27:44.960
but I'll push back
link |
04:27:46.960
because I have a
link |
04:27:48.960
so in that case
link |
04:27:50.960
with a thousand dollars
link |
04:27:52.960
it should actually provide some value
link |
04:27:54.960
I think it's easier
link |
04:27:56.960
for cheaper
link |
04:27:58.960
to provide
link |
04:28:00.960
value via a dumb
link |
04:28:02.960
AI
link |
04:28:04.960
that will take us towards AGI
link |
04:28:06.960
to just have a friend
link |
04:28:08.960
I think there's an ocean of loneliness
link |
04:28:10.960
in the world
link |
04:28:12.960
and I think an effective friend
link |
04:28:14.960
that doesn't have to be perfect
link |
04:28:16.960
that doesn't have to be intelligent
link |
04:28:18.960
empathic
link |
04:28:20.960
having emotional intelligence
link |
04:28:22.960
having ability to remember things
link |
04:28:24.960
having ability to listen
link |
04:28:26.960
most of us don't listen to each other
link |
04:28:28.960
one of the things that love
link |
04:28:30.960
and when you care about somebody
link |
04:28:32.960
when you love somebody is when you listen
link |
04:28:34.960
and that is something we treasure about each other
link |
04:28:36.960
and
link |
04:28:38.960
if an AI can do that kind of thing
link |
04:28:40.960
I think that
link |
04:28:42.960
provides a huge amount of value
link |
04:28:44.960
and very importantly
link |
04:28:46.960
provides value in its ability
link |
04:28:48.960
to listen
link |
04:28:50.960
and understand
link |
04:28:52.960
versus provide really good advice
link |
04:28:54.960
I think providing really good advice
link |
04:28:56.960
is another next level
link |
04:28:58.960
step that would
link |
04:29:00.960
I think it's just
link |
04:29:02.960
easier to do companionship
link |
04:29:04.960
I wouldn't disagree
link |
04:29:06.960
I think that there's very few things
link |
04:29:08.960
that I would argue can't be reduced
link |
04:29:10.960
to some kind of a narrow
link |
04:29:12.960
AI
link |
04:29:14.960
a trillion dollars of value easily
link |
04:29:16.960
and all the things that can be done there
link |
04:29:18.960
and a lot of it can be done with smoke and mirrors
link |
04:29:20.960
without having to go the whole thing
link |
04:29:22.960
there's going to be the equivalent of the Doom
link |
04:29:24.960
the Doom version
link |
04:29:26.960
for the AGI that's
link |
04:29:28.960
not really AGI, it's all smoke and mirrors
link |
04:29:30.960
but it happens to do another valuable things
link |
04:29:32.960
that it's enormously useful
link |
04:29:34.960
and valuable to people
link |
04:29:36.960
but at some point you do want to get to the point
link |
04:29:38.960
where you have the fully general thing
link |
04:29:40.960
and you stop making bespoke specialized systems
link |
04:29:42.960
for each thing and you wind up
link |
04:29:44.960
start using the higher level language
link |
04:29:46.960
instead of writing everything in assembly language
link |
04:29:48.960
what about consciousness
link |
04:29:50.960
the C word
link |
04:29:52.960
what do you think that's
link |
04:29:54.960
fundamental
link |
04:29:56.960
to solving AGI
link |
04:29:58.960
or is it a quirk of human
link |
04:30:00.960
cognition
link |
04:30:02.960
so I think most of the arguments
link |
04:30:04.960
about consciousness don't have a whole
link |
04:30:06.960
lot of merit
link |
04:30:08.960
I think that consciousness is kind of
link |
04:30:10.960
the way the brain feels when it's operating
link |
04:30:12.960
and
link |
04:30:14.960
this idea that
link |
04:30:16.960
I do generally subscribe
link |
04:30:18.960
to sort of the pandemonium theories of consciousness
link |
04:30:20.960
where there's all these things bubbling around
link |
04:30:22.960
and I think of them as
link |
04:30:24.960
kind of slightly randomized
link |
04:30:26.960
sparse distributed memory bit strings of things
link |
04:30:28.960
that are kind of happening
link |
04:30:30.960
recalling different associative memories
link |
04:30:32.960
and eventually you get some level of consensus
link |
04:30:34.960
and it bubbles up to the point of being a conscious
link |
04:30:36.960
thought there
link |
04:30:38.960
there's a little bit of stochasticity
link |
04:30:40.960
that are sitting on in this
link |
04:30:42.960
as it cycles between different things
link |
04:30:44.960
and recalls different memory
link |
04:30:46.960
that's largely our imagination and creativity
link |
04:30:48.960
so I don't think
link |
04:30:50.960
there's anything deeply magical
link |
04:30:52.960
about it certainly not symbolic
link |
04:30:54.960
I think it is generally the flow of these
link |
04:30:56.960
associations
link |
04:30:58.960
drawn up with stochastic
link |
04:31:00.960
noise overlaid on top of them
link |
04:31:02.960
I think so much of that is
link |
04:31:04.960
like it depends on what you happen to have
link |
04:31:06.960
a view as some other thought was occurring
link |
04:31:08.960
to you that overlay and blend
link |
04:31:10.960
into the next key that queries your memory
link |
04:31:12.960
for things and that kind of determines
link |
04:31:14.960
how your chain of consciousness
link |
04:31:16.960
goes so that's kind
link |
04:31:18.960
of the quality of the subjective
link |
04:31:20.960
experience of it is not
link |
04:31:22.960
is not essential for intelligence
link |
04:31:24.960
I don't think so I don't think there's anything really important
link |
04:31:26.960
there what about some other
link |
04:31:28.960
human qualities like fear of mortality
link |
04:31:30.960
and stuff like that like
link |
04:31:32.960
the fact that this ride ends
link |
04:31:34.960
is that
link |
04:31:36.960
important like you
link |
04:31:38.960
talk so much about this conversation
link |
04:31:40.960
about the value of deadlines and constraints
link |
04:31:42.960
do you think that's important
link |
04:31:44.960
for intelligence? That's actually a super
link |
04:31:46.960
interesting angle that I don't usually
link |
04:31:48.960
take on that about has death being
link |
04:31:50.960
a deadline that forces you to make better decisions
link |
04:31:52.960
because I have heard people
link |
04:31:54.960
talk about how if you have immortality
link |
04:31:56.960
people are going to stop trying
link |
04:31:58.960
and working on things because they've got all the time
link |
04:32:00.960
in the world
link |
04:32:02.960
but I would say that
link |
04:32:04.960
I don't expect it to be
link |
04:32:06.960
a super critical thing
link |
04:32:08.960
that a sense of mortality
link |
04:32:10.960
and death impending death is
link |
04:32:12.960
necessary there because those are things that
link |
04:32:14.960
they do wind up providing reward signals
link |
04:32:16.960
to us and we will be in control of the
link |
04:32:18.960
reward signals and there will have
link |
04:32:20.960
to be something fundamental that causes
link |
04:32:22.960
that engenders curiosity and goal
link |
04:32:24.960
setting and all of that
link |
04:32:26.960
something is going to play in there
link |
04:32:28.960
at the reward level
link |
04:32:30.960
whether it's positive or negative
link |
04:32:32.960
or both. I don't
link |
04:32:34.960
have any strong opinions
link |
04:32:36.960
on exactly what it's going to be
link |
04:32:38.960
but that's that type of thing
link |
04:32:40.960
where I doubt
link |
04:32:42.960
that might be one of those half dozen key
link |
04:32:44.960
things that has to be sorted out on exactly
link |
04:32:46.960
what the master reward
link |
04:32:48.960
that's the meta reward overall of the
link |
04:32:50.960
local task specific rewards
link |
04:32:52.960
have to be. That could be that big
link |
04:32:54.960
negative reward of death
link |
04:32:56.960
maybe not death but ability
link |
04:32:58.960
to walk away from an interaction
link |
04:33:00.960
so it bothers me
link |
04:33:02.960
when people treat AI systems like
link |
04:33:04.960
servants so
link |
04:33:06.960
it doesn't bother me but I mean
link |
04:33:08.960
it really is drawing
link |
04:33:10.960
the line
link |
04:33:12.960
between what an AI system could be
link |
04:33:14.960
it's limiting the possibility what an AI system
link |
04:33:16.960
could be is treating them as justice tools
link |
04:33:18.960
now that's of course
link |
04:33:20.960
from a narrow AI perspective
link |
04:33:22.960
there's so many
link |
04:33:24.960
problems that narrow AI
link |
04:33:26.960
I could solve just like you said
link |
04:33:28.960
as
link |
04:33:30.960
in its form of a tool
link |
04:33:32.960
but it could also be
link |
04:33:34.960
a being
link |
04:33:36.960
which is much more than a tool and
link |
04:33:38.960
to become a being
link |
04:33:40.960
you have to respect that thing for being
link |
04:33:42.960
a being and for that
link |
04:33:44.960
it has to be able to have
link |
04:33:46.960
to make its own
link |
04:33:48.960
decisions to walk away to say
link |
04:33:50.960
I had enough of you I would like to break up
link |
04:33:52.960
with you now
link |
04:33:54.960
not treated me well and I would like to
link |
04:33:56.960
move on so
link |
04:33:58.960
I think that actually
link |
04:34:00.960
that choice
link |
04:34:02.960
to end things
link |
04:34:04.960
so I have
link |
04:34:06.960
a couple of things on that so on the one hand
link |
04:34:08.960
it is kind of disturbing when you see
link |
04:34:10.960
people being like people that are mean to
link |
04:34:12.960
robots and you know mean to Alexa
link |
04:34:14.960
whatever and that seems
link |
04:34:16.960
to speak badly about humanity
link |
04:34:18.960
but there's also the exact opposite
link |
04:34:20.960
side of that where you have so many people that
link |
04:34:22.960
imbue humanity in
link |
04:34:24.960
inanimate objects or things that are toys
link |
04:34:26.960
or that are relatively limited
link |
04:34:28.960
so I think there may even be
link |
04:34:30.960
more danger about people putting more
link |
04:34:32.960
emotional investment into a lot of these
link |
04:34:34.960
proto AIs in different ways
link |
04:34:36.960
and then the
link |
04:34:38.960
AI would manipulate that
link |
04:34:40.960
but as far as like the AI
link |
04:34:42.960
ethnic sides of things
link |
04:34:44.960
I really stay away
link |
04:34:46.960
from any of those discussions or even
link |
04:34:48.960
really thinking about it it's
link |
04:34:50.960
similar with the safety things where I think
link |
04:34:52.960
it's just premature and there's a certain
link |
04:34:54.960
class of people that enjoy
link |
04:34:56.960
thinking about impractical things
link |
04:34:58.960
things are not in the world
link |
04:35:00.960
you know of pragmatic effect around
link |
04:35:02.960
you and I think that
link |
04:35:04.960
again because I don't think
link |
04:35:06.960
there's going to be a fast takeoff I think we actually
link |
04:35:08.960
will have time to have these debates
link |
04:35:10.960
when we know the shape of what we're debating
link |
04:35:12.960
and some people do take a
link |
04:35:14.960
principled approach that they think it's going to go too
link |
04:35:16.960
fast that you really do need to get ahead of it
link |
04:35:18.960
that you need to be thinking about this because
link |
04:35:20.960
we have slow processes of coming
link |
04:35:22.960
to any kind of consensus or even coming
link |
04:35:24.960
up with ideas about this
link |
04:35:26.960
and maybe that's
link |
04:35:28.960
maybe that's true
link |
04:35:30.960
I wouldn't put any of my money or funding
link |
04:35:32.960
into something like that because
link |
04:35:34.960
I don't think it's a problem yet
link |
04:35:36.960
and I think that we will have these signs
link |
04:35:38.960
of life when we've got our learning
link |
04:35:40.960
disabled toddler we should really start
link |
04:35:42.960
talking about some of the safety and ethics
link |
04:35:44.960
issues but probably not before
link |
04:35:46.960
then can you elaborate
link |
04:35:48.960
briefly about why you don't think there'll
link |
04:35:50.960
be a fast takeoff is there
link |
04:35:52.960
some deep intuition you have about it
link |
04:35:54.960
does it because it's grounded in the physical
link |
04:35:56.960
world or why yeah so
link |
04:35:58.960
it is my belief that we're going to start
link |
04:36:00.960
off with something that requires thousands
link |
04:36:02.960
of GPUs and
link |
04:36:04.960
I don't know if you've tried to go get
link |
04:36:06.960
a thousand GPU instance on a cloud
link |
04:36:08.960
anytime recently but these are not
link |
04:36:10.960
things that you can just go spin up
link |
04:36:12.960
hundreds of I
link |
04:36:14.960
there are real challenges to
link |
04:36:16.960
I mean these things are going to take data centers
link |
04:36:18.960
and data centers take years to build
link |
04:36:20.960
you know and the last few years
link |
04:36:22.960
we've seen a few of them kind of coming up
link |
04:36:24.960
going in different places they're big engineering
link |
04:36:26.960
efforts you can hear people
link |
04:36:28.960
bemoan about the fact that I
link |
04:36:30.960
know that the network was wired
link |
04:36:32.960
all wrong and it took them a month to go
link |
04:36:34.960
unwire it and rewire it the right way
link |
04:36:36.960
these aren't things that you can just magic
link |
04:36:38.960
into existence and
link |
04:36:40.960
the ideas of I am like the old
link |
04:36:42.960
tropes about it's going to escape on the internet
link |
04:36:44.960
and take over other systems
link |
04:36:46.960
there's the fast takeoff ones are clearly
link |
04:36:48.960
nonsense because you just can't open TCP
link |
04:36:50.960
connections above a certain rate no matter
link |
04:36:52.960
how smart you are even if you have perfect
link |
04:36:54.960
hacking ability that take over the world
link |
04:36:56.960
in an instant sort of thing just
link |
04:36:58.960
isn't plausible at all and
link |
04:37:00.960
even if you had access to all of the resources
link |
04:37:02.960
these are going to be
link |
04:37:04.960
specialized systems where
link |
04:37:06.960
you're going to wind up with something that is architected
link |
04:37:08.960
around exactly
link |
04:37:10.960
this chip with this interconnect
link |
04:37:12.960
and it's not just going to be able to be
link |
04:37:14.960
plopped somewhere else now interestingly
link |
04:37:16.960
it is going to be something that the entire
link |
04:37:18.960
the entire
link |
04:37:20.960
code for all of it will easily fit on a thumb drive
link |
04:37:22.960
that's total spy movie
link |
04:37:24.960
thriller sorts of things where
link |
04:37:26.960
you could have hey we crack the secret AGI
link |
04:37:28.960
and it fits on this thumb drive and anyone
link |
04:37:30.960
could steal it now they're still going to have to build
link |
04:37:32.960
the right data center to deploy it
link |
04:37:34.960
and have the right kind of life experience
link |
04:37:36.960
curriculum to take it up to the point
link |
04:37:38.960
where it's valuable but the real core of it
link |
04:37:40.960
the magic that's going to happen there
link |
04:37:42.960
is going to be very small
link |
04:37:44.960
you know it's again tens of thousands of lines
link |
04:37:46.960
of code not millions of lines of code
link |
04:37:48.960
it is possible to imagine a world
link |
04:37:50.960
as you mentioned this spy thriller
link |
04:37:52.960
view if it's
link |
04:37:54.960
if it's just a few lines of code
link |
04:37:58.960
we can imagine a world where the surface
link |
04:38:00.960
of computation is growing maybe growing
link |
04:38:02.960
exponentially meaning
link |
04:38:04.960
there's you know the
link |
04:38:06.960
refrigerators start getting a GPU
link |
04:38:08.960
and
link |
04:38:10.960
just every first all
link |
04:38:12.960
the smartphones the billions of smartphones
link |
04:38:14.960
but maybe if
link |
04:38:16.960
there become
link |
04:38:18.960
highways through
link |
04:38:20.960
which code can spread across the
link |
04:38:22.960
entirety of the computation surface
link |
04:38:24.960
then you don't
link |
04:38:26.960
any longer have to book
link |
04:38:28.960
AWS
link |
04:38:30.960
GPU real fundamental
link |
04:38:32.960
issues there when you start getting down to
link |
04:38:34.960
taking an actual problem
link |
04:38:36.960
and putting it on an abstract machine like that
link |
04:38:38.960
that has not worked out well
link |
04:38:40.960
in practice and the idea
link |
04:38:42.960
that there was always
link |
04:38:44.960
like it's always been easy to come up with ways
link |
04:38:46.960
to get compute faster
link |
04:38:48.960
say more flops or more
link |
04:38:50.960
giga ops or whatever there that's usually
link |
04:38:52.960
the easy part but you then
link |
04:38:54.960
have interconnect and then memory
link |
04:38:56.960
for what goes into it and
link |
04:38:58.960
when you talk about saying well cell phones
link |
04:39:00.960
well you're limited to like a 5G connection
link |
04:39:02.960
or something on that and
link |
04:39:04.960
if you say how if you take
link |
04:39:06.960
your your calculation you factor
link |
04:39:08.960
it across a million
link |
04:39:10.960
cell phones instead of
link |
04:39:12.960
a thousand GPUs in a warehouse
link |
04:39:14.960
you might be able to have some kind of a substrate
link |
04:39:16.960
like that but it could be operating
link |
04:39:18.960
then at
link |
04:39:20.960
one thousandth the speed and so yes
link |
04:39:22.960
you could get you could have an AGI working there
link |
04:39:24.960
but it wouldn't be a real time AGI it would be
link |
04:39:26.960
something that is operating at
link |
04:39:28.960
really a snail's pace
link |
04:39:30.960
much much slower than
link |
04:39:32.960
kind of human level thought for things
link |
04:39:34.960
I'm not worried about that problem
link |
04:39:36.960
you're transferring the problem into the
link |
04:39:38.960
interconnect the communication
link |
04:39:40.960
the shared memory
link |
04:39:42.960
the collective intelligence aspect of it
link |
04:39:44.960
which is extremely difficult as well
link |
04:39:46.960
I mean it's back to the very earliest days of
link |
04:39:48.960
supercomputers you still have the
link |
04:39:50.960
the balance between bandwidth
link |
04:39:52.960
storage and computation
link |
04:39:54.960
and sometimes they're easier to get one or the other
link |
04:39:56.960
but it's been remarkably constant
link |
04:39:58.960
across all those years that
link |
04:40:00.960
you still need all three
link |
04:40:02.960
what do your efforts
link |
04:40:04.960
now you mentioned
link |
04:40:06.960
to me that you're really
link |
04:40:08.960
committing to AGI at this
link |
04:40:10.960
stage what what do you see your life
link |
04:40:12.960
in the next few months years look like
link |
04:40:14.960
what what do you hope to achieve
link |
04:40:16.960
achieve here so
link |
04:40:18.960
I literally just this
link |
04:40:20.960
week signed a term sheet to
link |
04:40:22.960
to take some investment money for my company
link |
04:40:24.960
where the last two years
link |
04:40:26.960
I had backed off from
link |
04:40:28.960
META and I was still doing my consulting
link |
04:40:30.960
CTO role there but
link |
04:40:32.960
I had styled it as I was going to take
link |
04:40:34.960
the Victorian gentleman scientist
link |
04:40:36.960
route where I was going to be
link |
04:40:38.960
the you know the wealthy person that
link |
04:40:40.960
was going to go pursue science and learn
link |
04:40:42.960
about this and do experiments
link |
04:40:44.960
and honestly I'm surprised there aren't more
link |
04:40:46.960
people like that that are
link |
04:40:48.960
like me technical people that
link |
04:40:50.960
made a bunch of money and are interested
link |
04:40:52.960
in some of these possibly the
link |
04:40:54.960
biggest leverage point in human history
link |
04:40:56.960
I mean I know of I've heard of
link |
04:40:58.960
a couple organizations that
link |
04:41:00.960
are basically led by one rich techie guy
link |
04:41:02.960
that gets a few people around
link |
04:41:04.960
him to try to work on this
link |
04:41:06.960
but I'm surprised that there's not more that there aren't
link |
04:41:08.960
like a dozen of them
link |
04:41:10.960
I mean maybe people are still
link |
04:41:12.960
think that it's an unapproachable problem
link |
04:41:14.960
that it's kind of beyond their ability to
link |
04:41:16.960
to get a wrench on and have some effect on
link |
04:41:18.960
like whatever startups they've run before
link |
04:41:20.960
but I that was
link |
04:41:22.960
my kind of like with all the
link |
04:41:24.960
stuff I've learned whether it's gaming
link |
04:41:26.960
aerospace whatever I I go
link |
04:41:28.960
through a larval phase where I'm like okay
link |
04:41:30.960
I'm sucking up all of this information
link |
04:41:32.960
trying to see is this something
link |
04:41:34.960
that I can actually do is this
link |
04:41:36.960
something that's practical to
link |
04:41:38.960
devote a large chunk of my life to
link |
04:41:40.960
and I've gone through that with
link |
04:41:42.960
the with the AI machine learning
link |
04:41:44.960
space of things and
link |
04:41:46.960
and I think I've got my arms
link |
04:41:48.960
around it I've got the measure of it where
link |
04:41:50.960
some of the most brilliant people in the
link |
04:41:52.960
world are working on this problem but
link |
04:41:54.960
nobody knows exactly the path
link |
04:41:56.960
that it's going on we're throwing a lot
link |
04:41:58.960
of things at the wall and seeing what sticks
link |
04:42:00.960
I but I have
link |
04:42:02.960
I you know another interesting thing
link |
04:42:04.960
just learning about all of this the
link |
04:42:06.960
contingency of your path to knowledge and
link |
04:42:08.960
talking about the associations and the context
link |
04:42:10.960
that you have with them where
link |
04:42:12.960
people that learn in the same path
link |
04:42:14.960
will have similar thought processes
link |
04:42:16.960
and I think it's useful that I come
link |
04:42:18.960
at this from a different background
link |
04:42:20.960
different history than the people
link |
04:42:22.960
that have had the largely academic backgrounds
link |
04:42:24.960
for this where I have
link |
04:42:26.960
huge blind spots that they could easily
link |
04:42:28.960
point out but I have
link |
04:42:30.960
a different set of experiences in
link |
04:42:32.960
history and approaches to problems and systems
link |
04:42:34.960
engineering that
link |
04:42:36.960
you know that might turn out to be
link |
04:42:38.960
useful and I can afford to take that
link |
04:42:40.960
bet where I'm not
link |
04:42:42.960
going to be destitute I am I was
link |
04:42:44.960
you know I've been I have enough money to fund
link |
04:42:46.960
myself working on this for the rest
link |
04:42:48.960
of my life but what I was finding
link |
04:42:50.960
is that I was
link |
04:42:52.960
I was still
link |
04:42:54.960
not committing where I had a foot
link |
04:42:56.960
firmly in the VR and met a side of things
link |
04:42:58.960
where in theory I've got
link |
04:43:00.960
I've got a very nice position there I only
link |
04:43:02.960
have to work one day a week for my
link |
04:43:04.960
my consulting role but
link |
04:43:06.960
but I was engaging every day I'd still
link |
04:43:08.960
be like my computers there I'd be going
link |
04:43:10.960
and checking the workplace and notes and
link |
04:43:12.960
testing different things and communicating with people
link |
04:43:14.960
but
link |
04:43:16.960
but I did make the the decision recently
link |
04:43:18.960
that no I'm going to get serious
link |
04:43:20.960
I'm still going to keep my ties
link |
04:43:22.960
with meta but I am
link |
04:43:24.960
seriously going for the AGI
link |
04:43:26.960
side of things and it's actually
link |
04:43:28.960
a really interesting point because a lot of
link |
04:43:30.960
the machine learning the AI
link |
04:43:32.960
community is quite large but
link |
04:43:34.960
really
link |
04:43:36.960
basically almost everybody has taken the same
link |
04:43:38.960
trajectory through life
link |
04:43:40.960
in that community and it's so
link |
04:43:42.960
interesting to have somebody like you
link |
04:43:44.960
with a fundamentally different trajectory
link |
04:43:46.960
and that's where the big solutions can
link |
04:43:48.960
come because there is a kind of silo
link |
04:43:50.960
and it's it is a
link |
04:43:52.960
bunch of people kind of following the same kind
link |
04:43:54.960
of set of ideas and I was really worried
link |
04:43:56.960
that I didn't want to come
link |
04:43:58.960
off as you know like an arrogant
link |
04:44:00.960
outsider for things where I have
link |
04:44:02.960
all the respect in the world for the work
link |
04:44:04.960
that's you know it's been a miracle decade
link |
04:44:06.960
we're in the midst of a scientific revolution
link |
04:44:08.960
happening now and everybody doing
link |
04:44:10.960
this is I you know these are
link |
04:44:12.960
the the Einstein's and Bors and whatever
link |
04:44:14.960
is of our modern era
link |
04:44:16.960
I am and I was really happy to see
link |
04:44:18.960
that the the people that I sat down and
link |
04:44:20.960
talked with everybody does seem to really
link |
04:44:22.960
be quite great about just happy
link |
04:44:24.960
to talk about things willing to acknowledge
link |
04:44:26.960
that we don't know what we're doing we're
link |
04:44:28.960
figuring it out as we go along
link |
04:44:30.960
and I mean I've got a you know a huge
link |
04:44:32.960
I debt on this where
link |
04:44:34.960
this all really started for me because
link |
04:44:36.960
Sam Altman basically tried to recruit me to open
link |
04:44:38.960
AI and it was at
link |
04:44:40.960
a point when I didn't know anything about
link |
04:44:42.960
what was really going on in
link |
04:44:44.960
machine learning and in fact it's funny
link |
04:44:46.960
how the first time you reached out to me
link |
04:44:48.960
it's like four years ago for your AI
link |
04:44:50.960
podcast for people
link |
04:44:52.960
yeah for people
link |
04:44:54.960
who are
link |
04:44:56.960
listening to this should know that
link |
04:44:58.960
first of all obviously
link |
04:45:00.960
I've been a huge fan of yours for the longest
link |
04:45:02.960
time but we've agreed to talk like yeah
link |
04:45:04.960
like four years ago back when this
link |
04:45:06.960
was called the artificial intelligence podcast
link |
04:45:08.960
we wanted to
link |
04:45:10.960
do a thing and you said yes
link |
04:45:12.960
and I said it's like I don't know anything about
link |
04:45:14.960
modern AI I said I could kind of take
link |
04:45:16.960
an angle on machine perception because
link |
04:45:18.960
you know I'm doing a lot of that with the
link |
04:45:20.960
sensors and the virtual reality but
link |
04:45:22.960
we could probably find something to talk about
link |
04:45:24.960
and that's where
link |
04:45:26.960
when did Sam talk to you about open AI
link |
04:45:28.960
around the same time?
link |
04:45:30.960
It was a bit after that so
link |
04:45:32.960
I had done the most basic work
link |
04:45:34.960
I had kind of done the neural
link |
04:45:36.960
networks from scratch where I'd gone
link |
04:45:38.960
and written it all in C just to make sure I
link |
04:45:40.960
understood back propagation at the
link |
04:45:42.960
lowest level and my nuts and bolts
link |
04:45:44.960
approach but after
link |
04:45:46.960
Sam approached me
link |
04:45:48.960
I was flattering to think that
link |
04:45:50.960
he thought that I could be useful at
link |
04:45:52.960
open AI largely for
link |
04:45:54.960
systems optimization
link |
04:45:56.960
sorts of things without
link |
04:45:58.960
being an expert but
link |
04:46:00.960
I asked Ilya Sutskover
link |
04:46:02.960
to give me a reading list and he gave
link |
04:46:04.960
me a
link |
04:46:06.960
binder full of all the papers that
link |
04:46:08.960
okay these are the important things
link |
04:46:10.960
if you really read and understand all of these
link |
04:46:12.960
you'll know like 80% of what most of the
link |
04:46:14.960
machine language researchers
link |
04:46:16.960
work on and I went through and I read
link |
04:46:18.960
all those papers multiple times and highlighted
link |
04:46:20.960
them and went through and kind of
link |
04:46:22.960
figured the things out there and then
link |
04:46:24.960
started branching out into my own
link |
04:46:26.960
sets of research on things and
link |
04:46:28.960
actually started writing my own experiments
link |
04:46:30.960
and doing kind of figuring out
link |
04:46:32.960
finding out what I don't know
link |
04:46:34.960
what the limits of my knowledge are
link |
04:46:36.960
and starting to get some of my angles of attack
link |
04:46:38.960
on things the things that I think are a little
link |
04:46:40.960
bit different from what
link |
04:46:42.960
people are doing and
link |
04:46:44.960
I've had a couple years now
link |
04:46:46.960
like two years since I kind of
link |
04:46:48.960
left the full time position at meta
link |
04:46:50.960
and now I've
link |
04:46:52.960
kind of pulled the trigger and said
link |
04:46:54.960
I'm going to get serious about it but
link |
04:46:56.960
some of my lessons all the way back to Armadillo
link |
04:46:58.960
space about how I know I need
link |
04:47:00.960
to be more committed to this where
link |
04:47:02.960
there is that
link |
04:47:04.960
it's both a freedom and a cost in some ways
link |
04:47:06.960
when you know that you're wealthy enough to say
link |
04:47:08.960
it's like this doesn't really mean anything
link |
04:47:10.960
I can spend
link |
04:47:12.960
a million dollars a year for the rest
link |
04:47:14.960
of my life and it doesn't
link |
04:47:16.960
mean anything it's fine
link |
04:47:18.960
but that is an opportunity
link |
04:47:20.960
to just kind of meander
link |
04:47:22.960
and I could see that in myself when
link |
04:47:24.960
I'm doing some things it's like oh this is a kind of
link |
04:47:26.960
interesting curious thing
link |
04:47:28.960
let's look at this for a little while let's look at that
link |
04:47:30.960
it's not really bearing down on the
link |
04:47:32.960
problem so
link |
04:47:34.960
there's a few things that
link |
04:47:36.960
that I've done that are kind of tactics
link |
04:47:38.960
for myself to make me more effective like
link |
04:47:40.960
one thing I noticed I was not
link |
04:47:42.960
doing well is I had
link |
04:47:44.960
a Google cloud account with to get
link |
04:47:46.960
GPUs there and I was finding I was very
link |
04:47:48.960
rarely doing that for no good
link |
04:47:50.960
psychological reasons where I'm like oh
link |
04:47:52.960
I can always think of something to do other than to
link |
04:47:54.960
set up instances and run an experiment
link |
04:47:56.960
I can you know keep working on my local
link |
04:47:58.960
Titans or something
link |
04:48:00.960
but it was really stupid I mean it was not
link |
04:48:02.960
a lot of money I should have been running more
link |
04:48:04.960
experiments there so I thought to myself
link |
04:48:06.960
well I'm gonna go buy
link |
04:48:08.960
a quarter million dollar DGX station
link |
04:48:10.960
I'm gonna just like sit it right there and it's gonna
link |
04:48:12.960
mock me if I'm not using it if the fans
link |
04:48:14.960
aren't running on that thing I'm not
link |
04:48:16.960
properly utilizing it
link |
04:48:18.960
and that's been helpful you know I've done a lot
link |
04:48:20.960
more experiments since then it's been
link |
04:48:22.960
interesting where I thought I'd be doing all
link |
04:48:24.960
this low level in the link optimize
link |
04:48:26.960
stuff but 90% of what I do is just spin up
link |
04:48:28.960
four instances of an experiment with different
link |
04:48:30.960
hyper parameters on it
link |
04:48:32.960
you're doing
link |
04:48:34.960
like really sort of building up intuition
link |
04:48:36.960
by doing ML experiments of different kinds
link |
04:48:38.960
but so
link |
04:48:40.960
the next big thing though is
link |
04:48:42.960
I am you know I decided
link |
04:48:44.960
that I was gonna take some take some investor
link |
04:48:46.960
money because I
link |
04:48:48.960
have an overactive sense of responsibility
link |
04:48:50.960
about other people's money
link |
04:48:52.960
I am and it's like
link |
04:48:54.960
I don't want
link |
04:48:56.960
a lot of my push and my
link |
04:48:58.960
passionate in treaties for things that
link |
04:49:00.960
met are it's like I don't want suck to have wasted
link |
04:49:02.960
his money investing in Oculus
link |
04:49:04.960
I want it to work out I want it to change
link |
04:49:06.960
the world I want it to be worth
link |
04:49:08.960
all of this time money and effort
link |
04:49:10.960
going into it and I
link |
04:49:12.960
expect that it's going to be that like
link |
04:49:14.960
that with my company
link |
04:49:16.960
where it's a huge forcing function
link |
04:49:18.960
this investment investors
link |
04:49:20.960
that are going to expect something
link |
04:49:22.960
of me now we've all had the conversation
link |
04:49:24.960
that this is a low probability
link |
04:49:26.960
long term bet it's not something
link |
04:49:28.960
that there's a million things I could do
link |
04:49:30.960
that I would have line of sight on the value
link |
04:49:32.960
proposition for this isn't that I think
link |
04:49:34.960
there are there are unknown unknowns
link |
04:49:36.960
in the way but
link |
04:49:38.960
it's one of these things that it's
link |
04:49:40.960
it's hyper ball but it's potentially
link |
04:49:42.960
one of the most important things humans ever
link |
04:49:44.960
do and it's something that I think is
link |
04:49:46.960
within our lifetimes if not within
link |
04:49:48.960
a decade
link |
04:49:50.960
to happen so
link |
04:49:52.960
yeah this is just now happening
link |
04:49:54.960
like term sheet like the ink is barely
link |
04:49:56.960
virtually barely dry on drying
link |
04:49:58.960
I mean as I mentioned you're all flying
link |
04:50:00.960
like somebody I admire and
link |
04:50:02.960
some of you know Andre Carpathia I think
link |
04:50:04.960
the two of you different trajectories
link |
04:50:06.960
in life but approach problems
link |
04:50:08.960
similarly in that he codes
link |
04:50:10.960
stuff from scratch up all the time
link |
04:50:12.960
and
link |
04:50:14.960
he's created a bunch of little things
link |
04:50:16.960
outside of
link |
04:50:18.960
even outside the course at Stanford
link |
04:50:20.960
that have been tremendously
link |
04:50:22.960
useful to build up intuition
link |
04:50:24.960
about stuff but also to
link |
04:50:26.960
help people and they're all
link |
04:50:28.960
in the realm of AI
link |
04:50:30.960
do you see yourself
link |
04:50:32.960
potentially doing things like this or
link |
04:50:34.960
not necessarily solving a gigantic
link |
04:50:36.960
problem but on the journey on the
link |
04:50:38.960
path to that
link |
04:50:40.960
building up intuitions
link |
04:50:42.960
and
link |
04:50:44.960
sharing code
link |
04:50:46.960
or ideas or systems
link |
04:50:48.960
that
link |
04:50:50.960
give inklings of AGI
link |
04:50:52.960
but also kind of are useful to
link |
04:50:54.960
people in some way so yeah first of all Andre
link |
04:50:56.960
is awesome I learned a lot when I was going
link |
04:50:58.960
through my larval phase from his blog posts
link |
04:51:00.960
and his Stanford course and
link |
04:51:02.960
you know super valuable I got to meet him
link |
04:51:04.960
first a couple years ago when I was
link |
04:51:06.960
first kind of starting off on
link |
04:51:08.960
my gentleman scientist bit
link |
04:51:10.960
and just
link |
04:51:12.960
a couple months ago when he went out on his sabbatical
link |
04:51:14.960
he stopped by in Dallas and we talked
link |
04:51:16.960
for a while and I had
link |
04:51:18.960
a great time with him and then when I heard he actually left
link |
04:51:20.960
Tesla I did of course along with a hundred
link |
04:51:22.960
other people say hey if you
link |
04:51:24.960
ever want to work with me it would
link |
04:51:26.960
be an honor so
link |
04:51:28.960
he thinks that he's going to be doing this educational
link |
04:51:30.960
work but I think someone's going to make him an offer
link |
04:51:32.960
he can't refuse before
link |
04:51:34.960
he gets too far along on it.
link |
04:51:36.960
His current interest is educational
link |
04:51:38.960
so yeah
link |
04:51:40.960
he's a special mind.
link |
04:51:42.960
Is there something you could speak to what makes
link |
04:51:44.960
him so special?
link |
04:51:46.960
He was
link |
04:51:48.960
very much a programmers programmer that was
link |
04:51:50.960
doing machine learning work rather than
link |
04:51:52.960
it's a different feel than
link |
04:51:54.960
an academic where you can see it in
link |
04:51:56.960
paper sometimes where somebody that's
link |
04:51:58.960
really a mathematician or a statistician
link |
04:52:00.960
at heart and they're doing something
link |
04:52:02.960
with machine learning but
link |
04:52:04.960
Andre is about getting something done
link |
04:52:06.960
and you could see it in
link |
04:52:08.960
all of his earliest approaches to
link |
04:52:10.960
here's how reinforcement learning works
link |
04:52:12.960
here's how recurrent neural networks work
link |
04:52:14.960
here's how transformers work
link |
04:52:16.960
here's how crypto works
link |
04:52:18.960
and
link |
04:52:20.960
yeah it's just
link |
04:52:22.960
one of his old posts was like a
link |
04:52:24.960
hacker's guide to machine learning
link |
04:52:26.960
he deprecated that and said don't really pay
link |
04:52:28.960
attention to what's in here but
link |
04:52:30.960
it's that thought that carries through
link |
04:52:32.960
in a lot of it where
link |
04:52:34.960
back again to that hacker mentality
link |
04:52:36.960
and the hacker ethic with what he's doing
link |
04:52:38.960
and sharing all of it.
link |
04:52:40.960
Yeah and a lot of his approach to a new thing
link |
04:52:42.960
like you said larva stage
link |
04:52:44.960
is let me code up
link |
04:52:46.960
the simplest possible thing
link |
04:52:48.960
to build up intuition about it.
link |
04:52:50.960
Yeah like I say I sketch with structs and things
link |
04:52:52.960
when I'm just thinking about a problem
link |
04:52:54.960
I'm thinking in some degree of code.
link |
04:52:56.960
You are
link |
04:52:58.960
also among many things a martial
link |
04:53:00.960
artist both Judo and Jiu Jitsu
link |
04:53:02.960
how has this helped
link |
04:53:04.960
make you the person you are?
link |
04:53:06.960
So I mean I was a competent club player
link |
04:53:08.960
in Judo and grappling
link |
04:53:10.960
I mean I was by no means any kind
link |
04:53:12.960
of a superstar but
link |
04:53:14.960
I went through a few phases with it
link |
04:53:16.960
where I did some
link |
04:53:18.960
when I was quite young a little bit
link |
04:53:20.960
more when I was 17
link |
04:53:22.960
and then I got into it
link |
04:53:24.960
kind of seriously in my mid 30s
link |
04:53:26.960
and I went pretty far with it
link |
04:53:28.960
and I was pretty good
link |
04:53:30.960
at some of the things that I was doing
link |
04:53:32.960
and I did appreciate it quite a bit
link |
04:53:34.960
where
link |
04:53:36.960
on the one hand it's always
link |
04:53:38.960
if you're going to do exercise or something
link |
04:53:40.960
it's a more motivating form of exercise
link |
04:53:42.960
and if someone is crushing you
link |
04:53:44.960
you are motivated
link |
04:53:46.960
to do something about that
link |
04:53:48.960
to up your attributes and be better about
link |
04:53:50.960
getting out of that.
link |
04:53:52.960
But there's also that sense that
link |
04:53:54.960
I was not
link |
04:53:56.960
a sports guy I did do wrestling
link |
04:53:58.960
junior high and I often wish
link |
04:54:00.960
that I think I would have
link |
04:54:02.960
been good for me if I'd carried that on
link |
04:54:04.960
into high school and had a little bit more
link |
04:54:06.960
of that I mean it's like I
link |
04:54:08.960
you know felt a little bit of wrestling
link |
04:54:10.960
vibe with always going on about embracing
link |
04:54:12.960
the grind and like that push that I
link |
04:54:14.960
associate with the wrestling team
link |
04:54:16.960
that I in hindsight
link |
04:54:18.960
I wish I had gone through that and pushed myself
link |
04:54:20.960
that way.
link |
04:54:22.960
But even getting back into Judo and Jiu Jitsu
link |
04:54:24.960
in my mid 30s as usually
link |
04:54:26.960
man on the mat with that
link |
04:54:28.960
there was still the
link |
04:54:30.960
sense that
link |
04:54:32.960
working out with the group
link |
04:54:34.960
and having the guys that
link |
04:54:36.960
you're beating each other up with it
link |
04:54:38.960
but you just feel good
link |
04:54:40.960
coming out of it and I can remember those
link |
04:54:42.960
driving home
link |
04:54:44.960
aching in various ways and just thinking
link |
04:54:46.960
it's like that was really great
link |
04:54:48.960
and
link |
04:54:50.960
it's mixing with a bunch of people that had
link |
04:54:52.960
nothing to do with any of the things that
link |
04:54:54.960
I worked with you know every once in a while
link |
04:54:56.960
someone would be like oh you're the doom guy
link |
04:54:58.960
and I but for the most part
link |
04:55:00.960
it was just different slice of life
link |
04:55:02.960
you know a good thing
link |
04:55:04.960
and I made the call when I was
link |
04:55:06.960
40 that's like maybe I'm getting a little old
link |
04:55:08.960
for this I had separated a rib
link |
04:55:10.960
and tweaked a few things and I got out
link |
04:55:12.960
without any really bad injuries
link |
04:55:14.960
and I was like
link |
04:55:16.960
have I dodged enough bullets should I
link |
04:55:18.960
hang it up I went back
link |
04:55:20.960
I've gone a couple times
link |
04:55:22.960
in the last decade trying to get my kids
link |
04:55:24.960
into it a little bit I didn't really stick
link |
04:55:26.960
with any of them but it was fun to get
link |
04:55:28.960
back on the mats I really
link |
04:55:30.960
hurts for a while when you haven't gone
link |
04:55:32.960
I gone for a while but
link |
04:55:34.960
I still debate this
link |
04:55:36.960
pretty constantly my brother's only a year younger
link |
04:55:38.960
than me and he's going kind of hard in jujitsu
link |
04:55:40.960
right now and I you know he was
link |
04:55:42.960
just he won a few medals at the last
link |
04:55:44.960
tournament he was at competing
link |
04:55:46.960
and I was thinking yeah I guess we're
link |
04:55:48.960
in the executive division if you're over 50
link |
04:55:50.960
or over 45 or something
link |
04:55:52.960
and it's
link |
04:55:54.960
not out of the question that I
link |
04:55:56.960
go back at some point and do some of this
link |
04:55:58.960
but again I'm just reorganizing my life
link |
04:56:00.960
around more focus
link |
04:56:02.960
probably not going to happen I'm pushing
link |
04:56:04.960
my exercise around
link |
04:56:06.960
to give me longer uninterrupted intellectual
link |
04:56:08.960
focus time pushing it to the beginning
link |
04:56:10.960
or the end of the game running and stuff like that
link |
04:56:12.960
walking yeah running
link |
04:56:14.960
and calisthenics and some things like
link |
04:56:16.960
that but it allows you to still think about
link |
04:56:18.960
a problem and but if you're going to a
link |
04:56:20.960
judo club or something you're you've got to
link |
04:56:22.960
fix it's going to be seven o clock or whatever
link |
04:56:24.960
10 o clock on Saturday
link |
04:56:26.960
although I talked about this a little bit
link |
04:56:28.960
when I was on Rogan and shortly after
link |
04:56:30.960
that Carlos Machado did reach out and
link |
04:56:32.960
I had trained with him for years
link |
04:56:34.960
back in the day and he was like hey
link |
04:56:36.960
we've got kind of a small private club
link |
04:56:38.960
with a bunch of executive type
link |
04:56:40.960
people and
link |
04:56:42.960
it gets it does tempt me
link |
04:56:44.960
yeah I don't know if you know him but
link |
04:56:46.960
John Donahar
link |
04:56:48.960
here at Austin
link |
04:56:50.960
with Gordon Ryan and a few other folks and
link |
04:56:52.960
he has a very interesting way
link |
04:56:54.960
very deep systematic way of thinking
link |
04:56:56.960
about jiu jitsu that
link |
04:56:58.960
reveals the
link |
04:57:00.960
chest of it the
link |
04:57:02.960
the like the
link |
04:57:04.960
the science of it and I do
link |
04:57:06.960
think about that more as kind of an older
link |
04:57:08.960
person considering the martial arts where
link |
04:57:10.960
I can remember the very earliest
link |
04:57:12.960
days getting back into judo and I'm like
link |
04:57:14.960
teach me submissions right now
link |
04:57:16.960
you know it's like learn the arm bar learn the choke
link |
04:57:18.960
I but as you get older
link |
04:57:20.960
you start thinking more about it's like okay
link |
04:57:22.960
I really do want to like learn the entire
link |
04:57:24.960
canon of judo it's like aren't all the
link |
04:57:26.960
different things there and like all the
link |
04:57:28.960
different approaches for it not just the
link |
04:57:30.960
you know if you want to compete there's just a
link |
04:57:32.960
handful of things you learn really really well
link |
04:57:34.960
but sometimes there's interest in learning a
link |
04:57:36.960
little bit more of the scope there and
link |
04:57:38.960
figuring some things out from
link |
04:57:40.960
you know at one point I had wasn't exactly
link |
04:57:42.960
a spreadsheet but I did have a
link |
04:57:44.960
you know a big long text file with like here's
link |
04:57:46.960
the things that I learned in here like ways
link |
04:57:48.960
you chain this together and while
link |
04:57:50.960
when I went back a few years
link |
04:57:52.960
ago it was good to see that I
link |
04:57:54.960
I whipped myself back into reasonable shape
link |
04:57:56.960
about doing the basic grappling but I know
link |
04:57:58.960
there was a ton of the subtleties that were
link |
04:58:00.960
just that were gone but could probably be
link |
04:58:02.960
brought back reasonably quickly
link |
04:58:04.960
and there's also the benefit I mean
link |
04:58:06.960
you're exceptionally successful now
link |
04:58:08.960
um
link |
04:58:10.960
you're brilliant
link |
04:58:12.960
and the problem the old problem
link |
04:58:14.960
of the ego
link |
04:58:16.960
I still pushed kind of
link |
04:58:18.960
harder than I should I mean that was
link |
04:58:20.960
I was one of those people that I
link |
04:58:22.960
I'm on the smaller side
link |
04:58:24.960
for a lot of the people competing
link |
04:58:26.960
and I would you know I'd go with all the
link |
04:58:28.960
big guys and I'd go hard and I'd push
link |
04:58:30.960
myself a lot and that would be
link |
04:58:32.960
one of those where I would
link |
04:58:34.960
I you know I'd be dangerous
link |
04:58:36.960
to anyone for first five minutes but then
link |
04:58:38.960
sometimes after that I'm already dead
link |
04:58:40.960
and I knew it was terrible for me because
link |
04:58:42.960
it made the you know it meant
link |
04:58:44.960
I got less training time with all of that
link |
04:58:46.960
when you go and you just gas out
link |
04:58:48.960
you know relatively quickly there and I
link |
04:58:50.960
like to think that I would be better
link |
04:58:52.960
about that where after I gave up
link |
04:58:54.960
judo I started doing the half marathons
link |
04:58:56.960
and tough butters and things like that
link |
04:58:58.960
and so when I did go back to the
link |
04:59:00.960
local judo kai club I thought
link |
04:59:02.960
it's like oh I should have better cardio for this
link |
04:59:04.960
I'm a runner now and I do all of this
link |
04:59:06.960
and didn't work out that way it was the same
link |
04:59:08.960
old thing where just push
link |
04:59:10.960
really hard strain really hard and
link |
04:59:12.960
and of course when I worked with good guys
link |
04:59:14.960
like Carlos it's like
link |
04:59:16.960
just the whole flow like water thing is
link |
04:59:18.960
real and he's just like that's true with
link |
04:59:20.960
judo to some of the best people like
link |
04:59:22.960
I've trained with Olympic gold medalists
link |
04:59:24.960
and for some reason
link |
04:59:26.960
with them everything's easier
link |
04:59:28.960
everything it's you
link |
04:59:30.960
actually start to feel
link |
04:59:32.960
the science of it the music
link |
04:59:34.960
of it the dance of it everything
link |
04:59:36.960
is effortless
link |
04:59:38.960
you understand that there's an art
link |
04:59:40.960
to it it's not just an exercise
link |
04:59:42.960
it was interesting where I did
link |
04:59:44.960
go to the Kodokan in Japan
link |
04:59:46.960
the birthplace of judo and everything
link |
04:59:48.960
and I remember I rolled with one old guy
link |
04:59:50.960
I didn't
link |
04:59:52.960
start standing just started on groundwork
link |
04:59:54.960
and it was striking how
link |
04:59:56.960
different it was from Carlos he was still
link |
04:59:58.960
he was better than me and he got my arm
link |
05:00:00.960
you know I had to tap there but
link |
05:00:02.960
it was a completely different style
link |
05:00:04.960
where I just felt like I could do nothing
link |
05:00:06.960
he was just enveloping me and just like slowly
link |
05:00:08.960
ground it down put my arm and bent it
link |
05:00:10.960
while with Carlos
link |
05:00:12.960
you know he's just loose and free and you always
link |
05:00:14.960
thought like oh you're just gonna go grab something
link |
05:00:16.960
but never had any chance to do it but it was
link |
05:00:18.960
very different feeling that's a good summary
link |
05:00:20.960
of the difference between Jiu Jitsu and judo
link |
05:00:22.960
and Jiu Jitsu there's it is a dance
link |
05:00:24.960
and you feel like there's a freedom
link |
05:00:26.960
and actually
link |
05:00:28.960
anybody I tried like Gordon
link |
05:00:30.960
Ryan one of the best
link |
05:00:32.960
grappler in the world
link |
05:00:34.960
there's a feeling like you can do anything
link |
05:00:36.960
but
link |
05:00:38.960
when you actually try to do something
link |
05:00:40.960
you can't just magically doesn't work
link |
05:00:42.960
but with the best judo players in the world
link |
05:00:44.960
it does feel like there's
link |
05:00:46.960
a blanket that weighs a thousand
link |
05:00:48.960
pounds on top of you and
link |
05:00:50.960
there's not a feeling like you can do anything
link |
05:00:52.960
you just you're trapped
link |
05:00:54.960
and that's a style that's a difference
link |
05:00:56.960
in the style of martial arts
link |
05:00:58.960
but it's also
link |
05:01:00.960
once you start to study you understand it
link |
05:01:02.960
all has to do with human movement and the
link |
05:01:04.960
physics of it and the leverage and all that kind of stuff
link |
05:01:06.960
and that's like that's super fascinating
link |
05:01:08.960
at the end of the day for me
link |
05:01:10.960
the biggest benefit is in the humbling
link |
05:01:12.960
aspect when another human being
link |
05:01:16.960
kind of tells you that
link |
05:01:18.960
you know there's a hierarchy
link |
05:01:20.960
or there's a
link |
05:01:22.960
you're not that special
link |
05:01:24.960
and in the most extreme case when you
link |
05:01:26.960
tap to a choke you are basically
link |
05:01:28.960
living because somebody
link |
05:01:30.960
lets you live and that is
link |
05:01:32.960
one of those if you think about it that is a
link |
05:01:34.960
closer brush with mortality than
link |
05:01:36.960
than most people consider
link |
05:01:38.960
and that
link |
05:01:40.960
kind of humbling
link |
05:01:42.960
act is good to take to your
link |
05:01:44.960
work then where it's harder to get
link |
05:01:46.960
humbled you know
link |
05:01:48.960
yeah because nobody's nobody that does any
link |
05:01:50.960
martial art is coming out thinking I'm the best in the
link |
05:01:52.960
world at anything because
link |
05:01:54.960
everybody loses
link |
05:01:56.960
let me ask you for advice
link |
05:01:58.960
what advice would you give to young
link |
05:02:00.960
people today
link |
05:02:02.960
about life about career
link |
05:02:04.960
how they can have a job
link |
05:02:06.960
how they can have an impact
link |
05:02:08.960
how they can have a life that
link |
05:02:10.960
can be proud of
link |
05:02:12.960
so it was kind of fun I got
link |
05:02:14.960
invited to give the commencement speech back
link |
05:02:16.960
at the I went to a college
link |
05:02:18.960
for two semesters and
link |
05:02:20.960
stopped out and went on to do my tech
link |
05:02:22.960
stuff but they still wanted me to
link |
05:02:24.960
come back and give a commencement speech
link |
05:02:26.960
and I've got that pinned on my
link |
05:02:28.960
twitter account I still feel good about
link |
05:02:30.960
everything that I said there
link |
05:02:32.960
and my biggest point
link |
05:02:34.960
was that the path
link |
05:02:36.960
for me might not be the path for everyone
link |
05:02:38.960
and in fact the advice
link |
05:02:40.960
the path that I took and even the advice
link |
05:02:42.960
that I would give based on my
link |
05:02:44.960
experience and learnings probably
link |
05:02:46.960
isn't the best advice for everyone
link |
05:02:48.960
because what I did was all about
link |
05:02:50.960
this knowledge in depth it was
link |
05:02:52.960
about not just having this
link |
05:02:54.960
surface level ability to make things
link |
05:02:56.960
do what I want but to really understand
link |
05:02:58.960
them through and through to let me do
link |
05:03:00.960
the systems engineering work and sometimes
link |
05:03:02.960
find these inefficiencies
link |
05:03:04.960
that can be bypassed
link |
05:03:06.960
and that the whole
link |
05:03:08.960
world doesn't need that you know most programmers
link |
05:03:10.960
don't or engineers of any kind don't
link |
05:03:12.960
necessarily need to do that they need to do
link |
05:03:14.960
a little job that's been parceled out
link |
05:03:16.960
to them be reliable
link |
05:03:18.960
let people depend on you do quality
link |
05:03:20.960
work with all of that
link |
05:03:22.960
but people that do have
link |
05:03:24.960
an inclination for wanting
link |
05:03:26.960
to know things deeper
link |
05:03:28.960
and learn things deeper
link |
05:03:30.960
you know there are just layers
link |
05:03:32.960
and layers of things out there
link |
05:03:34.960
and it's amazing it's if you're
link |
05:03:36.960
the right person that is excited
link |
05:03:38.960
about that
link |
05:03:40.960
the world's never been like this before
link |
05:03:42.960
it's better than ever I mean everything that was
link |
05:03:44.960
wonderful for me is still there
link |
05:03:46.960
and there's whole new worlds to explore
link |
05:03:48.960
on the different things that you can
link |
05:03:50.960
do and that
link |
05:03:52.960
you know it's hard work
link |
05:03:54.960
embrace the grind with it
link |
05:03:56.960
and understand as much as you can
link |
05:03:58.960
and then be
link |
05:04:00.960
prepared for opportunities to present themselves
link |
05:04:02.960
where you can't just
link |
05:04:04.960
say this is my golden life and just push
link |
05:04:06.960
at that I mean you might be able to do
link |
05:04:08.960
that but you're going to make more total progress
link |
05:04:10.960
if you say I am preparing
link |
05:04:12.960
myself with this broad set of tools
link |
05:04:14.960
and then I'm being aware
link |
05:04:16.960
of all the way things are changing
link |
05:04:18.960
as I move through the world and as the whole
link |
05:04:20.960
world changes around me and then looking
link |
05:04:22.960
for opportunities to deploy the tools
link |
05:04:24.960
that you've built and
link |
05:04:26.960
there's going to be more and more of those
link |
05:04:28.960
types of things there where
link |
05:04:30.960
an awareness of what's happening
link |
05:04:32.960
where the inefficiencies are
link |
05:04:34.960
what things can be done
link |
05:04:36.960
what's possible versus what's current practice
link |
05:04:38.960
and then finding those areas where
link |
05:04:40.960
you can go and make an adjustment
link |
05:04:42.960
and make something that may
link |
05:04:44.960
affect millions or billions of people
link |
05:04:46.960
in the world make it better
link |
05:04:48.960
when maybe from your own example
link |
05:04:50.960
how are you able to recognize
link |
05:04:52.960
this about yourself that you saw
link |
05:04:54.960
the layers in a particular thing
link |
05:04:56.960
and you were drawn to
link |
05:04:58.960
discovering deeper and deeper truths about it
link |
05:05:00.960
is that something that was obvious
link |
05:05:02.960
to you that you couldn't help or is there
link |
05:05:04.960
some actions you had to take to actually
link |
05:05:06.960
allow yourself to dig deep
link |
05:05:08.960
so in the earliest days of personal computers
link |
05:05:10.960
I remember the reference manuals
link |
05:05:12.960
and the very early ones even had
link |
05:05:14.960
schematics of computers
link |
05:05:16.960
in the background in the back
link |
05:05:18.960
of the books as well as
link |
05:05:20.960
firmware listings and things and I could look
link |
05:05:22.960
at that and at that time when I was a
link |
05:05:24.960
younger teenager I didn't understand
link |
05:05:26.960
a lot of that stuff how the
link |
05:05:28.960
different things worked I was
link |
05:05:30.960
pulling out the information that I could get
link |
05:05:32.960
but I always wanted to know all of that
link |
05:05:34.960
there was like kind of
link |
05:05:36.960
information sitting down there it's like
link |
05:05:38.960
the elder lore that some gray beard wizard
link |
05:05:40.960
I'm you know is the keeper of
link |
05:05:42.960
and so I always felt that pull
link |
05:05:44.960
for wanting to know more
link |
05:05:46.960
wanting to explore the
link |
05:05:48.960
the mysterious areas there
link |
05:05:50.960
and you know and that followed
link |
05:05:52.960
right in through all the things that
link |
05:05:54.960
got the value exploring the video cards
link |
05:05:56.960
leading to the I'm you know the
link |
05:05:58.960
scrolling advantages you know exploring
link |
05:06:00.960
some of the academic papers and things
link |
05:06:02.960
learning about BSP trees and the different
link |
05:06:04.960
things that that I could do
link |
05:06:06.960
I'm you know with those systems and
link |
05:06:08.960
just that the huge larval
link |
05:06:10.960
phases going through aerospace just
link |
05:06:12.960
reading bookshelves full of books
link |
05:06:14.960
I mean again that point where I have enough money
link |
05:06:16.960
I can buy all the books I want it was
link |
05:06:18.960
it was so valuable
link |
05:06:20.960
where I was terrible with my money
link |
05:06:22.960
when I was a kid my mom thought I would always be
link |
05:06:24.960
broke because you know I'd buy my
link |
05:06:26.960
comic books and just be out of money but
link |
05:06:28.960
it was like all the pizza I want
link |
05:06:30.960
all the Diet Coke I want video games
link |
05:06:32.960
and then books books and it
link |
05:06:34.960
didn't take that much as I was making
link |
05:06:36.960
twenty seven K a year I
link |
05:06:38.960
felt rich and I was just getting all the things
link |
05:06:40.960
that that I wanted but
link |
05:06:42.960
that sense of you know that books
link |
05:06:44.960
have always been magical to me and that was one of the things
link |
05:06:46.960
that really made me smile is I
link |
05:06:48.960
Andre had said he found you know when he came
link |
05:06:50.960
over to my house he said he found my library inspiring
link |
05:06:52.960
and just it was
link |
05:06:54.960
great to see you know I still look at him he's kind of a younger
link |
05:06:56.960
guy I sometimes wonder if younger
link |
05:06:58.960
people these days have the same relationship
link |
05:07:00.960
with books that I do where they were
link |
05:07:02.960
such a cornerstone for me in so many
link |
05:07:04.960
ways but that sense that yeah I
link |
05:07:06.960
always wanted to know it all I know I can't
link |
05:07:08.960
and that was like one of the last things I said
link |
05:07:10.960
you know you can't know everything but you
link |
05:07:12.960
should convince yourself that you can know anything
link |
05:07:14.960
you know any one particular
link |
05:07:16.960
thing it was created and discovered
link |
05:07:18.960
by humans you can learn it you can
link |
05:07:20.960
find out what you need on there and you
link |
05:07:22.960
can learn it deeply yeah you
link |
05:07:24.960
can drive a nail down through whatever
link |
05:07:26.960
layer cake problem space you've got
link |
05:07:28.960
and learn a cross section
link |
05:07:30.960
there and not only can you have an impact
link |
05:07:32.960
doing that you can just
link |
05:07:34.960
you can attain happiness doing that
link |
05:07:36.960
there's something so fulfilling about
link |
05:07:38.960
becoming a craftsman of a thing
link |
05:07:40.960
yeah and I don't want to tell people that look
link |
05:07:42.960
this is a good career move just
link |
05:07:44.960
you know grit your teeth and you know and bear it
link |
05:07:46.960
I you know you want people
link |
05:07:48.960
you wanted and I do think
link |
05:07:50.960
it is possible sometimes to find the joy
link |
05:07:52.960
in something like it might not immediately
link |
05:07:54.960
appeal to you but I had told
link |
05:07:56.960
people early on like in
link |
05:07:58.960
software times that I
link |
05:08:00.960
you know it a lot of game developers
link |
05:08:02.960
are in it just because they are so passionate
link |
05:08:04.960
about games but I was always
link |
05:08:06.960
really more flexible in
link |
05:08:08.960
what appealed to me where I said
link |
05:08:10.960
I think I could be quite
link |
05:08:12.960
engaged doing operating system
link |
05:08:14.960
work even database work I
link |
05:08:16.960
would find the interest in that
link |
05:08:18.960
because I think most things that are
link |
05:08:20.960
significant in the world have a lot
link |
05:08:22.960
of layers and complexity to them
link |
05:08:24.960
and a lot of opportunities hidden within
link |
05:08:26.960
them so
link |
05:08:28.960
that would probably be the most important thing to encourage
link |
05:08:30.960
to people is that
link |
05:08:32.960
you can it's like weaponized curiosity
link |
05:08:34.960
you can deploy your curiosity
link |
05:08:36.960
to find I to kind of like make
link |
05:08:38.960
things useful and valuable
link |
05:08:40.960
to you even if they don't immediately appear
link |
05:08:42.960
that way deploy your curiosity
link |
05:08:44.960
yeah that's very true
link |
05:08:46.960
we've mentioned this debate point
link |
05:08:48.960
whether mortality or fear
link |
05:08:50.960
of mortality is fundamental
link |
05:08:52.960
to creating an AGI
link |
05:08:54.960
but let's talk about whether it's
link |
05:08:56.960
fundamental to human beings do you
link |
05:08:58.960
think about your own mortality
link |
05:09:00.960
I really don't
link |
05:09:02.960
and you probably always
link |
05:09:04.960
have to like take with a grain of salt
link |
05:09:06.960
anything somebody says about fundamental things
link |
05:09:08.960
like that I am
link |
05:09:10.960
but I don't think about
link |
05:09:12.960
really aging
link |
05:09:14.960
impending death legacy with
link |
05:09:16.960
I with my children things like
link |
05:09:18.960
that and clearly it seems
link |
05:09:20.960
most of the world does a lot
link |
05:09:22.960
a lot more than I do
link |
05:09:24.960
so I mean I think I'm an outlier
link |
05:09:26.960
in that where
link |
05:09:28.960
it's
link |
05:09:30.960
it doesn't wind up being a real part of
link |
05:09:32.960
my thinking and motivation
link |
05:09:34.960
about things so daily existence
link |
05:09:36.960
is about
link |
05:09:38.960
sort of the people you love
link |
05:09:40.960
and the problems
link |
05:09:42.960
before you I'm very much focused on
link |
05:09:44.960
what I'm working on right now
link |
05:09:46.960
I do take that back
link |
05:09:48.960
there's one aspect where the
link |
05:09:50.960
kind of finiteness of the life does impact
link |
05:09:52.960
me and that is about
link |
05:09:54.960
thinking about the scope of the problems
link |
05:09:56.960
that I'm working on when I
link |
05:09:58.960
decided to work on when I was like
link |
05:10:00.960
nuclear fission or AGI these are
link |
05:10:02.960
big ticket things that
link |
05:10:04.960
that are impact
link |
05:10:06.960
large fractions of the world
link |
05:10:08.960
and I was thinking to myself at some level
link |
05:10:10.960
that okay I mean I may
link |
05:10:12.960
have a couple more swings
link |
05:10:14.960
at bat with me at full
link |
05:10:16.960
capability but yes my
link |
05:10:18.960
my mental abilities will decay
link |
05:10:20.960
with age you know mostly inevitably
link |
05:10:22.960
I don't think it's a 0%
link |
05:10:24.960
chance that we will address some of that
link |
05:10:26.960
before it becomes a problem for me I think
link |
05:10:28.960
exciting medical stuff in the next couple decades
link |
05:10:30.960
but I do have this
link |
05:10:32.960
kind of vague plan that when
link |
05:10:34.960
I'm not at the top of my game and I don't feel that
link |
05:10:36.960
I'm you know in a position to put a
link |
05:10:38.960
dent in the world some way that
link |
05:10:40.960
I'll probably wind up doing some kind of
link |
05:10:42.960
recreational retro programming or
link |
05:10:44.960
you know I'll work on some
link |
05:10:46.960
you know something that I would not
link |
05:10:48.960
devote my life to now but I can
link |
05:10:50.960
while away my time as the old man
link |
05:10:52.960
gardening in the code worlds
link |
05:10:54.960
and then
link |
05:10:56.960
to step back even bigger
link |
05:10:58.960
let me ask you about why we're here
link |
05:11:00.960
we human beings
link |
05:11:02.960
what's the meaning of it all
link |
05:11:04.960
what's the meaning of life John Carmich
link |
05:11:06.960
so very similar with that last question
link |
05:11:08.960
I know a lot of people fret
link |
05:11:10.960
about this question a lot and I just
link |
05:11:12.960
really don't
link |
05:11:14.960
you know we are
link |
05:11:16.960
biological creatures that
link |
05:11:18.960
happenstance of evolution
link |
05:11:20.960
you know we have innate drives
link |
05:11:22.960
that evolution crafted for
link |
05:11:24.960
survival and passing on of genetic
link |
05:11:26.960
codes
link |
05:11:28.960
I don't
link |
05:11:30.960
find a lot of value in trying to go
link |
05:11:32.960
much deeper than that I have my motivation
link |
05:11:34.960
some of which are
link |
05:11:36.960
you know some of which are probably genetically coded
link |
05:11:38.960
many of which are contingent on my
link |
05:11:40.960
upbringing and the path that I've had through my life
link |
05:11:42.960
I don't
link |
05:11:44.960
run into like spades of
link |
05:11:46.960
depression or envy or anything
link |
05:11:48.960
that winds up being
link |
05:11:50.960
a challenge and forcing a
link |
05:11:52.960
degree of soul searching with things like that
link |
05:11:54.960
I seem to be okay
link |
05:11:56.960
you know kind of without that
link |
05:12:00.960
as a brilliant ant in the ant colony
link |
05:12:02.960
without looking up to the sky wondering
link |
05:12:04.960
why the hell am I here again
link |
05:12:06.960
so the
link |
05:12:08.960
sky of it the incredible
link |
05:12:10.960
mystery
link |
05:12:12.960
of the fact that we started
link |
05:12:14.960
first of all the origin of life on earth
link |
05:12:16.960
and from that
link |
05:12:18.960
from single cell organisms
link |
05:12:20.960
the entirety of the evolutionary process
link |
05:12:22.960
took us somehow to this incredibly intelligent
link |
05:12:24.960
thing that is able to
link |
05:12:26.960
build Wolfenstein 3D
link |
05:12:28.960
and doom and quake and
link |
05:12:30.960
take a crack at the problem
link |
05:12:32.960
of AGI and create things that
link |
05:12:34.960
eventually supersede human beings
link |
05:12:36.960
that doesn't
link |
05:12:38.960
the why of it
link |
05:12:40.960
is um
link |
05:12:42.960
it's been my experience that people
link |
05:12:44.960
that focus on
link |
05:12:46.960
that don't focus on the here and now right in
link |
05:12:48.960
front of them tend to be less effective
link |
05:12:50.960
I mean it's not 100%
link |
05:12:52.960
you know vision matters to some
link |
05:12:54.960
people but I
link |
05:12:56.960
it doesn't seem to be a necessary motivator
link |
05:12:58.960
for me and I think that
link |
05:13:00.960
the process of getting there is usually
link |
05:13:02.960
done against like the magic of gradient descent
link |
05:13:04.960
people just don't believe
link |
05:13:06.960
that just looking locally gets you
link |
05:13:08.960
to all of these spectacular things
link |
05:13:10.960
that's been you know the decades
link |
05:13:12.960
of looking at I
link |
05:13:14.960
really some of the smartest people
link |
05:13:16.960
in the world that would just push back
link |
05:13:18.960
forever against this idea that
link |
05:13:20.960
it's not this grand sophisticated
link |
05:13:22.960
vision of everything but
link |
05:13:24.960
little tiny steps local information
link |
05:13:26.960
winds up leading to all the best answers
link |
05:13:28.960
so the meaning of life
link |
05:13:30.960
is uh following
link |
05:13:32.960
locally wherever the gradient
link |
05:13:34.960
descent takes you
link |
05:13:36.960
this was an incredible conversation
link |
05:13:38.960
officially the longest conversation
link |
05:13:40.960
I've ever done on the podcast
link |
05:13:42.960
which means a lot to me because
link |
05:13:44.960
I get to do it with one of my heroes
link |
05:13:46.960
John I can't tell you how much it means to me that
link |
05:13:48.960
you would sit down with me you're an incredible
link |
05:13:50.960
human being um
link |
05:13:52.960
I can't wait what you do next but you've already
link |
05:13:54.960
changed the world you're an inspiration to
link |
05:13:56.960
so many people and again
link |
05:13:58.960
we haven't covered like
link |
05:14:00.960
most of what I was playing to talk
link |
05:14:02.960
about so I hope we get a chance to talk
link |
05:14:04.960
some day in the future and I can't wait
link |
05:14:06.960
to see what you do next thank you so
link |
05:14:08.960
much again for talking to me thank you very much
link |
05:14:10.960
thanks for listening to this
link |
05:14:12.960
conversation with John Carmack
link |
05:14:14.960
to support this podcast please check out our
link |
05:14:16.960
sponsors in the description
link |
05:14:18.960
and now let me leave you with some words
link |
05:14:20.960
from John Carmack himself
link |
05:14:22.960
focused hard work
link |
05:14:24.960
is the real key to success
link |
05:14:26.960
keep your eyes on the goal
link |
05:14:28.960
and just keep taking the next step towards
link |
05:14:30.960
completing it if you aren't sure
link |
05:14:32.960
which way to do something do it both ways
link |
05:14:34.960
and see which works better
link |
05:14:36.960
thank you for listening
link |
05:14:38.960
and hope to see you next time