Day 8: TSASB & TSAC
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.)