Ready Player One

Title: Ready Player One

Author: Ernest Cline

Genre: Pop Science-Fiction

Length: 384 pages

Read: September 13-18, 2011

Summary: 10: buy book 20: read book 30: goto 10

_

I read this after two different friends recommended it in the same week. Wow! If you’re one of my (presumably) many readers who love video games. Go buy and read it. This is pretty much the ultimate classic video games novel! And I should know, having been born in 1970, the perfect time to experience the full rise of video games and modern pop culture (inaugurated May 25, 1977). I was so enamored of computers in general and these little beasties in particular that I went and made (and sold) thirteen of them professionally.

But back to Ready Player One. It’s a first person narrative set in a roughly 2040 dystopia where the world has basically gone to shit and most people live inside a gigantic virtual reality video game. It’s creator has died and left his vast fortune to the winner of an elaborate easter egg hunt (think Atari Adventure Easter Egg crossed with the Great Stork Derby). This whole world and contest centers around an obsessive love of all things pop-culture and 80s, particularly films, comics, and most importantly, video games.

In practice the novel is an old school adventure set mostly in virtual reality. But it contains an astounding number of well placed and deeply woven 80s pop-culture references. For me, they were continual fun. I got 99% of them, including some damn obscure ones. I’ve played every game described in the book (except for Dungeons of Daggorath — never had a TRS-80 — but it looks like Wizardry), seen every movie, heard nearly every song, etc. I don’t know how this book will read for someone a lot younger who isn’t up on all this old school geekery, but I sure enjoyed it.

The story is great fun too. The protagonist is likable and all that. It’s not a long book but races along. There are a few second act jitters (the “romantic” period between the first and second keys), but I blew through them fast enough. The prose is workmanlike but unglamorous and there are some cheesy or cringeworthy moments. They don’t distract from the fun. The last third in particular was awesomely rad with numerous 1337 epic moments. When the protagonist faces off against an unstoppable Mechagodzilla avatar and invokes a two-minute Ultraman powerup I felt tears coming to my eyes.

As Science-Fiction the book is a bit mixed. Mr. Cline manages to deftly describe what must to the novice be a bewildering array of virtual reality technologies and concepts. He’s fairly unusual in actually specifying some of the interface elements in his world and he does a credible job with all of this. Nothing stood out as particularly bogus, but was based on decent extrapolation. There are some elements, however, which still exist in his 30-years-from-now future that are already on the way out. Hard drives in “bulky laptops” for example. One only has to look at the iPad and the Macbook Air to see that writing on the wall. Again, I must point out that these minor quibbles do not detract from the book’s extreme fun factor.

Cline is uncannily knowledgable about his video games (and again, I should know), but there is a curious oddity in the biography of the central Bill Gates crossed with Richard Garriot character. He is described as releasing his first hit game (for the TRS-80) in 1987 in plastic baggies. Besides wondering if any TRS-80 game had much cultural impact (Read my own Apple II guy origin story here!), the date is totally off. If he was talking about 1982 that would have been fine. But by 1987 the TRS-80 had gone the way of Allosaurus and plastic baggies hadn’t been seen in years. My first game, Math Jam, was released in baggies in 1984 and that was way late for them. 1987 featured games like Zelda II, Contra, Maniac Mansion, Mega Man, and Leisure Suit Larry. All of these are well after the era venerated in the book. This small, but important, error is odd in a book so otherwise accurate. I can only assume that the author (and his character), living in the middle of the country, existed in some kind of five-year offset time-warp 🙂

On a deeper level, the novel toys with one of my favorite futurist topics: Will we all get sucked into the computer? I actually think the answer is yes, but that it’s unlikely to happen via 90s envisioned visors and immersion suits (like in Ready Player One). I think we probably will have retina-painting laser visors/glasses at some point. Then neural implants. But the real big deal is when our brains are digitized and uploaded into the Matrix. Muhaha. I’m actually serious, if flip. Eventually it will happen. If not this century then the next. I just hope I make it to the cutoff so I can evade bony old Mr. Grim and upgrade.

In conclusion, I have to agree with the back cover quotes of some other authors I like:

John Scalzi: “A nerdgasm… imagine that Dungeons & Dragons & an ’80s video arcade made hot, sweet love, and their child was raised in Azeroth.”

Patrick Rothfuss: “This book pleased every geeky bone in my geeky body. I felt like it was written just for me.”

So if you have even the least enthusiasm for video games, virtual reality, 80s pop culture, or just plain fun. Go read this book!

For more book reviews, click here.

PS. If you are 5-10 (or more) years younger than me (born 1970) and have (or do) read this book. Tell me in the comments what you think of it. I’m really curious how those who didn’t live it see it.

I couldn’t resist.

So you want to be a video game programmer? – part 1 – Why

This post is a sequel of sorts to my How do I get a job designing video games. The good new is — if you’re a programmer — that nearly all video game companies are hiring programmers at all times. Demand is never satisfied. And the salaries are very very competitive.

The bad news is that it takes a hell of a lot of work to both be and become a great game programmer. Or maybe that isn’t such bad news, because you absolutely love programming, computers, and video games, right? If not, stop and do not goto 20.

I’m breaking this topic into a number of sub-posts. Although this is the intro, it was posted a day after the second, number 2, on types of game programmers, but I’m backing up and inserting this new number 1 (I’m a programmer, I know how to insert). Other posts will follow on topics like “how to get started” and “the interview.”

_

So why would you want to be a video game programmer?

Let’s start with why you might want to be a programmer:

1. Sorcery. First and foremost, being a programmer is like being a wizard. I always wanted to be a wizard. Given that magic (as in the D&D variety) doesn’t seem to be real (damn!) programming is the next best thing. Computers are everywhere. They’re big, complex, and all sorts of cool everyday devices (like iPhones, set-top boxes, cars, and microwaves) are really basically computers — or at least the brains of them are. 99.9% of people have no idea how this technology works. As the late great Author C. Clarke said, “any sufficiently advanced technology is indistinguishable from magic.” Yay computers! If you actually know the arcane rituals, incantations, and spells to controls these dark powers then you are… drum roll please… a wizard.

2. Career security. Computers are the foundation of the 21st century economy. Nearly every new business is based on them. Knowing the above incantations is secret sauce. All the growth is in high tech (product possibility frontier and all that). Hiring is supply and demand too. The demand is for programmers and other high tech specialists.

3. Even more career security. Programming is hard. It requires a big New Cortex style brain. This means lots of people can’t do it. It takes years of study and practice. I’ve been programming for 30 years and there is still an infinite amount for me to learn. Awesome!

4. It’s a rush. Creating stuff is a rush. Making the infernal machine bend to your warlocky will is a huge thrill. It never gets boring and there is always more to learn (related to #3).

5. It pays really well. This is related to #2 and #3. People need programmers and they can’t get enough, so they have to pay competitively for them. Even in the late 90s early 00s at Naughty Dog it was very rare for us to start ANY programmer at less than $100,000, even ones right out of school. Good ones made a lot more. And if you’re a total kick-ass grand master wizard (nerd) like Bill Gates or Mark Zuckerberg you can even start your own company and make billions. Take that you muscle bound warriors!

6. Solo contributions. You like spending time with machines and find all day dealing with illogical humans at least partially tedious. Sorry to say it, but even though most professional programming is done in teams a lot of time is spent at the keyboard. For some of us, this ain’t a bad thing.

7. Socialization. You need an excuse to hang out with others. On the flip side, because of this team thing you’ll be forced to socialize on and off between coding. This socialization will have certain structural support. This is convenient for the would-be wizard, master of demons but terrifying forces, but afraid of starting conversations.

So why would you want to be a video game programmer specifically?

8. Video game programming is really hard. Probably the hardest of the hard. It combines cutting edge graphics, effects, the latest hardware, artistic constraints, tons of competition, very little memory, and all sorts of difficult goodies. The really serious wizards apply here.

9. Other types. Video game teams have artists, musicians, and designers on them too. Lots of tech jobs don’t (although they sometimes have those pesky marking folks). Artists etc are cool. They know how to draw or compose cool stuff which makes your code look and sound much cooler.

10. Consumer driven. If you make it to work on a professional game they often sell lots of copies and people will have heard of what you do. This is much much cooler than saying “I worked on the backend payment scheme of the Bank of America ATM.” It’s so cool that it might even get you laid — which is an important concern for bookish wizards of both genders.

11. It’s visual. Seeing your creations move about the screen and spatter into bloody bits is way more exciting than that green text on the bank ATM. Talented artists and sound designers will come to you with said bloody bits and all sorts of squishy sounds which will make your coding look 1000x more cool than it would by itself. If you aren’t into bloody bits than you can work on a game where enemies explode into little cartoon rings. It’s all cool.

12. It’s creative. For me, I have to create worlds and characters. I’ve been doing so my whole life. Right now I’m not even programming but I’m writing novels, which is also about creating. Programming in general is pretty creative, but game programming is probably the most so.

13. Love. You love video games so much that working on them 100+ hours a week seems like far less of a chore than any other job you can think of!

I’m sure there are more reasons, but the above seem pretty damn compelling.

CONTINUED HERE with Part 2: “The Specs”

_

Parts of this series are: [Why, The Specs, Getting Started, School, Method]

Subscribe to the blog (on the right), or follow me at:

Andy:  or blog

Or more posts on video gaming here.

And what I’m up to now here.

So you want to be a video game programmer? – part 2 – Specs

…CONTINUED FROM PART 1.

There are a couple of broad categories of programmers working on video game teams. If programmer is your player class, then the following types are your spec. Programmers are all warlocks and mages so instead of “demonology” or “frost” you can choose from below. (NOTE: if you don’t get this joke, you don’t play enough video games) This is the real world however, and many programmers dual (or even triple) spec — i.e. they handle multiple specialties.

1. Gameplay programmer. Programs enemies, characters, interfaces, gameplay setups etc. Probably also does things like AI and collision detection. These programmers are sometimes a little less hardcore technical than some of the other types, but this is the sub-field where the most “art” and experience are often required. Learning how to make a character’s control feel good is not something you can read about in Knuth. It takes the right kind of creative personality and a lot of trial and error. In a lot of ways, this is the heart and soul of game programming, the spec that truly differentiates us from the more engineering programming disciplines.

2. Tools programmer. Works on the extensive tools pipeline that all games have. This is the only branch of game programming where you don’t absolutely have to know and breathe video games inside and out, and it’s a little closer to mainstream applications programming. That being said, life at most video game companies is so intense, you better love them. Tools programmers tend to be very good at practical algorithms, data processing, etc. For some reason, perhaps because it’s more “behind the scenes” this spec is often viewed as less glamourous and there are fewer programmers who want to go into it.

3. Sound programmer. A very specific niche. Here you have to not only know how to program well, but you have to care about the esoteric field of sound. You need the kind of ear that can tell if there is a one sample glitch in some audio loop, and you need to care if the 3D audio spatialization is off or the sound field isn’t balanced. This is often a fairly low level area as audio programming is often done on DSPs.

4. Collision programmer. This is a really specific spec, and often overlaps with Graphics because it involves totally intense amounts of math. You better have taken BC calculus in tenth grade and thought “diffy-q” was the coolest class ever if you want to go into this.

5. Network programmer. In this era of multiplayer and networked gaming there’s a lot of networking going on. And programming across the internet is a bit of a specialty of it’s own. In general, video game programming takes any sub-field of programming to it’s most extreme, pushing the bleeding limits, and networking is no exception. Games often use hairy UDP and peer-to-peer custom protocols where every last bit counts and the slightest packet loss can make for a terrible game experience. If this is your thing, you better know every last nuance of the TCP/IP protocol and be able to read raw packet dumps.

6. Graphics programmer. Some guys really dig graphics and are phenomenal at math. If you don’t shit 4×4 matrices and talk to your mom about shaders, don’t bother. This sub-specialty is often very low-level as graphics programming often involves a lot of optimization. It may involve coming up with a cool new way of environment mapping, some method of packing more vertices through the pipeline, or better smoothing of the quaternions in the character joints (HINT: involves imaginary math — and if you don’t know that that means the square-root of -1 then this sub-field might not be for you).

7. Engine programmer. For some reason, most wannabe video game programmers hold this up as their goal. They want to have created the latest and greatest video game engine with the coolest graphics. Superstars like Tim Sweeney,John Carmack, and even myself are usually seen as falling in this category. The truth is that superstars do all kinds of programming, and are often distinguished by the fact that we are willing and able to handle any sub-type and tie it all together (see lead below). In my mind engine programmers are jacks-of-all-trades, good at building systems and gluing them together. The top guys often blend with Graphics and Lead below. There’s also tons of stuff like compression (nothing uses compression like games, we’d often have 8-10 different custom compressors in a game), multi-threading, load systems (you think seamless loading like in Jak & Daxter is easy?), process management, etc.

8. Lead programmer. People also dream of being the lead. All the great programmers are/were. This is the hardest spec, and no one ever starts out in it. You need to be able to do any of the other specs, or at least judge what approach is best. You need to be able to roll up your sleeves and dive in and fix crap anywhere in the program. You need to live without sleep (4 hours a night every day for years baby!). You need to be able to squint at the screen and guess where the bug is in others people’s code. You need to know how to glue systems together. You need to be able and willing to trim memory footprints and optimize (no one else wants to do it). In fact, you have to know the entire program, even if it is 5-10 million lines of code, and you have to do all the crap that no one else wants to do. Plus, you often have to manage a bevy of other personalities and waste lots and lots of time in meetings. Still want the glory? Being lead is all about responsibility!

CONTINUED with Part 3: Getting Started

_

Parts of this series are: [Why, The Specs, Getting Started, School, Method]

Subscribe to the blog (on the right), or follow me at:

Andy:  or blog

Or more posts on video gaming here.

And what I’m up to now here.

Crash Bandicoot – Interviews “R” us

These are answers (of mine) to a series of interview questions from Russian game site  www.crashbandicoot.ru. They’re a major Russian Crash fan site, hence the bad pun in my title. If you happen to speak Russian, they’ve it here.

The questions are in bold, and my answers in normal.

Crash Bandicoot (series)

Image via Wikipedia

_

There was the soundtrack of Komodo Bros. boss on the CB1 CD. Does it mean you planned to bring this boss to the first game? What the fight was like and why have you dropped this idea?

Time. We ran out of time, plus we already had six bosses. They ended up in Crash 2. The Crash 1 battle plan was about 30% larger than the game we shipped – which was plenty big enough – as we planned too much. Everything extra ended up in Crash 2. But we didn’t actually make it during the Crash 1 development, we realized before then that there was too much in the plan and shelved it for later. It takes much less time to write on paper, “cool snow level where crash can slide around on the ice” than it does to design, model, and program said level.

Why the cut levels from CB1 beta like Cavern, Cliff and Waterfall haven’t reached its finish point in the final version of the game? According to the video they were well developed.

These were two early levels. The Cliff and Waterfall are the same level (jungle1). The cave was (cave2). These were the first two levels we built in Spring 1995, and they just didn’t work. The designs were too open, showing too many polygons and not channeling the player well enough for proper gameplay. If the space was so big that Crash could just walk around the enemies it wasn’t very fun.

There is the screenshot on crashmania where you can see the fruit similiar to pineapple instead of wumpa. Is it right and was it planned to add different fruits to the game?

Originally (for over a year in development) we had an elaborate fruit currency for pickups. Different fruit were worth different “points.” The only problem with this was that we only had so much texture memory and so each fruit got very little, and didn’t look that great. We eventually decided to spent all that memory on one fruit (the Wumpa fruit) and make it look really good. We rendered it out rotating and stored all the angles. Doing the fruit in actual 3D wasn’t feasible because fruit are round (hence lots of polygons) and we wanted to have many of them on screen.

What the bosses’ heads of Pinstripe, Koala Kong and Papu were for in the bonus rounds in the early version of the game?

We experimented with different “bonus head” currencies. I can’t remember which. In the end Tawna, Cortex, and Brio won out.

What the famous platform with plants from the level Air Crash (CB2) was for? Lots of players used to think it could take you to some secret place however there was the published video where Crash stayed on the platform and nothing happened.

That is just a video of some uncompleted area in some unfinished version of the game (say for a tradeshow). It was under construction and was never intended to be seen. Under construction levels can display any kind of whacky behavior.

The returning characters of Crash Tag Team Rac...

Image via Wikipedia

Why Nitros Oxide wasn’t brought to playable characters in CTR?

We only had room for so many, and the consensus (particularly of the Japanese) was that the cute characters were better choices (like the polar bear cub).

Is it true that there was a secret character called Hippo in the beta of CTR? Why weren’t all the characters from original trilogy included? It’d been nice to see Koala Kong and Nitrus Brio there.

Time and space. Each character was a lot of work and took up a lot of memory. I don’t remember the hippo though.

Why did you choose Mutato Muzika as the music composer to the all games of Crash Bandicoot?

We auditioned a number of composers to give us sample music for the game. Theirs was the coolest. And we were in a hurry J. But it worked out great!

Why CB1 takes all space on CD while CB takes only 1/3 of disk space? It’d be nice to see CB2 on mini-CD.

There is a huge fake file on the CB1 CD (the data.wad) which the game doesn’t care about. The file is full of random numbers and it was there to fill out the disk. The reason for this was twofold. First of all, the outside of the CD is faster, so by putting the useless file on the inside the game would be pushed to the outside. Second, we thought that pirates would be irritated by and less likely to download a 650meg game than a 150meg game. Less pirate copies is a good thing when you make games for a living.

Why have you deleted your official site of Crash Bandicoot on http://www.naughtydog.com? I’d like to read 20 questions and answers for Crash Bandicoot one more time.

I don’t control or influence www.naughtydog.com in any way, and haven’t since 2004.

What do you think about the bug which allows player to take the red gem in CB2 in an alternative way, not through the secret warproom?

I don’t 🙂 But it’s just a bug. In 1996 it would have pissed me off (mildly), now I shrug and smile.

Why do Brio and Cortex quarrel so that Brio looks for the way of destroying Cortex Spaceship in CB2?

Brio turned out to be surprisingly sympathetic (because Cortex picks on him) so we thought it would be amusing to develop that a bit. The Crash series, however, is not exactly The English Patient in terms of character depth.

It is very interesting what was planned to develop and what plans of that came true in CB2 and CB3?

For Crash 1 we had this huge three-part Island and all sorts of ideas for different areas and levels. Crash 2 was to a large extent those that didn’t make it in the first game plus lots of extra cool ideas we had. There was more time for new mechanics like the surf board, zero-G, sliding on the ice, etc. For Crash 3 we needed something a bit different and came up with the time travel idea (mine!). But truth is that we all loved that idea, and both Jason and I adore time travel. My second novel is about time travel! So the idea naturally led to putting in favorite times and places as levels for Crash 3.

Have you ever regretted of selling the rights of Crash Bandicoot franchise to another company? If there was a chance would you like to return on developing this franchise?

It made sense at the time, but I love Crash. Of all my creations it’s still my favorite and it’s sad to see him drop to his current lows. As Jason puts it, like discovering that your sweet High School girlfriend is now a street walker in Atlantic City.

_

Why did you call your company just “Naughty Dog”?

We liked dogs. Plus Jason was always drawing these cool cartoon characters (in the mid 80s) and one of them was “The Naughty Dog” a studly 80s shades wearing dog who always got the chicks. So he became the mascot and source of the name.

Why Crash Bandicoot and Jak franchises are so similiar? I mean it includes the way of games (1, 2, 3 and racing). The first game of Jak is very similiar to CB1, the attack of Jak is like Crash’s one, we are destroying the crates and so more. Dammit, you can also see the Plant from CB1 in the beginning of the game?

The same people made them. Sometimes you like your own ideas 🙂 Certainly there is plenty new stuff in Jak.

Why have you developed Action-Adventure but not the platformer on PS3 as it lacks of them? I have read your Making of Crash Bandicoot series where you have said Naughty Dog was always looking for the opportunity ways, don’t you think the nice platformer could worth it?

I myself didn’t really do much PS3 development. I left Naughty Dog when Uncharted 1 was in its infancy. But market wise there seemed to be less support for pure platforming. It was seen as old fashioned.

_

What are you interested in besides the video games?

Lots of stuff. Look at my blog http:all-things-andy-gavin.com.  Food, history, travel, writing, fiction of all sorts, technology. I’m very much a fantasy geek in the broad sense of the word.

What is your favorite game?

World of Warcraft. Even though I “quit” (again) after six years. Told you I’m a fantasy geek.

According to Facebook you like classic music. What are your favorite compositions?

I like a lot of music. In pure classical everything from Mozart to Stravinsky. But I listen to a wide variety of things, from weird folk music to industrial techno.

Have you ever been to Russia or the countries of post-Soviet Union. If yes did you like them? If no then are you going to visit them some time?

The closest I’ve been is Budapest and Prague. I’d love to visit many places in the former USSR. St. Petersburg is high on my list because I have a palace and museum fetish and I must see the baroque palaces there. Jason’s been to Moscow too – and I’d love to go there myself.

How do you think if Crash Bandicoot is relevant nowadays?

Current (or recent) Crash games are not relevant, but the character is. The response I get from my blog proves this. People still love the character, his world, and the games. I’m sure if they got an opportunity to play good Crash games in an updated format — millions would.

Any wishes to the users of Bandicoot Internet Zone?

I’d like to thank all the fans. It’s always been so gratifying how much people enjoyed visiting and playing our whacky cartoon universe. We brought it to life because it was just this super silly place that we thought would be a fun to inhabit (even if virtually), and it’s so great that millions and millions of players agreed and had a blast there!

_

The index of all Crash posts is here.

The Making Crash series: [12345678910, 11]

Subscribe to the blog (on the right), or follow me at:

Andy:  or blog

Also, peek at my novel: The Darkening Dream

or more posts on

GAMES or BOOKS/MOVIES/TV or WRITING or FOOD.

Game of Thrones – Episode 4

Title: Game of Thrones

Genre: Historical Fantasy

Watched: Episode 4 – May 8, 2011

Status: First Season now airing on HBO

Summary: Amazing!

ANY CHARACTER HERE

With Episode 4,  “Cripples, Bastards, and Broken Things,” the enormous narrative of Game of Thrones begins to pick up speed. Still, it’s amazing how much time this show needs to spend on characterization, which is a tribute to the enormous depth of such in the source material. Even streamlined, there’s just such a ridiculous number of interesting characters, each with their own pathetic stories.

The episode introduces Sam (fan fave from the books), Gendry, the Mountain that Rides, the annoying Bard, Bronn, Janos Slynt, Hodor, and even briefly shows Ghost (where’s he been hiding?). But it’s also packed with bits enhancing existing characters, big and small. One of my favorites is Littlefinger’s grim tale of the Mountain and the Hound’s “boyish games.” Good stuff, although by moving it the story from the Hound himself to Littlefinger, I wonder if the former’s complex character won’t be diluted — not to mention his peculiar but important relationship with Sansa.

The four main threads of the story continue to advance: Jon at the Wall, Dany with the horselords, Tyrion making his way home, and the central focus of Ned and the girls at King’s Landing. The first and the last are dominant here, getting 80-90% of the time. Perhaps because of it’s more contained scope, Jon’s story is the most complete, setting up camaraderie and threat in the Realms bleakest and most northern castle.

In Ned’s world, the plotting and complexities are starting to heat up even further in, and Arya — as usual — steals her one major scene.

For other fans of N and V (something I this show has plenty of), we have a great scene with sexy slave girl in the bathtub and a bit of jousting lance to the jugular.

And after last weeks less dramatic, but atmospheric ending, Episode 4 is back to a serious pivot. Cat’s little speech in the Inn was something I loved in the books, and it’s well done here too. I can’t wait to see the Eerie, which I suspect will be episode 6.

Reviews of previous episodes: [ Episode 1, Episode 2, Episode 3 ]

or here for Episode 5.

Click here for some trailers for and about the series.

Or find out about my own fantasy novel, The Darkening Dream.

Making Crash Bandicoot – part 6

PREVIOUS installment, or the FIRST POST.

[ NOTE, Jason Rubin added his thoughts to all the parts now, so if you missed that, back up and read the second half of each. ]

 

Not only did we need to finish our E3 demo, but we needed a real name for the game — Willie the Wombat wasn’t going to cut it. Now, in the Naughty Dog office proper we knew he was a Bandicoot. In fact, we liked the idea of using an action name for him, like Crash, Dash, Smash, and Bash — fallout from the visceral reaction to smashing so many boxes.

Dr N. Cortex goes medieval on Universal Marketing

But the Universal Marking department (of one) thought differently. They had hired one of those useless old-school toy marketing people, a frumpy fortyish woman about as divorced from our target audience – and the playing of video games – as possible. This seems to be a frequent problem with bigger companies, the mistaken idea that you can market an entertainment product if you aren’t also an enthusiastic customer of said product. On the other hand, everyone making the game played constantly. We had regular Bomberman tournaments, we could all debate the merits of control in Sonic vs Mario, and Dave was even a former Q*Bert world champion.

In any case, this obstacle (the marketing woman) wanted to call the game “Wuzzle the Wombat,” or “Ozzie the Otzel.” Fortunately, after much yelling we prevailed and Crash Bandicoot became… Crash Bandicoot.

Crash's hot girlfriend, Tawna

It’s also worth mentioning that she objected to Crash’s rather busty girlfriend (or Bandicoot-friend) on basic sexist principles. Now, Tawna wasn’t the most inspired of our character designs, more or less being Jessica Rabbit as a Bandicoot, and without the cool personality. But remember who generally played games like Crash. The same kind of guys we had been 5-10 years earlier.

The music also had to be cobbled together before E3 – and in classic video game development fashion had been left to the last minute. This task had been assigned to our nominal producer at Universal, a gentleman who mostly sat in his office and played Sexy Parodius. While of dubious benefit to the project, at least he loved video games. However, he proposed that instead of conventional music we create something called “the urban chaotic symphony” in which the programmer (me) would cause random sound effects such as bird chirps, car honks, grunts, and farting noises (actually listed and underlined), to be randomly selected and combined. When we rejected this innovative proposal, we were introduced to Mark Mothersbaugh of Devo and more recently Mutato Muzika. He and (mostly) Josh Mancell composed all the music for the games, produced by music aficionado and Naughty Dog programmer Dave Baggett.  Besides, Dave actually knew the game inside and out.

Finally we arrive at E3, and the debut of the N64 and Mario 64. Gulp.

Jason (right) and I (left) at E3 1996

Mario was a bit of a two edged sword for us. First of all, the attention it garnered helped force us into the limelight. Sega was engaged in the slow process of killing themselves with bad decisions and bad products, and so Sony and Nintendo found themselves head to head. This literally put Crash and Mario into the ring together. In fact, this was depicted on the cover of at least one game magazine (along with Sonic who declined to enter the ring).

In any case, since Crash released about a month after Mario the press often assumed that we had copied various elements, which always bugged us to no end, as both games were developed with no real knowledge of each other. Crash was nearly beta by the time we saw Mario at E3, and gold mastered by the time the N64 shipped and we could play it. Both games took very different approaches to the then unproven 3D CAG genre.

With Crash we decided to emphasize detailed cartoon visuals and classic Donkey Kong Style gameplay. So we used a camera on rails (albeit branching rails).

With the N64’s VERY limited texture system and poly count, but with its smoothing and z-buffer, Mario chose to go with a very loosely defined polygonal free roaming world and a much more playground style of gameplay.

Mark & I watch Miyamoto play Crash

Personally when I first got my hands on Mario I was like WTF? How is anyone going to know what to do here? And although there was a pretty real sense of marvel in this funny new world, I never found it very fun. The early camera AI was brutally frustrating. And the Mario voiceover. I still cringe, “It’sa me, Mario!” Still the game was brilliantly innovative, although I remain convinced that if anyone but Miyamoto had made the game it would have flopped.

Really, the future lay in the hybrid of the two.

Critics loved Mario. Perhaps because many of them were Nintendo fan boys, perhaps because it was more innovative (and it was). But the players loved both, because they sure bought a LOT of Crash Bandicoots too, approximately 35-40 million of our four PS1 games.

In a lot of ways Crash was the last of the great video game mascot characters, despite the fact that Sony never really wanted a mascot. We set out to fill this void, and made a game to do it, but we never really expected – only hoped – that it would happen. By the era of PS2 and X-box, the youthful generation of video game players had grown up, and the platforms began to appeal to a much wider age range. With this, and increased graphics horsepower that made possible more realistic games, came a shift to more mature subjects. The era of GTA, of Modern Warfare and Halo. Sophisticated and dark games mirroring R-rated action movies.

A part of me misses the simple, but highly crafted comic fun Crash represented.

 

Jason says:

There were so many great stories from Crash Development.  I’m sad that this is the last of 6 blog posts.  There is so much that has been missed.

One of my favorite memories relates to the collision detection.  Crash had more detailed environments than most games had attempted at that point, and there was no known solution for such complex collision detection in games.  Even after Crash came out, most developers just let their characters wade through most objects, and stuck to simple flat surfaces, but we wanted the character and the world to interact in a much more detailed fashion.

Andy and Dave called one of their friends at the Media Lab at MIT.  Basically, the Media lab worked on state of the art visual and computing problems.  They were, and still are, some of the most advanced in the world.  They asked their friend what high detail collision detection solutions were kicking around at that time.

The next day the friend called back and said he had the perfect solution.  Unfortunately, it demanded a Cray Supercomputer and hundreds (thousands?) of PlayStations worth of memory to work in real-time.

Andy and Dave hung up and started to come up with something on their own.

Naming Crash was one of the hardest things I have ever had to take part in.  It became so confused, so frustrating, so combative, and so tiring that I remember starting to think that Willie Wombat sounded good!

Credit goes to Taylor and Dave for combining Crash and Bandicoot for the first time.

If Andy and I deserve credit for anything name related, it is for viciously defending our character from the ravages of the Universal Marketing Death Squad.  I remember the name mooted by Universal to be Wez or Wezzy Wombat, but as I said things were very confused, and frankly it doesn’t matter what the alternate name was.

When Universal stated that as producer and they were going to pick the name, Andy and I walked the entire team (all 7 of us!) into the head of Universal Interactive’s office and said, “either we go with ‘Crash Bandicoot’, or you can name the game whatever you want and finish the development yourself.”

I think the result is obvious.

This was not the only time this tactic had to be used with Universal.  With all the “everyone grab your stuff and head to the office at the other end of the hall” moments, I don’t know how we even finished the game.

But we didn’t win every battle.  Crash’s girlfriend Tawna ended up on the chopping block after Crash 1.  We tried to choose our battles wisely.  Unlike the name “Crash Bandicoot”, Tawna wasn’t worth fighting for.

There was so much negativity and dispute with Universal Interactive that it is a miracle it didn’t scupper the game.

For example, Naughty Dog was told that it wasn’t “allowed” to go to the first E3.  This was part of a continuing attempt by Universal Interactive to take credit for the product.  It might have worked if Universal were parents and Naughty Dog was their six year old child, but we were an independent company working under contract.  Nobody was going to tell us what we could or couldn’t do.

There were also some leaked copies of the temporary box cover and press materials for E3, upon which Naughty Dog’s logo had “mysteriously,” and in direct conflict with the letter and spirit of our contract, been forgotten.

My response to both was to draft and print 1000 copies of a glitzy document entitled “Naughty Dog, creator and developer of Crash Bandicoot” ostensibly to hand out in front of the Crash display at E3.  As a “courtesy” I to passed these flyers out “for review” to Universal Interactive beforehand.

The head of Universal Interactive came as close to literally flipping his lid as a person can come.  He stormed into Andy’s office, made some extremely threatening comments, and then promptly went off to a shooting range in order to produce a bullet-riddled target to hang on his office door.

Things did get heated from time to time.

And just for the record, kudos to Mark for surviving all the hassle.  He was an employee of Universal Interactive yet completely uninvolved in any chicanery.  And as I’ve said before, he was always the Nth Dog, so times like these were harder on him than anyone else.

But all this is keeping us from discussing E3!

Ah the big show…

Sony booted one of its own internal products to give Crash the prime spot on the floor.  Walking in and seeing dozens of monitors playing the game was a moment I will never forget.

But I don’t think Andy and I had spent more than a moment looking at our triumph before we went off to fight the hoards at the Mario 64 consoles over at Nintendo’s booth for a chance on the controller.  As amazing as it was seeing our wall of monitors, seeing the lines for Mario made my heart drop.  Could it be that good?

Unlike Andy, I actually think Mario 64 WAS that good.

Mario 64 was a better game than the first Crash Bandicoot.

Miyamoto-san was at the top of his game and we were just getting started.  Crash was our first platformer, remember, and thus it lacked many of the gameplay nuances that Mario had.

Mario 64’s controls and balance were just better.

And then there was our annoying way of making players earn continues.  This was a major mistake.  It makes players that need lives fail while boring players that don’t.  It is the opposite of good game balance.

We were already learning.  We had realized that if a novice player died a lot of times, we could give them an Aku Aku at the start of a round and they had a better chance to progress.  And we figured out that if you died a lot when running from the boulder, we could just slow the boulder down a little each time.  If you died too much a fruit crate would suddenly become a continue point.  Eventually everyone succeeded at Crash.

Our mantra became help weaker players without changing the game for the better players.

We called all this DDA, Dynamic Difficulty Adjustment, and at the time the extent to which we did it was pretty novel.  It would lead later Crash games to be the inclusive, perfectly balanced games they became.   Good player, bad player, everyone loved Crash games.  They never realized it is because they were all playing a slightly different game, balanced for their specific needs.

But for all of our triumphant balancing attempts, we still made many mistakes in the first title.

Miyamoto-san didn’t make these mistakes.  3D Gameplay choice and art aside, Mario 64 was a better game.

And that isn’t to say that we didn’t have some serious advantages of our own.

For example, Crash looked better.  I am sure there will be disagreement with this statement.  But when 100 people were lined up and asked which looked more “next generation” (a term like ‘tomorrow’ that is always just over the horizon), most people pointed to Crash.

If I had to guess what Miyamoto-san was thinking when he was playing Crash in the photo above it was probably “damn this game looks good.”

Of course he had consciously made the decision to forgo the complex worlds Crash contained.  The N64 had prettier polygons, but less of them to offer.  Crash Bandicoot could not be made on the N64.  Of course Mario 64 couldn’t be done on the PlayStation either.  The PlayStation sucked at big polygons, specifically scissoring them without warping textures.  Mario 64 relied on big polygons.

But more fundamentally, the open world he chose would tax ANY system out at that time.   Mario 64 couldn’t be open and any more detailed than it was.  Miyamoto-san had chosen open and that meant simple.

Spyro later split the difference with walled open worlds, but at E3 1996 there was only the choice between the complex visuals of Crash, or the crayon simple expansive simplicity of Mario 64.

Yes, Crash was a throwback to old games and on “rails”.  But Mario 64 just didn’t look (as much) like a Pixar movie.  That created space for an argument, and thus one of the great wars between games, and by proxy consoles, could be fought.

I believe, right or wrong, that Crash won that comparison when it got to the shelves.

And this was just the beginning.

Unlike Miyamoto-san, Naughty Dog was willing to forgo the light of day to bring out a sequel to Crash Bandicoot one year later in September 1997.  By comparison, there wouldn’t be another Mario platformer until “Mario Sunshine” in 2002.

We took what we had learned from Crash 1, and from Mario 64 for that matter, and went back to the drawing board.   Crash 2 was re-built from the ground up.  Everything was improved.  But most importantly we focused on the gameplay.

Crash Bandicoot had taxed us to our limits.  Much of that time had been spent figuring out what the game would be, and then getting it working.

The second game could be built on the platform and successes of the first, but also from its mistakes.  The same would eventually true of Jak and Daxter, and, though I had no hand it the games, is probably true of Uncharted.  While Andy and I led Naughty Dog it had, and seems from outside to still have, a relentless pursuit of improvement.  That has meant historically that the second game in a series tends to be a better game.

Crash 2 would be a MUCH better game than Crash 1.  I would even argue that Crash 2 would end up being as good, if not better, than Mario 64.

But that is as story for another day.

 

This (sort of) continues with a virtual part 7 by Dave Baggett with his thoughts on Crash.

Also, subscribe to the blog (on the right), or follow us at:

Andy: or blog

Jason: or blog

Also, if you liked this, vote it up at at Reddit or Hacker News, and peek at my novel in progress: The Darkening Dream

or more posts on

GAMES or BOOKS/MOVIES/TV or WRITING or FOOD.

The Limited Edition Launch Poster

Making Crash Bandicoot – part 5

PREVIOUS installment, or the FIRST POST.

[ NOTE, Jason Rubin added his thoughts to all the parts now, so if you missed that, back up and read the second half of each. ]

 

A Bandicoot, his beach, and his crates

But even once the core gameplay worked, these cool levels were missing something. We’d spent so many polygons on our detailed backgrounds and “realistic” cartoon characters that the enemies weren’t that dense, so everything felt a bit empty.

We’d created the wumpa fruit pickup (carefully rendered in 3D into a series of textures — burning a big chunk of our vram — but allowing us to have lots of them on screen), and they were okay, but not super exciting.

Enter the crates. One Saturday, January 1996, while Jason and I were driving to work (we worked 7 days a week, from approximately 10am to 4am – no one said video game making was easy). We knew we needed something else, and we knew it had to be low polygon, and ideally, multiple types of them could be combined to interesting effect. We’d been thinking about the objects in various puzzle games.

So crates. How much lower poly could you get? Crates could hold stuff. They could explode, they could bounce or drop, they could stack, they could be used as switches to trigger other things. Perfect.

So that Saturday we scrapped whatever else we had planned to do and I coded the crates while Jason modeled a few, an explosion, and drew some quick textures.

About six hours later we had the basic palate of Crash 1 crates going. Normal, life crate, random crate, continue crate, bouncy crate, TNT crate, invisible crate, switch crate. The stacking logic that let them fall down on each other, or even bounce on each other. They were awesome. And smashing them was so much fun.

Over the next few days we threw crates into the levels with abandon, and formally dull spots with nothing to do became great fun. Plus, in typical game fashion tempting crates could be combined with in game menaces for added gameplay advantage. We even used them as the basis for our bonus levels (HERE in video). We also kept working on the feel and effects of crate smashing and pickup collection. I coded them again and again, going for a pinball machine like ringing up of the score. One of the best things about the crates is that you could smash a bunch, slurp up the contents, and 5-10 seconds later the wumpa and one-ups would still be ringing out.

This was all sold by the sound effects, executed by Mike Gollom for Crash 1-3. He managed to dig up the zaniest and best sounds. The wumpa slurp and the cha-ching of the one up are priceless. As one of our Crash 2 programmers used to say, “the sounds make the game look better.”

For some reason, years later, when we got around to Jak & Daxter we dropped the crate concept as “childish,” while our friends and amiable competitors at Insomniac Games borrowed them over into Ratchet & Clank. They remained a great source of cheap fun, and I scratch my head at the decision to move on.

Now, winter 95-96 the game was looking very cool, albeit very much a work-in-progress. The combination of our pre-calculation, high resolution, high poly-count, and 30 fps animation gave it a completely unique look on the machine. So much so that many viewers thought it a trick. But we had kept the whole project pretty under wraps. One of the dirty secrets of the Sony “developer contract” was that unlike its more common “publisher” cousin, it didn’t require presentation to Sony during development, as they assumed we’d eventually have to get a publisher. Around Thanksgiving 1995, I and one of our artists, Taylor Kurosaki, who had a TV editing background, took footage from the game and spent two days editing it into a 2 minute “preview tape.” We deliberately leaked this to a friend at Sony so that the brass would see it.

They liked what they saw.

Management shakeups at Sony slowed the process, but by March of 1996 Sony and Universal had struck a deal for Sony to do the publishing. While Sony never officially declared us their mascot, in all practical senses we became one. Heading into the 1996 E3 (May/June) we at Naughty Dog were working ourselves into oblivion to get the whole game presentable. Rumors going into E3 spoke of Nintendo’s new machine, the misleadingly named N64 (it’s really 32 bit) and Miyamoto’s terrifying competitive shadow, Mario 64.

Crash and his girl make a getaway

For two years we had been carefully studying every 3D character game. Hell, we’d been pouring over even the slightest rumor – hotly debated at the 3am deli takeout diners. Fortunately for us, they’d all sucked. Really sucked. Does anyone remember Floating Runner? But Mario, that wasn’t going to suck. However, before E3 1996 all we saw were a couple of screen shots – and that only a few weeks before. Crash was pretty much done. Well, at least we thought so.

Now, we had seen some juicy magazine articles on Tomb Raider, but we really didn’t worry much about that because it was such a different kind of game: a Raiders of the Lost Ark type adventure game starring a chick with guns. Cool, but different. We’d made a cartoon action CAG aimed at the huge “everybody including kids” market.

Mario  was our competition.

 

Jason says:

The empty space had plagued us for a long time.  We couldn’t have too many enemies on screen at the same time.  Even though the skunks or turtles were only 50-100 polygons each, we could show two or three at most.  The rest was spent on Crash and the Background.  Two or three skunks was fine for a challenge, but it meant the next challenge either had to be part of the background, like a pit, or far away.  If two skunk challenges came back to back there was a huge amount of boring ground to cover between them.

Enter the crates.   The Crates weren’t put in to Crash until just before Alpha, or the first “fully playable” version of the game.

Andy must have programmed the “Dynamite Crate/Crate/Dynamite Crate” puzzle 1000 times to get it right.  It is just hard enough to spin the middle crate out without blowing up the other two, but not hard enough not to make it worth trying for a few wumpa fruit.  Getting someone to risk a Life for 1/20th of a Life is a fine balancing act!

Eventually the Crates led to Crash’s name.  In less than a month after we put them in everyone realized that they were the heart of the game.  Crash’s crash through them not only filled up the empty spots, the challenges ended up filling time between Crate challenges!

This isn’t the place for an in depth retelling of the intrigue behind the Sony/Crash relationship, but two stories must be told.

The first is Sony’s first viewing of Crash in person.  Kelly Flock was the first Sony employee to see Crash live [ Andy NOTE: running, not on videotape ].  He was sent, I think, to see if our videotape was faked!

Kelly is a smart guy, and a good game critic, but he had a lot more to worry about than just gameplay.  For example, whether Crash was physically good for the hardware!

Andy had given Kelly a rough idea of how we were getting so much detail through the system: spooling.  Kelly asked Andy if he understood correctly that any move forward or backward in a level entailed loading in new data, a CD “hit.”  Andy proudly stated that indeed it did.  Kelly asked how many of these CD hits Andy thought a gamer that finished Crash would have.  Andy did some thinking and off the top of his head said “Roughly 120,000.”  Kelly became very silent for a moment and then quietly mumbled “the PlayStation CD drive is ‘rated’ for 70,000.”

Kelly thought some more and said “let’s not mention that to anyone” and went back to get Sony on board with Crash.

The second story that can’t be glossed over was our first meeting with the Sony executives from Japan.  Up until this point, we had only dealt with Sony America, who got Crash’s “vibe”.  But the Japanese were not so sure.

We had been handed a document that compared Crash with Mario and Nights, or at least what was known of the games at the time.  Though Crash was rated favorably in “graphics” and some other categories, two things stood out as weaknesses.  The first was that Sony Japan didn’t like the character much, and the second was a column titled “heritage” that listed Mario and Sonic as “Japanese” and Crash as “other.”  The two negatives were related.

Let us remember that in 1995 there was Japan, and then there was the rest of the world in video games.  Japan dominated the development of the best games and all the hardware.  It is fair to say that absent any other information, the Japanese game WAS probably the better one.

Mark presided over the meeting with the executives.  He not only spoke Japanese, but also was very well respected for his work on Sonic 2 and for his years at Sega in Japan.  I could see from the look in Mark’s eyes that our renderings of Crash, made specifically for the meeting, did not impress them.

We took a break, during which it was clear that Sony was interested in Crash for the US alone, hardly a “mascot” crowning.  I stared at the images we had done.  Primitive by today’s standards, but back then they were reasonably sexy renderings that had been hand retouched by Charlotte for most of the previous 48 hours.  She was fried.

I walked over to her.  I think she could barely hold her eyes open.  I had spent the previous month spending all of my free time (4am-10am) studying Anime and Manga.  I read all the books available at that time in English on the subject.  All three!  I also watched dozens of movies.  I looked at competitive characters in the video game space.  I obsessed, but I obsessed from America.  I had never been to Japan.

I asked Charlotte if she could close Crash’s huge smiling mouth making him seem less aggressive.   I asked her to change Crash’s eyes from green to two small black “pac-man” shapes.  And I asked her to make Crash’s spike smaller.  And I told her she had less than 15 minutes.  With what must have been her last energy she banged it out.

I held up the resulting printout 15 minutes later.

Sony Japan bought off on Crash for the international market.

I don’t want to make the decision on their part seem arbitrary.  Naughty Dog would do a huge amount of work after this on the game for Japan, and even then we would always release a Japanese specific build.  Whether it was giving Aku Aku pop up text instructions, or replace a Crash smashing “death” that reminded them of the severed head and shoes left by a serial killer that was loose in Japan during Crash 2’s release, we focused on Japan and fought hard for acceptance and success.

We relied on our Japanese producers, including Shuhei Yoshida, who was assigned shortly after this meeting, to help us overcome our understandable ignorance of what would work in Japan.  And Sony Japan’s marketing department basically built their own Crash from the ground up for the marketing push.

Maybe Charlotte’s changes showed Sony that there was a glimmer of hope for Crash in Japan.  Maybe they just saw how desperate we were to please and couldn’t say no.  Maybe Universal put something in the coffee they had during the break.

Who knows, but Crash was now a big part of the international PlayStation push.  So there were more important things for us to worry about then Sony and the deal:

The fear of Miyamoto was thick at Naughty Dog during the entire Crash development period.  We knew eventually he would come out with another Mario, but we were hoping, praying even, that it would be a year after we launched.

Unfortunately that was not to be.  We started seeing leaks of video of the game.

It was immediately obvious that it was a different type of game: truly open.  That scared us.  But when we saw the graphics we couldn’t believe it.  I know there will be some that take this as heresy, but when we saw the blocky, simple, open world we breathed a sign of relief.  I think I called it I Robot Mario, evoking the first 3D game.

Of course we hadn’t played it, so we knew we couldn’t pass judgment until we did.  That would happen at E3.


CONTINUED in PART 6 or

more on GAMES or BOOKS/MOVIES/TV or WRITING or FOOD.

The Big Fight!

Making Crash Bandicoot – part 4

PREVIOUS installment, or the FIRST POST.

[ NOTE, Jason Rubin added his thoughts to all the parts now, so if you missed that, back up and read the second half of each. ]

 

But this brings us to the gameplay. We were forging new ground here, causing a lot of growing pains. I started fairly programming the control of the main character early. This is the single most important thing in a CAG, and while intellectually I knew this from Way of the Warrior, it was really Mark who drove the message home. I did all the programming, but Mark helped a lot with the complaining. For example, “he doesn’t stop fast enough,” or “he needs to be able to jump for a frame or two AFTER he’s run off a cliff or it will be frustrating.” Jason’s also really good flaw detection. Which is a good thing. Internal criticism is essential, and as a programmer who wrote dozens of world class control schemes in the years between 1994 and 2004, I rewrote every one at least five or six times. Iteration is king.

Even after the control was decent, we still had no idea how to build good 3D gameplay with it. Our first two test levels “the jungle, level1” and “lava cave, level2” were abysmal, and neither shipped in the final game. First of all, they were too open with way too many polygons. Level1 had over 10 million, whereas a shipping level tended to have around a million (a lot back then). Level2 was better, but not much.

So during the summer of 1995 we retrenched and tried to figure out how to make a level that was actually fun. The F word is the most important concept in making games. Too many forget this.

But Mark – who served the practical function of producer – never let us.

By this time most of the art design for the game was complete, including the vast layout of possible looks and levels, but we skipped to about 2/3 through and used Cortex’s factory levels to really focus on fun. Our first successful level was essentially 2D (“Heavy Machinery”). It was all rendered in 3D, but the camera watched from the side like a traditional platformer. Here we combined some classic devices like steam vents, drop platforms, bouncy pads, hot pipes, and monsters that tracked back and forth in simple patterns. This was in essence a retreat to success, as it employed the basic kind of techniques that Donkey Kong Country had used so successfully. This palate of objects would be arranged in increasingly more difficult combination.

It worked. Thank God.

Simultaneously, we were working on a more ambitious level where the camera sat above and “Willie” walked both into/out and side to side (“Generator Room”). This factory level included drop platforms, moving platforms, dangerous pipes, and various robots. By using a more mechanical setting, and briefly forgoing the complex organic forest designs we were able to distill this two axis gameplay and make it fun. In both areas we had to refine “Willie’s” jumping, spinning, and bonking mechanics.

We then got our third type of level working (“Cortex Power”). This involved having the camera behind the character, over his shoulder, in the original “Sonic’s ass” POV that had faired miserably with level1 and level2. By taking some of the new creatures and mechanics, and combining them with hot pipes and slime pits we were able to make it work in this more factory-like setting.

Having learned these lessons, we turned back to the jungle design with a new jungle level, known as “levelc” (“Jungle Rollers”). This used some of the pieces from the failed level1, but arranged as a corridor between the trees, much like the over-the-shoulder factory level. Here we utilized pits, skunks on paths, stationary plants, and rollers to create the palate of obstacles. With this level the into-the-screen gameplay really came into its own, and it remains one of my favorite levels. Each element served its purpose.

Rollers (big stone wheels that could crush the player, and rolled from side to side) provided timing gates. They could be doubled or tripled up for more challenge.

Skunks traveled down the path tracking back and forth toward the player, requiring him to attack them or jump over them.

Fallen logs, tikis, and pits needed to be jumped over.

Stationary plants could strike at the player, requiring one to tease them into a strike, then jump on their heads.

Once we had these three level types going things really begun to get on a roll. For each level art design, like jungle, we would typically do 2-3 levels, the first with the introductory set of challenges, and then the later ones adding in a few new twists combined at much harder difficulty. For example in the sequel to the jungle level we added drop platforms and moving platforms. The elements combined with the characters mechanics to form the fun.

It’s also worth noting that we stumbled onto a few of our weirder (and most popular) level designs as variants of the over-the-shoulder. First “Boulders,” aping that moment from Raiders of the Lost Ark when the giant stone ball starts rolling toward Indy. For this we reversed the action and had the character run into the screen. This proved so successful that we riffed on it again in Crash 2 and 3. Same with “Hog Wild,” in which the character jumps on the bag of a wild “hog ride” and is dragged at high speed through a frenetic series of obstacles.

Jason says:

Making games is no game.  So many aspiring designers think that all you do is come up with a great idea and the sit around and play.  That may be true if you are aping something that exists, like making just another first person shooter (this time in ancient Sumeria and with Demon Aliens!), or making something small and easy to iterate, but it is certainly NOT true when you are trying something new in the AAA space.

And to make matters worse, the LAST person who can attest to a good game design is the game designer.  Not only do they know what to do when they test it, but they are also predisposed to like it.

Oh no, the proper test is to hand it to a complete noob, in Crash’s case the ever rotating list of secretaries and clerical staff that worked at Universal.   For many of them it was their first time touching a controller, and they succeeded immediately in failing, miserably, to get a single challenge passed.  As they smiled and tried to be positive they were saying “this sucks” with their hands.  Thus a good designer has to both dread and seeks out other people’s advice, especially those most likely to hate the work he has done.  And the designer has to accept the third party opinion over theirs.  Every time.  Only when the noobs start completing challenges and smile WHILE PLAYING do you know you are getting somewhere.

I don’t know why, but I have always had an innate ability to see the flaws in my own projects, even after they are “final” in everyone else’s eyes.   Naughty Dog graphic engine coder Greg Omi, who joined for Crash 2, once said I could spot a single pixel flicker on his monitor at 30 yards while holding a conversation with someone else and facing the opposite direction.  Whatever it is, I get a weird frustrated sweat when I see something wrong.  Mark Cerny has the same “talent.”

The two of us were always unhappy with the gameplay.  I don’t mean just the early gameplay, I mean always unhappy with the gameplay, period.  I know in retrospect that I was to hard on the team quite often because of this, and that perhaps more often than not I was too poignant when voicing my frustration (letting myself of easy here!), but I think a certain amount of frustration and pain is inherent in making gameplay success.

Stripping the game down to familiar 2D, and then building from there to levels that contained only platforms floating in space was the crutch we used to get to the jungle levels that made Crash such a success.  In the end, these levels aren’t that different in gameplay design.  But starting with the Jungle was too big a leap.  We needed simple.  Upon simple we built complex.

Andy has done a good job of compressing a year of design hell into a blog-sized chunk.  With all our technical and art successes, the game could not have succeeded without good gameplay.  This was by far the hardest part of making Crash Bandicoot.

Dave and Andy’s code, Justin’s IT and coloring, Charlotte Francis’s textures, And Bob, Taylor and my backgrounds and characters would have been worth nothing if Crash hadn’t played well.

Jason, Andy, Dave, Bob, Taylor, Justin, Charlotte

CONTINUED in PART 5 or

more on GAMES or BOOKS/MOVIES/TV or WRITING or FOOD

Making Crash Bandicoot – part 3

PREVIOUS installment, or the FIRST POST.

Crash in the Jungle

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.

CONTINUED HERE WITH PART 4 or

more on GAMES or BOOKS/MOVIES/TV or WRITING or FOOD

Crash was never suave

Making Crash Bandicoot – part 2

CONTINUED FROM PART 1 ABOVE.

So what was it that Sega and Nintendo had in 1994, but Sony didn’t?

An existing competing mascot character. Sega had Sonic and Nintendo had Mario (even if the N64 was just a rumor at that point). But Sony product slate was blank.

So we set about creating a mascot on the theory that maybe, just maybe, we might be able to slide into that opening. I’m still surprised it worked.

The first real Crash

Next we had to find a creature to hang our hopes on. We wanted to do what Sega had done with the hedgehog and Warner Bros had done with the Tasmanian Devil and find some kind of animal that was cute, real, and no one really knew about. We bought a copy of “Tasmanian Mammals – a field guide” and flipped through. The Wombat, Potoroo, and Bandicoot fit the bill. For the meantime we went with Willie the Wombat, as both Jason and I like alliteration. We never considered it a real name as it was too dorky. And just a month or so later someone told us about some other non-game property with the same name, so it remained a working title. By October 1994 the character was a Bandicoot as far as we were concerned.  We loved the word, but we kept calling him Willie, and the game Willie the Wombat until spring of 1996. It wasn’t really worth it to sort out a final name – some marketing department would probably change it anyway.

In September and October of 1994 we were busy trying to figure out who this Willie guy was. We felt he should be goofy and fun loving, and never talk — on the theory that voices for video game characters were always lame, negative, and distracted from identification with them.

But the villain gelled faster than the hero.

Dr. Neo Cortex -- pissed

I remember it clearly. The four of us were eating at this mediocre Italian near Universal and I had this idea of an evil genius villain with a big head. Obviously brainy cartoon villains have big heads. He was all about his attitude and his minions. Video games need lots of minions. Jason had become very fond of Pinky and the Brain and we imagined a more malevolent Brain with minions like the weasels in Who Framed Roger Rabbit. A villain, all full of himself, unable to conceive of ever doing anything the simple way, but constantly (in his eyes) betrayed by the incompetence of his henchmen.

I put on my silly villain voice and intoned, “If you had three neurons between you, you couldn’t make a triangle!” With this attitude, his name, Doctor Neo Cortex, popped instantly into our heads.

For “Willie” was to be – in our minds – a game that tried to combine the game play of Mario or Donkey Kong Country with the animation and cartoon sensibility of a Looney Tunes or Tex Avery cartoon.

To that effect, we took the very unusual step of hiring real “Hollywood” cartoon designers to help with the visual part of the production. This was Mark’s idea at first, although Jason and I saw the brilliance of it immediately. In those days we were enamored with the idea blending the best of Hollywood into game making – creative synergy if you will. In the long run, we would be disabused of much of the synergy notion. However, production design, sound design, voice acting, and later motion capture, were to be the areas in which Hollywood resources proved valuable to video game teams.

A Crash that wasn't

The guys we brought on were Charles Zembillas and Joe Pearson. Charles was principally character, and Joe background. These two were instrumental in developing the look of Crash Bandicoot, particularly prior to us hiring Bob Rafei in January 1995. Bob was an extremely talented young artist who would eventually come to head the art design at Naughty Dog. But in 1994, what Charles and Joe did was provide the fleshing out, or visualization, of ideas pitched mostly by Jason, myself, or Mark. In essence, they translated into cartoon sensibility.

Charles in particular was a very fast sketch artist, with a real knack for capturing cartoon emotion. So we would just say things like, “Cortex has a huge head but a tiny body, he’s a mad scientist, and he dresses a bit like a Nazi from the Jetsons” and in 2 minutes he’d have a gray and blue pencil sketch. We might then say, “less hair, goofier, crazier” and he’d do another sketch. Repeat.

The jungle, concept

Joe did the same for the backgrounds, but as landscapes have more lines, on a slightly longer time scale. Given that “Willie” was Tasmanian we set him on a mysterious island where every possible kind of environment lurked. Evil geniuses like Dr. Cortex require island strongholds. So we had lots of environments to design. Jungles, power stations, creepy castles, evil natives, sunset temples, spooky caves, etc. At some point early on we hit on the “tiki” idea and thus: goofy Easter Island tikis everywhere.

 

Jason’s comments:

When we started designing Crash, or Willie as he was first known internally, we decided that there need be no connection between the real animal and the final design — hey, all mammals, uh marsupials.  A Wombat looks nothing like Crash.  He is closer to a Bandicoot, maybe, but that was pure luck.  Instead the design of the character was determined 51% by technical and visual necessity and 49% by inspiration.

A (very) partial list of the Necessities:

Why is Crash Orange?  Not because we liked it, but because it made the most sense.  First I created a list of popular characters and their colors.  Next I made a list of earthly background possibilities (forest, desert, beach, etc.) and then we strictly outlawed colors that didn’t look good on the screen.  Red, for example, tends to bleed horribly on old televisions.  At the time, everyone had old televisions, even if they were new!  Crash was orange because that was available.  There are no lava levels, a staple in character action games, because Crash is orange.  We made one in Demo, and that ended the lava debate.  It was not terribly dissimilar to trying to watch a black dog run in the yard on a moonless night.

Why is Crash’s face so large?  Because the resolution of the screen was so low.  Some people think we were inspired by the Tasmanian devilPerhaps, but it was the necessity of having features large enough to be discernable that caused us to push for the neckless look.  The move made it a little harder to turn his head, and created a very unique way of moving, but it let you see Crash’s facial expressions.  And that was to be very important.

Why does Crash have gloves, spots on his back, and a light colored chest?  Resolution, bad lighting models, and low polygon counts.  Those small additions let you quickly determine what part and rotation of Crash you were looking at based on color.  If you saw spots, it was his back.  Yellowish orange was the front.  As the hands and arms crossed the body during a run the orange tended to blend into muck.  But your eyes tracked the black gloves as they crossed Crash’s body and your mind filled in the rest.

We were wrestling with these design constraints the entire process.  Joe and Charles, with all their talent, were free to do anything that they could imagine on paper.  But Bob and I were the artists that eventually had to ground that back in the reality of calculator strapped to a TV that was the PlayStation 1.

Charles would hand us a sketch and we would start the math:  240 pixel high screen, character 1/6 to 1/4 of the screen height, character 40 to 60 pixels high, proposed hat 1/8 of height of Character, hat 5 to 6 pixels high, hat has stripes.  Striped hat won’t work because the stripes will be less than 1 pixel high.

Take the image Andy posted titled “A Crash that Wasn’t.”  I can tell you immediately that the tail and any kind of flappy strap was immediately shot down because it would have flickered on and off as the PlayStation failed to have pixels to show it.  And that little bit of ankle showing beneath the long pants would have been an annoying orange flicker every few frames around the bottom of his pants and shoes.  Shorter pants would have to prevail.  Crash did end up with a belly button, but it would be about 2x as big.

The first sketches of Crash as we know him

Charles would look at us like we were speaking SwahiliBut then he’d go off and draw something totally cool and all would be well.

Cortex had few of these issues.  We could make him totally improbable, un-animatable, and just keep him bigger on the screen.   He didn’t show up too often anyway.  He could never really walk with those short legs.  He had to do a weird thrusting tra-la-la dance.  But he looked cool so we just kept him stationary most of the time.

Cortex was my favorite.  I think Andy preferred Crash.  They fit our differing personalities!  Andy has the original ink Crash sketches and I have the original Cortexes.  Both are a true testament to Charles Zembillas’ skill as a character designer. [ NOTE from Andy: I love both, but I too have a secret fondness for my brainchild — he’s just funnier, and he takes himself way too seriously to ever dress in drag. ]


CONTINUED HERE WITH PART 3 HERE or

if you liked this, vote it up at Reddit or  HERE at Hacker News, and peek at my novel in progress: The Darkening Dream

or more on GAMESBOOKS/MOVIES/TVWRITING or FOOD

Caves, concept

Castle Cortex