Building Things

  1. Building
  2. Making Rooms

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.



Creating Objects

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.

Describing Objects

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.

  1. Building
  2. Making Rooms