memory was so short in crash bandicoot that i took to stealing little bits and pieces of extra memory from the sony libraries i would like just try erasing parts of them that i thought i wasn't using and see if things still worked they did i would mark them as available they just hacked their code by just changing the byte codes i'm like you can do this look i fixed it if they wouldn't fix it for me i was just gonna like edit their code it was free memory the memory was finite but you were definitely
not supposed to do that hi i'm andy gavin co-founder of naughty dog inc and lead programmer on crash bandicoot we set out to make the first 3d character platform action game and to do it right we had to literally hack the hardware [Music] it was part of the naughty dog philosophy to leave no stone unturned no cycle of cpu you could or gpu or bite of memory that you could use unused so if it existed there in the machine whether we were supposed to use it or not whether you had to use some crazy trick
to use it or not we would figure out how to like make the most of it so in the summer of 1994 uh my partner jason ruben and i were wrapping up way of the warrior which was our 3do fighting game and we were trying to figure out what kind of game do we want to make next the biggest genre on consoles at the time were platform action games games like super mario world and all sorts of other classic 16-bit platform games and at the same time in the arcades there was new 3d hardware and
certain genres are making the transition from their traditional 2d state to 3d for example like street fighter 2 and mortal kombat were still all the rage but now there was virtual fighter that was using 3d graphics and they were just cool and it was clear that things were going that way new consoles that are coming out they're going to be 3d can we make a 3d platform game no one had ever done it we're like but it's got to happen think about that world or like speeding through as sonic the hedgehog doing those loop tubes
in 3d what is that gonna look like prior to fall of 1994 naughty dog was just jason and andy and it was the synergy between jason and i we both did all the creative stuff we were best of friends we were roommates and jason was a phenomenal artist and i was a game programmer i think a pretty good one between the two of us like he would try to make it like look incredible i would try to make the technology really work and we both try to make it really fun jase and i had sold
the distribution publishing rights for away the warrior to universal studios to a new unit called you know universal interactive they're basically like come out to california move on to the universal's lot next to steven spielberg and we'll give you like a bungalow for free and like utilities for free and you can just do whatever you want and all you have to do is show it to us called the dog the naughty dog morgan and ourselves into my honda accord and we drove across country so we had lots of time to talk so we're like well
what would it be really like to do a platformer in 3d we're talking about like sonic the hedgehog well imagine you're going through loops or you're running and you're jumping platforms or collecting stuff in 3d the camera's always behind you you see the world and that looks all great but it's like the sonic's ass game all you do is see sonic's ass but the front of the character is where the expression is could we do levels where you come at the camera but how are you going to see where you're going these eventually led actually
to the boulder levels in crash bandicoot should we do levels sideways should he look over his shoulder towards the screen we're simultaneously designing the game that became crash bandicoot and sort of shopping for a platform for it we knew because it was going to be a 3d game we wanted to do something on one of the new 32-bit platforms so there's the 3do which we'd already made a game on but the machine was sort of clunky half 3d machine it was also very expensive and wasn't selling very well then there was the atari jaguar we
just sort of took us a bit of a joke and then you had the big guys all about to release new machines you had some mystery machine from nintendo but we had no way of knowing what nintendo was up to they just basically didn't talk to americans sega had two things going on they had a 32x which was coming out that fall which was some kind of like way in which you souped up the genesis then they were making this new machine that i don't remember if it was called the saturn yet or but it
became the saturn and then there was this wild card sony they hadn't done video games before we heard they had this like powerful new machine so we contacted both sega and sony and got the information on the machines which they gave you to sign your life away and your first board and all that and then you could order the machines if you gave them the deposit and stuff and then sony had this new machine which was like all 3d could do td pretty well too and it was like a new clean design very similar to
high-end commercial 3d hardware like the silicon graphics hardware but with a bunch of simplifications to make it much more economic and there are two main custom chips in the in the playstation one graphics in a sort of custom mips cpu but the gpus today are wildly more complicated they also do a lot of the math work that old gpus and 90s did not do places one gpu just drew triangles on the screen but it was pretty good at it it could draw about 120 000 polygons a second of triangles which was phenomenal if you were
using a pc at the time they had no 3d graphics hardware they had like vga boards you'd be lucky to get a couple hundred polygons because you have to do them all in software but here was the playstation which was going to be like 199 299 whatever it was and it was like a complete machine with a cd drive and with the memory and everything console machines like compared to pcs at the time a world of difference we're talking windows 3.1 and dos to run a game you had usually had to have a boot disk
with like custom auto exec batch and config system you have to open up your machine this was not a very game friendly world on pcs the playstation or genesis or a super nintendo you just shoved in the cartridge of the cd pushed on boom it booted i liked the sony best it was neat and clean and powerful and intended for 3d i really thought it was the only one of those machines that actually do what we were sort of like aiming at so the core idea behind crash bandicoot as a game he was going to
have a mechanic like a game like donkey kong country you were going to go through levels with successive timing challenges and enemies and jumps it was gonna be platforming it was gonna have a cartoony animal character and we wanted to not make it look like a video game exactly we wanted to look like a looney tunes cartoon where the character was highly animated fluid he got mushed by a giant stone roller he got turned into a flat thing that waddled around we wanted a world that like looked like a cartoon world with a kind of
sensibility that was classic cartoons or sort of it was being reinvented at the time with tv shows like duck tales simpsons was big animation was cool again and crash one in a frame they were 30 frames a second we got about 1500 polygons on the screen 600 of them went to crash that's how important he was to us like most people they'd use like 80 and so their characters would look like weird walking blocks we wanted to look like a real cartoon character that required a lot of detail so he gets a third of the
entire budget with crash we were forging into new ground everywhere like no one had ever made a 3d platform action game well it was completely obvious that pcs which were the standard thing that people would use for development machines we're just not going to cut it you know again it's windows 3 1 and no 3d graphics and the things had like effectively 640k of ram we made the plunge to buy for everyone in the company which was about five people this at this stage silicon graphics workstations mostly indigo two extremes these are like 75 to
100 000 workstations they had 3d graphics the software to do the 3d graphics was also like about 75 000 per machine this is what people had done in recent very recent memory of the time terminator 2 or the abyss or even jurassic park on and so we settled on using as our software alias power animator which is one of the three choices at the time so we got this like clunky big box which was like the early playstation prototype and it turned out to be pretty good machine but first you gotta like understand it it
comes with a bunch of like a bunch of manuals which are incredibly badly translated from the japanese and are mysterious and you'd have amusing debates between the programmers what they actually meant by the funny choice of english words the way to really figure out what's new is to test things empirically you do that by taking the individual pieces and you write test code to do certain things on the machine and put it through its paces it's like you know taking a car out on the track and seeing how fast it can actually corner there's a
bunch of different graphics modes and so it's like half speed in the high resolution mode but in the mid resolution mode which was clearly just sort of an afterthought it's the same speed as the low resolution mode jason already made this crash bandicoot character who looks pretty much the same as the final crash bandicoot character and so i had that draw on the screen and we shrank it down to about the size it would be on the screen i ran some code to actually calculate the number of pixels that each of his polygons occupied on
the screen and turned out they were like the average was like 1.2 pixels so i'm like well why would we texture these polygons we decide for characters let's not use the texture mode let's just use the faster easier to use shaded mode which most people didn't do most people just use textures and part of this is because we ran the tests and found that the non-texture mode ran twice as fast like if you didn't run the tests you just sort of like used the numbers in the book it just gave you one number you know
so we figured out that playstation can actually draw a pretty decent number of polygons per second from the graphics hardware but you have to do the math to figure out where those polygons are going to be these days like almost every computer and even your phone have advanced gpus and they have vertex units and they do tremendous numbers gigaflops often of multiple ads but in those days like most computers just did multiplies in ads one at a time on the cpu and they could do like hundreds or thousands not billions this was a serious problem
there was this fundamental problem in the the playstation sort of hardware software interaction where its math side was just not up to snuff but we kind of knew that this was a software issue that like sony just wanted us to use these libraries like that they had written but they weren't really like using the machine to its fullest somewhere in here the designers had put hardware that was designed to do multiple ads because you need to do millions of them but this was all hidden behind a bunch of like c programming language libraries that sony
had which you gave them the numbers and it multiplied them and those things performed terribly while the graphics unit could get 100 120 000 somewhere in that range polygons per second drawn the libraries could only transform the math for them for maybe like 5 000 ten thousand which was just not going to cut it so the base tested performance on vertex math on the playstation one using the official sony way of doing it calling the graphics libraries was like at least an order of magnitude off like one-tenth of what it should be just didn't run
fast enough we kind of did what any sort of good scientist does and you just sort of take it apart and got enough of that figured out that i knew that there was like actually some real horsepower in there but they were kind of like hiding in a way with that particular problem through a series of campaigns through some of the guys i knew at sony the creative solution on both sides turned out to be here's how it works two pieces of paper slid across the desk you didn't hear it from me but that was
actually enough we just sort of systematically worked through what was on there and it turned out that there's this little sort of math side brain it's called a coprocessor inside sony's custom cpu which actually could do this very specifically limited math that was needed to do the vertex transformation and could actually do it just about the speed that the gpu could consume it in pretty much every dedicated gaming hardware since the beginning of arcade games there's always been two pretty much always their main brands you've got the graphics unit and you get the cpu cpus
like particularly old cpus move individual numbers and that allows them to do anything that computers can do but they it's like they have one thought at a time the graph exchange because graphics is a more game specific area it was some way in which it renders its graphics like in hardware early 80s games even something like galaga or whatever where like the aliens are sweeping down those are what are called sprites the cpus at the time could not draw sprites these little graphics units were designed to do sprites and scrolling backgrounds basically all of computer
graphics technology has been driven by the video game but you always had this balance in these machines between their sort of graphics brain and their sort of general math brain graphics units nowadays can do in parallel sometimes thousands of these same operations that's why the actual sort of processing power on a gpu is way more than a cpu like they have many gigaflops teraflops on some of them but they don't do as general stuff let me step back and explain game play in the 2d platform let's take donkey kong country you can move forward and
backward in the level so left and right you can jump up and down or jump up on the platform but essentially it's kind of linear usually go to the right and obstacles come to you this goes all the way back to like pitfall in like 1980. you might swing on a vine swing over so a bunch of spiky things monsters may be crawling on the platforms or bees flying above it's a linear progression you can see where you're going and it's sort of very fast paced it's like jump jump strike jump jump strike so it's
all kind of nicely lined up in 2d the designer measures out this almost rhythmic musical progression of gamers this is one of the things that makes these games really addictive and fun your progress in getting better at the game is to first learn the controls to get good at being donkey kong and then to learn the specific movements of the enemies and the objects in the level and sort of memorize a route it's almost like playing back like in a rhythm game but in 3d everything's different you've added an extra dimension you've now got this
side to side too if you've got in duncan country or mario whatever if three turtles are coming at you you have to jump over or kill or knock away each of the shuttles in succession in 3d you can just go to the right and avoid them entirely you've added a whole extra dimension to the space and so there's too much empty space so this had the effect of sort of diluting the ratio between choice and conflict we had to figure out how to compensate for this in order to maintain the intense action pace [Music] we
had this realization that basically we had added a dimension so the simplest strategy was take out a dimension but take out different dimensions in some way an example of that was say like the boulder level the dimension we're actually taking out there is time it's not one of the the three spatial dimensions because of the hairy nature of it that the boulder is going to smoosh you if you don't move like now now now you don't have the luxury to pick around those other dimensions so it drives you through the otherwise sparser thing so fast
that it feels just as intense and the hog level is a reverse of this but instead of the thing moving you you keep moving at the things like you're on the hog and you can't control how fast he goes he's a wild hog and you have to navigate you know really mostly left and right and then we had the more normal 3d level insulin insanity beach we put walls of jungle up in order to sort of narrow that dimension down not fully but partially and then there's other things to help narrow down by for example
the enemy say like a crab or skunk in those levels they track you laterally it doesn't mean we can't use the new dimension we wanted to because you know box on the left a box on the right and then you can make interesting things where they have to choose to face this peril and go over to that box or if you're in like something like hog wild we would deliberately do this it might be that the spiky thing is over on the left with a box and the clear path is on the right so the
simple way to survive that that obstacle is to go all the way over the right and just ride past the spiky thing then you leave the box unbroken you get the box you have to like go to the last minute right in front of us by getting in the slide over so it gives you this choice or timing elements like on some of those 3d in out type levels like the rollers go in there and then you could time together things like you got these roller ones and then you have like a platform as far
as you have to jump but then you can add to the tension by making the platform like drop it's like a time platform you get on it it goes and then drops and then we had other format levels where he took away a dimension for example there's a bunch of levels that are kind of like say the wall it's essentially kind of 2d i mean you can come out but we've just made a somewhat 2d level by fixing the camera looking to the side and then there's another type of level where cameras up like this
and crash moves in sort of grid but there's not too much play with up and down and instead of being wide open you're above something deadly on on walkways in each of these cases we're like adding constraints or removing areas of degrees of freedom to try to narrow it down and increase the intensity because we have this extra dimension the game is more varied than a traditional 2d one would be because we're removing different dimensions at different levels we have like seven ten different strategies for removing dimensionality boxes too actually were designed to fill in
the void there's not actually that many enemies on screen because we couldn't support that many but we filled in the empty spaces to a large extent with with boxes and then they can drop down in the stacks and create puzzles out of them so they had for what's a simple object you know a few polygons and a few rules they're incredibly versatile we totally knew we wanted to do this kind of animation never really been seen in video games like this sort of looney tune style distorting animation it's a very stretchy rubbery style of animation
which is done in traditional celebration that meant that characters had to really animate traditionally in sort of low polygon 90s era graphics you would make your characters by constructing a very small number of bones upper arm bone lower arm bone head bone and you would stick all of the art that pertained to that character's upper right leg on the upper right leg bone and the bone was like a rigid thing it was like a joint it could be rotated or moved it could kind of go like and if you wanted fingers you had to have
like lots of bones that was just too much math for the playstation handle we just knew it could never handle tons of bones and you certainly couldn't do something like say he gets his hand hit by a hammer in a cartoon well what happens it swells up like a balloon or it gets flattened into a pancake and something like that we just couldn't do that at all with the whole bone system a game like virtua fighter in the arcade used the classic bunsen now this worked okay for a fighting game because there's not a lot
ton of deformation but the characters are a little stiff with bones it's almost impossible or very difficult to do facial animation too and we knew we really wanted facial animation what kind of cartoon character doesn't like smirk or wink is it even possible to get that kind of animation like on a silicon graphics workstation so jason like made this crash model and he set about trying to do cool and wacky animations with him and he found with some work you could get the power animator to actually do it because it had these sophisticated like bone
and vertices waiting tools and these distortion fields and like the way that power animator did those things was just not possible on the playstation these are all things that used the expensive floating point hardware that was on the silicon graphics workstation and it couldn't even do them in real time it had to render them but a video game is real time you have to do everything in a 30th of a second so this was another big problem because he wanted that animation really really bad i'm like well we can read the positions of all the
vertices if you know where the positions of all the vertices are in every frame then it doesn't matter what kind of bones the sgi can use a thousand bones and it's all the same you're just drawing the polygons and their vertices positions and it can be done even quite fast you don't have to do any bone work like so you don't have to spend any cpu on those but the problem with that strategy is then you have an animation where it's 30 frames a second and crash is like 500 vertices maybe like 600 polygons you
got to store the position in every frame animation for every vertex that's a lot of data but at the same time we also are already committed down this crazy memory strategy to 30-fold our data so well we can handle a bit more data than other people can so we would bake down the animation data using all of jason's fancy effects in power animator i did it and it worked because the the playstation development unit had like eight or 32 megs of memory like so you could have a much bigger thing than uh that would ever
work on the real machine so we're working with this for months and always i'm thinking we're gonna have to fit it in there somehow it's just so huge it's gonna have to get smaller but it had this hunch that there really wasn't so much data in a mathematical sense that we could write a domain specific compressor it's called for this so what that means is data in a sort of computer science theory has a certain complexity there's a pattern to it and limits to it and with like the animation data it can tolerate some data
loss this same theory is why jpeg works and why jpeg totally changed the internet and totally changed how images are stored for jpeg you transform the image into frequency space a difficult mathematical transform and you throw away the high frequency junk flip it back and depending on how much junk you throw away it looks better or worse but it's still like the most important parts of the image and it got like 1 20th or 30th the size because you took out the unimportant stuff but i was pretty convinced that this animation data was like that
that you could take out the high frequency information you know like a verdict in his waist it wouldn't move up and down that much mark with this program where he analyzed he took a bunch of the animations and it analyzed every component every vertex and calculated the kind of the dynamic range of the amount of change that occurred across animations and found that indeed the information change was quite low like like they just didn't do much so it turned out we could use this very specialized thing where it would analyze a particular animation and then
it would figure out the range that all these things that would have a map at the beginning that said the like vertex 7 y low information so it only needs two bits and it moves over this range and this one needs this many bits the m was something like 50 or 80 to 1 compression like the data got like you know 50th the size [Music] in looking at the original playstation 1 design while it was well designed and balanced the machine had 2 megabytes of ram and 1 megabyte of vram but it also had the
cd drive which was 640 megabytes of read-only storage and that's a lot more the ratio is very big so i had the theory it would be possible to make levels much bigger than two megabytes ignore in a normal game you have a game like twisted metal or something you go to the eiffel tower level and it would load the eiffel tower level into say one megabyte so they would have a certain amount of art in an animation it was about one megabyte it's worth now you could do various things to try to squeeze that down
but there's no way getting around this basic thing and people didn't really try here's how it basically works so the computer the cpu and the gpu can only really access stuff that's in the memory right now every 30th of a second in a video game is a right now let's render my frame anything you're actually going to draw right now any animation you're going to be using right now any sound you're going to be playing right now has to be in because you can get to the memory quickly the cd takes about a third of
a second to move its head to any specific spot on the cd it takes some time to actually load the data it could load a megabyte in maybe six seconds or something so you can't just go draw one frame and go get a new different megabyte off the disk because it's going to take you eight seconds to get that different megabyte off the disk well what are you gonna do to sit there do nothing for eight seconds you can do that between levels so when level switches that's why a typical game would go to a
loading screen and they'd load that whole megabyte or whatever off the dips the cd it's just a further storage it's bigger but it's slower it's further away from being able to use it but why can't you use it it's there on an early playstation game they have like one megabyte levels or two megabyte levels and the c is 640 well that means they could fit 300 levels along the cd did they have 300 levels no that's that would take them like 10 years to make the game so the cd's just mostly empty or they fill
it all with music because the music is kind of fat or video or something but a lot of times it's just empty games like twisted metal might only be 50 megs on the disc and so every game's levels were going to look like roughly a megabyte maybe a megabyte and a half of data now that was sufficient many many playstation games were made but it was part of my theory that that didn't have to be so [Music] my idea was that i would use advanced virtual memory techniques to swap chunks of data in and out
from the like basically so if the level was let's call it 30 megabytes well maybe you only need at any one moment in time one megabyte but the level's actually 30 megabytes i would chunk the entire level into 64k pages and then there were chunks of data it could be something anything from a crash animation some crash code a piece of background chunks had to be less than 64k like he piled them in until the page was almost full but they couldn't go across pages or you'd have to break the chunks into smaller chunks then
the level consisted of 30 megs of pages 16 18 pages that could fit in memory so the problem is can i arrange the chunks in the level such that at any one point in the level i never need more than 16 pages worth of data and you can actually take the same chunk duplicate it into multiple pages if that makes the whole puzzle work out better the game is constantly it's figured this out in advance but it's constantly figuring out which pages it's going to load in if you're going this way and which page you're
loading you're going that way and it throws away old pages that it doesn't need and loads new ones into their place any page can replace any other page as long as you never need more than 16 active ones at once crash textures are all pretty sharp with a lot of color and detail and tomb raiders are like all washed out and pixely and whatever because they only have so much memory they don't have any place to put all that extra texture we had 20 30 times the amount of space for it or the number of
polygons level something like tomb raider it's pretty blocky like square corridors or whatever and crash has like weird shapes somewhere because we have many more polygons there are a bunch of different technologies that serve this but the memory was a huge one so this was one of my sort of like patching a whole bunch of patents on this actually i was definitely one of the first people to see that you could really use that storage on the cd or the disk drive it really matter as like a dynamic part of your game to sort of
expand that's done all the time now we're not plumber boy the bandicoot will come i'm going to get you now i think one of the core legacies of crash bandicoot is that games can have their own distinct stylistic personality and art style and yes to some extent many did before i mean mario has its own instead of mars style but it's very much an old-timey video game style but crash had its own consistent world which draws obviously from american cartoon style and so but the entire crash product by that i mean our first four games
are consistent within that style the originals still play quite well they still look pretty good even like on a playstation one because the style sort of transcends the specifics of the pixels early on in making it we had this totally arrogant half hope half idea and it was another major factor in choosing the playstation was that nintendo has mario and sega has sonic sony doesn't seem to have a mascot so if we make a mascot game style game on the sony machine like we might not have the same competition and then there was this fairly
immediate buzz where where they're like we have to have this game like we have to make sure it's like only on the playstation and like we deliberately set up to be in the position to maybe do it and then we sort of instigated it but then it worked out was like kind of miraculous but our dream was to become the mascot now sunny never even even when they bought it they never like officially they're like oh it's not a mascot we don't have a mascot like whatever but like everyone assumed it was a mascot and
they got so behind it that they just bought the rice from universal hey plumber boy mustache man your worst nightmare has arrived crash bandicoot started off selling well but it just kept on going and going and going the crash bandicoot the first one sold better in its second year maybe in its third year and i'm pretty sure that when we shipped ctr in the christmas week of ctr crash bandicoot won sold more copies in that week than it had ever sold previously first of all it was a really broad appeal game like everyone could kind
of play it whether you were a young kid or you're a hardcore gamer it wasn't highly violent but the characters were appealing it was funny and the gameplay was like pretty intense and approachable so you could just sit down and play and this is one of the things that we really wanted for it i wanted a game that you didn't have to think too hard about crash bandicoot was really the crucible in which the naughty dog philosophy was forged that every element that goes into the game needs to be great because we wanted to make
a truly great game a game that was going to be a hit a classic in order to do that we we came to believe that everything in it had to be great then you needed the best technology possible to make all that happen the better your technology the better the game could feel the better it could look if you got enough of these things all right you could sort of transcend mediocrity to become like a gaming masterpiece [Music] you