Aric Wilmunder Interview
Author notes: - The following interview took place in June 2023. Aric was very generous with his time and went above and beyond the call of duty to share his memories of Habitat.
When do you first remember hearing about Habitat being a thing?
I think Microcosm was the name I first heard. Probably in 1985 or 1986. Chip Morningstar was working on the proposal for Habitat while I was working on Koronis Rift and other projects. Lucasfilm Games and later LucasArts was a very prolific organization when it came to designs. You may have seen some of the designs I have shared online, but those were mostly for games that we shipped. I probably have copies of 2-3 design proposals for every one game we shipped. Most of these are currently on loan back to the Lucas companies for their archives.
What were you working on at Lucasfilm just prior to working on Habitat?
I had worked at Automated Simulations while in college on games for the Atari 800. Games I worked on included Star Warrior, a Starship Troopers style game with power armor. Crush, Crumble & Chomp!, where you play the movie monster and take a vacay in a large metropolis. Temple of Apshai, where you go into a series of caves with your trusty sword. At Atari, I worked on Gossip, and then on a sequel to Star Raiders.
My first project at LucasArts was Koronis Rift, where you land on planets gathering alien technology. Ron Gilbert and I were responsible for the 3D Fractal terrain engine and I wrote the scaling system for the alien ships. After that I may have done an uncredited version of Ballblazer for the Atari 65XE before joining the Habitat team.
Author notes: You can view credits for most games that Aric worked on by clicking here.
Do you recall what you were brought in to work on initially for Habitat?
Author notes: You can view the original MicroCosm™ Report from December 5, 1985 that details when Aric was brought onboard, as well as read about the embryonic stages of the development of Habitat.
I was first hired by LucasArts (Lucasfilm Games at the time) to work on Koronis Rift. I had met the Lucas engineers when I was at Atari Coin-Op and had exchanged a few emails with them. They invited me to come give a demo of my 3D work on Star Raiders II, and about a week later I was asked if I would like to join the team. I asked when they would like to interview me and the response was that I had been interviewed the week before during my visit. They just hadn’t told me.
I was already somewhat familiar with the animation system that had been used on Rescue on Fractalus!, and The Eidolon, so after Koronis, Chip asked if I would do the graphics system for Habitat.
If you read the original Habitat document, there was one male and one female avatar. After getting the avatars working, one of the goals was to be able to pick up items and to be seen walking around with them. The animations were based on ‘Cels’, one for the legs, one for the torso, others for the arms, and another for the head. Early animators would draw images on clear celluloid sheets, so these became known as animation cels, and we based our technology on this concept. Along with the cel image data, there was an ability for each cel to have a ‘relative offset’. This changed where subsequent cels were drawn in relation to the earlier cels. This allowed the legs to walk, and the legs could move the torso up and down with each step. The head and arms were ‘attached’ to the torso, so they would move in relation to the torso which moved based on the legs.
In order for the Avatars to hold an object, I created relative offsets for the arms as they moved, so these objects would move in relation to the hand position.
The animation system supported two bits for colors. Two bits give you four possible combinations, so colors 0, 1 and 2, and transparent. These colors were mapped as black, blue and pink on the screen. I had done lots of animation work, so one of my first updates was to allow patterns, not just solid colors, so you could have pink and blue vertically striped pants, or checks, or horizontal stripes for shirts. This allowed Avatars to have different patterns on their clothes. Next, I played with the vertical offsets and found that I could both raise and lower the torsos, so Avatars could now be taller and shorter as well as male and female. The final step that was never in the design was making heads removable. I think that Gary Winnick had created the art with 3 or 4 different heads. I proposed making the heads a removable object, just like the objects that Avatars held in their hands. This allowed even more customization, and allowed ‘heads’ to be objects in the world that you could exchange, or buy in vending machines, or as rewards for completing a task.
There was also a cel layer for facial expressions. These were shared among most of the Avatars, but some of the heads have fixed expressions built in. I suspect there is a flag in the head files that indicates if the facial expressions are or are not used.
Do you recall if there was ever serious consideration with regards to creating an Amiga version of Habitat at all?
None that I remember.
Development of Habitat started when you guys were at the Kerner building. Do you remember how long you were there until you moved over to the Stable house at Skywalker Ranch?
Pretty much all of my memories of Habitat were at Skywalker Ranch. We had spent weeks preparing for the move, and you can imagine the excitement of working there, so we may not have gotten much work done in the weeks before the move.
We also worked crazy hours. I remember one night I heard a ‘yelp’ coming from Chip’s office next door. He was sure there was something rustling around in his trash can. Sure enough there was a mouse in it. I remember taking the trash can outside in the moonlight and I could see KC, one of the ranch cats, chasing some other rodent around, so I dumped out the mouse and went back inside. 15 minutes later, I heard another Yelp from Chip, and once again there was something in his trash. I looked and another mouse had found its way in there. I don’t remember ever finding mice in the building, but that one night they were everywhere. KC would also like to dismember some of the furry creatures he would find. I remember one morning finding some poor rodent that KC had carefully taken apart with all of the pieces neatly in a line about 3 feet long.
KC was a huge cat, he used to live down at the Ranch Fire & Security area, but KC had a habit of falling asleep behind people’s cars. After one or two cars were damaged, they decided to move KC up near our building.
During development, did other people from the company come and visit and give their opinion on how things were?
I primarily stayed focused on the work at hand, and feedback wound normally to the the project lead, so to Chip.
Given how there was no source code management like we have today, how did you handle this during development? Did you keep a master copy of the source in one place and merge your changes into that manually?
I think that Randy might have built the C64 game engine, so I would simply supply the parts that I had written for Randy to integrate. The code lines were probably pretty well drawn between the graphics engine and the memory manager and the service communications.
Do you remember anything about the GRACE tool that may have been used for creating images and animation for Habitat?
I hadn’t remembered the name, I remember the origins were from an animation system built for the Atari 800 version of Rescue on Fractalus!. It may have originally been named ACE (Atari Cel Editor) and when development moved from Atari to Commodore 64 systems, Ron and I were the key experts on those platforms, so we came up with a plan to ‘port’ Ace to the C64 over a single weekend. This normally would be a process that would have taken weeks, if not months, but Ron and i worked pretty well as a team, we knew the platforms, and we’d have no distractions for two days straight. This may have been about the time that Ron and I had our biggest fight. I remember we each had different ideas on how to do this, and we just started arguing without listening to one another. Ron finally got up and slammed the door as he left. About 5 minutes later, Ron came back and said, “Great, now that we got that over with, how are we going to solve this problem?” That took all of the energy out of the argument, and we then focused on how we were going to solve this problem. BTW, ACE was up and running by Monday morning.
One of the critical benefits of our animation system was that it was connected to a SUN workstation. This allowed us to upload and download data to the C64, so artists could do animations, and then quickly upload these onto our servers for archiving and for integrating the art data into our games, that were also built on the workstations.
ACE was built using concepts from traditional animation. Characters were built from cels, and you could move these cels around or change them to create animations. For example, on a face, the eyes and mouth would be separate cels, so you only needed one blank face, and you could add in the expressions, or make the mouth move through a talking animation. You could also swap with a concerned look, or a smile or other expressions.
ACE became Grace on the C64. Later when we moved our art development to IBM PCs, a new version was written for the SCUMM game system, and since we named our tools after bodily fluids, the new animation system was named Byle. One later version was named Cyst, and when the music department patented their audio system, iMuse, we were working on a newer animation system that had two parts, one we named uSweat, and the other uSmell. I don’t know if the sound guys thought this was funny, or even knew about our poking fun.
Do you know if Gary Winnick created all of the artwork for Habitat using this tool?
Gary may have done most of it, I’m thinking that Ken Macklin may have done pieces as well, especially when heads were added.
Was BYLE similar or related to ACE/GRACE?
Very similar, but much more primitive. You can see in this example the torso separate from the legs, so when the legs ‘jump’, the torso moves up and down with them.
One benefit to these systems is that they shared code with the animation system within the game, so what you saw in Byle is what you would see in the game.
(BTW, I’m just stepping through the questions, and it appears that the information you have in later questions is matching my recollections)
Was it a challenge for you having to design a graphics/animation system for Habitat in the sense that it wasn’t like your average game? I.e. customization was something you didn’t have back then in most games.
There were probably more similarities than differences. ACE/GRACE and Byle gave us a way to create the animation dataset used in the games. This included 4-direction walking, relative offsets, and the cycle data for walks and talks. For Habitat, the first step was to simply get the basic capabilities working. Once that was completed, I was able to branch out into new capabilities like clothing patterns, carry-able objects, and removable heads. The core capabilities worked solidly, the tools were well understood, so these were a great foundation to build upon.
Although I’m not asking for it, do you have the source code for ACE or GRACE in your archives? Chip archived pretty much everything, but I’m wondering whether he consulted with you before he built the archive we have in 1994, or if he consulted with you before the public release in 2014. If there was something Habitat related in there, it would be great to know. Being able to potentially one day use that tool and view the artwork in source form and be able to create new artwork would be amazing.
Sadly, Ace/Grace was built on and the source would have lived on the SUN servers. We had an IT department that would have kept that archived, but I can understand why it might have been overlooked. Brad Taylor was my go to guy when it came to animation tools, and we might be able to look at the data and see if we recognize the format and if one of the SCUMM tools might be able to work with that.
What would your average day look like during the time you developed Habitat?
Lori and I had bought our home in Novato about the time of the start of Habitat. My morning commute was about 10 minutes south on a freeway, and then 10-15 minutes of driving through twisty back country roads to the entrance of Skywalker Ranch. You would get greeted by Fire/Security at a kiosk on the way in (Skywalker was 15 minutes from the nearest fire station, so it was more economical that all of the security team were also trained firefighters, and the Ranch had its own fire station). Once on the ranch, you had a 3-4 minute drive back to our underground parking below the Stable House.
I had a large office on the first floor, with double doors leading to a patio. I had an original Ralph McQuarrie painting on the wall, concept art from Star Wars of an X-Wing flying down the Trench of the Death Star.
I remember the company had a disagreement with the County regarding the value of the Ranch when it came to Taxes. The county wanted George Lucas to pay based on what he spent for the Ranch, George wanted to pay based on what he could sell the Ranch for. Based on those numbers, my office alone was worth a decent sized house in California.
So I would leave the front gate, go around a few bends through a forested area, often seeing deer, once or twice a bobcat, and passing by the Main House on my way. I drove my ‘65 Mustang and a friend of a friend did this artwork of me in my Mustang outside the Main House with the Tech Building (actually at the other end of the valley) tossed in for good measure. (BTW, the artist that created this watercolor did lots of pieces of race car drivers and classic cars. He has since passed away, but I contacted his brother about being able to share this piece of his work and I was given approval)
So that was just getting into work on a typical day. After arriving, I’d sit down at my desk, with one or more C64’s and a monitor for a SUN workstation. This was used for company emails, compiling code, and assembling the parts needed to animate the Avatars.
Describing the programming process is like describing watching paint dry, so the next big event was lunch. We had three dining choices. We could drive 20 minutes back down the hill and look for a place to eat, or we could eat at the Tech Building, home to Skywalker Sound, or you could dine at the Main House where you might spot David Byrne, Mel Brooks, or other celebrities. We’d see Linda Ronstadt pretty regularly, she was dating George, and I remember one time feeling dejected because I invited a friend to the Ranch for lunch, and it was raining and we ended up having to eat outside. During the meal, she leaned over to me and said, “Robert Redford just sat down behind you” and at that moment I realized that everything was going to be just fine.
More paint drying in the afternoon. Chip, Randy and I had offices near each other, so we would stop for discussions any time an issue arose. We also had acres of open space, so you could walk down to the stables (I think the donkeys there were used in Temple of Doom) or behind our building there was a creek that flowed pretty steadily.
I don’t remember if we would have dinner back at the main house, or simply eat one lunch, and box up the extras. Somewhere in among my mementos I have a fork from Skywalker Ranch that I had kept in my desk for all the occasions I ate dinner while sitting there.
More interesting might be stories of our first live demos. One was at the 1986 Chicago Consumer Electronics Show. We had a suite on the top floor of McCormick Place, a few blocks from the show floor. We had C64’s and monitors and modems on tables and even on a bed as various visitors came up to watch the demos. During one break, a storm hit off of Lake Michigan. We watched as a sunny day darkened and storm clouds approached. One sailboat didn’t make it back to port and we watched the storm and winds build and this boat was tossed against the rocks. Later a rescue helicopter went out to pick up the crew.
Anyway, here we were with our systems on beds, visitors from around the world coming by the suite, and the system held together.
For another press event, we were flown to New York where Steve Case had rented out the Palladium nightclub. Music was blasting, at the entrance there were models hired to demo the games from these areas that looked like dioramas you would see at a museum, but instead of the African veldt with water buffaloes and cheetahs, you would have models in skimpy dresses holding joysticks.
Ken Macklin designed some concept art for a boxed version of Habitat Do you remember when this was created? I’m curious how far into development this came about.
I know I’ve seen this, I may even have a copy of it somewhere, but I can’t tell you when it was created.
Do you recall who created the Habitat logo?
Same with the Logo. I’m pretty sure we had these at Chicago CES.
Do you recall if you guys ever had any Habitat merchandise made? I saw Frank Cifaldi found a Habitat sticker, but I wonder if anything else was produced at the time, even if it was just for the team.
I’ll track down my LFL box in the garage and see what I can find and I’ll send you photos.
During development, maps were created for you guys to use. Do you recall who was the person that designed them?
Nope. That is dated 1987, so that would be pretty late in the process. These may have even been built as prep for the Fujitsu version, if that wasn’t too early.
Author notes: Fujitsu didn't begin planning Habitat until August 1988 and talks probably didn't start until that year.
Due to the multiplayer aspect of the game, did you ever get to work from home at all?
Short answer, yes, especially as the system was coming together.
One of our goals was for there to be fun new experiences on a regular basis. We had teleporters, and planned that every once-in-a-while you would get turned into the Fly and given the head of a fly and your speech would be limited to ‘Bzzz Bzzzz Bzzzzzz’ taking all of your words and converting them to buzzes until you recovered. I had created a magic wand that you could wave at people and make them disappear and reappear. On one of these nights, I pulled it out and it worked great… but there was a hitch. Habitat was built on the telephone network, and the FCC has very specific rules about being able to eavesdrop on a conversation. By making someone invisible, we were violating FCC regulations. I came in the next morning after a fun evening only to learn that execs at the headquarters had been in meetings for hours about this. The solution was simple, I removed the wand from the world. This is one of the reasons we always had to display the ‘Eye of Horus’ in the upper left corner whenever too many Avatars were in a room so you would know that others could see your conversations.
Do you recall whether you wrote code for Habitat using the Sun workstations you had access to, directly on the C64 itself or something else?
All of the C64 code was developed and compiled on the SUN workstations. I think we would build the game and from that image build floppy disks that we could boot. Chip had made a pretty slick assembler called Macross using many programming concepts you would find in higher-level languages like C. For example, in normal 6502 assembly, you could have the processor make a calculation, and based on the results you could create a label and have the code branch to that label. In Chip’s version, you didn’t need to create the labels, you could use what looked like C’s version of (if X) { do this } else {do something else}. This saved time having to create labels and the code was much easier to read.
Now here is one aspect that I think would have made a huge difference in the development of Habitat. As I mentioned, the code for the objects in Habitat were written in 6502 Assembly Language. Literally the language of the computer processor. Chip had written a memory manager that allowed us to load resources from the floppy disk, so sounds, images, animations, and code, and these elements would move around in memory or be removed if no longer needed. The problem was that if there was ever a memory problem, any object could crash the system in a way that was unrecoverable. Essentially you lost all information about what caused the crash. The crash may not even be repeatable, since every item moved in memory, so it might be in a different location the next time the object ran. There was also a second copy of the object code that ran on the server in what we now call the cloud. This was because we knew that machines could be hacked, so when an object was run, a similar piece of code was run on the server to make sure that no rules had been broken.
So we had a system that could be extremely fragile, running code that could be moving around, and any of these pieces of code could interact in an unexpected way and crash the entire system. The solution was found in our next project, and that was creation of the SCUMM language, written by Chip. The SCUMM Language had a limited set of only about 80 commands. When a command came in, it was checked to see if it was a valid command, and if so, it would call to another section of the system to execute that command. If a command was not valid, for example being out of range, the system immediately halted and the user could trace back to determine why garbage code was being executed. Each command was stored in a Byte, which is a number from 0 to 255. With only 80 commands, anything above 80 was an invalid command, so the odds are already two out of three that if you are executing a bad command, the system will get halted. In Habitat, since the objects were written in 6502, you could run random chunks of memory, and chances were that it would do something, usually blowing up your machine. By having our own language, it might have been possible to run the same code on the server as on the C64, so saving programming and debugging time.
Do you recall which text editor you might have used for coding back then?
No idea. There were a number of editors that could be used, this may have been VI (vee-eye). In college I used Emacs, later FINE (which stood for ‘Fine is NOT Emacs). When we moved to PC development, we spent some time looking for an editor that we could customize. Now reading ahead, we used Brief on the PC, I don’t think there was a version under UNIX.
As far as I can tell, you were a major contributor of regions for Habitat. Did you create most of the Habitat world?
I don’t remember if we went in with a plan for who would build the world. There were some tight constraints on drawing the backgrounds in the world, the C64 could display 16 colors, but color changes could only occur on 4 or 8 pixel boundaries, so say you wanted a yellow house, you were limited where it could be put.
I built the system for drawing the backgrounds. We had defined a method where we could compress the information into as small a packet as possible, so moving from one region to another only required a small message to be sent. When received, the system would get a list of the objects needed to draw the background, their location, and if the object was already in memory, it would use that. If there was a new object, it would do a lookup and find where that image was on disk and load that image into memory. We used a system called a heap, so objects could be loaded into the ‘heap’ of memory, and each object had a timestamp, so older objects could be removed to make space when you loaded newer ones. So you would get a list of background objects, and get the objects needed to draw that, and you would get information about the Avatars, and you might load new head images if necessary
There were also Text objects for doing signs, and vending machines, so objects that could hold and display other objects. BTW, when I worked for Atari, I worked under Dr. Alan Kay. Dr. Kay is credited with creating Object Oriented Programming, an approach to programming where you build objects that have different capabilities, each type of object contains the code it needs, and objects can share some of these capabilities with other objects. Say a table has legs, and a chair has legs, so two types of objects might share the notion of having legs. Habitat wasn’t too far from this concept.
OK, back to your question. I already confessed that I am not an artist, but training an artist on how rooms were built seemed daunting, so artists created the objects and I populated the world with them. I think I ended up building the world, because in all honesty, the challenge of building an animation system, was already well understood. The challenge of building a cloud gaming system was not, so I finished my task first, and started the work on building the world. Randy was deep into building and debugging the objects in the world, and he was already coping with the seemingly random crashes that I found so infuriating, so building the world was a good option. Often I would build a template for a room and others could easily alter the palettes, say change the colors of the houses or flowers in a yard. Once the system was stable enough, we had others building regions, and that was fun seeing areas that I hadn’t created.
It’s mentioned in the archives that you were working on adding magic to the woods. Were you behind the “Vaultkeeper” quest?
That doesn’t look like my work. I was more into making people invisible and causing headaches with our financial sponsors.
Do you remember how regions were originally created for Habitat using the Sun workstations?
Author notes: Some of the tools used for region creation had names like Slur and Riddle
Slur and Riddle sound like something Chip wrote. My guess is that I was building everything by hand. This looks like time for a charming story about naming tools. Not Habitat related, but Chip was involved.
So I mentioned how the tools used for SCUMM were named after bodily fluids. SCUMM, the language and the compiler, was the Script Creation Utility for Maniac Mansion. As mentioned we had Byle, the animation editor, SPIT, or font tool, and Flem, a tools for editing the rooms. When I wrote the PC interpreter, it needed a name, so I went with Scumm Presentation Utility™ or Sputm. We must have been a fun crowd to stand next to as we were waiting for food at the Skywalker Main House as we discussed our work.
So we wrote a new tool, I don’t even remember what it did, but we needed a name. Chip’s wife had just had a baby, and Chip probably wasn’t getting much sleep at the time, and he joined the discussion and mentioned this disgusting substance he described as being like packing material for babies. Their intestinal tracks are stuffed with this black tar-like material, and so when they are a few days old, this evil stuff shows up and gets on everything. We agreed that this sounded perfect, and asked what the name of this was and Chip said, ‘Smegma’. Well, he was wrong. It was probably lack of sleep.
About 3 months later, we had a new hire, I think a project manager, and he came in one day all upset. He went on and on about how inappropriate it was to name one of our tools Smegma. We calmly explained that it was packing material for babies, and he said, ‘No it isn’t’. We then consulted a dictionary to learn that the black tar-like substance is called Meconium. Smegma is something completely different.
Do you remember anything about the Reno region editor for Habitat?
Author notes: A detailed document outlining the Reno region editor is in the Habitat source archives
Somewhere I have a printout of the same RENO document that I thought i would have to go look for. I’m glad to see you have this nicely archived on GitHub.
To the best of my recollection, Reno was never built. I had planned on building it on top of my graphics engine code, so you would be able to use a standard Habitat floppy and it would load resources from there. I hadn’t read that document in decades (nearly four) and so my first reaction is that it is an excellent snapshot of my thinking at the time. It is also a reflection on how many of us worked in the Lucas organization. We were making games, but at another level, we were professionals and we wanted to bring these professional standards to our everyday work.
I wish I could pinpoint where in the overall Habitat timeline this document was written. Yes, we have the date, but more importantly, Quantum was reevaluating the CPU usage needed to run Habitat, and probably making decisions on the future of Habitat itself. Reno may have been built on the notion of a limited project that could be built with a reasonable level of effort and a short schedule that would allow us and them to expand the world. Essentially turn the world building over to the users, which is what I wanted to see.
BTW, here’s a moment for another anecdote, why? Because I just remembered it. A few years after Habitat, I was asked to come down to ILM, Lucas’ award winning special effects group. ILM had been approached to do the special effects for Snow Crash, Neal Stephenson’s novel about an online universe. I was brought in as a consultant. Mostly my advice was that these were worlds of the human imagination, so they should be prepared to create a world where any individual could express themselves in the most outrageous manner possible. Colors, sizes, sexes, animals, robots, copyrighted characters, historical characters, fantasy, SciFi, Romance, there was no line that users would not seek to cross in their efforts to be both unique and to garner attention. Ready Player One didn’t nearly go far enough.
What do you remember about Fastlink?
This is what I think I remember.... The original games done by LucasArts/Games were done on the Atari 800. Someone, before I got there, had developed an uplink/downlink technology that connected the 800 to the SUN workstations. When development moved to the C64, a similar technology was required. If I remember correctly, this was called Fastlink. A simple program that allowed you to upload and download data to a C64, and examine memory, and probably start and halt a program.
Did you design regions for Habitat using Reno, or did you create them in one of the various text based formats to describe a region that Habitat used such as Riddle or Griddle?
No recollection of Riddle or Griddle, so I was probably just using text. I may have kludged something together that let me move items with a joystick while outputting the object coordinates into a string on the screen. This would then let me upload that string to our workstations and save it there, and download regions to that string if I wanted to duplicate or use one already created as a template.
Do you have any memories of an area in Habitat called the Dungeon of Death?
Author notes: This area was created for a quest (Randy Farmer talks about this in the lessons of Habitat. It's a quest that happened late in the playtest where the person playing a character called DEATH was killed and dropped a gun that would one shot other avatars). The dungeon is one of the only areas of the original Habitat that we do not have an archive of, beyond an old print out of a map of the 2nd level of the dungeon.
I didn’t work on this. Randy often had ideas for areas he wanted to build. I was more focused on building tools so others could build the world.
There was a promotional video created for Habitat, were you involved with this at all?
I have two or three of the original promotional videos on different videotape formats in my garage. I’m pretty sure I brought these in at one point and they were transferred to digital.
Steve Arnold, the president of our division, his wife was a video editor, so I think he may have hired her to make some of these. I think her name is on some of the tapes. I remember that these were scripted beforehand and we may have even created custom heads for these. The ‘Pops’ character and the boy selling newspapers were new. Also the ‘Steve Arnold’ avatar who appeared in the video we did for the company meeting was entirely custom. I don’t recall if I was involved directly. I may have created the rooms for these.
Did you ever work on any region ideas that were never implemented into Habitat?
Lots of dreams.
Do you remember anything about the unique non-human bodies in Habitat and did you come up with the idea for them?
Once I had the human Avatars working, I experimented with a few others. I think I drew the spider (that is about the peak of my artistic skill). What you may not have seen is that the spider can wear human heads. This was inspired by John Carpenter’s ‘The Thing’. Seeing a head walking around on spider legs was pretty creepy.
I don’t recall the tentacle from Maniac Mansion being in Habitat. Actually now that you mention it, I probably did create that. I remember doing a wind-up toy penguin, where the key in its back would turn as you walk. This is where I wanted to be going, where individuals would someday be able to create their entire custom avatar, so I created a few to demonstrate the possibilities.
Do you recall what your avatar looked like inworld? Did you have a particular head that you liked?
Funny, I have no recollection. I was probably wearing whatever new head the artists had drawn.
At some point, Habitat had a downtown area created, but a redesign happened about 9/10 months in. Do you recall anything about the original downtown area?
The original world only had a handful of regions. It probably wasn’t a redesign, it may have been that I had finished the graphics engine and started building the world.
Do you recall working on a game called Kingpin for Habitat that was based on the Chicago mob of the prohibition era?
Now that is interesting. Another anecdote. I worked for Atari Corporate Research, under a person who will remain unnamed. While I was working on one design, he had a two-person team working on a project called Excalibur, about King Arthur.
I came in one day, and the lead was very unhappy. There were some issues with the gameplay that he found very unlike his visions of Arthurian legend. If I remember his quote correctly, he said, “... This isn’t like King Arthur, this is like gangsters!”. That got me thinking.
Over the next few weeks, I worked on a design at nights for a project I called ‘Chicago Kingpin’. You play a young Al Capone, your goal is to take over as much of Chicago as possible, but you also want to keep your ‘public enemy’ number down or the feds will come after you. Most of the gangsters of the time raise money through alcohol, gambling, and prostitution, so I was going to have to work on those aspects. While designing the game, I programmed up the opening screen. It was a brick wall, and you would hear the sound of machine gun fire as the words ‘Chicago Kingpin’ were spelled out on the wall. I might have played around with the concept of creating a little piece of prohibition era Chicago inside our world and left a trace.
There are a lot of bug reports in the Habitat archives and in there it’s mentioned you watched tapes. Did you record all play sessions for playback later on? Or just if you encountered a bug.
I don’t recall doing this often, but I know that this technique was used because game crashes could at times occur seemingly randomly, so videos might be used to verify what objects were in play.
How often would you playtest? Would you do it daily, or schedule them as needed.
I remember mostly in the evenings. I think we would all go home and spend time with our families, and then get online at night for testing. Early in the industry, testing was commonly left to the development team. I don’t recall if we had hired any full-time testers by this point, if so, maybe just one or two. Within a few years testing had become a key part of the game dev process.
Later on at Lucasfilm, you were running the tools group. Did you develop any tools for Habitat?
Running Tools was probably almost a decade later. I was responsible for installers and launchers and also for tools to convert between different 3D formats output by different art tools. I also managed all of the International products, and cross-platform (macs, amigas, etc.). I also helped build the original voice department and the tech to make that happen.
We were also always looking for ways to make our code more shareable between teams. It always seemed that if you wanted one neat feature from another project, you would have to take huge parts of another team’s code base because everything was dependent on everything else. The Dark Forces team had come up with a data structure that held about a dozen key components. Memory manager, timers, keyboard and controllers, each of these were combined into this single data structure you would pass to your code. The problem was that if you wanted to just add one new command, this data structure would grow and then be incompatible between projects. It had become monolithic.
Instead, we broke the monolith apart into individual components for memory, timers, file systems, save/load, etc. It worked like a musical patch bay. As each piece of code started up, it would call out to the system with a list of capabilities that it needed and a list of capabilities it could provide. The system would query the different systems and respond with the capabilities that were available. The modules would then initialize and use those capabilities. Both Rebel Assault II and SCUMM adopted this system, and after Full Throttle, the two underlying systems were merged using this method.
Did you ever visit Habitat or Club Caribe after you stopped development on it?
After the Reno document, I was ready to move on. I know that at times I must have rubbed Chip the wrong way. We have different styles, neither is wrong, and Chip is far beyond me in coding skills. Chip and Randy made online universes their careers. I went on with SCUMM, did one of the first Playstation 2 games, developed the T-Mobile SideKick, one of the earliest smartphones, worked for Microsoft and Ericsson on streaming television, and most recently on Internet of Things. I grew up in the valley, even attend Homebrew Computer Club meetings, and I always felt that I was one step behind, and arrived late for the computer revolution. What I didn’t realize until later was that I helped create the computer games industry, online worlds, the Smartphone industry, and most recently helped open people’s homes to IoT. I may have been late to my first revolution, but I was smack in the middle of the next four or five.
Did you keep anything at all from your Habitat days?
I’d have to see what I have in the boxes in my garage…
Were there any lessons you took away from the development of Habitat into your later work?
Well, I mentioned building a language. I can’t criticize Chip for this because I didn’t work much on interpreters until SCUMM. Also, if I had, it would probably have been too late to change, but the lesson is that it is never too late to do something the right way. You’ll save time in the long run, plus a lot of gray hair.
Did you ever keep up with any of the later descendants of Habitat that Chip and Randy created? (Fujitsu Habitat in Japan, WorldsAway on CompuServe)
Only peripherally. I was busy with SCUMM and that occupied my life for nearly a decade. I also started a family and tried hard to keep a reasonable work/life balance. I was also somewhat annoyed when GDC only recognized Chip and Randy for the project. Same thing happened with Wikipedia, both Janet Hunter and I were left entirely off. A few years back I reached out to Randy about this and suggested some edits to add us back in, and both Randy and Chip agreed and the changes were integrated. The funny thing about credits, is that mine sort of disappeared on Habitat, but Chip created the original SCUMM compiler and gets very little credit for that accomplishment. The world can be funny that way. BTW, I haven’t seen a mention of the Habitat inspired game in AMC’s series Halt and Catch Fire.
What was the first project you worked on after Habitat ended?
Probably the PC version of Maniac Mansion. Ron and I had shared an office through much of the development, and I was interested in both learning a new machine, and moving from Assembly Language to C for game development. I made a proposal, got the go ahead for a 6-month project and made the mistake of after three months telling my boss I thought I could finish it in four months. Well it took 5 months and at my review I was dinged for coming in late. I pointed out that I came in a month early, and my boss at the time told me that when I said I might get it done in 4, he changed the schedule without telling me, so in his view I was late a month, not early a month. The other fun challenge was that Ron was the author of most of the 6502 code, and in the middle of the project, his girlfriend left to teach English in China. After a few weeks, Ron decided to leave to be with her, so I had to try to figure out his undocumented code. We had been friends for years, but I admit some of that code was a bit sketch.
At this point, myself and Aric discussed the Habitat image format after I had asked him the questions you see above. He took an interest and actually revisited the code and broke the format down. You can find his notes on the NeoHabitat GitHub Wiki. Due to the way the format works, Aric was able to view a source file for the head named "afro0" and recreated it on graph paper by hand.