Virtual City Notes Merge

VirtualNet Logo Virtual City Notes Merge


Please bear in mind that these working notes were transcribed in early to mid 1993 and may not represent current views about the Virtual City Network Project. They are, however, an excellent guide to the thought processes that went into the development of VCN in its present form. Said form will be documented on the VirtualCity main page soon....

I have retained the numbering from the original outline so that sections can be identified for comment.

1.0 Virtual City

1.1 Reference Checks

1.1.1 All important VC places should have a hook into the HTML browsers and contain a list of references with which to research the places. "Important Places" range from video conferencing to the Budget VR Lab to the UpAbove and DownBelow "exhibits" and so on.

1.2 Interactions Between VC and The Real World

1.2.1 A large part of my design goal in building Virtual City is to challenge people's assumptions about "the real world" versus "the virtual world" ; many if not most of people's interactions today take place in a virtual world which has been largely co-opted by the real world. Newspapers, television, and radio are all prime examples-- most of these rely on mental constructions based on primarily verbal input or on finely crafted presentations which have little to do with "reality" , yet few people consider to what degree these omnipresent factors constitute much of their information flow.

1.2.2 A wonderful example is the Android Sisters' "Money" (radioplay "Ruby" , ZBS Productions). The Sisters hold up two items, described as two pieces of paper, to a "viewer" and ask for her description. Her reply, 'well, one is a piece of paper, but the other is money' elicits the slightly exasperated reply 'two pieces of paper!'. The well-made point is that people's cognitive mappings have become so rigidly codified that they view their world through highly constrained filters to the point of shutting out other options.

1.2.3 In Virtual City, the line between the real and the virtual will be deliberately blurred. Information from "the real world" will be presented as often as possible in a matter of fact way, for instance the UpAbove space station designs will be real, workable plans from the cutting edge of the aerospace industry, and the reported weather in the outdoor sections of Virtual City will come from weather data live from local feeds, updated to the San Mateo Bridge area, the putative location of Virtual City.

1.2.4 Echoing this, players, events, and creatures within the Virtual City will be given every opportunity to "manifest" in the real world as well. A player in Pavel Curtis' LambdaMOO has written software to allow players and agents to "speak" via sound synthesis on common IBM PC hardware; specific voices can be bound to specific players, allowing them to choose a constant representation to the outside world. We will be expanding that software to work with readily available synthesis cards that can create an artificial sense of "place" via shaping the sound envelope in accordance with virtual spaces. We are also planning to support MIME types and HTML multimedia access of various graphic still and motion formats, as well as digitized audio.

1.2.5 In addition, we will support the construction of autonomous real-world agents which will be accessible from within the Virtual City. A good example is the Spider which we are building. It will be controlled via a radio link which will shoot telemetry to Virtual City and control the motions and actions of the Spider agent within VC. In turn, VC players with access can control the Spider within VC and have the movements echoed by the real spider outside. It is our hope to acquire a small digitizer and do video routing to several inexpensive black and white monitoring cameras outside, including one on a "Spider Playpen" where VC players can control the spider within the VC Spider Playpen area and see GIFs of the results. We hope that our Spider will be able to manipulate small objects; the objects may be fitted with minimal radio links which will enable the spider to find them within the playpen (this being easier than vision based approaches). The objects can then report their orientation and movements to VC for real-time updates to the VC Spider Playpen area as well.

1.3 Interactions Between Places and Agents

1.3.1 I would like there to be a great many free-roving autonomous agents which have their own itinerary and their own state. From the Crystal Corridors one should occasionally see activities in the DownBelow sea habitats coinciding with running simulations there; the FishTank with a Vivarium habitat, and so on.

1.4 Interactions at the Desktop

1.4.1 We are going to have to use the Mac/W3 model, where there are identified types of "resources" or data types (MIME?) and you have a local agent defined which can handle those data types. We specify a minimum "command set" which they have to support in order to fulfill our requirements, which may include queueing of images & audio together (for instance).

1.4.2 We will supply a set of PD utils and binaries for those who have not yet had the opportunity to "roll yer own" . Hopefully players working with major commercial packages will become enthused and post scripts or setup files for use with said packages to accomplish the same tasks.

1.5 Authentication of Information

1.5.1 Because the quality of information available through Virtual City is one of our prime "selling points" , we must take steps to insure that information remains of high quality. I have in mind an authentication procedure which draws on a database of volunteers with hardware and software information about their resources. New scripts, setup files, etc would be farmed out to an impromptu "committee" of 3 - 5 people who would test them and offer comments and suggestions for improvement. What we are mainly after is clarity, concision, and actual testing of things so that when they are handed to naive users we can be reasonably sure that they will work.

1.5.2 We should also support "test areas" where stuff is available to lists of people who've said they will test new stuff. They will authenticate stuff and then it will be available to all. This approach could supplement or supersede the "volunteer database" approach.

1.5.3 For Budget VR Lab and other "hands-on" projects, I would very much like to assemble "kits" and send them to a sample of people to refine the instructions. This may not be financially feasible at first, however.

1.6 Getting the Willingness

1.6.1 Various people have phrased the literary or theatre experience as "willing suspension of disbelief" ; we need to address "getting the willingness" explicitly to bring the "Magic of the City" and other patterns to Virtual City.

1.6.2 Although VC is primarily conceived as a combination art project and foray into deliberate myth creation, it is not my desire to impose my vision onto others. The "cyber" theme should not become overbearing, and some may wish to depart from it entirely.

1.6.3 I propose a dual magic/technology split that can be optionally invoked by the reader/listener/what should we call people logged into VC anyway; they can select magic or tech and important objects ought to have "interfaces" (ie descriptive bodies) into both. While this may not be feasible at first and adds enormously to the workload, I believe it will be important at some point for popular appeal of Virtual City.

1.6.4 Lest we forget the mundanes who may make up an important, nay vital section of The Paying Market, we should have a "norman rockwell" or at least "normal business" mode as well. Some people are going to think it's "cute" to have a "uniformed messenger" rush up on bicycle to give you a piece of knowledge rather than having it "cybernetically implanted" . We don't want to accelerate future shock, we just want to get things done!

1.6.5

1.7 We Can Build You

1.7.1 there need to be extensive object libraries so people can build things easily and configure the space then put things away-- we need a garbage collector, since we want lots of transforms!

1.7.2 RT has ideas on user frobbing of spaces

1.8 A Natural Response to Authority

1.8.1 check into Amy Boardman's panel on "Should VR's be a democracy" ; ask Pavel about LambdaMOO admin & how decisions are made.

1.8.2 VC will probably be a benign dictatorship; I am very open to suggestions, assistance, and ideas but I will have the final say. I'm the one who's taking a year off work to build the damn thing after all!

1.8.3 Approachability is an issue--

1.8.3.1 In his initial paper on the MOO, Pavel notes that "Because of other demands on my time, I am almost always connected to the MUD but idle, located in a special room I built (my `den') that players require my permission to enter. ... This constant presence and unapproachability, however, has had significant and unanticipated side-effects. I am told ... that I am widely perceived as a kind of mythic figure, a mysterious wizard in his magical tower. ... players are often afraid to contact me for fear of capricious retaliation at their presumption."

1.8.3.2 I will probably maintain similar levels of connectivity; I do not want to be "bothered" but I also wish to stay quite approachable. Some possible solutions:

1.8.3.2.1 -- insist that private email be the main medium for contacting me

1.8.3.2.2 -- create a separate "character" as the city maintainer and funnel all interaction through him/her (ie., my "office" on the MOO will be fairly low key and not linked in any way to wizardly status); this probably won't work, as people will meet me and talk to me in real life about this and just know who I am, unless I create yet another character to shield myself (sigh).

1.9 Multimedia Support

1.9.1 get details of Jupiter from Pavel; we want the hooks, but probably don't want to be dependent on the MBONE. Thus clients will choose MBONE or TCP-only adjuncts (a la Mosaic) when they are running.

2.0 VC Facilities

2.1 Teleport Wheels

2.1.1 Looking for all the world like one of those "simon" games where you match the flashing colors, the teleport wheel is an indispensable adjunct to navigation in the Virtual City.

2.1.2 With a nice GUI interface as well as ascii-only menus, the TeleWheel allows you to program well-known destinations into the teleport wheel via little crystalline cards that hold up to eight destinations.

2.1.2.1 I chose 8 for aesthetics as well as practical reasons, being a useful but non overwhelming number; some wheels might have a menu item which is "the next menu" -- what about making the teleport wheels talk to a very specialized gopher server with each "card" being in fact a gopher bookmark? We should explore how one builds custom menus in gopher, this may not work with existing gopher clients/servers today as they like fixed databases. However we will have to update the gopher database as people add new rooms anyway. This raises various privacy issues, as in "does gopher support restricted menus" as not all creators of rooms might like their rooms to be public.

2.1.3 The teleport wheel is anodized aluminum in some bright obnoxious color (build one!) and is programmed via sliding a circular "card" into the slot in the side, said card having slots and holes cut in it in the manner of a mechanical knitting machine card or sewing machine cam. Why? 'Just 'cause....

2.1.4 Nice little graphic in GUI version of the button at the top flashing slowly "press me" when you move the mouse over it, and the eight little panels rising up and disappearing into the top a la flying saucers, revealing simon-style colored panels with destination names written on them; card protrudes slightly if there is one in it.

2.1.5 Telewheel has defaults loaded into it for VC places, especially the Hall of Teleport Cards where you get prerecorded cards to Museums, Art, Music, Library Attractions, and so on. You can get blank teleport cards delivered to you by pressing a small button on the Telewheel, they just pop up in the air in front of you and hang there until you take them.

2.1.6 If you don't take the blank card, it just looks at you in disgust and finally disappears, logs your name, and if you do it more than a couple of times you get much slower response and verbiage to that effect; "after a considerable time has elapsed, a blank teleport card pops into space in front of you looking impatient-- ' going to send me back again, are you?' Also cards should be impatient while waiting to be grabbed: 'while a blank teleport card has no external limbs or features, you nonetheless get a sense that this one has its hands on its hips and is tapping its feet waiting for you...'

2.2 Coffehouse games & chat channels

2.2.1 we want to support an IRC-like "channel" facility whereby channels go to useful parts of your screen and don't interfere massively with whatever you were doing. For instance, if you "watch scrabble" or "watch chess" you should be able to see an automatically refreshed "pop up" window with the game in it and/or specify a region of the screen which can be used for the board and updates, and essentially "join" the "coffeehouse scrabble channel" . You should be able to watch other areas' games, too, remember we want the best of the realworld and the best of the virtual-- why limit you to watching what's in the same room with you?

3.0 VC Players

3.1 The Bit

3.1.1 Our familiar friend from "Tron" , the bit gives "yes" or "no" input both under query and spontaneously. It will recognize "well-known" locations in VC, and locations can have an optional "the-bit" field which will determine The Bit's responses and actions in that locale and to an portal to that locale.

3.1.1.1 Locales should specify optionally any special behavior in which groups of Bits would engage. In "Central Comp" for instance, the Bits might be expected to swirl wildly and joyously around many strange Bits and other odd critters in an obvious attitude of festive homecoming....

3.1.2 We need a way to make unique instantiations of "The Bit" for different players, as several players will undoubtedly have Bits simultaneously. Possibly we can have only a few Bits at first and players can "check out" a Bit.

3.1.2.1 Define cute interaction patterns for the Bit with other Bits.

3.1.3 Should The Bit serve as a map and guide for players? Probably not, as those functions would require speech and the Bit's two-word vocabulary is a large part of its charm..

3.1.4 For people using the Sound Option, we should digitize the Bit's responses from Tron and clean up the sound.

3.1.5 The Bit's responses will be true to form from Tron-- mono and multi-syllable vocalization, with the number and speed of vocalizations directly mapped to intensity of feeling.

3.1.6 ? Bit Chow vending machines to feed your bits?

3.2 Ship's Counselor

3.2.1 A large, fine-boned animal resembling a Belgian Sheepdog, covered with masses of long black hair in loose ringlets. The creature regards you quizically with large dark eyes and a fleeting but unknown expression passes briefly over her expressive muzzle.

3.2.2 Ship's Counselor can have multiple instantiations and is hooked into the Eliza engine.

3.3 The Eliza Engine

3.3.1 hook multiple things/devices up to the eliza engine? Can they crosstalk? Will they save state pertaining to individual players (yes-- they should be performing as agents of the Hive Mind).

3.4 The Hive Mind

3.4.1 the "personality of VC's comp center, eliza engine, and various autonomous agents; like the thinkhives of Somtow's Inquest

3.5 The Storyteller

3.5.1 The appearance of The Storyteller changes with time; sometimes The Storyteller is a he, sometimes a she. S/er's clothing changes as well, ranging from traditional Pueblo people's dress of various sorts to Western business garb. When a particular known story is requested of the Storyteller, s/er will shift appearance to match the description loaded with the story. References and printouts of the story should be available on request.

3.5.2 Multiple invocations of the Storyteller are possible at the same time; the Storyteller is normally found in The Twilight Lands where the twinkling campfires dot the low hills and flicker over the ancient stones.

4.0 VC Places

4.1 Strata's Office/The Nautilus

4.1.1 An imprecise replica of the famous Verne sub-- internal floor layout and descriptions are duplicated but the actual sub is much larger inside than it seems and can serve as an air or water craft, moving in concommitance with VCMTA or breaking off the "tracks" for independent travel. We will have to have the VCMTA and VOTP (virtual object transport protocol) worked out fairly well for this to work between other MOO's...

4.2 VC Coffeehouse

4.2.1 Coffeehouse should preserve the traditional social atmosphere; people should sit, drink, talk, engage in activity.

4.2.2 We can make an excellently strong case for the default "arrival" zone in VC being the coffeehouse. Most MOOs or MUDs put you in a "town square" kind of environment which feels a little like the Funhouse or maybe a guest spot on "the Price is Right" -- what's behind Door Number 11?

4.2.3 The coffeehouse should be a rich enough environment that it is possible to spend a great deal of time enjoying it and the company of others without feeling like you're "missing out" and must rush off and explore. I would feel it very cool indeed to get email from people several months down the road saying that they haven't really explored the MOO yet because they've been having so much fun in the coffeehouse!

4.2.4 The Amenities

4.2.4.1 special objects

4.2.4.1.1 The "Sister Coffeehouses" sign which lights up periodically and changes the drinks menu, the appearance of the lounge, and the character of the staff. Knowledgeable patrons can order what they want, of course, and newcomers will be amused.

4.2.4.1.2 "Your attention is drawn to a flashing sign on the wall which you could swear wasn't there a moment ago. It reads 'VC Coffeehouse Reload: prepare for transition!'. A gaily painted spinning wheel pops into existence under the sign, labeled with exotic venues such as Portland, Seattle, Silicon Valley, Harvard Square, and so on. It whizzes merrily and then settles on the word "" . The sign now reads 'Set the WayBack Machine for , Sherman!' and wheel and sign disappear with an audible 'pop!'.

4.2.4.1.3 (Which really is an audible 'pop', BTW, for those with the capability. Note that each coffeehouse has its ambient noise (recorded, perhaps, and posted weekly? Naw, too easy and too potentially actionable), it's music playlist, decor, waitstaff, etc).

4.2.4.1.4 Possibly second wheel with list of venues appears, dunno

4.2.4.1.5 People should be able to add familiar venues, or at least propose them (fill in the coffeehouse template-- I love it, a sign and a suggestion box labelled 'it's YOUR coffeehouse, whadda 'ya want?' Forms template for the coffeehouse object to use as a switch base. )

4.2.4.1.6 If "Portland" and "Rimsky KorsaCoffee's" come up, it should hassle the people playing cards for historical reasons-- perhaps a surly person pointing to a "no game playing, especially cards!" sign on the wall where you had not formerly noticed a sign, and then a meta-staff person coming up and shooing them away "no, no, it;s okay, they're not Midgard..."

4.2.4.2 But do the walls have eyes?

4.2.4.2.1 Lile is tracking down person who wants to do Internet Art Gallery via GIF files; need coffeehouse art as well!

4.2.4.2.2 May be cool to have an "art doodler" for those whose systems can support it, or just give people the ability to post art? More like for art gallery, I think, though we may do bathroom doodling.

4.2.4.3 the Bulletin Board

4.2.4.4 the Free Paper

4.2.4.5 Live Music!

4.2.4.6 Care for a Game of ....

4.2.4.6.1 multi-player PD card, chess, and go/joseki/pente games

4.2.4.6.2 support a nice X interface when possible; put a little extra care and window-dressing into the ascii version as well-- perhaps we need a package which can "pretty up" a generi-PD game or util into "the VC Look"

4.2.4.6.3 nice to support games like taboo on-line-- in fact, taboo would be pretty easy to implement, you could have it directly feedback and flash the offending word to the clue-giver and **** it out to the players; cool! let's do it!

4.2.4.6.4 there is a moo scrabble, see quadra notes and/or FCScrabble Room on Mediamoo for details

4.2.4.7 "Is there Coffee in that Pot?"

4.2.4.7.1 While of course serving actual coffee is (at present) beyond the scope of the VC coffeehouse, we should not restrict ourselves to behaving as if we do not actually serve it!

4.2.4.7.2 Various coffee drinks should be available, with attributions where possible (Triple Black Tiger, for instance, or Caffe Borgia); descriptions of their concoction and even of the drinking experience should be online for easy access.

4.2.4.7.3 Patrons of the VC Coffee Establishment should be able to select a drink, obtain and appreciate it (perhaps via a server who brings it after ordering at the counter; can have fun with descriptions of the servers, too-- not all human, not all animate, and not all there :-) ie., typical coffeehouse staff!)

4.2.4.7.4 If you have the optional bit/option set, you will periodically sip or gulp or just drink your tea/coffee/whatever, with appropriate descriptions as artistically enjoined.

4.2.4.7.5 Get Jonsi to do lists of Teas and Tea Appreciation!

4.2.4.7.6 Would be tres cool if you could select ethnic tea or coffee ceremonies-- staff would come to your "table" and replace it with appropriate props and go through the stages with you. Colorful native interpreter would walk you through your portion of the ceremony, perhaps imparting the knowledge beforehand via magic or cyber, whichever you prefer.

4.2.4.7.6.1 ...The air around your table flickers as floor-mounted hologram projectors engage the "Russian tea ceremony" program. Suddenly your chair has become the back of a horse with an ornate, high-canted saddle and the coffeehouse has receded into a dim outline beyond the rolling hills and steppes surrounding you. Anja (coffeehouse server) appears before you in a flowing cape, black boots and ruffled shirt over which has been buttoned a well-worn field officers' jacket with insignia. She hands you a steaming glass of tea and a sugar cube, and takes a glass and cube for herself. She puts the cube between her front teeth and sips the ferociously hot tea with a gutteral "huh" .

4.2.4.7.7 Have descriptions about on the walls, posters with cool pix and info about the different beans, regions, roasts, etc.

4.2.4.7.8 Possibly have good mail order sources for organic, flavored decaf, and hard to find regular coffees; no favoritism!

4.2.4.8 Knowledge Laying About

4.2.4.8.1 One excellent feature should be the accessibility of knowledge navigation tools which advertise their activities. Ie., you come into the coffeehouse and look around and see people reading the newspaper, exploring a legal database, looking for PD software, and so on.

4.2.4.8.2 Naturally the access tools should have a feature that says "don't broadcast me" ; possibly should be the default, probably set on a per session basis. Maybe have special coffeehouse tools (the "free paper" concept-- you can see other people reading "sections" of the free paper.

4.2.4.9 Talk, Talk to Me...

4.2.4.9.1 To paraphrase Kipling's Law of the Jungle, "the strength of the coffeehouse is in its chat programs!"

4.2.4.10 Links to CoffeeNet

4.2.4.10.1 let's link up to the CoffeeHouse BBS

4.3 Kabuki-Virtual

4.3.1

4.4 Careful, It's ART!

4.4.1 Lile is looking into someone on net who wants to do Internet Art Gallery; offer him space.

4.4.2 Also, "Artists on the Net" SIG/cooperative who were at CFP, track them down and offer "wall" space.

4.5 Tube City

4.5.1 The parallel city to Virtual City that services the city-- VCMTA, electrical shafts, maintainance ducts, and so on. Tube City has its own denizens, rough HVAC hands, spacers playing the black market, maintbots and so on. Access to Tube City may be restricted-- for your own safety

4.6 The UpAbove

4.6.1 uncertain at this time; at the very least, we should model a series of realistic space stations which sync on modern feasible plans for space stations, both conventional and unorthodox. The environments within the station should be laid out and modelled realistically, and should contain information about the design, construction, and operation of the space station(s). Live video modelling of the various phases would be cool as a MIME/HTML option.

4.6.2 UpAbove is space stations, DownBelow is sea floor habitats and work. Want realistic UpAbove "work" too, ie GIFs of the weird lunar rover/mars rover, asteriod mining, etc.

4.7 Downbelow

4.7.1 the Dolphin City

4.7.2 the Great Kelp Bed

4.8 Crystal Walkways

4.8.1 The network of crystal walkways that thread the city go both above and below. Graceful arches span the great towers, thread the atriums, meander along the chasms of the Farside Trench. Arched and roofed in impenetrable crystal, the walkways weave sinuously around the perimeters of Virtual City above and below. Crystal walkways above open onto the Fractal Gardens and the BioDome.

4.8.2 Underwater Walkways

4.8.2.1 These walkways curve gracefully around the fundments of Virtual City, connecting with the Crystal Elevators

4.8.2.2 Crystal Corridors

4.8.2.2.1 These spacious, gently curved walkways open onto The Bay via conveniently spaced Airlocks. Parked in the shadow of The Great Kelp Bed which conceals The Dolphin City is Strata's Office/The Nautilus, sometimes visible in the faint rays of the westering sun. From other vantages, the ghostly bioluminescense of Dolphin City can be glimpsed faintly through the rippling waves of kelp.

4.8.2.2.2 The Crystal Corridors open onto VCMTA's SeaFloor Spur. The Spur travels between Virtual City and The Habitats, undersea habitats and mining operations which are the DownBelow.

4.8.2.2.3 Can see large-scale activities in the DownBelow and occasional foray parties from The Dolphin City (the water equiv of TirNaNogth); can see movements or lack thereof of Strata's Office/Nautilus.

4.8.2.2.4 Scuba Access to seafloor and DownBelow, but somewhat curtailed due to programming/reality engineering constraints. Tie in live monitoring of Bay conditions if anysuch exist for Monitoring Stations in Crystal Corridors and sensory impressions while scuba diving. Consult BayWatch style experts on water clarity and fish population issues.

4.8.3 Suicide Attempts from Walkways

4.8.3.1 Should anyone try to jump off of a walkway from a height or drown themselves in a walkway airlock, they will be caught in VC's "envelope of force" and propelled either up or down to a Holding Station where an Eliza program will come and ask them questions; some of the answers will be recorded for sysops. The rest of the programming will be "mandatory counseling" which will be attached to the player for some internal game time period; even logging out and back in repeatedly will not dislodge it. First offences are understandable, and will only require a few minutes of counseling. Repeat offenses will increase the counseling time; movement of player will be curtailed during counseling.

4.9 VCMTA Transit Hub

4.9.1 The Grand Central Station of Virtual City-- catch VCMTA to other virtual sites and to locations "within" Virtual City; hop an orbiter or rail pod (realistic, of course) to the UpAbove or take the Crystal Corridor/DownBelow stop for a visit to the DownBelow sea habitats.

4.9.2 Description still somewhat fluid-- imagining large vaulted arches in green serpentine and black marble, marble tiled floors like the NJ Amtrak stations, hatchwork on the vaulted arches, huge lights high overhead, whisper chambers at strategic intervals throughout the pillarwork. Newsstands, weathermaps, and route timetables dot the concourse. For historical reasons, the endpoints of VCMTA are named "Diaspar" and "Lys" . Slightly luminous pathways cross the floor, leading to Major Sites such as the UpAbove, the Skyways, and so on. Pathways are made of complementary materials (ie turquoise for skyways, suitable stuff for undersea, etc) and when on a pathway square you can "activate" it to teleport you to the locale by saying "follow Sea Path" or what not. Similar stepping disks?

4.10 The Twilight Lands

4.10.1 The friendly flickering of campfires dots the low hills and illuminates the Standing Stones; various Stones are scattered throughout the Twilight Lands.

4.10.2 The Twilight Lands are a storytelling, camaraderie around the campfire place. People can define campfires like "Bards' Circle" or "Women Only" and set them as rooms that only certain people can enter or are free to all. IRC or similar but improved chat software can underly this section of the Virtual City.

4.10.3 The Twilight Lands border the Country of the Elves, where only the Otherkind can go.

4.10.4 The Standing Stones

4.10.4.1 The Stones should all be real and notable stones and monuments from Celtic and other lands, with a brief description and notation of their source. There should be viewable GIF's from non-copyrighted pictures of the stones, several views if possible.

4.10.4.2 A map of all the Stones should be accessible on demand, showing their locations both in the Twilight Lands and in the real world.

4.10.5 Totem objects

4.10.5.1 These special objects are associated with the Twilight Lands and cannot be removed from this area. I am not certainwhat all of them may be, but many of them should be mythic objects associated with a particular tale from legend. The objects have the power to tell their tale (and give sources, if desired).

4.10.5.2 I am hoping that I can persuade artists and storytellers to create simple multimedia stories with dialog cued to slides which do simple dissolves and very simple animation (ie., which are viewable on most systems; we will want to write clients for these viewers). I have a particular vision of tales such as "Raven Steals the Sun for Mankind" being recorded from primary sources and accompanied by slides of digitized or computer generated traditional art.

4.10.5.3 I will encourage young anthro students and Native Americans linked by Big Sky Telegraph and similar sites to gather source material and make it available. Ditto other cultures-- I would love to have tales of Hanuman, Coyote, Raven, Krshna, Amaterasu Omi Kami and others available! People should be able to access a text transcription, the audio stream, the GIFs, or the complete presentation.

4.11 SA Gallery and Safe Space

4.11.1 In addition to the Safe Space for people on the SA list, I propose a Gallery where people can send GIFs corresponding to their self-images. The GIFs can be digitized photos (unwise, perhaps, unless they're really determined) or digitized illustrations or original art. If the art is of a disturbing nature, a "curtain" will be hung over it with a sign saying "this picture may be disturbing to others [opt: because of whatever], please view with caution" . Description of the curtain and sign is set by the player, wording on sign must follow guidelines but it also settable. Gallery is circular, you enter it at a random location each time (or you could say the portraits move); you can teleport to someone's portrait by asking for it. We should provide a wrapper program to download GIF images onto your native viewer as well.

4.12 Country of the Elves

4.12.1 A Safe Space for people on the Otherkind mailing list; they will create the internal topology and incorporate their own objects and designs into it.

4.13 Labs and Shared Project Space

4.13.1 Budget VR Lab

4.13.2 Robotics Lab

4.13.3 Conference Rooms

4.13.4 Whiteboards

4.14 Virtual Cultural Center

4.14.1 interface to http/gopher server w/all EFF documents on electronic frontier, virtual communities, MOO docs, etc about virtual culture and so on; talk VCSVS people into maintaining it or at least helping w/setup, Mark Smith has lots of useful docs on the subject from his course.

4.14.2 Have MicroMuse history, slices from the Bandykin archives, early usnet history stuff, etc...

5.0 VC Core Mods

5.1 Properties

5.1.1 Languages

5.1.1.1 .native-l

5.2 Verbs

6.0 Issues

6.1 Composition Degradation

6.1.1 Agents built into language will handle 3-d to 2-d etc

6.1.2 What about VCMTA object issues?

6.1.2.1 ie, horse to scooter to car to hovercraft depending on where you go in Mooville

6.2 Random pointers

6.2.1 thinman@netcom.com (don, hugh)

6.2.2 Dylan language from Apple CRC info-dylan@cambridge.apple.com

6.2.3 ScriptX from Kaleida

6.3 Client issues

6.3.1 various models for client interaction with objects

6.3.1.1 a) Get all the choices for ways to "view" a room/object and pick one or several manually

6.3.1.2 b) Your client browser is tied to a particular mode for some amount of time, you probably choose this in the beginning

6.3.1.3 c) Multimode browser such as Mosaic; can specify additional or alternate "viewing" modes on the fly

6.3.2 client browser should send up "stubs" with important object attributes of your objects, load entire object only when "triggered" , thus obviating high connect cost/time for complex room environments; client should always receive room event stream for user's room and relay it locally to user's objects.

6.4 Compatibility issues

6.4.1 Red Sage/ATT Right PagesĒ

6.4.1.1 ATT standard for multimedia access, being used in project at UCSF:

6.4.1.1.1 The RightPages interface runs as an X Window System application on Sun workstations or X terminals. A Macintosh client version will also be introduced. The project team at UCSF will explore links between the content managed by the RightPages software (SGML and ASCII text, high-quality JPEG images, bibliographic information) and other data sources (MEDLINE, picture archive and control systems -- PACS, on-line public access systems -- OPACS).

6.4.2 Various multimedia formats

6.4.2.1 ftp.edinburgh.ac.uk:pub/mmsurvey for more info

6.4.2.2 AthenaMuse

6.5 potential customers

6.5.1 MidiVault; 1-800-79VAULT; timestamp & download music

7.0 Language Evaluation Criteria

7.1 Does it scale up?

7.1.1 Can it handle thousands of objects and hundreds of users on a single instantiation, and/or provide ways to link instantiations for distributed processing?

7.1.2 Can you pump resources into it or is its resource allocation fixed? (ie, will a network accelerator, hot graphics card, FPP, etc make a difference, can it effectively use special capabilities of its hardware base?)

7.1.3 What hardware and software base is it destined for? Will it be available on people's home computing and/or consumer equipment?

7.2 Can we implement the LambdaMOO server in it?

7.2.1 We want to replace the original server with something that has more IPC, more socket handling, plug-and-play server handoffs to other network services, etc. Can this handle it?

7.2.2 Is it sufficiently cleanly object-oriented that we will be able to implement a translator for moving pure LambdaMOO objects into the new server environment?

7.3 What are its built-in security features?

7.3.1 We want internal builtin handling of encryption from multiple and/or arbitrary sources (clipper, RSA engine, etc), as well as an authentication system for internal use and sophisticated permissions setup on objects and verbs.

7.4 Does it communicate via a compressible meta-protocol?

7.4.1 We want a multimedia postscript equivalent, something that, like X, can do user-transparent communication between a client and a server.

7.4.2 It also needs to support compression of data streams and objects over the net.

7.5 Does it handle composition changes?

7.5.1 Are there any facilities to handle degradation of display from 3-d object to 2.5-d to wire-frame etc? Can these be specified in any way? This would make our database easier as we could build in 3-d and have displays on lesser equipment handled automagically.

7.6 What formats does it talk to?

7.6.1 Can it handle common display/media formats such as Autocad?

8.0 First Pass

8.1 LambdaCore

8.1.1 Citations

8.1.1.1 add .citations to objects

8.1.1.2 add do_cite to #1 root class

8.1.1.3 add cite command to #6.cite

8.1.2 Language descriptors

8.1.2.1 add concept of "native tongue" descriptor

8.1.2.2 add .french, .english, etc to objects-- probably a bit field that specifies which langs they have via a table

8.1.2.3 pick ISO 8859 or unicode, add support for extended chars

8.2 First pass client stuff

8.2.1 HTML in room

8.2.2 Tcl/Tk browser that has HTML windows

8.2.3 also hot buttons in browser for main plaza, etc

8.2.3.1 configurable hotbuttons that correspond to your teleport wheel?

8.2.3.2 hot buttons should give commands to moo & browser

9.0 VC Notes 6/20/93

9.1 Housekeeper/Janitor

9.1.1 carts off old/idle players a la LambdaMOO

9.2 VCMTA Hub Arrival Zone (The Garden)

9.2.1 place where folks come in by default

9.2.2 area with main transit disk, pleasant benches, doorway to coffee shop & to main VCMTA Hub

9.2.3 2: You find yourself in a spacious and pleasant garden area. The floor is tiled 3: in red brick and intricate, colorful mosaics of a Celtic motif. A glance downward 4: glance downward and see that you are standing on a large and elaborate depiction 5: of a Celtic knot in dramatic hues of gold, green, and purple through which the words 6: "Arrival Zone: Welcome!" are woven. Teak benches ring the area, with low tables and 7: the occasional ashtray interspersed throughout. Colorful flowers bloom in the stone 8: planters that border the edges of the Arrival Zone. Beyond them you can see the bustle 9: of the VCMTA Transit Hub and the inviting cafe tables of The Chestnut Tree, the VC 10: Coffeehouse. A trellised archway at one end of the area leads outside to the Twilight _11_ Lands, the Botanical Gardens, and other points of interest. ^^^^ del 3 with glossy red stone through which are interwoven many intricate mosaics. You ---Line deleted. Insertion point is before line 3. say in red brick and intricate, colorful mosaics of a Celtic motif. A glance downward Line 3 added. del 4 glance downward and see that you are standing on a large and elaborate depiction ---Line deleted. Insertion point is before line 4. say reveals that you are standing on a large and elaborat

9.2.4 VC Transit Hub Arrival Zone You find yourself in a spacious and pleasant garden area. The floor is tiled in red brick,inset with colorful and intricate mosaics. A glance downward reveals a Celtic knot in,dramatic hues of gold, green, and purple through which You see a newspaper here.

9.3 alternate arrival points

9.3.1 in the shoeshine line (this line doesn't seem to be moving!)

9.3.2 in the emergency room

9.3.2.1 You feel a sudden surge of energy, and open your eyes to the blaze of fluorescent lights overhead. A harried young doctor pulls the defibrillators away from your chest and hands you your clothes. He snaps, "It's about time! Get a move on, you!" and shoves you rudely towards the door. (Michael)

9.3.3 can we specify an entry point on character creation? This would be great for immersion RPG's!

9.4 special character types-- need to set home and possibly events

9.4.1 RPG doppelgangers

9.4.2 conference participants

9.5 ;#10.("description") = {"The Virtual City Times, dated %d. Type read news' to read it."}

9.6 jayshouse.ccs.neu.edu 1709

10.0 VC Build 7/21/93

10.1 ToDo

10.1.1 Fix nested-levels room description tool to call browsers on command and examine player.browser data structure for keys to which multimedia formats the player supports.

10.1.1.1 Should we make player.browser something that gets set by default or something you have to set manually every time you log in? Perhaps a flag to login so you can say not to use the default, and it should gracefully reset player.browser to text-only if browse operations fail.

10.1.1.2 In VC Transit hub nested room descriptions:
examine sculptures
I notice that you do not have a browser client set, so I will assume that you are limited to text-only mode. Which sculptures would you like to examine? There are several. Choose from the following menu. When you have finished viewing one sculpture, hit any key.
1) contemporary
2) abstract
3) classical reproduction(s)
4) ethnic reproductions
Q) Stop viewing sculptures.

10.2 City Center Plaza

10.2.1 @rename "VC Transit Hub" to "Main Plaza"

@addalias "VC Plaza" ,Plaza to "Main Plaza"

@rmalias VCTH from "Main Plaza"

10.2.2

@dig 11-oclock,eleven-oclock,eleven,11 to "Virtual University"

@addalias VU," Virtual U" ," College of Larn" to "Virtual University"

11

@dig out,o to #74 (main plaza) out

10.2.3 @dig 10-oclock,ten-oclock,ten,10 to "MegaMall"

@addalias Mall,Mallworld to MegaMall 10

@dig out,o to #74

10.2.4 @dig 9-oclock,nine-oclock,nine,9 to "Residential Streets"

@addalias Residential,Residences to "Residential Streets" 9

@dig out,o to #74

10.2.5 @dig 8-oclock,eight-oclock,eight,8 to "VC Transit Hub"

@addalias VCTH," Transit Hub" to "VC Transit Hub"

8

@dig out,o to #74

10.2.6 @dig 7-oclock,seven-oclock,seven,7 to "Business District"

@addalias Business," Biz" ," BizDist" to "Business District"

7

@dig out,o to #74

10.2.7 @dig 6-oclock,six-oclock,six,6 to "Arcade Zone"

@addalias Arcade to "Arcade Zone"

;;" We could put X interfaces & ascii versions of popular arcade knockoff games here"

6 @dig out,o to #74

10.2.8 @dig 5-oclock,five-oclock,five,5 to Sprawlsville

@addalias Sprawl," The Sprawl" ," Obligatory CyberPunkish Zone" to Sprawlsville

5

@dig out,o to #74

10.2.9 @dig snooze to "People Coffins" ;;;virtual 4

@addalias coffins to "People Coffins"

snooze

@dig out,o to #74

10.2.10 @dig kiosk,lost,tourist to "Tourist Kiosk" ;;; virtual 3

lost

@dig out,o to #74

10.2.11 @dig 2-oclock,two-oclock,two,2 to "Vernor Vinge Conference Center"

@addalias "Vinge Center" , "Conference Center" ,Vinge,CC to "Vernor Vinge Conference Center"

2

@dig out,o to #74

10.2.12 @dig 1-oclock,one-oclock,one,1 to "?? outdoors"

1

@dig out,o to #74

10.2.13 @dig 12-oclock,twelve-oclock,twelve,12,noon,midnight to "The Chestnut Tree" ;;; may need to give number to prevent phantom room creation

12

@dig out,o to #74

11.0 Whiteboard Transcript 11/14/93

11.1 Session Persistence

11.1.1 can set option for URL/object persistence in designated local storage, ie in local host not on server

11.1.2 can keep URL map/translation table to invoke local copy instead of downloading remote copy

11.1.3 translate table facility should have configurable keepalive times, warn of possible "staleness" of object, possibly even of data referenced by LURL (local "translated" URL, ie we need rdist style refreshability here). No "stale Obj Handle" blocking calls, though! Fail more gracefully than NFS....

11.2 VC Client and server have hacked public-domain (NETBSD?) telnet, special out-of-band/handoff signalling characters defined for VC Links

11.3 Hacked telnet also needed for object load channel, secure encrypted only a la Kerberos so no sendmail/nntp style connecting to port and faking out the object loader

11.4 each VC server has name, generates hash code/key on name

11.4.1 Master Server Keys and authenticated rotation of keys scheme

11.5 objects are named with a unique key (OID- Object ID?) which contains:

11.5.1 origin point server ID string plus key string

11.5.2 sccs-style version info (server release code version plus local referents to object release version)

11.5.3 object number in reference to object origin point numbering scheme

11.5.4 parent ID from Core and any subsequent chain-ups that are NOT Core

11.5.4.1 give a list with each object at generation/modification time, skirt around the issue of generating such a list on the fly which is expensive and annoying; extra data storage is cheap, especially if you don't move fields unless they are asked for

11.6 VCMTA Load Request

11.6.1 decode entire request using agent key of supplied requestor ID (agent could be player, server, or service linked to VCN) [First Failure Point]

11.6.2 decode encapsulated request using server key [Second Failure Point]

11.6.3 get object numbers from Core [Third Failure Point]

11.6.3.1 no numbers, ie no Core refs at all, throw it out

11.6.3.2 using any numbers directly in a restricted range, ie trying to load an object whose direct or Some Arbitrary Value of Near direct parent is Wizard-- arrange another level of key encryption envelope here, or some other scheme

11.6.3.3 (possibly) some simple type checking to determine gross subversions or mismatches between objects

11.6.4 assign object number of type TEMPORARY in local server reference

11.6.5 request specific parameters from origin server, ie open a Load Channel

11.6.5.1 Load Channels must rely on secure negotiated privacy!

11.6.5.2 each "process" (login session, VC Services Client, etc) can get transferred objects through independent channels this way, as we can spawn multiple VCMTA Authenticators as well as multiple VCMTA Loaders. Distributed resource models are the way to go for scaling up here.

11.6.5.3 Some additional service/security comes from multiple Auth/Loader pairs, as special services that are more secure, more important, or simply more exclusive/expensive can have their own dedicated pair. Goes well w/ATM $$ = channel privileges model.

11.6.5.4 separating load channel from obj authenticator also helps prevent denial of service attacks, as bogus objects can be thrown out before load or tossed during load without occupying the entire attention of the VCMTA server and preventing other authentication/load tuples from occurring.

11.7 We need an equivalent to VCN RCP:

11.7.1 if we can invoke core verbs on other systems, we cut down the overhead tremendously, moving only the invoked data and the request, not the actual objects

11.7.2 I anticipate that a significantly large proportion of potential VCMTA Object traffic is subsumable into invoking verbs on other systems to see who's there, look at a local data structure, etc

11.7.3 Potential milewide security hole, need RCP authentication procedures as well

11.7.4 Should assign I/O channels to VC space (/etc/services)

11.8 WKS Ports

11.8.1 VCMTA Header/Auth load

11.8.2 VCMTA Object Body load

11.8.3 VCN/VCMTA "rcp" channel [possibly split into auth & data pairs again]

11.8.4 VCN Client to Server channel

11.8.5 VCN Server to Client channel

11.8.6 assorted "service handoff" channels

11.8.6.1 service channels should be protocol mapped at server/client only, no hard protocol specs on what's flowing over the channel, just a place to handoff/" re-route" an arbitrary connection

11.8.6.2 among other things, allows fee-based priority channel access later (ATM, etc)

11.8.6.3 is "redirect" of port channel traffic expensive/hard? How much custom kernel/net hacking will need to be done here?

11.9 VCN Servers

11.9.1 every VCN server has UID, OID space, various server-specific as well as server-unique public and internal keys

11.9.2 only list of "trusted" servers can batch new potential Core objects to VCN Architectural Review Board

11.9.3 only list of trusted servers can dispatch Core updates to new sites

11.9.4 your list of trusted servers may not be my list, which is why we need differentiation on a per object granularity-- kickout test in VCMTA Auth also includes "does it come from a trusted site" in various forms (do we check their key at all, etc)

11.9.5 levels of trust are also built into Core

11.9.5.1 MetaCore

11.9.5.2 SubCore

11.9.5.3 NetCore

11.9.5.4 User Defined Core Levels 0 through whatever, etc

11.9.6 can shut off an arbitrary core level if you don't want the objects therein bogging down your server or if they are a security risk; note that this shuts down anything that chains back up to that core!

11.9.7 we may want to build in some kind of Alert System that can notify servers if a core level has been compromised but that's later...

11.9.8 can blacklist certain objects (OIDs), either on an object or server basis (see above)

11.9.8.1 this allows "virtual firewall" implementations, both incoming and outgoing

11.9.9 some sort of special key comparison metric is needed, to see if the listed key and the local key registered for that server match, this is a known crypto problem, ask Witt.

Copyright 1993 M. Strata Rose, all rights reserved.