The History of 3D Studio – Tom Hudson interview
By Dave Baker, Neil Blevins, Pablo Hadis
and Scott Kirvan
3D Studio was released to the public in October 1990. The 3D arena at the time was populated by a diverse range of software running on various platforms: LightWave 3D, Sculpt-Animate 4D, Imagine, Topas, Electric Image, Softimage|3D, Wavefront Advanced Visualizer and Alias PowerAnimator, among others. Back then, the words PC and multimedia were not used in the same sentence, and few people would’ve dared to place their graphics software bets on PCs. The first version of 3D Studio was created by four developers, and its low cost, versatile functionality, and expandability via a plugin architecture would make it the most widely used 3D software in the world.
We had the great pleasure of interviewing Tom Hudson, who has been one of the main developers of 3D Studio, as well as the author of the software’s precursors, Solid States and CAD-3D. In this interview, done some months away from the software’s upcoming 20th anniversary, Tom shares fascinating details on the development of Autodesk 3D Studio and 3DS Max, as well as his views on the current state and future of the CG Industry. Be sure not to miss the extra info written by Tom that can be found by clicking on some of the images, and which sheds light on many of 3D Studio’s iconic illustrations. We hope you enjoy this dive into the waters of 3D history.
Pre-History – the Antic Software connection
The history of 3D Studio’s development began several years before its official launch in October 1990. Its early origins can be traced to Solid States, a 3D wireframe renderer that ran on the Atari 800 and was published by ANALOG Computing magazine, and CAD-3D, the next incarnation of the software, which was published by Antic Software. Antic’s software arm was being managed by Gary Yost, and thus started the collaboration with Tom Hudson in 3D graphics software development. Gary, Tom and Jack Powell were the three initial members of the Yost Group, and Dan Silva (who created Deluxe Paint for the Amiga) joined them later. The four of them worked on the development of 3DS release 1.
This part of history is told in great detail and with excellent documentation by Martin Doudoroff, an early user of CAD-3D who collaborated with the Yost Group on many projects. We strongly encourage you to read it.
- What first attracted you to writing graphics software, as opposed to another field of computing?
It’s kind of a strange, indirect path, but the best I can explain it, it all started with a TV show called Space:1999 back in 1975. I have always been a science fiction fan, as far back as I can remember, and when I saw the special effects in Space:1999 back in high school, two friends (one of them Jon Bell, the author of such books as 3ds Max Killer Tips and 3D Studio Max f/x) and I started making 8mm films, concentrating on the special effects (multiple exposures, mattes, miniature work etc.) It was a lot of fun, because you’d have to figure out how to make something miniature look real, or work out how to make a good-looking planet, and so on.
Then came Battlestar: Galactica in 1978, and they had these awesome vector-graphic displays all over the place that were displaying beautiful wireframe graphics of spaceships. I bought my first computer, a Compucolor II, shortly after that, dreaming of creating cool graphics and making animated movies. I taught myself the math involved and got stuff working but the Compucolor II just wasn’t up to the task of doing smooth animation like I wanted.
The next several years involved working on Atari machines (first the 400/800 series, then the 68000-based ST), all the time looking at movies like Tron for inspiration. I wanted to make my own movies using 3D graphics.
Once I got involved with Gary Yost, who is a true visionary, the ball really got rolling and we were on the track to creating software that would do what I wanted, and we kept getting better and better hardware that moved us toward that goal.
- One thing that made Max special was the fact it was sort of halfway between Houdini’s procedural workflow, and Alias’s “Follow my command, and don’t ever let me go back to change my mind” sort of mindset. What made you guys choose that sort of mindset at the beginning, or was that something that just sort of evolved naturally?
Without a doubt, working with the software personally led us to that! Because I wanted software that I could make movies with, everything we put into the software in those early days was something I wanted or that made the software better. Every day, after finishing work on the software, I’d sit down and use the new features I wrote to create some sort of animation. By actually working with the software and experiencing the good and bad features, I was able to really tune it to be useful. Jack Powell, who was part of the original Yost Group with me and Gary, was adamant that we have consistent user interface from one part of the software to another.
Anyway, the original 3D Studio for DOS was sorely lacking in undo capability. It was maddening at times, and it’s something we should have done from the start. I think the big thing about it back then was memory usage to save the prior state, and we were trying to watch every byte – So we had a workflow where you’d simply use a Hold/Restore command to manually handle undo operations.
When Dan Silva joined the team, he immediately noticed that once you did something like loft a shape into an object, that object’s form was fixed and if you needed to adjust something, you had to go back, adjust the loft shapes and execute the loft again. Dan’s idea, which became the core idea in Max, was to have each object have procedural elements that could be tweaked after the object was created. It was a key element, and along with the undo system we developed, made the system a million times better than the old DOS version!
So to answer your question, it was something that evolved as we used the product and seemed like a natural addition, made more feasible as computer processor speeds increased and more memory became available.
- Why did you choose not to go fully procedural, like for example a complete schematic editor to control all portions of your scene?
Well, early in the development of Max, we were dealing with some pretty tricky concepts in terms of what would be efficient with processor time for evaluation, and as I recall we were a little nervous about going down any “blind alleys” that would turn out to cause problems for the viability of the application. I think we pushed the envelope about as much as we dared!
- How much autonomy from Autodesk did the original 3DS DOS and Max team have? Was Autodesk heavily involved down to the specific features, or was it mostly a publisher kind of relationship where you guys provided the finished product and Autodesk sold it?
This was the really sweet part. Gary, Jack and I created a spec for what was to become 3D Studio DOS and took it to Autodesk’s Eric Lyons. The spec was very ambitious, built on all the work we had done on the Atari ST platform with our “Cyber Series”, but added things like a keyframer and rendering features like bump mapping, which I had been itching to do but the Atari graphics hardware was too crude to use it. We were totally in the driver’s seat with the project, and the cool part was that after we had made our presentation to Eric, he took me aside and said “Tom, can you guys really pull this off?” When I told him we could absolutely do it, he was totally stoked. Everybody was so excited to take our work to the next level, it was a great time.
We almost never got dictates from Autodesk about things we had to include. They wanted us to include support for ADI, the Autodesk Device Interface, but it was more of a request than anything forceful. We added it so that we could have tablet support and such, and as it turned out, it was lucky we did so, because when I added the ADI code, I realized we could build on that mechanism to create the “plug-in” concept we added later!
Most of the features we added were driven by customer feedback and by my desire to make a product that I could do my animation work with. Some examples:
— A couple of weeks before we rolled out 3D Studio DOS R1, I drew up a quick storyboard for a little film I called Cornerstone, which told the story of a building cornerstone who dreamed of going off to the beach, but he couldn’t leave because the building he was part of would fall down. I decided to whip up the film using my two 386/20 computers in my office. Jon Bell created animated texture maps for the cornerstone’s eyes using timing sheets I gave him, and I modeled up the assets and did the animation. Because Dan Silva had written the keyframer, it was just about my first serious animation using that part of the package. As you might imagine, with only two programmers on the project, it was a crunch just getting the thing finished on time!
One thing I wanted in Cornerstone was some nice dissolves from one scene to another in a couple places, and 3DS wasn’t set up for that, so I snuck in some code that operated from the command line and used the bitmap handlers to do simple compositing, fades and such as a batch process. It was actually an undocumented feature of the release version of 3DSr1! For 3DSr2, we built an interface for it and created the Video Post module.
Sadly, my crowning achievement in the keyframing of Cornerstone, where the cornerstone starts to break free of the building, was fouled up when several frames of the sequence were corrupted on the media I sent to Autodesk for mastering. As he initially breaks out, his eyes squint several times with his effort, then he quickly slides out, pushing several pieces of trash on the sidewalk out of the way nicely. In the final piece as it ended up on the video, he starts to squint, freezes, then suddenly pops out. I was heartbroken when I saw it – Nobody caught it when they did the mastering because they didn’t know what I had intended. The original 3DS files and frames were lost later on – I had them backed up on some magneto-optical media, cutting edge at the time, and when I went to retrieve them several years later, they were unreadable.
Image from Tom Hudson’s “Corner Stone” short film, which was used for the box art for 3DSr1
— Another piece I wanted to do was a little short set to “Blondie’s” Europa, called Assault on the Sun. It was to feature Freddy and Joey, characters developed by me and my high school friend Steve Dailey in 1975, and Klanky the Robot, Joey’s home-made robot friend, flying to the sun in an Apollo capsule to retrieve a bucket of sun. I came up with the idea shortly after finishing up one of the 3DS releases, when I was at a SIGGRAPH conference, and while planning the piece I realized I would need a nice motion-blurred starfield for the background as the Apollo capsule and lunar module flew toward the sun. This was where I came up with the plug-in concept that became the original “IPAS” plug-in interface – I’d simply create a starfield module that would get information on the camera view and send the resulting starfield bitmap to 3DS for compositing! As I mentioned above, I built on the mechanism used by the ADI devices to accomplish this. Once I had this mechanism in place, we came up with several places where it could be used. I never made the short, but we finished IPAS!