3 ms·
Andy Gavin has a great interview on the technical-side of developing Crash Bandicoot [0], which they wrote in GOOL, the precursor to GOAL. In fact, they wrote G
by eindiran 7y ago
Andy Gavin has a great interview on the technical-side of developing Crash Bandicoot [0], which they wrote in GOOL, the precursor to GOAL. In fact, they wrote GOOL explicitly for Crash Bandicoot. Later, when writing Jak & Daxter, Naughty Dog developed GOAL. Sony ended up buying ND -- among other things, they were hoping to use ND's code, and were quite surprised to discover that it was all written in a homebrewed Lisp dialect.
You can see some GOAL here: https://web.archive.org/web/20070127022728/http://lists.midnightryder.com/pipermail/sweng-gamedev-midnightryder.com/2005-August/003804.html https://web.archive.org/web/20070127022728/http://lists.midn...
[0] https://www.youtube.com/watch?v=izxXGuVL21o https://www.youtube.com/watch?v=izxXGuVL21o
- kbenson 7y agoI just saw that interview with Andy Gavin last week, and I highly recommend it. The title is "How Crash Bandicoot Hacked The Original Playstation" and it truly fits. So much of what they did seems to have been crazy and beautiful performance hacks. Anyone that's had to work with severe limitations to achieve their goal and found crazy ways to make it work will see a kindred spirit.
- lowtolerance 7y agoI saw this interview, too. It blows my mind that Crash himself accounted for a third of their budget for onscreen polygons, something like 550 polys, which is more than many PS1 games managed to render for an entire scene.
- candeira 7y agoThey also didn't use any texture memory for Crash; only shading. This went against all received wisdom, and shows how much they were ready to face every challenge posed to them by going back to first principles. They also wrote a software-based Z-buffer implementation. And a custom compression system that allowed vertex-based animation. And scene streaming from disc. And... https://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/ https://all-things-andy-gavin.com/2011/02/02/making-crash-ba... Previously: https://news.ycombinator.com/item?id=9278082 https://news.ycombinator.com/item?id=9278082
- aliswe 7y agoNitpick: > Crash was 512 polygons in the first game, with textures only for his spots and his shoelaces, and his model didn’t change much through the 3 platform titles. It took me a month to settle on the perfect 512. As Andy said, we went with non-textured polygons instead of textured ones on most of the characters. Instead of texture, we used corner colors to create the textures that seemed to be there. > There were many advantages to this strategy. The simplest was that we got more polygons. But we also solved a texture stretching and warping issue inherent in the PlayStation’s renderer that tended to make textures look terrible. Since you spent most of your time looking at the character, and he could get quite close to the camera, avoiding texture mess meant a lot for visual quality. > And there was another important issue solved by using polygons instead of textures. The PlayStation tended to render every polygon as a pixel, no matter how small it got. Had Crash’s pupils been texture, they might have disappeared when the got smaller than a pixel. But by making the pupil 2 polygons (a quad), they almost always showed up as long as the total eye, including whites, was more than a few pixels tall. Subtle, but trust me, it made the game so much more clean looking. It’s the small things that matter. Source: Jasons comments in part 3 ( https://all-things-andy-gavin.com/2011/02/04/making-crash-bandicoot-part-3/ https://all-things-andy-gavin.com/2011/02/04/making-crash-ba... )
- candeira 7y agoThanks, I'd misremembered something read almost a decade ago.
- bitwize 7y agoThe two Lisps Naughty Dog developed had different (heh) goals. GOOL was more of a scripting language; GOAL was developed for close-to-the-metal programming and was used to write much of the engine for J&D.