Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Andy Gavin

    all-things-andy-gavin.com · Personal blog · on HN since 2011

    Andy Gavin, co-creator of Crash Bandicoot at Naughty Dog, writes about how the game was made, including its Lisp-based GOOL language.

    Visit blogRSSHN submissions
    GamesRetro ComputingProgramming
    What HN says

    Commenters call his Making Crash Bandicoot series a perennial classic and a favorite developer diary, citing the GOOL part and PlayStation techniques like level streaming.

    Stats for nerds
    97HN people shared it
    79linked in comments
    1.1Kstory points
    Jul 2026last shared
    2011people per year2026

    Top posts on HN

    1. 1
      Making Crash Bandicoot (2011)
      15 people · 251 points · first shared 2015 · 40 comments on HN
    2. 2
      Game of Thrones CGI
      1 person · 210 points · first shared 2011 · 67 comments on HN
    3. 3
      So you want to be a video game programmer? - The Specs
      1 person · 117 points · first shared 2011 · 79 comments on HN
    4. 4
      Making of Crash Bandicoot - GOOL
      25 people · 103 points · first shared 2011 · 10 comments on HN
    5. 5
      Making Crash Bandicoot
      40 people · 75 points · first shared 2011 · 2 comments on HN
    6. 6
      How we sold a couple hundred million dollars of software in Japan
      1 person · 74 points · first shared 2012 · 14 comments on HN
    7. 7
      Secrets of the Masters - An Algorithm for Learning to Program
      2 people · 71 points · first shared 2011 · 10 comments on HN
    8. 8
      Crash Bandicoot - Teaching an Old Dog New Bits
      1 person · 38 points · first shared 2011 · 2 comments on HN
    9. 9
      Lispings ala John McCarthy
      3 people · 28 points · first shared 2011 · 9 comments on HN
    10. 10
      A Video Game Programmer Origin Story
      1 person · 14 points · first shared 2011 · Discussion on HN

    What HN people wrote when they linked it

    • sillysaurus3Jul 2018

      To see how quickly HN changed in the old days, skim the feature requests thread: https://news.ycombinator.com/item?id=363

      Some feature requests were a matter of days, like user profiles: https://news.ycombinator.com/item?id=481

      A brief essay on some HN design decisions: https://pastebin.com/bSW5dfRQ (from https://news.ycombinator.com/item?id=8424502)

      I think the arc codebase is worth studying and understanding, primarily so that you can extend its simplicity into your own projects. The reason HN was such a success is because it handles so many cases in the same way: Stories, comments, and polls are all the same thing: items. If you want to add a new thing, you just create a new item and add whatever fields you want.

      These rapid prototyping techniques have downsides, but the cure is to keep in mind what you can't do. (For example, you can't rename item keys without breaking existing items, so be sure to choose good names.)

      Like emacs, HN's design is borne out of simplicity and generality. It's what you get when you write the next most important feature as quickly as possible, then cut as much code as possible, every day. Both halves are equally important.

      It's fine to say that our modern applications are so much more complicated that the old lessons don't apply. And in extreme cases, that may be true. I don't think SpaceX has the luxury of rapid prototyping their software.

      But the typical app is CRUD. For those, data processing flexibility is perhaps the most important…

    • endymi0nSep 2011

      Okay, so this is gonna be a bit longer, but bear with me, because I think reading this might help you.

      I've been exactly where you've been. AND I did almost all the things that people here suggest. Thought I had ADHD and took Ritalin. Thought I had a depression and took Prozac (both of which I definitely cannot recommend, as they screwed badly with my short term memory).

      I've tried gazillions of plugins, "hacks", to-do lists and the like, only to see that if you're smart (I assume you are because you're posting here), your subconcious is only smarter. If there's one universal truth I got out of these, it's: You can't shit yourself.

      I've personally read Getting Things Done, The Now Habit, Eat That Frog and consumed lots more of self-help from some of the distinguished authors there are, including Tony Robbins, David Allen, Steven Covey, Brian Tracy, Keith Ferrazzi, Leo Babauta etc. (just to name a few).

      I can honestly say that all of those books gave me something, some pushed me over the edge for a week, but then I slipped back into procrastination and self-pity. So here's the deal: For some of us, it's just much harder to stay focused on our goals and dreams. All that can and will change, but only with the right leverage, and your missing piece of the puzzle might be a different one that someone else needs. Anyway, I'll be listing the things from all those excellent books above that helped me most (repeating some of the excellent suggestions here), and finishing with my…

    • plinkplonkMar 2011

      From the article,

      "Programming languages are not immutable truths handed down from on high, but tools created by people to solve particular tasks."

      Or, as the foreword to "Essentials of Programming Languages begins,

      "This book brings you face to face with the most fundamental ideas in Computer Programming - the interpreter for a computer language is just another program"

      Insightful, but often forgotten, . Great post (and series). There are other thought provoking paragraphs in the other posts in the series.

      "my partner and friend Jason Rubin offers the following thoughts on this section:

      Andy and I always liked trying to find opportunities that others had missed. Fill holes in a sense. We had done Way of the Warrior in large part because the most popular games of the time were fighting games and the new 3DO system didn’t have a fighting game on it. Our decision to do a character action game on the PlayStation was not only based on bringing the most popular genre on consoles into the 3D, but also because Sega already had Sonic and Nintendo already had Mario. Instead of running headlong into either of these creative geniuses backyard, we decided to take our ball to a field with no competition.

      Filling a hole had worked to an extent with Way of the Warrior. The press immediately used Way as a yardstick to make a comparison point against other systems and their fighting games. This gave it a presence that the game itself might never have had. And as a result,…

    • shawnSep 2017

      The future is long. Computers will be around for thousands of years. They've only been useful for the last ~60 years.

      A programming language needs at least two things to succeed: a niche, and corporate backing. Almost every successful language has had both.

      Lisp's benefit is that it is discoverable. Programmers hundreds of years from now will continue to stumble across the roots of lisp: http://www.paulgraham.com/rootsoflisp.html

      http://ep.yimg.com/ty/cdn/paulgraham/jmc.lisp

      The axioms are too simple not to discover by accident.

      What are some promising niches for Lisp?

      I think gamedev is a likely candidate. The whole gamedev industry still uses C++ / C#. But Lisp can be just as fast -- you can even make a statically-typed Lisp, which avoids any possibility that Lisp's performance will bite you.

      The benefits for gamedev in particular are immense: http://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/

      The reason this hasn't happened is because it takes a certain personality type to write languages. In 99% of cases, your language will fail. Meaning, if you spend 3 years on it, that's 3 years you didn't spend learning React or Vue or %salary-du-jour. You have to love it.

      That love is quite the feeling. When you design your own language from the ground up, and break down all barriers of complexity, it stops mattering whether anyone else ever uses your language. Making it was reward enough.

      In concrete terms, I think self-hosted Lisps are a…

    • agavinDec 2011

      There is such a difference in coding output. Having had perhaps 50 work for me over the years (and being one myself), the top guys do perhaps 10x the output of the merely "very good" guys. And near infinite with the mediocre ones who on tough projects actually suck more time than they contribute.

      The good guys also come in and contribute right off the bat. Like Christophe Balestra, who now is co-president of Naughty Dog. When he arrived on Jak 2 he was pounding out real working stuff the first or second day. By the end of the game (one year later) it was clear he was so kick ass that we promoted him across like 15 others guys to be co-lead with me on Jak 3. And he continues to kick ass to this day. I just site him, but I had the pleasure to work with around half a dozen other totally awesome guys too. Still, the "good" guys will take a system and do a great job with it over weeks. The great guys will knock it out in like 24-48 hours.

      Lots of articles on this kind of stuff at my site too:

      http://all-things-andy-gavin.com/video-games

    • stavrusJul 2018

      One of the level designers for WoW has apparently written a book on the game's original development. The Kickstarter [1] for it failed due to an unrealistic funding goal, but if you're looking for something along those lines it might be something you'd be interested in keeping track of as he's planning on re-launching a funding campaign with a smaller budget.

      Not a book, but the blog posts on making the original Crash Bandicoot [2] make for a great read, especially due to some of the issues they ran into in trying to squeeze out every last bit of performance from the original Playstation. [3]

      [1]: https://www.kickstarter.com/projects/476291819/the-world-of-warcraft-diary

      [2]: https://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/

      [3]: https://www.quora.com/Whats-the-hardest-bug-youve-debugged

    Related

    Fabien Sanglardfabiensanglard.net525 people

    The Polygons of Another World

    Fabien Sanglard
    Personal · last shared 2026
    Vidar Holenvidarholen.net68 people

    Useless Use of "dd" (2015)

    Vidar Holen
    Personal · last shared 2025
    Frank Forcefrankforce.com23 people

    How I made a 3D game in 2 KB of JavaScript

    Frank Force
    Personal · last shared 2026
    Eric Lengyelterathon.com38 people

    Poor Foundations in Geometric Algebra

    Eric Lengyel
    Personal · last shared 2026
    Nihilogicblog.nihilogic.dk23 people

    Genetic algorithms, Mona Lisa and JavaScript + Canvas

    Nihilogic
    Personal · last shared 2014
    Forrest Smithforrestthewoods.com57 people

    Simpson’s Paradox (2016)

    Forrest Smith
    Personal · last shared 2026
    PhobosLabphoboslab.org123 people

    QOI: Lossless Image Compression in O(n) Time

    PhobosLab
    Personal · last shared 2026
    Code Incompletecodeincomplete.com20 people

    How to build a racing game

    Code Incomplete
    Personal · last shared 2023