TextSmith Help

Help for interactive textual living.

This is a multi-user textual world where the players make the content, explore each others' creations and interact with each other. It's an "old skool" MUD re-imagined for today.

In this instance, once logged in you'll find six distinct worlds to explore and interact with. Try to stay in role!

The rest of this document explains, in very simple terms, what you're able to do in the game.

Create a New User

Before you can play, you need to create a new user. For this you'll need a unique username. Since this will be your "proper noun" in the game it's a good idea to capitalize it. For instance, use "Nicholas", not "nicholas". Usernames can't contain spaces and must be alpha-numeric.

Try to remember your password! Sadly, because of time constraints you'll have to enter it as plain text when you login (see below).

Finally, give yourself an interesting description! (You can always change this later.)

Click here to create your new user.

Logging In

Once you have a user, connect to the game via the handy browser based client.

Type instructions into the text box at the bottom of the screen. click the "Send" button or use the CTRL-Enter hotkey combo to send the command to the game.

Any response and the activities of other players will be displayed as scrolling text above this box. That's right! It's a fun version of Slack... ;-)

As the instructions on the client page suggest, you should use the command:

login username password

But replace "username" and "password" with, you know, your real username and password. :-D

If your login is a success you'll find yourself in the Welcome Room. This is simply the first room all players find themselves in at the start of their time in the game.

If there are any problems with your login, the application will say so.

First Steps

The basics are pretty simple really...


To say something start the command with a double quotation mark (") followed by the text you want to say to everyone else in the current room:

"Hello world!

This will result in something like, 'You say, "Hello world!"' appearing in the game. Other players will see, 'Username says, "Hello world!"' (where Username is replaced with your in-game username).

Similarly, you can shout (prepend your statement with an exclamation mark (!)) and emote (use the colon (:) for this):

:smiles and waves to everyone

Will result in 'Username smiles and waves to everyone' appearing to everyone currently in the room.

Finally, you can say something to a specific player (although everyone in your location will "overhear" you), by starting the command with their @username:

@andrew Hi there!

Will make it appear to everyone that you say "Hi there!" to the user called "andrew".


Everything in this world is an object, including the users, rooms and exits. But "normal" objects are things within rooms or carried by the players.

Every object has a name (alpha-numeric without spaces) and a fully qualified name (username/objectname) which is unique. The app will try to work out what you're refering to when you use objects in commands. However sometimes you may need to disambiguate with the FQN (fully qualified name) especially if you're changing things about the object.

Obviously you can "take" and "drop" objects as well as "look" at them or "examine" them more closely. If you want to know what you're carrying just use your "inventory".

A nice shortcut for objects you own (including rooms, exits and yourself -- "me" and "here" are synonyms for yourself and the current location) is to update their description:

describe objectname A new description for the object

Remember the description can be in Markdown format (as can anything to be output to the game). Markdown is an easy to read, easy to write text-to-html converter. Follow the link for a quick tutorial.

The cool thing about objects is that they have attributes, which become verbs in the game. Say, for example, you had a "trumpet" object which had a "play" attribute with the associated value "You play the trumpet." then typing "play trumpet" will return the associated value. This helps bring the world to life.

We did make a start on a simple LISP-y scripting language which could kick in at this point, so objects could emote or write into the room or to specific players, but we didn't have time to finish it! It'll come in the next version. ;-)

Using Multimedia

It's possible to embed images, audio and video into the world.

TextSmith does NOT host files for users. Links will need to be to externally hosted multimedia assets.

To embed an image use the following markdown syntax:

![alt text](/url/to/image.jpg)

To embed audio use:

::audio[alt text](/url/to/sfx.mp3)

Finally, to embed YouTube or Vimeo videos just include a link to the page on the website for the video in question, and TextSmith will detect and convert it to an embedded video.

Making Objects

Of course, you want to make your own objects... in fact, that's really the point of the game. It makes the place more intersting..!

This is a simple command:

create objectname This is a description of the new object.

You'll find the new object "objectname" is now in your inventory. It's important to realise that the description can be multi-line and written as Markdown. :-)

To add attributes use the following command:

set object/fqn attributename Some value to associate with the
    attribute on that object.

You must use the object's FQN when annotating.

To delete attributes simply:

delete object/fqn attributename

All delete operations require the object's FQN.

To delete the object completely, it's just:

delete object/fqn

Finally, you may notice other people have cool objects, and you'd like to have something similar. Happily you can clone them like this:

clone object/fqn newname

Et Voila! You'll find your copy residing in your inventory.

Moving Around

Whenever you enter a room or look at a room you'll see a list of exit names leading from the room. To follow the exit, just type the exit name.

If you want to know about the exits, why not "look" at them?

It's also possible to teleport to other rooms in the world, if you need to get somewhere quickly. :-) Simple issue the teleport command with the target room's FQN:

teleport room/fqn

The FQN of each room is displayed just under it's name when you look at it or when you first enter the room.

Building New Locations

We hope you help to build lots of interesting new places in the world. It's fun for the other players to explore your work! To create a new room simply issue the following command:

build newroomname A description of the new room.

As with creating objects, the description can be multi-line and written in Markdown.

While you might have a new room, you need to build at least two exits, one to connect into it, the other to connect out.

To connect the current room to the new room, just issue:

connect room/fqn exitname A description of the new exit.

Typing the name of the new exit will take you to the target room, from which you can create a new exit to any other room who's FQN you know.