Interactivity Patches from Ron Broglio (1/21/06)
As part of the Consortium's Interactivity Projects, I've been working with several students on some patches for the MOO. Most of these are designed to heighten "game" play by creating more dynamic MOO landscapes. I've finalized the patches with a student Chris Hunt. Below are the patches along with a brief explanation and URL for each. Longer explanations and how-tos are provided on each web page. I've tested these patches in Romantic Circles Villa Diodati MOO but am open for suggestions on improvements.
Automated Object Cloning
This patch demonstrates how to create objects which can clone themselves or automatically create other objects. We take a flower example. The player sees a flower in a valley. She ‘plucks’ it and a copy of the flower is put into her inventory; the first flower remains in the room for other people to pluck. The plucked flower is automatically removed after two minutes. The same techniques can be used to provide users with keys, identity-tracking objects, or remote controls.
This patch gives players the ability play with his identity by wearing ‘costumes’—new user icons, names, descriptions, etc. defined by the costume maker. For example, a player can become Frankenstein’s monster for a few minutes, interact with other players, then ‘drop’ his costume and reacquire his original identity. It installs two new generic objects, Costume Closet and Costume. Additional Costume Closets can be created by using the first one as a parent.
Event Aware Rooms
While there are several ways of doing creating such rooms, this patch creates a simple event aware room and shows programmers how to make their rooms respond to player actions. Our example room is a Dog Kennel, filled with dogs that bark at any objects, players or otherwise, named ‘Cat’.
This patch gives each MOO object a ‘home’, a place to which they can be recalled with a simple command.
Disabling the Browser Cache
This patch for enCore disables the storage (caching) of dynamic data in the player’s web browser. Browsers store copies of pages on the user’s computer for faster access. Sometimes stored copies of pages causes them to display erroneous content. This is why an object or player may not appear after a “look” command, even if the player knows that they have just entered the room.
This tutorial shows MOO programmers how to create rooms that adjust their contents to the player and her circumstances. We include two examples with our sample room: the first will change the background color to match the sky at the time of day—gray, yellow, and orange respectively; the second example will search all players’ inventories for notes, then display their contents in the room description.