Making Crash Bandicoot – part 3

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. Since during fall of 1994 Jason was also the only artist, he frantically generated all the source material and banged on my head to make sure it would look incredible.

Our motto was “bite off more than we could chew, then figure out some crazy complicated way to make it work.”

The Playstation had this oddball 512×240 video mode that everyone else ignored, it wasn’t standard (320×240) and ate up video memory others wanted for textures. But it looked SHARP and we found the machine was really good at rendering shaded, but un-textured, triangles. In fact, just as fast in the 512 mode as 320. Jason pointed out — he’s always been the master of seeing the intersection between art and tech — that since polygons on 3D characters our size were just a few pixels, shaded characters actually looked better than textured ones. So we went with more polys on the characters, less texture. This was a highly usual approach, but had lots of advantages. The characters popped, like cartoons are supposed to, we had lots more polygons to work with, and it worked around the Playstation’s lack of texture correction or polygon clipping.

Since the soul of good Animation, is…. drum roll please… animation! We were obsessed with making ours look like that really good Disney or Looney Tunes stuff. 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.

We also wanted vast and detailed worlds. Dave, Jason, and I had done a bunch of research “post Doom” on visibility calculation. And Dave and I were convinced that extensive pre-calculation of visibility could allow the renderer to handle A LOT more polygons. So we did experiments in free roaming camera control and settled on branching rail camera + pre-calculation = gorgeous visuals.

The Evolve-o-Ray

The idea was that the camera would follow along next to, behind, or in front of the character, generally looking at him, moving on a “track” through the world. Dave and I experimented with pre-calculating the visibility and sort (the Playstation had no z-buffer, and hence no easy way to sort polygons) ahead of time on the SGI workstations the artists used. Although painful and expensive, this worked really well. As long as you could never SEE more than a set number of polygons (800 for Crash 1, 1300 for Crash 2 or 3) from any given position we could have perfect occlusion and sort, with no runtime cost. We conceived of using trees, cliffs, walls, and twists and turns in the environment to hide a lot of the landscape from view – but it would be there, just around the corner.

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. And at the time, when a 50mhz Pentium with 8-32 megs of RAM was typical, our 250mhz 64 bit SGIs with 256 or 512 megs of RAM opened up totally different computational possibilities. By 1997 I had 4 gigs of ram in my machine! Of course some of those computational possibilities were so brutal that I had to code tools to distribute the calculations out to the video hardware, and chop it up onto all the office machines, where processing could be done in parallel 24 hours a day. Levels often took several hours to process on our 5-8 machine farm!

This was not easy in 1995!

I also concocted a crazy algorithmic texture packer that would deal with the fact that our gorgeous 512×240 mode left us with too little texture memory. And the even crazier – way crazier – virtual memory system required to shoehorn the 8-16 meg levels the artists created into the Playstation’s little 2megs of RAM. Dave meanwhile had to invent insane bidirectional 10x compressors to help get the 128meg levels down into 12, and figure out some tool for managing the construction of our gigantic 3D worlds.

Our levels were so big, that our first test level, which never shipped and was creatively named “level1” or “the jungle,” couldn’t be loaded into Alias PowerAnimator even on a machine with 256megs. In fact, it had to be cut up into 16 chunks, and even then each chunk took 10 minutes to load!

So Dave created a level design tool where component parts were entered into a text file, and then a series of 10-15 Photoshop layers indicated how the parts were combined. The tool, known as the DLE, would build each chunk of the level and save it out. Artists tweaked their photoshop and text files, ran the tool, then loaded up chunks to look for errors. Or they might let the errors pass through the 8 hour level processing tool, there to possibly pick up or interact with new (or old) programmer bugs. If one was lucky, the result wouldn’t crash the Playstation.

But the craziest thing I did was create a new programming language – with Lisp syntax – for coding all of the gameplay. It had all sorts of built in state machine support (very useful with game objects), powerful macros, dynamic loading etc. It was also highly irregular and idiosyncratic, and in true Naughty Dog fashion “powerful but complicated.”

Jason says:

The secret to Crash’s success was its Art. And the secret to its Art was its Programming. [ Andy NOTE: well, and the F-word ]

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.

It is easy to underestimate the value of the pre-occlusion and vertex animation hacks. But let me tell you, this was everything.

The occlusion meant more polygons in the background, and more polygons meant we could do the levels. Without it we NEVER could have made the world look as good as it did.

Our occlusion worked on a texture level. That is, if we had a giant polygon with a fern texture on it (think many leaves but lots of empty space) the occlusion could actually get rid of polygons behind the leaf part of the texture but leave the polygons seen through the alpha channel holes. No other game had that kind of detail in occlusion, and it paid off immensely. Given how small ground polygons could be in the distance, a little fern action went a long way.

We were up against the polygon draw limit at every twist and turn in the game. We wanted to have as much distance and detail visible as possible, but the minute we went over that limit the game started getting “hitchy.” We’d build a level over night (really 4am-11am, the only times the office was ever empty) and come in to see the results. Wherever we had too many polygons we’d add some leaves or whatever to occlude some distance. Wherever there were more polygons available to draw we’d pull leaves out.

And remember, more foreground (boxes, enemies, platforms) meant we had to have less background. So just when you had a level perfectly balanced, someone (usually me or Mark) would determine that the level was too hard or easy and we’d have to add a platform or enemy and the level builder (usually Bob Rafei or Taylor Kurosaki) would have to start balancing the background poly count over again. It was so cruel.

We couldn’t see the result of any change for at least 12 hours, so if we made a mistake we’d make a tweak and then we’d have to repeat the process. No level was “done” till the game shipped.

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.

The most important advantage of our character system was vertex animation. I cannot imagine the torture that other game developers went through trying to bend the low polygon arms and legs of their characters using nothing but bone weighting! When the bones failed for us, and they often did in a character with <1000 polygons, we just grabbed vertices and yanked them around until things were fixed. This is why Crash doesn’t bend and fall apart when animating. It meant more mobility and stretchability.

In some of the most stretched or bent poses, we just pulled vertices by hand and forgot the bones altogether, which brought us two additional abilities that nobody else had. [ Andy NOTE: this allowed the same animation techniques then at use at Pixar into our little effort ]

The first is that the characters in Crash had different facial expressions on every single frame. Forget bones. I just pulled the vertices until I had what I wanted. It doesn’t sound like a big distinction, but I could go from a huge smile full of teeth to a whistle mouth that was toothless or no mouth at all just by collapsing vertices on top of each other to make zero volume polygons. Thus Crash had a more expressive face than any other character had ever had before, and this created emotion that gamers hadn’t felt before.

It was that opening sequence, when Crash pulls his flat face out of the sand, shakes it off, looks confused, leaps up, looks at the camera and does his great big goofy smile that SOLD Crash as a character. No 2d game could afford the art, and no other 3d game had the facial animation that our vertex system brought. And thus the main character transformed from emotionless “vehicles” to an emotive friend.

Before Crash characters had no emotion (Pacman, and even Mario), or one dimensional emotions (Sonic was “fast”). Crash had facial emotions that let him speak to you and gave him personal range. Crash wasn’t any one emotion. Crash was Crash. For example, you could see Crash acting like a mime. Sonic and Mario weren’t capable expressing even a mimes range of emotion until after Crash came out. “Itsa me, Mario” just doesn’t cut it, especially when Mario’s face didn’t even animate as he said it!!

Of course it wouldn’t be until much later that the game industry got fully 3 dimensional characters, like Daxter, who had full personalities, and could go beyond mime and do, for example, a scene from Shakespeare, but in their very own way. But that’s a story for another time. [ Andy NOTE: and when we got there we had to build a special “face engine” and “eye engine” to do it ]

The second thing that vertex animation allowed is total warping of the character beyond bones. If I wanted Crash to become a balloon, I just animated a keyframe of him wrapped around a sphere (shoes and face usually un-stretched!) and the game tweened to it. If I wanted to smash him flat into his shoes I just folded his legs and body up into his face and cleaned up the resulting frames as it went. The animators were free to do anything, and we did. Again, helped endear Crash as a character.

That made Crash’s characters feel more like the Loony Toons than the stiff 3d bone creatures of the day. I still have a signed copy of Disney’s “The Illusion of Life,” by Frank Thomas and Ollie Johnson, two of the greatest animators of all time. It’s dog-eared and beat up. Bob, Taylor and I read it, absorbed it, and tried to live it.

Again, all this was only possible thanks to some incredibly crafty programming from Andy, Dave, and Mark.

I have always, always, always wanted to know what ND was like before my time there. It’s great to read about the origins of our “make the impossible possible” ethos. Looking forward to the rest of it!

http://mascherato.wordpress.com agavin

Smaller. Similar. Even more intense. Like a overly boyish family?

http://www.renderingevolution.net Eric

Wow, its very interesting to see how you guys approached the problem of tools for your game. And as usual with game development, you need machines 10x more powerful to build a game that will run on a target that is not that powerful.
Most insane is that you guys did all of this with less than a handful of programmers!
And finally, when I see “we rendered 800 polygons total on Ps1″ made me smile… I dont know what we would do today if I went to an artist and said, hey the world needs to be 800 polys total. We wouldn’t know how to build it. Its sad to see that all those skills are getting lost with the new platforms that we deal with !

http://mascherato.wordpress.com agavin

Although 800 polystyrene was just the background and the limit for what could be on screen. The levels themselves usually had several hundred thousand polys. The foreground might have 900 or so at any one time. Bosses had less in the background and more in the foreground.

http://www.renderingevolution.net Eric

Ah yeah. You’re correct Andy. I actually meant 800 polys on screen for one frame for the background. When I remember Jak being 150K, and now we can do 1M on Ps3. Doing 800 polys/frame is a skill that is lost now I think since we barely do 15K/models now

http://mascherato.wordpress.com agavin

Jason would sometimes work for a couple hours to shave off like 15 polys from Crash. It made a huge difference as he was on screen 100% of the time.

http://none Adam Black

Very sweet I love the thought of Animation as when I was at school knowing Naughtydog make crash games. I said to myself I hope to find a career in animating and now I am doing polygon’s too.

http://mascherato.wordpress.com agavin

http://scedevnet.wordpress.com SCE DevNet

honestly, work whit those terrible hardware and software… think to “Crash is just a Miracle” from 95’s years! Guys, you are Awesome!

http://mascherato.wordpress.com agavin

Skill, luck, and a lot of hard work on the part of the whole team!

http://excitemike.com Mike

These are super interesting! Looking forward to the next part.

http://mascherato.wordpress.com agavin

Coming up tomorrow — on developing platforming gameplay in 3D with no prior examples.

http://draconiansolo.wordpress.com fdevant

MOAR!

http://www.facebook.com/FakersLetsRock Nitro

Damn, wish I knew what this all meant… I swear, writing scripts is easier than game making. ^_^’ glad ya went to all this trouble for Crash!

Andy, I was wondering. When you talk about Mark, I’m guess you’re talking about Mark Cerny… Wasn’t he a Universal employee at the time? But he still did lots of coding and design for Naughty Dog it seems…

http://mascherato.wordpress.com agavin

Yes, Mark Cerny. During the Crash years Mark was a Universal Executive. He mostly did producing and level design and all sorts of “discussing.” Generally for each game he’d do a spot of guest coding (a week or so) where he would code one hard thing to keep up his coding edge. By Jak & Daxter he was an independent consultant working for us, some others, and Sony. His biggest coding project was the Jak & Daxter foreground engine, MERB (the M stands for Mark).

http://jasonrubin.wordpress.com jasonrubin

Mark Cerny was always the Nth dog. When we were 7 he was the 8th. When we were 23 he was the 24th. You get the idea. As long as Andy and I were there Mark was always integral in the game design and coding.

Andrew

“Years later Sony tried to create a game called Harry Jalapeño to compete with Crash.”

So Sony wanted to make an IP to compete with one that was already exclusive to its console, not to mention successful? Isn’t that probably the worst thing one can do when you’re already going toe-to-toe with Mario?

Were they just eager to bank on the novelty of a Crash-clone, or is there more to that story?

Neo Yi

Reading all this, I’d say the graphics really paid off. The game came out in 1996 and I am STILL blown away by the beautiful backgrounds. The sunsets, the shadowy towers in the background, the dark temple, those creepy Cortex TVs in one level (Generator Room, I think). There’s a lot of debate on whether video game is art, but there is no question in my head that I truly think the first Crash game fits that category very well.

http://mascherato.wordpress.com agavin

Thanks! We really tried to make it as pretty as we could. It was all about creating a fun world to be in, and we though it ought to look, sound, and play as cool as possible — given the human limits of working 110 hours a week for 2 years, haha.

http://none Adam Black

On crash 3 when you completed the game I saw 3 other crash’s dancing. On 3 levels of (Toad Village) (Makin Waves) and (Hog Ride) which was (Fake Crash) and it made me very surprised and excited.

How did that idea come.

http://mascherato.wordpress.com agavin

Fake Crash came from a Japanese commercial. They had this really funny commercial where some kids were chasing Crash and instead they caught “fake crash.” We thought he was so funny, that put him in Crash 3 as a sort of easter egg. The Japanese loved it. Part of the joke too was that Universal had made a series of stuffed Crash toys which were SO UGLY, I mean SO UGLY, that they looked more like fake Crash than real Crash — seeing them the first time in the marketing exec’s office set me to literarily laughing for 30 minutes straight and rolling on the floor (Jason will verify).

The marking peeps didn’t think it was funny.

http://www.scivium.com Tom Plunket

I may be misremembering, but I don’t think any early generation PSX games used skeletal animation. The two notable character games in my mind are Tomb Raider and Die Hard, and both of those used segmented meshes. On the PC the big players were still doing vertex animation. I remember thinking myself quite clever when proposing that we “stretch polygons over the joints” for Syphon Filter.

It’s a bit disheartening to read some of this though, since on Bubsy 3D we did a lot of the same things but obviously failed to make the same level of product. Vertex animation, light on textures, 512×224… Our investment in tools however was not nearly what you guys seem to have gone with, and the enabling effect of a good toolchain continues to be misunderstood even today!

http://mascherato.wordpress.com agavin

Everyone thought we were crazy with our tool chain — and even so it wasn’t nearly as good as we liked. Boy was it hard to use and prone to breakage.

http://www.scivium.com Tom Plunket

…of course my bad since “skeletal animation” they were, just not single-skinned mesh. it was too early in the morning…

Jeremiah Zanin

I loved reading this blog series! I’ve always been in awe of Naughty Dog’s technical ability. I know you used PVS in Jak & Daxter and Insomniac used it in Ratchet and Clank, do you know if that continues today? Did the amount of pre-computation (PVS, streaming, texture packing etc.) increase with new console generations (relative to the hardware)?

This is a very interesting read. I only know the basics about game development, but learning what it was like to develop on early consoles is really amazing.
I feel like I’m the target audience for Naughty Dog games. I played Crash Bandicoot as a kid, then in my teen years, Jak and Daxter was my favorite PS2 series. Now I play through Uncharted loving every minute of it!
Thanks for doing great work and making Naughty Dog my favorite game development team!

Its really amazing to see how things changed in the videogame industry over the years, a great game like Crash Bandicoot was made by three talented guys, and now games require big teams with all sorts of roles. I used to play Crash when I was really young with my sister, Crash will always be part of my childhood memories. When I go to college i want to study game design and I really hope one day I get to work at Naughty Dog.

http://revergestudios.com/reblog/index.php?n=ReCode Emil

I worked at ND for a few months back in 2006. I caught a glimpse of the last game that was shipped with the LISP-based system Andy describes. IMHO it was a big mistake to move away from it. It looked like taking candy away from a baby, that’s how much the programmers loved it.

http://mascherato.wordpress.com agavin

Haha. In 2000 we had “the great Goal revolt” when all the programmers ganged up on me and complained about the environment. But by Jak 3 and 2003-4 all but 1 or 2 loved it. Many still tell me how much they miss it.

Besserwisser

And at the time, when a 50mhz Pentium with 1 meg of RAM was typical

I think you have a typo there. It should probably be something between 4 and 16MB RAM. Even my Amiga 500 had a meg of RAM (my 486 had 8)

http://mascherato.wordpress.com agavin

Yeah thanks. Fixed it.

Heitor

If there is one thing I can say, it is to thank you for all the fun I had playing Crash and other amazing Naughty Dog games

http://none Adam Black

If any of you ever wanted Video Games Soundtracks like crash bandicoot then here is the place to get them.

choose from A-Z of your title and click on the soundtrack and where it says (Click Here) right click on that and open with itunes or other.

ps:Any chance to release some source code ?
From the game and/or the tools ?

That would make my day

http://mascherato.wordpress.com agavin

I don’t own (or have) the source code — so I can’t post it

its_not_ame_mario

Many thanks for replying.. just had to ask since CB series is one of the 2 reasons that i became a ‘totally burned’ programmer

*Goes back to page 4

http://mascherato.wordpress.com agavin

totally burned?

http://camendesign.com Kroc Camen

What strikes me is just how close to the bleeding edge game developers had to be to produce a game. I could never have imagined that Crash Bandicoot had to be prerendered over night on graphics workstations. One would have imagined — as it would be now — that making levels was just a point and click job on a PC.

How much that must have constrained you in the creative process, yet it was still such a beautiful game with so much detail. It was like nothing else at the time, I even remember arguments with school mates over Crash Bandicoot vs. Pandamonium!

Mike Lamb

Andy, I don’t know if this has been asked already, But did you plan on going a different direction with Crash if Universal Didn’t make so many changes? For example, Twana, Crash Girlfriend, where would she have gone? Again, Sorry If this has been asked or explained several times, I do apologize.

http://mascherato.wordpress.com agavin

It is a mistake to assume that there was a “long term plan” at Naughty Dog for Crash beyond CTR. During CTR, we had already begun work on Jak & Daxter, and did not explicitly plan another Crash game at that point. Workloads at NDI were always very intense, and there was no need or time to speculate on projects we weren’t actively working on.

That being said, HAD we decided to do further Crash games, and actually designed them, they would certainly have been radically (haha) different than the major one that followed early in the PS2 era (Wrath of Cortex). I can’t say what we would have done — but that wouldn’t have been it. Jak & Daxter was where our thinking was going at that time. Toward huge NO LOADING open worlds and more in-depth story telling, and away from the more classic platformer gameplay of Crash.

Hey, i would like to know a couple questions about “crash”
1.Did you think “crash bash” would be a good game (i was wondering because its a different style of a crash”
2. Why did you make “CNK”
3. If you had the chance, would you make another crash game
4. in “crash bash” did you have any control over how “crash carnival” was made

Crash was my favorite game, i didn’t even bother with Spyro.I remember when i was a kid i had a dream that crash went to my house, and in the dream it felt like i was best friends with him. Weird dream! but thats how much i played crash then. Thanks for making my all time favorite games.

http://mascherato.wordpress.com agavin

There is a detailed comment that I left some time ago about Crash Bash buried somewhere in one of these posts. Basically, Mark Cerny made Crash Bash with our blessing and a different developer. It’s the last Crash game that had ANY of the original people on it, but it was not a Naughty Dog game.

Crash bandicoots best friend

so i am guessing you only made crash 1,2 and 3?
if so, would you make another crash game if you had the time?
Thanks

http://mascherato.wordpress.com agavin

Crash 1, 2, 3 and CTR were all Naughty Dog games. On 1-3 I was lead. For CTR I had a more supervisory role, but I was right there (working on Jak & Daxter mostly).

I love the Crash Bandicoot games you guys made, but those new Crash Bandicoot (titans and mutants things) are STUPID! I want the old Crash Bandicoot back!

Ana

Hay,I love Crash Bandicoot games,but I don’t now how to download…

http://all-things-andy-gavin.com Andy Gavin

The game? You buy it on Amazon or on the Playstation online market. It isn’t free. (nor, I must note, do I get any money from it)

sammy

wait so r u saying that everytime someone buys it off the playstation market u dont get a single penny out of it? that would be obsurd.

http://all-things-andy-gavin.com Andy Gavin

I don’t get a penny on it anymore anywhichway someone buys it

sammy

wow that sucks andy. u totally deserve the credit for all ur hard work. btw its such an honor for u to answer my question. i was the biggest crash fan ever since 1997 when i was seven years old and played crash 2 for the first time. that game took a huge dump all over all the other games at the time. btw its such a shame to know that tawna left crash for pinstripe

http://all-things-andy-gavin.com Andy Gavin

Haha. Crash can do better

Ana

Can you help me to download all games the Crash Bandicoot

http://all-things-andy-gavin.com Andy Gavin

Uh, no

http://www.facebook.com/profile.php?id=100000399354815 Cody Hastings

Are you in charge of Uncharted? if so kudos. The last of us is looking decent too. hopefully naughty dog will stay true and make an interesting game in the over saturated zombie game market

http://all-things-andy-gavin.com Andy Gavin

I left naughty dog in 2004, so no

http://www.facebook.com/Moshuadeath Joshua Stephens

I remember one time in highschool a couple of my friends and I were joking around at lunch, that’s when I got THE best comment I’ve ever received about my personality– “Josh, you know who you remind me of?” Who? I said. “You remind me of that video game Crash Bandicoot combined with a bunch of Jim Carrey.”

I can draw also, I have been for so long that you could say I left cave paintings on my way into this world. But ever changing as my taste in art grew, Crash Bandicoot was always involved, his personality you guys created, the love for developing such a well-rounded character for whom technically had no voice, aside from the occasional, “Whoa!” That I love shouting at any given opportunity.

It’s silly, cheesy even– likely impossible. But… My dream ever since I had played the first Crash Bandicoot game that wasn’t developed by Naughty Dog was to recreate my literal HERO. I knew things were sour when I didn’t see my favorite developer logo pop up as soon as I turned on my PS2 then so I took that much as a sign, sure I played Crash Bash- it was a party game (Point is that it isn’t ND), but The Wrath of Cortex was meant to be a reinvention, the core Crash game for a new generation. I saw it on Xbox… Immediately heartbroken. What happened to the PlayStation Mascot, the literal reason I became SONY ONLY… I mean, I had the same Boss battles over and over- nothing too exciting or creative in the game, it was too centered around, ‘HEY LOOK IT’S CRASH’ and left at that. The gameplay wasn’t payed attention to it felt like and the physics weren’t the same either. Bleh. I dunno. I just wish one day I could either become a part of Activision or Naughty Dog, either side that gets me closer to and in order to take back what fans have wanted desperately for years, our childhood, our Mario killer, our answer- What made us want to stay home from school or stay up late at night. Crash Bandicoot 2 was my favorite, not sure why haha.

I hope one day the world US Crash fans lived in once before could be revisited.

Playing this game as I type. What a fantastic achievement, and I can still appreciate the effort and programming wizardry that went into it. I seriously hope you guys can get hold of Crash again in the near future.

thanks for the reply! and after reading the comments i can see now why you did leave ND .
but can i ask you about why was crash bandicoot 1 bigger in size than the 2th and 3th even tho they looked like having better textures and more polygons?
last thing i want to tell ya that i liked your amazing novel “the darkening dream” one last question would you ever consider carrying it out to the golden screen if you ever get an offer or can you see it fitting as a movie?? sorry for my terrible English.

http://all-things-andy-gavin.com Andy Gavin

For sure. I’d be happy to have it adapted

Sent from my iPad

Videogames888

Andy,whats your favorite crash game that you did not make.

http://all-things-andy-gavin.com Andy Gavin

None!

Videogames888

Ok also why did you choose the playstation.Why not the N64 or Sega Saturn?

I just wanted to thank you for having a big hand in developing one of the biggest parts of my childhood.

Wolfang Salazar

so you didn’t use a skeleton system or a single bone in the entire game, and you stored the animation as vertex data for every object of the game right?

so if I wanna make an animation for crash model of 5 second and this moves at 30 frame per second, so I would need to store 30 vertexes per every second of the animation to move a single vertex, so to make an animetion for crash model in the worst case(moving every vertex of the model) so the number of vertexes in memory is = 30 vertexes*n-model-vertexes*n-secOfAnimetion , =30*512(num of vertexes in crash’s model)*5, = 76800 vertexes, them
the amount of memory of each(assuming you stored it as an C’s short int ) would be of 6 byte per vertex(2bytes*3), 76800 * 6=460800bytes=450KB, so this animation of 5 seconds consumes 450KB of memory and the psx only have 2MB of ram + 1MB VRAM. very expensive!

So guys how did you compress that?which method did you use? some details o a piece of code would be cool!

sorry if there is any mistake in my argument, I am a Computer Science student and I love the programing part of the games and I hope someday get a job in a game company(who knows maybe valve).

Greetings from Venezuela.

http://all-things-andy-gavin.com Andy Gavin

We had a really sophisticated vertex packing algorithm to fit all the animation. It stored all the vertex positions using a 4 dimensional delta (both positional and temporal) using a bit based code so each vertex offset only used the minimum number of bits. It did around 30-50 to 1 compression!!! And the decompressor was all written in assembly.

sammy

dear andy gavin,
thank you so much for the awesome crash bandicoot games. your games were so addictive that it led me to fued with my brother over who gets to play the playstation. my brother would obviously play since he was older, and would tombstone piledriver my ass if i tried to play when he was around..ur game was so addictive. i couldnt pay attention in school, i wouldnt do my homewwork. all i would do is play, think of, and draw crash crash crash hahaha. dont worry im not mad, im really glad. ur awesome. i remember when i was younger i would google creators of crash and see pictures of u and rubin and i would think o i bet these guys arent the guys who programmed crash. they obviously came up with the idea and hired others to program the game but after reading your posts i realized the truth. god bless u.

Robert McMullin

Hey, Andy. Yesterday was the 20th anniversary of the PSX in Japan, and it made me revisit it. The company you and Jason created and molded has given me the best experiences in gaming I have ever had. Yes, products after 2004 are still dear to me (Uncharted, TLoU, etx.), the endless hours I spent on Crash and Jak and Daxter contain some of the best memories I have. That was back when playing games with your mom didn’t have you worrying when the next F-bomb will drop. Crash and Jak and Daxter are such fond memories, and I wanted to thank you for the hard work you put into it. Although I doubt you haven’t been told so already, you made a huge impact on many lives, including my own. Thank you!

http://all-things-andy-gavin.com Andy Gavin

You are very welcome!

SubDiver

This is really excellent, this article is !the! perfect way to enjoy a peaceful afternoon. I cannot understand why i never knew about this site before! What can i say? A package of god-written code? A golden piece of gaming history? A piece of art? A powerful drug? Some of us call it Crash Bandicoot, i call it sensation! Congratulations for all your work, best regards from a European independent game developer (Everybody is a game developer nowadays, Basic programming knowledge “if,for,while”, laptop, cracked photoshop and a copy of Unity game engine, online tutorials and bingo) Anyway, those were the days. Do you like the current game industry? Do you think that it came the right way after all these years? Personally i think that in 10 – 15 years in the future nobody will remember the games that now we play, maybe is due to the huge competition. I don’t get it, today we have the computation power to make movie look a like graphics but something is missing..

http://all-things-andy-gavin.com Andy Gavin

I think people will absolutely remember current games. Really, it’s all about how much time you spend playing the game. If you speed 100 hours playing Dragon Age Inquisition, you’ll remember it your whole like (unless you have a blow to the head). If you have a WOW addiction (like me, be sure to check out all my write ups http://all-things-andy-gavin.com/video-games/) you’ll never forget that year of your life you lost. haha

SubDiver

No, i’m not so in to it, i mean the WOW. I build a “monster” PC recently and and i play Alien resurrection, and my new Far Cry 4! I play crash even today, especially CTR (What a game) even my 17 years old nephew (LOL addicted) says that this game is awesome (and he loves the graphics) but i prefer to emulate the game, i ripped all my psx games and now i can play crash without at 1080p through the emulator, no more flickering or low resolutions, too bad you didn’t add 16 : 9 aspect ratio :P. Anyway i really want to read your article about WOW but the link is broken for some reason, thank you!

The technical details you and Jason share about Crash’s animation and the games’ polygon render are really awesome.
Now, I’ve been sketching these days about the possibility to recreate all of the mentioned information from this part (or the whole Crash Bandicoot engine for that matter) in C, targeted to either powerful PCs or mobile phones, while maybe utilizing really great Open Source software that is out there; forget full-fledged SDKs like Unity3D or UnrealDK, just pure C and whatever available libraries. Do you believe that this is possible: a recreation/imitation of Crash’s engine with nowadays’ resources?
I’m asking this because I’m interested in seeing how easy (or hard) it is to reproduce it, just as an experiment.

http://all-things-andy-gavin.com Andy Gavin

Unity and Unreal on Mobile would be more than powerful enough to replicate Crash Bandicoot. That being, said recreating that much game isn’t EASY. Not to mention Activision still owns the rights. You could probably even emulate it (if you had the rights)

Keyaku Suttilam

Thank you for the quick response!
I’d never thought Unreal and Unity are good candidates to work with to replicate Crash Bandicoot. Plus, now I’m sure that it isn’t easy (I expected it to be hard after reading these posts).
I’m still interested in recreating it, though, and I’d like to try my best to not avoid using emulation, even if it might be, or actually is, the easiest technical approach. There’s this ongoing project called OpenTomb which is a complete rewrite and attempt of replication of Tomb Raider’s 1 through 5 engine. This is what’s sparking my interest.
As for the rights, Activision owns the rights (and I thought their contract has expired a year ago), but I do not want to make this an official release, or the sort, or needing to get a hold of the rights. I want (and hope) it’ll become a community-driven project.
Of course, it’ll take some time before it gets initial code published. I need to make certain that people know what the direction is before asking for public contribution, unless someone is already willing to help.

http://all-things-andy-gavin.com Andy Gavin

I don’t think you can really “release” something using someone else’s characters at all. Not my area of expertise.

Keyaku Suttilam

I’m sure that if we all close our eyes for a few moments, maybe it’ll pass…!
Jokes aside, if that really is an issue, I’ll try to address it as best as I can since my objective isn’t to steal or sell copyrighted material.

So I can rest assured that computers nowadays, and even smartphones, are able to run a less optimized replication of Crash Bandicoot (as I’m not, unfortunately, an optimizing wizard like you and your team back then, or anyone at Naughty Dog overall).

Thank you for your time!

Also, going through these posts from time to time always seem to inspire me, so thank you for that as well!

http://all-things-andy-gavin.com Andy Gavin

Eyes closed

Marios Koutras

… You guys “hacked” the console and sony said “We didn’t know our console can do this”! I’ve always wondered why crash looked so good compared to other playstation games. Back then, If someone claimed that N64 has more bits, we always had the answer “Crash Bandicoot” and it worked! I don’t know about linear gameplay for crash, the game was great fun, and later with Jak games you nailed it, this is the ultimate example of what a game must look like! The mainstream games now is cutscenes here cutscenes there, tap the buttons in the correct timing, gameplay interrupts all the time, this is more like an interactive movie. Even uncharted 3 has it’s share on this, i wonder how the game would be if you were there and Jason was in charge! Can we hope for “making Jak & Daxter” article in the future, even a small one?