Programming for Fun: MUDs as a Context for Collaborative Learning Amy Bruckman MIT Media Lab E15-315a 20 Ames St. Cambridge, MA 02139 Tel: 617-253-0379 KEY WORDS: collaborative learning, computer networks, MUDs, virtual reality ABSTRACT In text-based virtual reality environments on the Internet called "MUDs," participants meet people from all over the world. They can not only explore the virtual world, but extend it, creating new objects and places. MUDs are Constructionist environments in which people build personally meaningful artifacts. But unlike many Constructionist environments, MUDs place special emphasis on collaboration, encouraging construction within a social setting. This paper presents a case study of the experiences of a 43-year-old building contractor named Jim. It is one of an ongoing series of interviews I have conducted with people who learned to program for the first time in a MUD called MediaMOO. Salient features of their learning experiences include ease of collaboration, availability of technical assistance from peers, playfulness, availability of an audience for completed work, and community spirit. The success of MUDs as a learning environment for adults points to its potential as a learning environment for children. INTRODUCTION Jim is a 43-year-old building contractor who lives in the Pacific Northwest of the United States. He built a "77 Jeep Cherokee." Susan is a thirty-eight year old professor of agriculture from the South. She built a simulation to help her students learn to perform certain laboratory procedures. Christopher is a 23- year-old graduate student in comparative literature in South Africa. He programmed a poetry generator. Neil is a 30-year-old graduate student in American cultural studies in the Midwest. He built a "RetroFuturist Aerodrome" complete with a biplane, a blimp, and a taxi stand for those who want to catch a ride. Two men named David-a writing teacher from the Western United States and a graphic designer from the Midwest-each programmed a box of donuts. Although they are spread out geographically, they talk to one another daily in a virtual community on the Internet called "MediaMOO."[1] MediaMOO is a text-based multi-user virtual reality environment or "MUD" based on software written by Pavel Curtis of Xerox PARC (Curtis 92). None of these people had ever programmed before they came to MediaMOO. Their accomplishments are diverse, from Susan's elaborate simulation system to David and David's completion of a simple tutorial. However, they were all inspired to try to learn to program by the same factor: a desire to contribute to the community. They were all supported in their efforts by the presence of other people in the virtual world to ask for help. In these worlds on the network, learning is a collaborative, community activity. This paper will begin by explaining the underlying technology, and then present in depth the case study of Jim, the building contractor mentioned above. In conclusion, it will analyze the potential of these virtual worlds as a learning environment for children. WHAT IS A MUD? A MUD is a text-based multi-user virtual-reality environment. As of December 1993, there were 424 publicly announced MUDs based on twenty-one different kinds of software on the Internet. I will use the term "MUD," which stands for "Multi-User Dungeon," to refer to all the various kinds.[2] The original MUDs were adventure games; however, the technology has been adapted to a variety of purposes. When a person first logs onto a MUD, he or she creates a character. The person selects the character's name and gender, and writes a description of what the character looks like. It is possible for a character to be male or female, regardless of the gender of the player. In many MUDs, a character can also be neuter or even plural. A plural character could, for example, be called "swarm_of_bees" or "Laurel&Hardy." MUDs are organized around the metaphor of physical space. You can "talk" to anyone in the same virtual room. When you connect to MediaMOO (our MUD at the Media Lab), you see the description: >connect guest Okay,... guest is in use. Logging you in as `Green_Guest' *** Connected *** The LEGO Closet It's dark in here, and there are little crunchy plastic things under your feet! Groping around, you discover what feels like a doorknob on one wall. Obvious exits: out to The LEGO/Logo Lab The core of MediaMOO is a virtual representation of the MIT Media Lab. Typing "out" gets you to the "LEGO/Logo Lab," a central work area for the lab's Epistemology and Learning (E&L) research group: >out The LEGO/Logo Lab The LEGO/Logo Lab is a happy jumble of little and big computers, papers, coffee cups, and stray pieces of LEGO. Obvious exits: hallway to E&L Hallway, closet to The LEGO Closet, and sts to STS[3] Centre Lounge You see a newspaper, a Warhol print, a Sun SPARCstation IPC, Projects Chalkboard, and Research Directory here. Amy is here. >say hi You say, "hi" Amy says, "Hi Green_Guest! Welcome!" The Thin Blue Line arrives and slows to a stop. The conductor of The Thin Blue Line cries, "Next stop is Ballroom Foyer." The conductor of The Thin Blue Line cries, "All aboard!" The Thin Blue Line moves out slowly, gathering speed as it vanishes into the distance. In this transcript, a guest connects and speaks with a real person (me). Each person could be anywhere in the world with an Internet connection. Although I live in Boston, there are people in California, England, Austria, and South Africa who are part of my daily life. As Green_Guest and I were talking, a train came through. If Green_Guest were to type "enter train," it would give him/her a tour of interesting places around MediaMOO. The train system was programmed by a MediaMOO user named "Moose"[4] who is a graduate student at Brown University. The earliest MUDs were written in 1978-1979 and were based on the role- playing game Dungeons and Dragons. In 1989, a graduate student at Carnegie Mellon University named James Aspnes decided to see what would happen if the monsters and magic swords were removed. He created a new type of MUD, called "TinyMUD," which was not an adventure game. Later versions included a simple programming language. Instead of spending time killing virtual monsters, participants work together to help extend the virtual world. Langdon Winner remarks that "social activity is an ongoing process of world-making" (Winner 86). In MUDs, this is true in a literal sense. In most MUDs, characters are anonymous. People who become friends can exchange real names and email addresses, but many choose not to. Conventions about when it is acceptable to talk about "real life" vary between communities. In most MUDs, people begin to talk more about real life when they get to know someone better. However, in some communities such as those based on the Dragonriders of Pern series of books by Anne McCaffrey, talking about real life is taboo. MUDs are increasingly being used for more "serious" purposes. David Van Buren of the California Institute of Technology and Pavel Curtis of Xerox PARC has developed a MUD to enhance professional community among astrophysicists called AstroVR (Curtis and Nichols 93). The MediaMOO project, which I began in fall of 1992, is designed to enhance professional community among media researchers (Bruckman and Resnick 93). As of February 1994, MediaMOO had over 900 participants from twenty-three countries. In my dissertation research, I plan to create a MUD called "MOOSE Crossing"[5] as a learning environment for children. The research presented in this paper is part of a pilot study to explore the potential of MUDs as an authentic context for learning to read, to write, and particularly to program. WHY LEARN PROGRAMMING? Implicit in this work is an assumption which should not go unexamined: that learning to program is beneficial. In asking this question with regard to children, a certain degree of futurism is in my opinion appropriate: in the future, programming will most likely give them more control over their lives in our increasingly information-based society. Comfort with computers may make new careers available to them. Overcoming technophobia will make them better consumers and better citizens. This seems appropriate for children, but does it apply to the adults described in the introduction to this paper? For example, the 43-year-old building contractor, Jim, is unlikely to incorporate computers into his business any more than he already does. However, he has found in programming a new outlet for creative expression. It has inspired him enough to want to share that knowledge with his children's teachers. The next section presents Jim's story in depth. "THIS HAS INSPIRED ME" Jim is one of twelve adults who learned to program in MUDs (eight on MediaMOO) who I have interviewed to date. I spoke with him both on the phone and on MediaMOO. Jim has always lived in the Pacific Northwest of the United States. After he was graduated from high school, he was drafted into the army. By a stroke of luck, he narrowly avoided being sent to Vietnam. After two years of military service, he attended two years of junior college on the GI Bill. He took what he describes as "just the fun classes" and never got a degree. In need of work, he learned that a friend of a friend needed help building a house. After a number of years, he built up enough expertise to start his own building contracting business. Jim has little mathematical or scientific background, and had never programmed before he encountered MediaMOO: I work on a computer at home. I don't have it in an office, at school, or anything like that. We use a Macintosh. My wife was a graphics designer and she needed a computer to stay in her field. I'm a building contractor. She bought a Mac about four years ago and started doing design on the computer, and I started using it for my business, just playing with it, and really liked using it. Asked why he decided to try programming, Jim describes a desire to contribute to the community: Since I started getting involved with this I became interested in programming because I wanted to be able to manipulate this world in a better way. And instead of just looking at things and creating things that already existed, I wanted to try and put my hand to actually creating something of my own. By "creating things that already existed," Jim is referring to the fact that since the MOO is object-oriented, it is easy to make useful objects simply by making something which inherits from an existing parent object. You can make a television set with one simple command, making something which inherits from generic television set. Making something which inherits from an existing parent object is an easy first step towards programming. It is part of what encourages people that they can and would like to make something of their own. Jim also describes the MOO environment as an interactive story to which he wants to be able to contribute: It's like reading a story that I get to help write. And I wanted to get more input into what was happening, beyond just chatting with people and creating a box or whatever... I wanted to try and do something with it. The community of learners present on MediaMOO was one of his key motivations for learning to program. He wanted to be able to contribute something to that community. Objects are conversation pieces in MUDs. When Neil flies by in his blimp, others stop to admire it and ask him how he created it. That becomes the basis for striking up a conversation, rather like dog owners in a park being able to strike up a conversation about dogs and then segue to other topics. Jim wanted to build something of his own rather than simply admiring everyone else's work. This combines a desire for personal mastery and elevated personal status with a desire to contribute something to a society he has benefited from. Other residents of the virtual world form an audience for work. People's motivations for trying to program something are primarily social. The first step in learning to program is perhaps the hardest. The initial barrier is primarily emotional. Most adults who do not have formal technical education suffer from some degree of technophobia. On MediaMOO, a user named "cdr"[6] made a set of clear, simple tutorials. Seven of the eight MediaMOO programmers interviewed to date began by doing one of these tutorials. Susan comments that for her, the tutorials' primary function was to help her overcome that initial emotional barrier: "I did cdr's tutorials and I realized 'I can do this!' But then I had to step back and figure out what it was that I had done." Cdr began by programming a "television set" object. You can turn on your television set and receive different "programs" on different channels. One of the first shows he added to the television schedule was called "Coding with cdr," an instructional video teaching you how to program a box of donuts that you can eat. The metaphor of an instructional video seems to put people at ease. The success of these tutorials also depends on cdr's friendly, warm personality. His manner puts people at ease. They are not detached technical instructions, but help from a caring, supportive person. Jim enjoyed doing the tutorials: I'm totally program-language illiterate. Well, I found cdr's tapes. Cdr was able to lay out exactly what was going on and lay it out step by step-you watch his tape, and you do what he says. And it worked! I was able to start to understand what the basics of it was all about. I made his box of donuts, and then I made myself a car to drive around in. And I added some events so I personalized it somewhat. I really enjoyed that. Jim was excited enough about his car to want to port it over to another MOO where he has an account, PostModern Culture MOO (PMCMOO).[7] He discovered that one of the needed parent objects for the car, generic portable room, did not exist on PMCMOO. In solving this technical problem, he relied on the help of other members of the community: I got excited about programming just by making cdr's car and doing those things, to where I went back to the other MOO where I had an account and made myself a vehicle there from scratch. Cause they didn't have portable rooms there. I had help, of course. I got a couple people who knew more than me to give me a hand when I got stuck. Being in the MOO enables you to be... two people can work on the same project at once. I could work on my verbs, and when I had a problem I would call somebody over, and they could just list it out and they could say "gee, you need to do this" or "you need to do that." It was just like having someone sitting behind me at my terminal critiquing what I was doing. Just as the community provided Jim's initial motivation for learning to program, it also provided support to help him through the process. In a MUD, you are never alone. If you have a technical problem, there are other people there to help you. Helping others is a central activity in MUD culture; it is a basis on which strong friendships are formed. People often speak warmly of those who helped them through technical difficulties. Asked to compare programming a computer to programming his VCR, Jim says he finds the former easier: Programming a VCR is not like programming code. If I was programming a verb[8] or something it's all right in front of me, the words are right there. On a VCR you have to have every wire connected properly. You have to know what all these buttons do. And it doesn't respond. You don't type in a word and see it on the screen. It's kind of like doing something in the dark-trying to type words in the dark. Jim was inspired enough by his programming experiences to want to share them with teachers at his children's school: I plan on bringing high school kids online. I'll be working with a high school this fall. We're just getting the Internet connection. What I'm trying to do is get the teachers interested. I mean they're all interested in Internet because of all the research and all the facts that can be gleaned from there. But I also want to introduce them to the MOO just because it gets people excited about programming. "This has inspired me," says Jim. He explains that he has just enrolled in a programming course at his local university's extension school. COMMUNITY FOR LEARNING For Jim, the online community functions as: * Motivation for learning * Emotional support to overcome technophobia * Technical support * An appreciative audience for his work While this paper has focused on learning programming, MUDs are also a supportive learning environment for creative writing for the same reasons. At the conclusion of Mindstorms, Seymour Papert has a vision of a technological Samba school-a place where people of all ages are playing and learning together (Papert 80). I believe that MUDs may be a step towards realizing that vision. FUTURE DIRECTIONS The success of this learning environment for adults points to its potential as a learning environment for children. For my dissertation, I am creating a MUD for kids called MOOSE Crossing. "MOOSE" stands for "MOO Scripting Environment." I am developing a new programming language built on top of Pavel Curtis' MOO software. The MOOSE language builds on lessons learned from Logo, Hypertalk, and CLOS to create a language that I hope will be easier to use.[9] The children themselves will build the world of MOOSE Crossing. I will simply set up areas with different themes where they can attach their creations- a town, a city, a place for different types of ecosystems, a place for different fantastical creations and themes from popular culture. My hope is that the same features which made Jim's experience successful will create a powerful learning experience for kids. ACKNOWLEDGMENTS I'd like to thank my advisor, Professor Mitchel Resnick, for his continued support of my work, and for his comments on a draft of this paper. Greg Kimberly also provided helpful comments. Thanks are due to Professor Ken Schweller for his wonderful tutorial "tapes," an essential component in people's learning experiences on MediaMOO. I'd like to thank Pavel Curtis of Xerox PARC for his terrific MOO software, and his collaboration on the beginnings of the MOOSE Crossing project. Lastly, I'd like to thank the members of MediaMOO who have shared their lives, real and virtual, with me. BIBLIOGRAPHY Bruckman, Amy and Mitchel Resnick (1993). "Virtual Professional Community: Results from the MediaMOO Project." Presented at the Third International Conference on Cyberspace in Austin, Texas on May 15th, 1993. Available via anonymous ftp from in pub/asb/papers/MediaMOO- 3cyberconf.{ps,rtf,txt} Curtis, Pavel and David Nichols (1993). "MUDs Grow Up: Social Virtual Reality in the Real World." Presented at the Third International Conference on Cyberspace in Austin, Texas on May 15th, 1993. Available via anonymous ftp from in pub/MOO/papers/MUDsGrowUp. {ps,txt} Curtis, Pavel (1992). "Mudding: Social Phenomena in Text-Based Virtual Realities." Proceedings of DIAC '92. Available via anonymous ftp from, pub/MOO/papers/DIAC92.{ps, txt}. Papert, Seymour (1980). Mindstorms: Children, Computers, and Powerful Ideas. New York: Basic Books. Winner, Langdon (1986).The Whale and the Reactor. Chicago: University of Chicago Press. [1] To connect to MediaMOO, type "telnet 8888" from a UNIX system on the Internet. Send electronic mail to for more information. "MOO" stands for "MUD Object Oriented." The MOO software was developed by Pavel Curtis of Xerox PARC. [2] On March 6th, 1992 there were 143 MUDs based on 13 kinds of software. This is an increase of 197% in number of MUDs and 50% in number of types of software in under two years. MUDs are constantly being created and destroyed. A current list is regularly posted to the USENET news group [3] "STS" stands for "Science, Technology, and Society," a degree program at MIT. [4] The character Moose has no connection to the project "MOOSE Crossing." [5] MOOSE stands for "MOO Scripting Environment." The pastoral theme I hope will make it more appealing to children not immediately drawn to more "high tech" metaphors. [6] The character "cdr" is Dr. Kenneth G. Schweller, Professor of Computer Science and Psychology at Buena Vista College in Storm Lake, Iowa. [7] To connect to PostModern Culture MOO (PMCMOO), type "telnet 8888" from a UNIX system on the Internet. [8] MOO programs are called "verbs." [9] For example, suppose that you have a virtual dog with a list of actions it can take (like "sniffs your shoes," and "wags its tail"), and you wish to pick a random one of those actions. In MOO code this is: message = this.messages[random(length(this.messages))]; this.location:announce_all(this:title(), " ", message); According to the current design for MOOSE code this would be: pick my messages emote it