an essay

Object-Oriented Multiuser Environments

The Lessons of Lucasfilm's Habitat (Morningstar and Farmer, 1990) is a fairly detailed breakdown of lessons learned in implementing an early multi-user VR-- really a multi-user dungeon with a low-res Commodore-64 client.

This is a sweet article, because it goes way back to a time before I discovered MUDs and discusses a real cyberspace from a programming perspective.

The key concepts that Morningstar and Farmer took away from the experience:

  • A multi-user environment is central to the idea of cyberspace.

  • Communications bandwidth is a scarce resource.

  • An object-oriented data representation is essential.

  • The implementation platform is relatively unimportant.

  • Data communications standards are vital.
    We are concerned with the protocols for sending messages between objects, that is, for communicating behavior rather than presentation, and for communicating object definitions from one system to another.
    Communicating object definitions seems to us to be an especially important problem, and one that we really didn't have an opportunity to address in Habitat. It will be necessary to address this problem if we are to have a dynamic system. The ability to add new classes of objects over time is crucial if the system is to be able to evolve.
    Note that their proposed communication model anticipates XML, with Message and Data Definition being the highest level payload of any communication.

  • Detailed central planning is impossible; don't even try.
    Instead of trying to push the community in the direction we thought it should go, an exercise rather like herding mice, we tried to observe what people were doing and aid them in it. We became facilitators as much as we were designers and implementors.
  • You can't trust anyone (that is, you can't give anyone god-access to the fundamental laws of the virtual world.

  • Work within the system.
    You should be able to add onto the world and create new objects from within the existing world. There can (should?) be a learning curve, but ultimately any user should be able to build as well, just like in real life.

  • Get real. (Don't force users to be something they're not, such as "full-time interesting.")
  • By Chris Snyder on November 6, 2002 at 5:24pm

    jump to top