Flutterby™! : Day 8: TSASB & TSAC

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics


2020-05-02 16:41:06.831521+00 by Dan Lyke 0 comments

Influential Video Games, Day 8: Toy Story Animated StoryBook, and Toy Story Activity Center

These likely aren't going to show up on anyone else's list. They sold... I think between a quarter milllion and a half a million copies each, which was pretty good for a children's title of the multimedia boom, but wasn't the tens of millions of units we expect an AAA game to ship.

They did, however, look spectacular.

With Mike & Debbie and the whole danged community who stood up to help us, I had been a part of starting Chattanooga On-Line. I think that when I filed my 1994 taxes I had made roughly $8k. So I was eating rice and beans, and wonderful Catherine was occasionally buying nicer groceries, trying to figure out how to make a living on this Internet thing.

I was trying to hitch my ride to a number of startups, driving down to Huntsville once a week to talk with a game company that was trying to build an ABM/Anti-Air missile simulation with a couple of (ex-?)military guys and a couple of kids doing animation and music.

This was also pre-Toy Story. I'd heard about Pixar, had the shorts on VHS, along with all of the non-Pixar I could get my hands on, Minds Eye and those other early ones. I had a copy of 3d Studio I'd bought for another attempt to build a business, and a Targa card for (single frame input and output). I was writing a couple of renderers.

So I was on the internet, and I was working on computer graphics stuff, and got going on the Usenet group comp.graphics.algorithms (kinda like a forum or mailing list, for you kids these days) talking about fast ways to do polygon fills; trimming CPU cycles here and there.

And one day while downloading my email, I saw the name "Ed Catmull" flash across the screen. I had a moment of "no way", but I looked, and sure enough, Ed (the core force behind Pixar) had written to me, telling me that he'd seen what I'd been writing on comp.graphics.algorithms and would I be interested in coming out and interviewing.

So I ended up at Pixar in Point Richmond, California ("just turn left at the refinery") a few days after Jerry Garcia died.

And when I got there, I saw that the Windows codecs for the Toy Story interactive products needed some work, so I dived in hard to those.

Andreas Wittenstein had written a video compression system that was able to update 1/4 of a 640x480 screen 15 times a second plus audio off of a 2x CD-ROM. This worked swimmingly on a Mac, but the PC side of things wasn't working well on the 25MHz 486 PC that we were targeting. Cycle counting in assembly language? I was in heaven.

And, of course, the problem with 2x CD-ROM is that a CD can hold 80 minutes of audio, which meant that we could hold 40 minutes of animation. Which meant that we needed even more, so Andreas and I worked on putting a layer of Huffman compression over his lossy video techniques, and squeezed even more on that CD, although for reasons we never figured out, some video would compress in a way that just went pessimally slow on certain frames, so we had to be careful about which clips we compressed how.

Toy Story Activity Center had a couple things of note: It was my first time writing audio processing code. A coworker (who's probably reading this) came into my office and said "help, the spec says there needs to be a slider for 'faster' and 'slower', and a slider for 'higher' and 'lower', what are we gonna do?"

I sure didn't know what I know now about audio, in fact it's possible that nobody did at the time, so we ended up with a basic speed-up and slow-down resampler (we might have done some basic curve-based anti-aliasing), and a high-pass/low-pass filter.

The other coolness was that one of the mini-games was a "solve this routing puzzle with various different shaped pipes". I worked with some TD, I forget who, to get animated frames of the different pipes with their projected locations, and we made a neat little "visualize flow in 3 dimensions" thing out of 2d sprites.

Last year, Charlene was working with a math teacher who asked me to come in and talk about using math in my work. I talked about a whole bunch of things I'd worked on, but this was the "oh, yeah, I played with that!" thing that the kids connected with.

And for the "running down the stairs on the skateboard" thing, I wrote a prototype texture mapper to try to actually render polys rather than slide around sprites. This didn't work terribly well, but did serve us when, after these projects, Phil, Bill, and I built the RAPIX real-time rendering system.

I have a CD of TSASB around here, probably even one of TSAC, and I know that I left a .ini easter egg in there that'd let it play on modern full-RGB display Windows machines; it was decided that we'd get fewer support calls if we forced the users to run in 8 bit color mode, which was pushing the ability of 486sx/25 based machines, our low-end target, to move data around.

(And, yes, I had a crash-cart with a whole bunch of different video cards and a couple of different motherboards and sound cards for testing the different video configurations.)

[ related topics: Pixar Children and growing up Interactive Drama Politics Music Games Animation Microsoft Writing Work, productivity and environment Graphics Mathematics California Culture Chattanooga Sports Macintosh Net Culture Machinery Community Currency Pedal Power Video Bicycling Woodworking Government ]

comments in ascending chronological order (reverse):

Add your own comment:

(If anyone ever actually uses Webmention/indie-action to post here, please email me)

Format with:

(You should probably use "Text" mode: URLs will be mostly recognized and linked, _underscore quoted_ text is looked up in a glossary, _underscore quoted_ (http://xyz.pdq) becomes a link, without the link in the parenthesis it becomes a <cite> tag. All <cite>ed text will point to the Flutterby knowledge base. Two enters (ie: a blank line) gets you a new paragraph, special treatment for paragraphs that are manually indented or start with "#" (as in "#include" or "#!/usr/bin/perl"), "/* " or ">" (as in a quoted message) or look like lists, or within a paragraph you can use a number of HTML tags:

p, img, br, hr, a, sub, sup, tt, i, b, h1, h2, h3, h4, h5, h6, cite, em, strong, code, samp, kbd, pre, blockquote, address, ol, dl, ul, dt, dd, li, dir, menu, table, tr, td, th

Comment policy

We will not edit your comments. However, we may delete your comments, or cause them to be hidden behind another link, if we feel they detract from the conversation. Commercial plugs are fine, if they are relevant to the conversation, and if you don't try to pretend to be a consumer. Annoying endorsements will be deleted if you're lucky, if you're not a whole bunch of people smarter and more articulate than you will ridicule you, and we will leave such ridicule in place.

Flutterby™ is a trademark claimed by

Dan Lyke
for the web publications at www.flutterby.com and www.flutterby.net.