Skip to content
0:00 / 0:00

#jonathanblow#indiegames#kissprinciple

Jonathan Blow - How to program independent games - CSUA Speech

Alexandre Franco

1.5K subscribers • 1 video on Hallway

YouTube
  • Recommended by 10 people: 9 on Hacker News and 1 on Lobsters.
  • A classic. People kept recommending it from 2015 to 2026.
  • Presented by Jonathan Blow, game designer
  • May be out of date. Uploaded 13 years ago, in an area where tools change fast.
  • An opinion. It argues one side of a question engineers disagree on.

Beginner. No background in the topic needed.

190K views13 years ago10 recommendations

Game developmentSoftware designGame programmingSimplicity and complexity

Jonathan Blow shares practical advice on keeping code simple, avoiding unnecessary work, and effectively shipping independent software projects.

Jonathan Blow's speech at the UC Berkeley's Computer Science Undergraduate Association, in the same school he himself went, on April 1, 2011. the-witness.net/news/ check it out if you're interested.

Why it's here

10 people recommend this

What people say. Highly recommended by engineers as a foundational talk on software simplicity, avoiding over-engineering, and focusing on shipping working products.

bajsejohanneson Hacker News • Recommends

On “Ask HN: What's your favorite tech talk?”

Jon Blow's "How to program independent games": link to this video It's about much more than games. To me, it's about identifying and not doing unnecessary work. The second half of this video is a Q&A session, which I would skip.

psycon Hacker News • Recommends

On “Ask HN: Which developers do you closely follow?”

Every time I get stuck on a project, I watch this video. It's about games, but IMO a lot of it applies to software projects in general, especially MVPs. How to ship something that works before it collapses under its own complexity. I think the bit about remembering to optimize for developer effort is gold. link to this video

Stwerneron Hacker News • Recommends

On “Ask HN: What is your favourite tech talk?”

Really excited to go through all the other talks listed here I'm not familiar with! Three talks that I tend to reference a lot and have had a huge impact on the way I think about software: The Soul of Software: Avdi Grimm - link The Humane Representation of Thought: Bret Victor - link How to Program Independent Games: Jonathan Blow - link to this video

tomparkon Hacker News • Recommends

On “Making Games on Your Own as an Engineer”

…many years one of my favorite talks about indie games development was Jonathan Blow's speech at UC Berkeley CSUA (2011) ( link ) Initially I loved his main message during the talk: "You have to be brutally effective to finish a project in a reasonable amount of time." But there's a part in the Q&A that later grew to be even more poignant to me: link to this video > Q: You said you worked on many projects before Braid which didn't quite get completed. What was special about Braid which made you complete it? > A: What was special was it had been a long time since I'd finished anything on my own, and I sat down and decided that "Dammit I'm going to finish something this time". And, "To that end, so I c…

moowizon Lobsters • Recommends

Jonathan Blow - How to program independent games (2011)

kelukelugameson Hacker News • Recommends

On “‘Braid’ creator sacrifices his fortune to build his next game”

I've followed Jonathan Blow for a while. He has a reputation for being condescending. If you follow him a Twitter then you might come to the same conclusion. But he has given some amazing talks. link <-compares games to televison link link link to this video

nulltypeon Hacker News • Recommends

On “The Witness: the creator of Braid talks about his fiendishly difficult new game”

For anyone interested in just programming, he has a great talk here: link to this video about "how to program independent games". Much of the advice seems to apply to other programming projects too.

arriuon Hacker News • Recommends

On “Ask HN: Good C++ code bases to read?”

I've always encouraged people to check out Jonathan Blow's talk on this topic ( link to this video ). He points out many reasons why this type of code would actually be the optimal version when weighing other factors. Simple code is easy to write, maintain, and optimize later. Despite the code looking messy, I find it easy to understand and navigate. A counter example of truly confusing code, which kind of does similar things, would be something like this: link

lackbeardon Hacker News • Recommends

On “Ask HN: What does mastery look like in software engineering?”

Example masters: John Carmack, Jeff Dean, Bram Cohen. What do they do? I think they're all extremely effective at getting things done. So be smart, hard working, and laser focused on shipping. A long time ago I saw a good talk by Jonathan Blow wherein he made a point that really resonated with me. The point was that to get good at programming you need the experience of shipping a lot of programs and thus you should optimize your career around shipping as many good programs as you can. Contrast this with the common advice of being an expert in databases, or distributed systems, or OOP, or testing, or something like that... Edit: found the talk: link to this video

nlawalkeron Hacker News • Recommends

On “Rob Pike's 5 Rules of Programming”

…r have shipped. "There's a third thing beyond speed and memory that you might want to optimize for which is much more important than either of these, which is years of your life required per program implementation." This is of course from the perspective of a solo indie game developer, but it's a good and interesting perspective to consider. 1 link to this video…

skadamaton Hacker News • Mentions

On “Handmade Hero – A complete game live-coded from scratch”

This is not uncommon in game development. Jonathan Blow and others have spoken at length about why game development is different than web development or other types of software engineering (not in a condescending way but in a "it's different, here's why" way): - link to this video

anaphoron Hacker News • Mentions

On “How to Succeed as a Poor Programmer”

I don't think most of this applies only to "poor programmers". The advice about KISS is something many "good" programmers would benefit from following. Likewise, I've seen good programmers recommend using arrays as your first attempt at a data structure as well (e.g. Jonathan Blow, link to this video )

arduinomanceron Hacker News • Mentions

On “Crazy New Ideas”

> Namely you should write code that is fast and efficient I don't think this is accurate. I watched a talk with Jonathan Blow recently and he went on for quite a while railing against premature optimization. link to this video