Live data from Hacker News

The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

youtube.com

31–40 of 97 posts

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#31
For those unaware, Casey Muratori started a project called Handmade Hero in 2014 to build a complete game from scratch while livestreaming the entire process, with the goal of showing people not just how, but why, rolling your own engine (hence the "handmade" part) is better than relying on Unity, Unreal, or some other leaky abstraction. He even solicited pre-orders for the finished product, IIRC.

Ten years later, he has no game, only a rudimentary, tile-based dungeon-crawler engine, and reams of code he's written and re-written (as API sands shifted beneath his feet), and the project seems to be permanently on hiatus now. Thus, Casey inadvertently proved himself wrong, and the conventional wisdom (use an existing engine) correct.

As far as OOP goes, 45 years has shown that it makes developers highly productive, and ultimately, as the saying goes, "real heroes (handmade or otherwise) ship." Casey's company was founded 20 years ago, and he's never shipped a software product.

He complains often about software getting slower, which I agree with. Yet how many mainstays of Windows 95/98 desktop software were written in a significantly OO style using C++ with MFC?

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#32
post #31

For those unaware, Casey Muratori started a project called Handmade Hero in 2014 to build a complete game from scratch while livestreaming the entire process, with the goal of showing people not just how, but why, rolling your own engine (hence the "handmade" part) is better than relying on Unity, Unreal, or some other leaky abstraction. He even solicited pre-orders for the finished product, IIRC. Ten years later, he…

I can see the argument for using a custom engine if you have specific design goals that can't be met by existing engines, but that seems seems like an edge case. I think 99% of game concepts can probably be done in Unity, Godot, or Unreal.

Meanwhile you could probably surpass Handmade Hero with any off the shelf engine with a tutorial and a few hours' work, or even a project template from an asset store. The biggest problem I have with Handmade Hero is that because Casey is putting so much effort into the coding and architecture up front, the game itself isn't interesting. It's supposed to be a "AAA game" but it's little more than a tech demo.

And that's why you use off the shelf engines - they allow you to put effort into designing the game rather than reinventing the wheel.

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#33
post #31

For those unaware, Casey Muratori started a project called Handmade Hero in 2014 to build a complete game from scratch while livestreaming the entire process, with the goal of showing people not just how, but why, rolling your own engine (hence the "handmade" part) is better than relying on Unity, Unreal, or some other leaky abstraction. He even solicited pre-orders for the finished product, IIRC. Ten years later, he…

I think it's important to note a couple of things about this.

First, Casey offers refunds on the handmade website for anyone who purchased the pre-order. Second, the pre-orders were primarily purchased by people who wanted to get the in-progress source code of the project, not people who just wanted to get the finished game. I'm not aware of anyone who purchased the pre-order solely to get the finished game itself. (Though it's certainly possible that there were some people.) Whether that makes a difference is up to the reader I suppose, since the original versions of the site didn't say anything about how likely the project was to finish and did state that the pre-order was for both the source-code and the finished game.

Second, the ten-year timeline (I believe the live streams only spanned 8 years) should be taken with the the note that this is live streaming for just one hour per day on weekdays, or for two hours two or three times a week later in the project. There's roughly 1000 hours of video content not including the Q&As at the end of every video. The 1000 hours includes instructional content and white board explanations in addition to the actual coding which was done while explaining the code itself as it was written. (Also, he wrote literally everything from scratch, something which he stated multiple times probably doesn't make sense in a real project.)

Taking into account the non-coding content, and the slower rate of coding while explaining what is being written, I'd estimate somewhere between 2-4 months of actual (40hr/week) work was completed, which includes both a software and a hardware renderer. No idea how accurate that estimate is, but it's definitely far less than 10 years and doesn't seem very indicative that the coding style he was trying to teach is untenable for game projects. (To be clear, it might be untenable. I don't know. I just don't see how the results of the Handmade Hero project specifically are indicative either way.)

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#34
post #33
post #31

For those unaware, Casey Muratori started a project called Handmade Hero in 2014 to build a complete game from scratch while livestreaming the entire process, with the goal of showing people not just how, but why, rolling your own engine (hence the "handmade" part) is better than relying on Unity, Unreal, or some other leaky abstraction. He even solicited pre-orders for the finished product, IIRC. Ten years later, he…

I think it's important to note a couple of things about this. First, Casey offers refunds on the handmade website for anyone who purchased the pre-order. Second, the pre-orders were primarily purchased by people who wanted to get the in-progress source code of the project, not people who just wanted to get the finished game. I'm not aware of anyone who purchased the pre-order solely to get the finished game itself. (…

Look, for whatever reason, he's not good at finishing what he starts: https://www.destructoid.com/he-worked-on-it-for-three-years-...

How much of that is due to the programming practices he espouses, I'm not sure. Ironically, if he went all-in on OOP with Smalltalk, I could see the super productivity that environment provides actually making it harder for him to finish anything, given how much it facilitates prototyping and wheel-reinvention. You see this with Pharo, where they rewrite the class browser (and other tools) every 2-3 years.

But his track record doesn't support the reputation he's built for himself.

> for game projects

That's the problem. Casey holds up a small problem domain, like AAA games, where OOP's overhead (even C++'s OOP) may genuinely pose a real performance problem, and suggests that it's representative of software as a whole; as if vtables are the reason VisualStudio takes minutes to load today vs. seconds 20 years ago.

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#35
post #34
post #33

Earlier quoted context omitted.

I think it's important to note a couple of things about this. First, Casey offers refunds on the handmade website for anyone who purchased the pre-order. Second, the pre-orders were primarily purchased by people who wanted to get the in-progress source code of the project, not people who just wanted to get the finished game. I'm not aware of anyone who purchased the pre-order solely to get the finished game itself. (…

Look, for whatever reason, he's not good at finishing what he starts: https://www.destructoid.com/he-worked-on-it-for-three-years-... How much of that is due to the programming practices he espouses, I'm not sure. Ironically, if he went all-in on OOP with Smalltalk, I could see the super productivity that environment provides actually making it harder for him to finish anything, given how much it facilitates prototyp…

The article you linked indicates the reason for him not finishing is specifically that he didn't like his game design, which seems orthogonal to coding practices.

He appears to have shipped middleware projects for RAD, and other contract work where he was not in charge of game design.

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#36
post #26

Earlier quoted context omitted.

> Whether it was made for that is immaterial This is in the talk, he explicitly says that its often brought up that "OOP is made for large teams" "you're not using it as intended" "its not made to model your domain hierarchy" etc etc. The first 30 minutes is his reaction to that, disproving it. Whether thats true or interesting is a different question, but its explicitly stated in the video, at the start, before he g…

> "OOP is made for large teams" "you're not using it as intended" "its not made to model your domain hierarchy" Are there actual references for those quotes? Were they said by some kind-of expert or by a sales person or by cousin John? Are they strawmen set-up to knock-down.

I highlighted "OOP is made for large teams", right clicked, clicked "Search Google for ..." and found the answer almost immediately. Give it a shot!

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#37

I'm quite interested in this talk. Haven't finished yet, just watched the first part last night. But I gotta say, I find the graphical background (the blurry text around the edge of the screen that's constantly moving and changing) supremely annoying, not to mention completely unnecessary. Dear presenters and conference producers: please, please don't do that.

Yes, visual noise is bad and an attention hijack. Zooming in helps a bit, though precise zooming isn't always available...

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#38
post #32
post #31

For those unaware, Casey Muratori started a project called Handmade Hero in 2014 to build a complete game from scratch while livestreaming the entire process, with the goal of showing people not just how, but why, rolling your own engine (hence the "handmade" part) is better than relying on Unity, Unreal, or some other leaky abstraction. He even solicited pre-orders for the finished product, IIRC. Ten years later, he…

I can see the argument for using a custom engine if you have specific design goals that can't be met by existing engines, but that seems seems like an edge case. I think 99% of game concepts can probably be done in Unity, Godot, or Unreal. Meanwhile you could probably surpass Handmade Hero with any off the shelf engine with a tutorial and a few hours' work, or even a project template from an asset store. The biggest…

> 99% of game concepts can probably be done in Unity, Godot, or Unreal.

The vast majority of developers use these engines, so you would expect the vast majority of games to be stuff that's easy to make within those engines.

With how samey new games are, it's hard to argue that what we see comes close to the full design space of possible interesting games. That's partially developers copying games they've seen work and sell, but it's also developers making what is reasonably easy to make within Unity or Unreal with the resources they have.

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#39
post #35
post #34

Earlier quoted context omitted.

Look, for whatever reason, he's not good at finishing what he starts: https://www.destructoid.com/he-worked-on-it-for-three-years-... How much of that is due to the programming practices he espouses, I'm not sure. Ironically, if he went all-in on OOP with Smalltalk, I could see the super productivity that environment provides actually making it harder for him to finish anything, given how much it facilitates prototyp…

The article you linked indicates the reason for him not finishing is specifically that he didn't like his game design, which seems orthogonal to coding practices. He appears to have shipped middleware projects for RAD, and other contract work where he was not in charge of game design.

RAD was what, 15, 20 years ago? What has he released, in terms of proprietary or open source products, since then? Not just games, I mean ANYTHING. Refterm, and... what else? It's not like he was busy with his MSFT or RAD dayjob during this period.

Re: The Big Oops: Anatomy of a Thirty-Five-Year Mistake [video]

#40
post #32

Earlier quoted context omitted.

I can see the argument for using a custom engine if you have specific design goals that can't be met by existing engines, but that seems seems like an edge case. I think 99% of game concepts can probably be done in Unity, Godot, or Unreal. Meanwhile you could probably surpass Handmade Hero with any off the shelf engine with a tutorial and a few hours' work, or even a project template from an asset store. The biggest…

> 99% of game concepts can probably be done in Unity, Godot, or Unreal. The vast majority of developers use these engines, so you would expect the vast majority of games to be stuff that's easy to make within those engines. With how samey new games are, it's hard to argue that what we see comes close to the full design space of possible interesting games. That's partially developers copying games they've seen work an…

[deleted]
Post reply on HN