Skip to content

The World Map

The World map is a portal page that draws the game’s maps. Each map is drawn from its rooms and the exits between them, one level at a time, and the room you are in is marked. Choosing a room lists its exits; choosing an exit’s room moves to it, and an exit that leads to another map opens that map.

The Harbour map in the portal: Quay in the middle, marked as where you are, with Lighthouse to the north, Fish market to the east, Customs house to the west and a two-cell Boatyard to the south. Old Town, a region inside the Harbour, is a tall grey box on the left. Shed has no coordinates and is drawn below the grid. Above the map are the level arrows and the levels Quayside and Lamp deck; below it, Quay's exits.

This page covers:

The World map is the World map package. First-run setup offers it ticked under Building in its last step; a game that is already running installs it from the portal’s Packages page. Once it is installed, World map appears in the portal’s menu, and +map draws the map you stand on in the game. On a game with +help, ticking it in setup also brings World map: +help topics, which adds +help map. +help map is for everyone; +help map making and the topics about building a map are shown to builders and staff.

A map is a thing whose MAP`KIND attribute says how it is drawn. A room is on the map that is its zone, so @chzone puts a room on a map.

A builder, standing in a room called Boathouse:

> @create Harbour
Created: Object #32.
> &MAP`KIND Harbour=coordinates
Harbour/MAP`KIND - Set.
> @chzone here=Harbour
Unlocked zone Harbour(#32Tn) - automatically zone-locking to itself
Zone changed.
> &MAP`COORDS`X here=3
Boathouse/MAP`COORDS`X - Set.
> &MAP`COORDS`Y here=-1
Boathouse/MAP`COORDS`Y - Set.

Do the same in each room of the harbour. Harbour now shows in the World map’s list.

New map, under the map list in the portal, runs the first two commands for you and opens the new map. It shows to a character who may @create. The map object stays in your inventory. Destroying it takes the map away.

The New map form under the map list: the name Docks, the layout Compass, a note that the map is an object you carry and that rooms join it when they are zoned to it, and Cancel and Create.

MAP`KIND is one of three:

KindShown asA room’s place
coordinatesGridthe cell its MAP`COORDS`X, MAP`COORDS`Y and MAP`COORDS`Z name
compassCompassworked out from its exits: a room north of another is drawn above it
graphPicturethe point its MAP`POS`X and MAP`POS`Y name, with no grid

North is up. On a compass map, up and down exits change the level (see Levels).

A room covers one cell unless its MAP`SIZE`W and MAP`SIZE`H say more. The cell its coordinates name is its south-west corner, so &MAPSIZEW Boatyard=2 makes the Boatyard two cells wide, reaching east.

A compass map keeps any coordinates a room does have and places the rest by their exits, so a few coordinates can pin down where a large area sits. Exits named or aliased n, north, ne, northeast and so on, u, up, d and down count; other exits are drawn as lines between rooms but do not place them.

The Old Town compass map: Harbour / Old Town above it, then Market square in the middle, Temple steps to the north, Well to the south, Tanners' row to the west, and the Town gate to the east with a dot showing it leads to another map.

A room the map cannot place, such as a room on a grid map with no coordinates, is drawn with a dashed edge in a row below the others, on the level of a room its exits join it to.

A map opens at the size that fits its frame, with the room you are in in the middle. The zoom buttons above the map make it larger or smaller around the middle of the view, and Fit the map fits it again. Drag with the mouse, scroll, or swipe with one finger to move across a map larger than its frame. To zoom about a spot, pinch on a touch screen or trackpad, or hold Ctrl and use the mouse wheel.

With the keyboard, Tab goes from room to room, and an arrow key on a room goes to the nearest room that way. A room straight ahead is chosen over a nearer one off to the side. Enter or Space chooses the room.

Lines stay the same width at any size, and room names grow and shrink with the map. A room too small to hold its name has the name on a label under it; smaller still, the name shows only when you point at the room, and a screen reader still reads it.

The Coast map, a picture map with no picture, fitted to its frame: six rooms on a ground of faint dots, from the Lighthouse at the top left to the Watchtower at the bottom right, each with its name on a label below it.

You are here brings your room to the middle of the view. While you are looking at the World map, not editing it, it follows you: when you walk to another room, that room is marked and brought to the middle, and when you walk onto another map, that map opens.

The OOC map after walking from Room Zero to Room One: Room One is now filled in the accent colour as where you are, and the room panel below shows Room One.

Z is the level. A coordinates or compass map shows one level at a time, with a button for each level and arrows that step up and down. A room with an exit up or down is marked with a small arrow, and choosing that exit’s room in the room’s exits goes to its level.

MAP`LEVEL`<level> names a level; a level without a name is shown as its number. MAP`LEVEL is the level a visitor sees first. Someone standing on the map starts on their own level.

> &MAP`LEVEL`-1 Harbour=Sewers
Harbour/MAP`LEVEL`-1 - Set.
> &MAP`LEVEL Harbour=-1
Harbour/MAP`LEVEL - Set.

The Harbour map on its Lamp deck level: the Lamp room, above the Lighthouse, with an arrow showing its way down. The up arrow is greyed out, as there is no level above.

A room’s ENVIRONMENT attribute says what kind of place it is, such as dock or market. The gmcp package sends the same attribute to a MUD client’s mapper. The map’s legend says how each kind is drawn. Each part is an attribute of its own on the map object: MAP`LEGEND`<kind>`LABEL, `TONE (a tone() colour name) and `ICON. A map inside another map uses the outer map’s legend, unless it names that kind itself.

> &ENVIRONMENT Quay=dock
Quay/ENVIRONMENT - Set.
> &MAP`LEGEND`DOCK`LABEL Harbour=Docks
Harbour/MAP`LEGEND`DOCK`LABEL - Set.
> &MAP`LEGEND`DOCK`TONE Harbour=blue
Harbour/MAP`LEGEND`DOCK`TONE - Set.
> &MAP`LEGEND`DOCK`ICON Harbour=anchor
Harbour/MAP`LEGEND`DOCK`ICON - Set.

An icon is one of water, forest, park, mountain, road, home, shop, food, drink, bed, temple, castle, shield, anchor, star, chat, book, mask, lock and flag, or one or two characters drawn as text. The legend under the map lists only the kinds its rooms use.

Choosing a room also shows its description, and the players there whom you could find with loc(). A room with players in it shows how many.

The Harbour map with a legend: the docks drawn blue with an anchor, the Lighthouse red with a star, the Fish market and Chandlery yellow with a shop sign. Quay is chosen; under the legend its panel shows its description, Here now: God, Wren, and its exits, with Up the hill leading to Room Zero, on no map.

A new game’s starter world has two zones drawn this way, OOC and IC. The arrival room, Room Zero, is on the OOC zone, and its In Character exit leads to the Commons, the first room in character. That exit lets through only approved characters and staff.

A game may have as many maps as it likes, each of its own kind. An exit from a room on one map to a room on another is drawn as a dot on the room it leaves; in the room’s exits it reads To the map and the map’s name, and choosing it opens that map.

A map zoned to another map is a region inside it, as a room zoned to a map is on it. Regions nest as deep as you like: Sol System, Earth, United States, New York, Brooklyn.

A region is listed under its map, and the maps it is inside are named above it, each a link. On its map, a region is a grey box that opens it. The box goes where the region’s own MAP`COORDS (MAP`POS on a graph map) and MAP`SIZE say, as a room’s would; without them it is drawn in the row below. While you stand anywhere inside a region, its box is marked.

Holding the Old Town map, with the Harbour beside it:

> @chzone Old Town=Harbour
Zone changed.
> &MAP`COORDS`X Old Town=0
Old Town/MAP`COORDS`X - Set.
> &MAP`COORDS`Y Old Town=-2
Old Town/MAP`COORDS`Y - Set.
> &MAP`SIZE`H Old Town=3
Old Town/MAP`SIZE`H - Set.

Old Town is now listed under Harbour, and drawn on the Harbour’s left, three cells tall.

A graph map can be drawn on a picture. MAP`BACKDROP holds the picture’s address: a path on the game’s own site, such as the link of an image in the wiki’s image library, or an https address. Any other address is not shown. MAP`SIZE`W and MAP`SIZE`H are the picture’s size in pixels.

Each room’s MAP`POS`X and MAP`POS`Y are then a point on the picture, in pixels from its top left corner. A room is drawn as a pin with its name under it, unless it has a MAP`SIZE of its own: then it is an area of that many pixels around its point.

Every room is drawn on the picture. A room whose point or size reaches past the picture’s edge is drawn against that edge, and while you edit the map it is outlined in orange and listed in the checks, with Move inside the picture to store it where it is drawn.

A graph map with no picture draws each room without a MAP`SIZE as a box, as large as a grid cell, on a ground of faint dots; a room with a MAP`SIZE keeps that size. MAP`POS`X and MAP`POS`Y are then the box’s centre, in the same units, so rooms 96 apart sit side by side.

Holding the Isle map:

> &MAP`BACKDROP Isle=/api/wiki-assets/fd8b00b0889f4bee97f0eb7f7a8849f7/isle.png
Isle/MAP`BACKDROP - Set.
> &MAP`SIZE`W Isle=900
Isle/MAP`SIZE`W - Set.
> &MAP`SIZE`H Isle=640
Isle/MAP`SIZE`H - Set.

Choosing a room shows the way there from where you stand: the exits to take in turn, over the exits you can see, on this map or across others. The way is drawn on the map, and under the room’s exits is one line you can paste into any client. Walk there runs it as your character.

The Isle, a picture map: an island with a wood, a river and two peaks, and pins for the Ford, Watch tower, Spring, Mill, Ropery and Tar shed, with Saltpans drawn as an area. Spring is chosen, and the way to it from the Quay on the Harbour map is drawn in orange through the Ford and the Watch tower. Under the map, Getting there lists four steps, the first two naming the map they enter, then the line walk Boathouse road path spring with a copy button, and Walk there.

walk takes exits separated by spaces and stops at the first exit that refuses you, such as a locked door. An exit whose name has a space is written by its first alias without one, or else in double quotes: walk "Old gate" north.

+map draws the map your room is on, around you, north up, with @ where you stand. Each room is a cell in brackets holding its kind’s character: the kind’s MAP`LEGEND`<kind>`CHAR, else its icon when that is one or two characters, else the first letter of its label. An exit between two rooms side by side is a line, -, |, / or \. A key under the map names each kind drawn, and the first line names the map and, off level 0, the level.

> +map
Bay
[L] [ ]
| /
[ ]-[@]-[M]
|
[~]
Key: @ you · L Lighthouse · M Market · ~ Open water

It draws three cells each way, and only the rooms and exits you can see: a DARK room only for someone who controls it or sees everything. A compass map places the rooms its compass exits reach from yours, a grid map the rooms whose MAP`COORDS are near yours on your level, and a picture map each room’s MAP`POS on a grid of 96 pixels a cell. A room the map cannot place has no +map. On a large map the World plugin keeps, +map draws its places instead, one character each. A client without UTF-8 gets * for the · in the key.

If you control a map, the World map shows Edit map. While you edit, nothing reaches the game, and the map shows what it will look like once your changes run.

  • Choose a room you control to rename or describe it, set its place or size, dig a room above or below it, or take it off the map. A room you do not control is drawn faded and cannot be changed.
  • A chosen room lists its exits. Rename or destroy one you control, or open a way to another room on the map, or to any room by its dbref, which links one map to another. A way to a room off the map shows that room’s name. An exit name the room already uses is refused.
  • On a map with no rooms, choose any cell to dig the first one. It has no exit yet.
  • Choose an empty cell next to a room, or a spot on a picture map, to dig a room there, with a description if you like. A picture map with no picture leaves room around its rooms to choose a spot in, so a room can be placed or moved well away from the others. It is joined to the room straight beside it by an exit and, if you like, an exit back; on a grid the names follow the direction, such as East;e there and West;w back. in and i are refused as exit names, as i is the inventory.
  • Add a room you control that this map’s exits lead to and that is on no map, or a room by its dbref.
  • On a grid, name the level on show.
  • Map settings changes the map itself: its name, the map it sits inside, the level it opens on, its legend’s types with a colour and an icon each, and on a picture map the picture and its size. Pick the picture from the media library or upload one; its size is read from the picture.
  • Go there on a room or a place takes you there, so you can look at what you built.
  • On a world map, the World map section paints its places and sets their sides, names and rooms. See Large Maps.

The Coast map while editing: a banner says players see nothing until you apply, and the dotted ground reaches well past the six rooms on every side, leaving space to place a room away from them.

The Harbour map while editing: a banner says players see nothing until you apply. An empty cell east of the Fish market is chosen, and under the map the Edit panel offers Move Fish market here and a form to dig a room there, named Chandlery, joined from the Fish market by East;e, with West;w as the way back.

The Edit panel for the Lighthouse: its name and description, its place and size, its exits East;e to Lamp store, South;s to Quay and Up;u to Lamp room, each with Rename and Destroy, and Open a way to the Customs house by Southwest;sw, with Northeast;ne back. Below are the rooms to add and the name of level 0, Quayside.

While you edit, a room you control can be moved and resized on the map itself:

  • Drag a room to move it. Its old spot stays as a dashed outline until you let go. On a grid it lands on whole cells, on a hex map on the hexagon under its middle, and on a picture map at the point you let go, which is shown under it in the picture’s pixels. Escape puts it back.
  • Drag a corner of the chosen room to resize it: in cells on a grid, in pixels on a picture. Rooms on a hex map are one hexagon each and have no size.
  • On a picture map a room stays on the picture. A drag stops at the edge, and a place or size you type is moved back inside, with a note saying where it went.
  • On a grid or hex map a room cannot go where another room of the level already is.
  • Rooms standing on a place of a world map move with their place; see Large Maps.

With the keyboard, choose the room first (Tab to it, then Enter):

KeysWhat they do
Arrow keysMove the chosen room one cell, one hexagon, or 8 pixels on a picture
Shift + arrow keysOn a picture, move 40 pixels. On a flat-topped hex map, Shift with Left or Right steps to the upper neighbour instead of the lower one; on a pointy one, Shift with Up or Down steps north-west or south-east
Ctrl + Shift + arrow keys (Cmd + Shift on a Mac)Resize the chosen room: Right and Down grow it, Left and Up shrink it

On a flat-topped hex map, Up and Down step north and south, and Left and Right step to the south-west and south-east hexagons. On a pointy-topped one, Left and Right step west and east, and Up and Down step north-east and south-west.

Each move or resize is read out by a screen reader, for example “Old Mill moved to 1525, 346. The picture’s edge stopped it.” Without dragging, choose a room, then an empty cell or spot and Move here, or type its place and size in the Edit panel.

Every move and resize is a change in the plan, like any other, until you apply it.

Review and apply lists each change as the commands it runs. When your quota limits what you build, the review counts the rooms and exits the changes make, and a plan that needs more than you have left cannot be applied. A map is one object, and each room dug with its two exits is three, so the starting quota of 20 builds one small map. See Your building quota for asking staff for more. Apply runs the commands as you, with your permissions, one after another, and checks each one. The first that fails stops the rest, and the list that follows says which changes ran.

The review of one change, Open a way from Lighthouse to Customs house, with its command @open Southwest;sw=#36,Northeast;ne,#28. The new exit is already drawn between the two rooms.

The review of one change, Dig Chandlery: the commands @dig Chandlery, @chzone, the two coordinates and @open, with the new room shown by its name in angle brackets until it exists. The Chandlery is already drawn east of the Fish market.

On the Isle, digging a Tar shed at a spot joined to the Ford runs:

> @dig Tar shed
Tar shed created with room number 115.
> @chzone #115=Isle
Zone changed.
> &MAP`POS`X #115=380
Tar shed/MAP`POS`X - Set.
> &MAP`POS`Y #115=520
Tar shed/MAP`POS`Y - Set.
> @open Tar lane;tar=#115,Ford path;fp,#73
Opened exit #116
Trying to link...
Linked exit #116 to #115
Opened exit #117
Trying to link...
Linked exit #117 to #73

A map is listed to everyone once its MAP`KIND is set and it holds something they may see. A map with nothing they may see is listed only to whoever controls it. Each player sees only the rooms they could see in the game: a DARK room is left out unless they can examine it, and so are its exits. The page shows the map as the character you are playing, and changes when you switch characters.

Apps you allow to Run commands can read the same maps. See Apps That Act for You.

On a phone the list of maps sits above the map, and the map scrolls inside its frame.

The Harbour map on a phone: the map list above, then the level arrows and buttons, and the grid.