Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's kind of a rediculous assessment. "How many games have you shipped in the last 10 years" is the standard for how good your advice is.

John has made two games + one soon in the last 17 years. Braid started off the indie boom, and the witness was a blockbuster hit. Casey works on game engines and optimization, and has an entire video series about writing a game from scratch.

I agree that some authors don't ship any actual software and engineers should stray away from their advice, but this is not that case.





Casey hasn’t worked on game engine or engine tech in almost a decade. That’s not to say he doesn’t know what he’s talking about, but imho it’s important to be aware that he hasn’t worked on a real shipping product in a long time.

The point is that Blow has two blockbuster hits under his belt and can afford to take a decade to ship a single game. Most people would go broke never having shipped a game if they tried to do things Blow's way.

Braid didn't start the indie boom, Garry's mod did

Soulja Boy never made any videos about Garry's Mod

This is kind of a joke and I know he was mostly poking fun at Braid but this does speak to how mainstream indie games got in that first wave that hit XBLA.


Cave Story before that even

To be fair, I had not heard of the Witness until well after it came out.

Braid came out the same time XBox Indie Games.

I will say, I do not find a lot of their rhetoric convincing. Especially for people who have never attempted to write the software they are criticizing.

Blow only writes single player games that do not persist significant data to the machine. Nothing bad happens if your save file is corrupted. Nothing of value is lost if scene transitions have a bug.

But they're going to tell me that hyper-scaled multi-user real-time software is written poorly?

Also, I've been watching Muratori's Handmade Hero series. The deeper it gets into the game, the worse it gets. At one point, he's like "Ah, I dunno, we'll implement bubble sort because we don't have time to do any other sort." Followed by a diatribe about why bubble sort is a bad name. It's a fine name. Things bubble up.

Second, merge sort is just as quick to write and faster.

But in general, they alternate between speaking in platitudes and disparaging other software.


> Especially for people who have never attempted to write the software they are criticizing.

Casey was criticizing new Windows Terminal got into an argument with Microsoft's project manager that said that it was impossible to implement optimizations that Casey talked about. Well, Casey reimplemented terminal, it was not that hard.

https://news.ycombinator.com/item?id=38650254


> Especially for people who have never attempted to write the software they are criticizing.

E.g. Casey and Blow often criticise the Visual Studio debugger. It's slow, has quite limited functionality. And it progressively gets worse over time (e.g. it can no longer update watched values at the same speed as you step through the program).

Do they both have to write a debugger to demonstrate how bad it is?

No. Other people do it, single-handedly. See RAD Debugger (https://github.com/EpicGamesExt/raddebugger) and RemedyBG (https://remedybg.handmade.network). Relevant Casey rant: https://www.youtube.com/watch?v=GC-0tCy4P1U

And the same is true for a lot of other software.

You don't have to write some software to criticise how bad it is. E.g. I cannot but make fun of Discord for implementing "we will intentionally kill our app if it consumes 4GB of memory and are very good at prioritising fixing memory issues seeing a whopping 5% improvement for p95 of users": https://www.reddit.com/r/discordapp/comments/1pej7l7/restart...

Doesn't mean I have to write Discord to criticise it. All I need is an understanding of rather basic performance and of general engineering practices.

And also, you've probably failed to even understand what they are criticising/saying: https://news.ycombinator.com/item?id=46315616


What the hell language was Muratori teaching with that he doesn't have a sort?

Even C provides a halfway useful comparison sort in the box† and they're so cheap they don't even supply the O(1) growable array type

† It's named qsort, but despite the name it might not just be Hoare's "Quicksort". However it also won't be somebody's half-remembered bubble sort.


He's using C++ as closely to C as possible.

Part of the purpose of the series of Handmade Hero is to build a game from the ground up with no dependencies. So I don't think he's bringing in stdlib

So he could use that, but goal is to be someone who doesn't necessarily need to do that.


Is he writing assembly for his syscalls too, or is it like, "no stdlib, except for real annoying parts"

At some point I think he caved and just started using OpenGL. I don't know because he turned off all of the comments on his youtube channel. I think the only thing he's demonstrated is how bad an idea "building a AAA game entirely from first principles" is.

He was not building a AAA game nor trying to...

https://hero.handmade.network/forums/code-discussion/t/2783-...

He says verbatim his goal is to be a stepping stone for serious engine programmers (not necessarily "general purpose", but definitely AAA-level), even though obviously we are not going to be making a AAA game for obvious reasons :)

So fair enough, but between that and his claim that he's showing people how to create a "professional quality" game I think the difference between a AAA game and a "AAA-level" game engine has no distinction, it's basically the same thing.

Is what he has done so far professional grade, capable of "AAA-level" games? I don't think so, but I concede that probably depends on what your parameters for "AAA" and "professional quality" are. It might be fine for indie games but it seems to me that Casey was selling an audience on revealing something deeper.


Handmade Hero teaches depth-first development. I'm not sure who it benefits

Did Casey ever finish the video series?

He didn't need to finish it in order for it to have an impact. Makers of FilePilot and Animal Well both attribute Handmade as being big inspirations for them to go the way they did. They said, they got the most value from the first 50 eps or so. You'll hear lots of them on the Wookash podcast.

Still, its completely ridiculous to rag on other programmers practices so much while you can't even finish your own project

Its like everything these guys rant about you could add on the tagline "...yet the world keeps spinning and we all keep shipping things"


So for your opinion to carry any weight, please enlighten us as to the games you have shipped that qualify you to comment on their take on programming practices.

Not really. Let's reverse the situation on you - why should we take your opinion seriously, we have no idea how much you have shipped, if anything at all, so by your logic, your ragging on the other programmers practices is ridiculous.

I've shipped a few things over the years, but doubt I have strong takes in programming, besides 'the "properness" of a variables name is dependent on the amount of lines between it's definition and usage.' Doubt anyone will take my considerations seriously.


I'm not making any claims about programming practices

If someone comes out saying "you guys are all doing this wrong" and yet they can't finish their own project then why would I take their advice seriously?

If you suggest a way of doing software development and you can't even show it working out to completion, what does that say about your proposed methods?


I had a larger rant written, but this is the only part that had any value:

Yes, one can argue that lack of produces results does not give big plusses towards their work processes, but it does not necessarily negate the value of the concepts that they preach. The value of a thing is not only defined by who is spouting it, one must evaluate the argument on it's own merits, not by evaluating of the people yelling about it.

There are plenty of concepts in this world that I cannot make work, that does not mean that the concepts are bad. It only means that the failure reflects on me and my in-capabilities.

And this might be something that you are not noticing: You are making claims about programming practices indirectly by stating that THEIR practices are not worth considering due to lack of shipping anything.


It's not really the same. Casey is suggesting people that don't spend 10 years crafting everything from scratch are somehow "lesser than." The user you're replying to is pointing out that Casey has set a completely arbitrary rule for game quality that conveniently leaves out his inability to ship something, and that's funny.

We're not saying games taking longer than a few years are failures, we're saying good games can encompass both approaches. But Casey, and his followers, are doing purity tests to feel good about themselves.

And this is assuming the games they ship are even good or noticeable to the user. I don't much care for Braid or The Witness, and I don't want my favorite dev studios to suddenly write everything from scratch every time. I would have a lot less fun things to play.


it is literally just not ridiculous

If you mean Computer, Enhance!'s Performance Aware Programming series, it's ongoing, but the pace is slower than about 1.5years ago. Given how good it is, and how fastidious and comprehensive Casey is, I imagine it doesn't really pay for itself, even with an impressive subscriber count.

I mean the Handmade hero game

Website says it's on hiatus after 667 episodes

another POV is, business IT projects fail at a higher rate than video games do! the people who post about "shipping" are projecting: "at least my garbage is delivered frequently, which is key to being employed, not key to creating meaning."



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: