

Making of Crash Bandicoot - GOOL - lispm
http://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/

======
plinkplonk
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, ardent fans of the system would leap to
defend the title even when perfectly fair points were made against it. The
diagonal moves were hard to pull off because the joypad on the 3DO sucked? No
problem, said the fans, Way of the Warrior plays fantastically if you just
loosen the screws on the back of the joypad.

Why couldn’t the same effect work with a character action game on
PlayStation?"_

from part 1 [http://all-things-andy-gavin.com/2011/02/02/making-crash-
ban...](http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-
part-1/)

 _"While all this art design was going on, I, and then in January 1995, Dave,
struggled to build an engine and tool pipeline that would make it possible to
render these grandiose cartoon worlds we had envisioned on paper. .... Our
motto was “bite off more than we could chew, then figure out some crazy
complicated way to make it work.

....

In those days, most people used a simple skeleton system with “1 joint”
weighting, and very few bones. This gives a very stiff look, so we went
instead with vertex animation. This allowed us to use the more sophisticated
3-4 joint weighting available in PowerAnimator, which the Playstation had no
hope of matching at runtime (until the PS2), instead we stored the location of
every vertex, every frame at 30 frames a second. No one else had the guts, as
while this was easy to render, it required inventing some totally hardcore
assembly language vertex compressors. First me (three times), then Dave
(twice), then finally Mark took a crack at it. Mark’s was the best — being the
best assembly programmer of us three — but also the most complicated.

Complexity became the name of the game at Naughty Dog. ...

So we decided to use an entirely SGI and IRIX based tool pipeline. In fact the
game itself even ran on the SGI (with terrible keyboard control). This meant
buying programmers $100,000 SGIs instead of $3,000 PCs. Gulp again. No one
else did this. No one.

...

Jason says:

The secret to Crash’s success was its Art. And the secret to its Art was its
Programming.

Andy and Dave broke a lot of rules. First and foremost, they didn’t follow
PlayStation’s library restrictions. Other developers often complained that
Crash was using some sort of secret Sony library. That is the exact opposite
of the truth. The truth is that Crash used as little as it could of Sony’s
library and the programmers basically hacked everything right to the hardware.

Years later Sony tried to create a game called Harry Jalapeño to compete with
Crash. No, I am not making that up. Besides the name fail, the internal team
in San Francisco also utterly failed to create the complex worlds and
characters that we created in Crash. Let me repeat – an internal Sony team
couldn’t create Crash. Let the rumors of “insider information” forever rest.

Hitting the hardware directly was against the rules. But by the time Sony saw
the results they needed a Mario killer. It was too late for them to complain.
"_

if _that_ isn't "hacking a real world system", like the YC app asks for, I
don't know what is.

from part 3. [http://all-things-andy-gavin.com/2011/02/04/making-crash-
ban...](http://all-things-andy-gavin.com/2011/02/04/making-crash-bandicoot-
part-3/)

Good Stuff.

------
maryrosecook
This series is fascinating. Loads of stories about weird hacks to make the
graphics cleaner, to up the polygon count, to make the animation more
cartoonish, writing a dialect of Lisp to define the gameplay.

Related: an article about making Ratchet and Clank using some Jak and Daxter
rendering code which Naughty Dog basically gave Insomniac for free.
[http://www.gamasutra.com/view/feature/2842/postmortem_insomn...](http://www.gamasutra.com/view/feature/2842/postmortem_insomniac_games_.php?print=1)

Another great series: Jordan Mechner's diary about making the original Prince
of Persia.

<http://jordanmechner.com/category/old-journals/>

~~~
mulander
Thank you for the Prince of Persia series. I really wish that there was a
maintained index of all such series :(

------
tluyben2
Did I already say I love this series? Great stuff. Crash is one of my
favorites and I read a lot about how it was made already. Of course the LISP
part is what makes it really cool. This article is a fantastic read about
that. If you think tools/languages are inadequate; just roll your own.

Shame we don't all get paid to do that... (Or even consider that option)

------
_frog
I'd really love to see Naughty Dog do a series of articles with this kind of
technical depth on making the Jak and Daxter games, or even Uncharted although
I can see why they'd want to keep some of the tech private in that case.

Naughty Dog has always been one of the developers that raised the bar for both
visuals and gameplay on the Playstation and reading these articles it's clear
to see why.

------
chollida1
this is a great series of articles.

There's alot of great technical detail about how they forged their own path
rather than using the typical PS1 libraries.

------
agavin
I just posted another technical article on the Crash series:

[http://all-things-andy-gavin.com/2011/03/26/crash-bandicoot-...](http://all-
things-andy-gavin.com/2011/03/26/crash-bandicoot-teaching-an-old-dog-new-bits-
part-1/)

or the HN link:

<http://news.ycombinator.com/item?id=2372240>

------
jschrf
Wow what a great article. Time to read the entire series.

LISP macros are what makes me want to learn me some LISP.

------
Montagist
There's a terribly large number of parallels between video-game design (teams)
from years ago and the way certain contemporary technical yet creative
projects could run. I wish there were articles like this written by members of
Sonic Team.

