NVEs

This is not a full set of notes: it is an outline of what was discussed in the lectures. The topics here are not covered in the unit textbook or indeed any one book.

Introduction

These two lectures take a high level look at Internetworked Virtual Reality: where it comes from, what people do with the system, and how they behave to each other.

The textbook, and most of the lecture content and unit assessment, is concerned with how Internetworked Virtual Reality systems are implemented. This is a fascinating topic. But it is important to think about why anyone would want one in the first place. And since you can't have an internetworked VR without at least one other person involved, it is also important to consider what they will do with it.

What is an NVE?

A Networked Virtual Environment, or NVE, is what we build with Internetworked Virtual Reality technology.

NVEs are themselves a subset of what is called groupware or CSCW (Computer Supported Collaborative Work) software. People in NVEs are an example of CMC, Computer Mediated Communication.

NVE examples

CSCW researchers and designers use a four-way classification by time and place which is also appropriate for NVEs:

Place
same different
Time same Quake party, eScience lab NVE, MUD, MMOG
different Some art installations email

Almost all NVEs are same time: it's difficult to interact otherwise.

Definitions and characteristics of NVE

The first lecture gave a definition and taxonomy for virtual reality. Here are some additional definitions for NVEs:

MUDs and MOOs

History

RPGs: Role Playing Games

D&D is the archetype from early 70's

Cooperative game: multiple players sit around a table, exploring dungeons and fighting dragons, using only words and their imaginations.

Adventure

A text based game written by Crowther & Woods in the early 70's, based on D&D. Led to Zork and the Infocom range popular late 70's, early 80's.

Single player games with a simple Command Line Interface (CLI). Player types simple commands, the computer responds:

go north.
It is dark. You are likely to be eaten by a grue.
light torch
I see no torch here.

Terminals connected to CPU through 9600 bits/second serial lines, slower than modern modems.

Text is extremely compact. It is not low resolution: text descriptions generate qualia, mental images, in the readers mind, and these are often more detailed than any current VR system.

Text descriptions are much easier to create and store than 2D or 3D graphical images.

MUDs/MOOs

MUD is Multi User Dungeon. Adventure extended to handle multiple players at once. Unlike original D&D, players frequently hostile to each other.

First MUD created by Richard Bartle around 1980.

Low storage and bandwith requirements suited to early Internet and dialup systems.

MOO is MUD Object Orientated, referring to the new scripting language used to implement them.

MOOs are (mostly) more sociable and non-aggressive than MUDs, although over time many MUDs have also become peaceful places.

The best known is LambdaMOO, founded at Xerox PARC in 1990 by Pavel Curtis, now with a population over ten thousand.

MUDs/MOOs are virtual realities. You don't need a headset for VR. Books are immersive! That said, the CLI is not transparent or behavioural for most computer users today. In the 1970s and 1980s, almost everybody who used computers was familiar with CLI systems.

Why study MUDs/MOOs?

Been there, done that. MUDs and MOOs have been in existence for many years, and the social aspects of how people behave in these NVEs are therefore well studied.

Stable systems. In most NVEs the focus is on the technical details of getting the thing to work at all: bandwidth, resolution, crashes... MUDs and MOOs are very reliable well-tested systems that let us concentrate on what people do.

Activities

What do people do in MUDs and MOOs? The answers turn out to be much the same for every NVE.

Authoring/Building

Implementing a MUD/MOO

A MUD or MOO has two components: the server and the database.

The server does low level network and file I/O, but is primarily the interpreter for the higher level MOOcode or MUDcode programming language.

The database is not a traditional row/column SQL type database, but more a persistent object store. Every object in the MUD/MOO has a single unique magic number identifier, which is never re-used. Every object also has a number of properties: name, description, interaction code, etc. Everything, including the online personas themselves, is described by an object and code.

The MUD or MOO is divided into rooms, objects which may contain other objects and participants. A park, spaceship, or town square is still a room. Every participant or object is always "in" some room, and navigation in a MUD/MOO is from room to room without your location being tracked to any finer level. Everybody in a room can see and hear each other.

The LambdaMOO server can be downloaded from SourceForge. It is 355K, about 37,700 lines, of C code. The LambdaMOO database, which is really what makes LambdaMOO a distinct place, is about 900,000 lines of MOOcode.

In 1999 LambdaMOO had a population of around 10,000 people, and was running on a host computer with 256M of real RAM and using around 360M of virtual memory. MOOs with a population less than 50 can be run on a Pentium/75 PC.


Written by Hugh Fisher