0:05 you probably already answered this but
0:07 why start from scratch versus using an
0:09 engine why reinvent the wheel it's a
0:12 good question and the answer is twofold
0:14 one is because I think it's important
0:16 for game developers uh who are going to
0:19 be serious programmers uh to learn
0:21 everything about how a game works and if
0:23 you start with an engine then it it
0:25 basically changes what you're learning
0:28 from the fundamental truth of how to
0:31 implement a game to someone else's
0:34 version of that they have basically gone
0:36 from what the actual game code actually
0:39 does and put a big old giant layer in
0:41 between you and that so now what you're
0:43 really learning is that engine you
0:45 haven't learned how to make games you've
0:48 learned how to make games in unity right
0:50 and if Unity were to disappear for
0:51 example you would no longer know how to
0:54 make a game at all I'm not exaggerating
0:57 this that's just the truth um and so
0:59 while there's nothing wrong with making
1:01 games in engines because that may be the
1:02 most efficient way for you to make the
1:05 thing that you want to make I don't
1:06 think you can have a complete game
1:08 development education as a programmer
1:11 without learning how everything works
1:12 right down to the core principles that
1:14 have been true uh for the past several
1:17 decades that's how a CPU runs game and
1:19 so I think those are essential to learn
1:21 and I wanted to show them so if people
1:24 want to use engines that's totally fine
1:26 uh but that is the opposite of what I'm
1:28 trying to show here I want to show how
1:31 all that stuff works uh and I want to
1:34 give people the ability to make their
1:36 own engine stuff as necessary as well
1:38 because even if you go use an engine
1:41 like unreal or something to make a game
1:44 knowing how all of it works
1:46 underneath makes you so much more
1:48 powerful even in that engine because now
1:50 it means you don't just have to look at
1:51 the Docks and guess how the thing kind
1:54 of is doing it you know how the Thing
1:57 Really Works and so you can go oh I know
2:00 there must be a way for unreal to do
2:02 YZ because I know that's how the CPU
2:04 works and I know it can do it so let me
2:07 go find how to do that or write my own
2:09 plugin that can do that for me and now
2:10 you're so much more powerful you don't
2:13 have to be like hamstrung by the the
2:14 things that they allowed you to do in
2:16 that sort of layer right so it's it's
2:18 empowering it's educational that's all
2:21 good uh but the second thing I wanted to
2:23 point out is saying reinvent the wheel
2:29 statement and it always bothers me a
2:30 little bit when people people say things
2:32 like why reinvent the wheel and the
2:34 reason is because the
2:37 wheel is an amazing invention it is
2:40 almost perfect uh or even possibly
2:43 perfect for what it does when you look
2:45 at a wheel it is the thing that
2:48 perfectly turns Dynamic friction into
2:50 static friction for moving objects right
2:53 it's something that is so elegant and
2:55 beautiful that if you ask me why you
2:56 would want to reinvent it I would say of
2:58 course you don't want to reinvent the
3:01 wheel the wheel is amazing it has worked
3:04 for thousands of years it has been
3:05 unchanged for thousands of years the
3:08 concept is the same today as it was when
3:10 they first made a wheel probably right
3:12 it does exactly the same stuff
3:15 physically nothing we have developed in
3:18 the past 30 years of game development is
3:21 a wheel we do not have a single wheel if
3:24 you think Unity is a wheel or you think
3:27 unreal is a wheel that is just it's just
3:29 plain shortsighted like I'm sorry but
3:32 that's the truth in the future we will
3:34 have so much more powerful tools for game
3:35 game
3:37 development that they will make the
3:40 engines we use today look like a joke
3:41 people will laugh at the things that we
3:43 did to make games
3:45 today and the reason that I point that
3:47 out is not to diss on those things
3:48 because they are the best engines we
3:50 have today so yes if you need to use an
3:51 engine you want to use some of these
3:55 things right but I want to point out the
3:57 fact that if we want to get to a real
3:59 wheel that when you really do say to me
4:01 would you rent the wheel I would say you
4:03 shouldn't use the wheel if we want to
4:06 get to that wheel we need people baking
4:08 new things that attempt to be a wheel
4:09 and you can't do that if all you know
4:11 how to do is program stuff in unreal or
4:14 Unity because that's all you get that's
4:15 the square wheel right that's kind of
4:18 clunking around and if all you're ever
4:19 going to do is build cars on top of that
4:22 they're going to be lousy right um
4:23 unless you're driving on a road that
4:26 looks like this uh so basically what I
4:28 want to inspire too as part of the
4:30 series if I can is I want people to look
4:32 at this and go hey wait a minute
4:33 low-level game programming is not that
4:36 hard I saw him do it I saw how he did it
4:38 and I'm starting to understand this I
4:40 could go do this and if they get into it
4:42 and get excited about it then they may
4:45 be the people who make those next
4:49 engines that allow a whole new uh wave
4:52 of game development to happen just like
4:55 Unity allowed so many more people to
4:56 make games who didn't have that
4:58 knowledge who's going to be making those
5:01 things of the future right and so that's
5:03 why I think lowl program is so important
5:05 is because we need lots of people with
5:07 those with those talents and those
5:09 skills to get us to the point where it
5:12 really is silly to be working on anymore