Developers — What Handmade Hero is and Why you should watch it
While I enjoy writing reviews… Admittedly, I don’t write many. Why? This may sound selfish but my perception of the issue is that I simply don’t have the time. Why would you, the reader, care? Well, because, that means that when I do write a review, that a product or service was either exceptionally bad, or amazingly outstanding. In the case of Handmade Hero, friends, it’s the latter.
If you don’t know what Handmade Hero is, and you are a coder, developer, or software engineer… You’re missing out, big time. Handmade Hero is a show put on by a man named Casey Muratori. Who is Casey? I’ll quote his autobiography:
The most significant project I’ve created to date has been The Granny Animation SDK, a complete animation pipeline system that I first shipped in 1999 and which, 15 years later, still is in active use at many top-tier game studios. More recently, I worked with Jeff Roberts and Fabian Giesen to develop Bink 2, RAD Game Tools’s next generation video compression technology, and I rewrote the movement system and helped extend the world editor for Jonathan Blow’s upcoming game The Witness.
So pretty much, he’s written game engines and tools in the C programming language that are used by game studios to develop games to this day… He makes it sound so bland there. If you watch Handmade Hero a bit, you’ll find out that he has been programming since age 7, non-stop. Yes, you heard that right… He’s been programming since age 7. He learned to program before he even learned mathematics, which actually became a problem for him in school because in his mind, the equals sign meant “assignment” rather than the traditional “equals” that we are all familiar with!
So what really is Handmade Hero? Quite simply, Muratori decided “screw it, I’m gonna walk you through making an entire, release-size, commercial-grade video game all alone, filming and explaining every thing I do all along the way on Twitch and post the archive to YouTube. If that takes 4 years, screw it, I’m doing it anyway. If you guys have questions, you can ask me during the live stream and I’ll also post the responses as Q&A.”
Essentially, this is what Handmade Hero is… And it is nothing short of amazing.
Why it Matters to You and How it WILL (not can) help you as a developer
At first glance, you may be saying to yourself “Well, I’m not a gamer and I’m not even into games, so this won’t really help me with my MEAN stack/ LAMP/ASP.NET/(insert any tech/language here) development.”
You’d be catastrophically mistaken. Perhaps more mistaken than how some people thought JavaScript was going to die 5 years ago.
You see, simply watching Muratori tackle this monster will teach you so many things… You will see how he deals with architecture and design, how to look at problems and tackle them like a veteran software engineer, how to break things down into small chunks to work on at a time, and a ton of knowledge that you wouldn’t be able to get from anyone else who hasn’t been programming for like 40 years. Honestly, there is so much content in this course that it is literally impossible for this article to even scratch the surface.
But, especially if you are new, you will realize the more you get into coding, just how much coding is a thought-centric activity… Meaning, there is much more to coding than the act of typing the code in itself, and even though you will be watching Muratori actually typing the code in (as well as his awesome KhanAcademy-esque illustrations on MS Paint-style programs), you will be learning many of these other important concepts as well.
In so much detail…
Seriously, Muratori goes into incredible amounts of detail and covers nearly any question you’d have about the C programming language, and how the computer and processor work at the most fundamental and mathematical levels… For example, in just his “Intro to C on Windows 3 & 4” videos, he explains exactly how the processor works, memory works, hexadecimal and binary, how to convert from our decimal numbers to hex, to binary, what debugging is and how to do it etc… And then shows you exactly how the processor works in real-world demos and then finally incorporates that into the C code… But he does it in a practical and real-world fashion that would rival the educational quality and teaching abilities of some of the best professors at Ivy League schools… All while making it enjoyable and entertaining and not some sort of a display of complexity designed to make you feel stupid.
And it keeps going up from there… He has to create an entire infrastructure just to begin developing the game, which I think starts at like 27 days into the videos (lol, intense huh?)… Then he goes to develop the entire game engine, explains software architecture as how it relates to building architecture in a way that even my non-technical mom can understand it, physics and graphics systems, complete with the physics and mathematics behind them… it’s literally unheard of, and extraordinarily educational. I mean, talk about a Grammy or a Nobel prize… How this show has not won the programming equivalent to these is downright laughable. Go find me any course at any university anywhere (or Pluralsight, Coursera, Udemy, etc…) that goes into this much detail and has over 450 lecture hours of theory while simultaneously being applied and put into practice. Complete with available source code, and that will have a fully functional end-product.
Theory AND Practice… combined.
Certain theoretical concepts we learn in the classroom, that typically lack practical application are applied in Handmade Hero. By the same token, practical coding that often lacks a proper explanation of why and how (the theory) are explained in great detail as well. This is not “Hello World,” this is a complete course of education that equals multiple theoretical courses at the Ivy League school level plus years upon years of experience… All… Free…
So, when you first go to the channel, you may feel a little overwhelmed, I know I did. The key with Handmade Hero is in your spare time, browse the videos… It’s a ton of lecture/walkthrough time. So far, he has over 332 (to date) hour+ long videos up… The project started in 2014. But, this is awesome, this shows you the value in the education and how committed Muratori has been to this whole thing.
If anything piques your interest, watch, browse, skip around the videos… You’ll be surprised at what you learn. Some great videos that I can personally recommend is Muratori’s explanation of the difference between software architecture and building architecture and his explanation of how debugging and memory work.
The funny thing is, if you can be open-minded enough to realize that ultimately, software engineering is not solely based on what language you are using, but rather what you can do with all of the tools in your toolbox, even if you don’t program in C (I have not, but am getting into it now, thanks to what I’ve seen on the show), you will still learn a ton. This is also because of how most common languages such as PHP, JavaScript, C++, C#, and Java are C-based at heart and share many similarities with it… In fact, you will find that much of C, while it gets into the more nitty-gritty of dealing with memory in programming, is still using the functions and logics that you are all-so-comfortable with in your language of choice.
Unraveling the mystery of C
While we may have taken a C programming class at college, or dabbled with it as a child, many of us play with languages like JavaScript, C#, PHP, and Java, without having a full understanding of what is really going on underneath the hood, or at least why we ended up with these higher-level languages versus assembly and C in the first place. Muratori additionally and subtly, offers insights in to what C’s strengths are versus the more modern, higher-level languages and how you can play to these strengths in your development either with the C language or the more higher-level languages.
If you want to program games or love how stuff works…
You will especially love Handmade Hero. The former is obvious: even though us non-game and even web developers can learn so much from the show, game developers will learn even more, since, of course Handmade Hero is indeed a game. The guys and gals who are always asking “how” or “why” like myself will fall in love with the show because Muratori’s brain operates just like ours: he goes on so many “asides,” explaining from soup to nuts exactly what we are typing into our editor is doing from the most fundamental level all the way up to the most abstract level… he even teaches a bit of machine code and assembly language, which is fascinating for us total nerds.
In any event, this article is long enough… Go watch yourself some Handmade Hero, or at least put it on your “Watch later” list for when you have time!
Links:
Official Website — You can pre-order the game for just $15 from the website, to get your copy when it ships. In addition, this gains you every single piece of source-code as development progresses and past code.
Twitch.tv page — for the live streams
YouTube channel — for the archives
Twitter — To know when he’s going live
Intro To C On Windows — If you are interested in learning how C programming and low-level programming works from scratch
Thank you Casey. Myself and many of us are forever thankful.
If you found this article helpful, please don’t forget to ❤.