In Valhalla, you can build, or create objects for your player to carry around. You can also build rooms, buildings, or surfboards. There’s a special discussion group on Valhalla for talking about building things, called *Everything.
Here’s an example:
@create $thing named Staff
You now have Staff with object number #80 and parent generic thing (#5).
look staff
You see nothing special.
@describe staff as "Balder's staff is a gnarly branch of an oak, tied at both ends by hemp yarn and inscribed with strange runes."
Description set.
look staff
Balder's staff is a gnarly branch of an oak, tied at both ends by hemp yarn and inscribed with strange runes.
look me
Balder the Brave strides across Valhalla with a strong purpose and a light in his eyes.
He is awake and looks alert.
Carrying:
What did I do there? First, I created the object and named it. Then, I described it and fooled around with it.
@create $thing named Staff
Things with the dollar sign in front of them are ‘generic objects’. The object called $thing is the most basic thing you can have. In Valhalla, every object has parents. In this case, I created a child of $thing named staff. When I created the staff, Valhalla told me that it has object number #80. Sometimes, when Valhalla can’t tell what object you’re talking about (if there are two objects with the same name, or the object isn’t visible), you’ll need to use the object number instead. Look staff and look #80 are both the same thing, but I can look #80 even when the staff isn’t in the same room as I am.
@parent staff
Staff(#80) generic thing(#5) Root Class(#1)
I can see the ancestors of an object with the @parent command. The staff is a child of generic thing, which is a child of the Root Class.
@parent me
Balder(#78) generic wizard(#58) generic programmer(#59) generic builder(#4) generic player(#6) Root Class(#1)
An object’s parents determine what the object can do. My staff can do anything that a generic thing can do (which is, not much). I (Balder) can do anything that a generic wizard can do; anything that a generic programmer can do; anything that a generic builder can do; and anything that a generic player can do.
@parent here
The Fields of Valhalla(#11) generic room(#3) Root Class(#1)
When you say “here”, Valhalla assumes you mean “the place you currently are”. The Fields of Valhalla are a generic room.
You can build objects based on other objects you have created. I could build a second staff based on the first (although I see no point to it). I could also create a type of room called ‘field’ and base the Fields of Valhalla on ‘field’ instead of on ‘room’. Here are the standard generics that Valhalla has:
$thing Most things you’ll create will be $things.
$container Containers are objects that can hold other objects.
$note You can create notes with this. Try help $note.
$player People are all based on the generic player. Check your heritage!
$room Places where people can travel should be based on $room.
$exit Valhalla creates these when you do an @dig.
Look in Balder’s Basement in Asgard for more generics that you can use.
After I @created the staff, I @described it. Until you describe an object, no one else can see what it is by looking at it. Until you describe it, they will see
You see nothing special.
The description of an object is a property of that object. We’ll talk more about properties later on. For now, whatever you
@describe object as...
is what other people see when they look at it.
Rooms are just another type of object. The basic (generic) room is $room.
@create $room named "Balder's Hall","Hall"
You now have Balder's Hall (aka Hall) with object number #81 and parent generic room (#3).
@move me to hall
Balder's Hall is inside of Balder!
drop hall
Dropped.
@move me to hall
Balder's Hall
You see nothing special.
Moved.
First, I created the room.
@create $room named "Balder's Hall","Hall"
I gave it two names. The first name is the object’s real name. The second name is an ‘alias’. An object can have many aliases. Aliases are simply other ways of refering to an object. It’s easier for people to type hall than to type Balder’s Hall.
I tried to go into the room, but Valhalla wouldn’t let me. When you create an object, you are automatically carrying that object. That means that the Hall was inside of me. Valhalla does not allow objects to be inside of the objects that are inside of them. First, I had to drop the Hall so that it was no longer ‘inside’ of me.
There’s nothing special about the Hall yet. I need to describe it.
@describe here as "The ceiling is made of huge vaulting oak beams. The walls are the hide of some great scaled lizard, and its scales glisten in the light of the flickering fire in the stone fireplace at the hall's north end.
Description set.
look
Balder's Hall
The ceiling is made of huge vaulting oak beams. The walls are the hide of some great scaled lizard, and its scales glisten in the light of the flickering fire in the stone fireplace at the hall's north end.
Let’s make another room, and make an entrance between the Hall and the new room.
@dig fireplace,fire|down,fire to Chimney
Chimney (#82) created.
Exit from Balder's Hall (#81) to Chimney (#82) via {"fireplace", "fire"} created with id #83.
Exit from Chimney (#82) to Balder's Hall (#81) via {"down", "fire"} created with id #84.
go fireplace
Chimney
You see nothing special.
go down
Balder's Hall
The ceiling is made of huge vaulting oak beams. The walls are the hide of some great scaled lizard, and its scales glisten in the light of the flickering fire in the stone fireplace at the hall's north end.
The dig command is a bit complicated. Let’s break it down:
@dig fireplace,fire|down,fire to Chimney
The syntax is:
@dig entrances|exits to room
So, in the example, @dig created a room called Chimney. It created an entrance from here (Balder’s Hall) to the Chimney, called fireplace, with alias fire. It created an exit from Chimney to here called down, with alias fire. Anyone inside Balder’s Hall can use the fireplace or fire to move between the Hall and the Chimney. From the Chimney, they can use down or fire to move to the Hall.
They all need descriptions. Since I’m currently in Balder’s Hall, the only object I can see is the fireplace entrance. I need to refer to the chimney and the down exit with their object numbers. Valhalla told me what the object numbers were when I dug them.
@describe #82 as "The stone chimney is smokey and warm, and a bit cramped for anyone of normal size. Dirty elfs skitter about as they see you coming.
Description set.
@describe fireplace as "A blazing fire from the fireplace heats the entire room. You occasionally see rodents' faces popping down from the chimney and then disappearing.
Description set.
@describe #84 as "The fire below spews smoke and ash up the chimney and past you. What in the world are you doing here?
Description set.
look fire
A blazing fire from the fireplace heats the entire room. You occasionally see rodents' faces popping down from the chimney and then disappearing.
go fireplace
Chimney
The stone chimney is smokey and warm, and a bit cramped for anyone of normal size. Dirty elfs skitter about as they see you coming.
look down
The fire below spews smoke and ash up the chimney and past you. What in the world are you doing here?
Note that, because the ‘fireplace’ is a passageway, when I ‘go fireplace’ I end up in the Chimney. Likewise, when I ‘go down’ I end up in Balder’s Hall. You never actually spend any time inside of passageways.
When you create a room, no one else can get to it. Even you can only get to it by using the @move verb. You can’t go Balder’s Hall because there’s no entrance to Balder’s Hall. You can only create passageways between two areas that you own. So, only a wizard can hook things up to Valhalla. When you have your rooms ready for other people to use, tell a wizard. You can see if there are any wizards currently available by typing @who. Otherwise, send mail to either Balder or Thor.
You can hook up passageways between two rooms you do own, so you can create a mansion of a hundred rooms and carry it in your pocket if you want.