Community Edition “New breath for an old well.”

World Development

A world is a folder of plain text, pictures and sounds. Nothing in it is a program: the game reads the tables, runs the script and draws the art. Anyone with a text editor can build one, and the builder tools are in every copy of the game.

These pages describe worlds as ReBreather loads them. They were written from the game's own source, so where an old write-up and these pages disagree, trust these. Worlds written for the original client load unchanged; the few places where ReBreather is stricter or more forgiving are marked on the Table Reference and Quest Script pages.

Where a world lives

Every world is a folder under worlds/ inside the game folder. The folder's name is the world's name (case does not matter), and the installer knows a folder is a world by the world.ini inside it. Heroes who play the world are saved under save/<world>/, not in the world folder, so reinstalling a world never touches anyone's hero.

File or folderWhat it holds
quest.txtThe script: scenes, dialog and every data table. It can pull in other files with #include.
monsters.txt, items.txt, spells.txt, maps.txt, levels.txt, groups.txt, trophies.txtBy tradition each table sits in its own file and quest.txt includes them. One big file works just as well.
missions.iniThe missions the world offers.
music.iniWhich tune plays on which map (see Music and Sound).
config.iniWorld settings such as the gold a new hero starts with. Listed on the Table Reference page.
gender.iniOptional words that change with the hero's gender, read by the g. cookies.
world.ini, world.verThe world's identity and its published version number. The version tool writes world.ver.
maps/Map pictures and, for each map, its terrain (.ter), links (.obl) and monster placement (.mon) files.
scenes/Scene backgrounds.
monsters/Monster film strips.
art/Item, spell and trophy sheets that override the game's own.
midi/, sfx/Music and sound effects.
HTML/Pages the script can show with its HTML command.

How the tables are written

Inside quest.txt a table opens with a line such as +ITEMS and closes with -ITEMS. Between them, one line is one row, with the columns separated by commas (spaces work too). Put quotes round any column that contains a comma or a space. A line that begins with a semicolon is a comment. There are sixteen sections: CREDITS, STORY, TERRAINS, MAPS, TOKENS, ELEMENTS, HANDS, ITEMS, TROPHIES, SPELLS, MONSTERS, GROUPS, LEVELS, SCENES, EQUIP and THEMES. The Table Reference lists every column of every one.

Numbers are read the way C reads them: the leading digits count and anything else reads as zero. Several columns pack more than one number into a dotted field, such as 12.3, and a missing part reads as zero as well.

The builder's tools

Building happens on the Solo Channel, where no server is involved. From the Solo play window choose Create Your Own World: a short wizard asks for a name and a map picture and lays down the folder. From then on you edit the files and use these chat commands inside the game:

CommandWhat it does
/q quest.txtOpens a world file in the quest editor (any file name works, so /q items.txt too).
/reloadRe-reads the whole world without leaving it.
/funpakShows the load log: every warning the loader printed, with the line it objected to.
/propsOpens the property editor for monsters, items or spells (/props 1 starts on items, /props 2 on spells).
Link EditorRight-click a map in the world editor to place links, name them, pick their scene, group, weather and effects.
/stepperSingle-steps the quest script with breakpoints, a line at a time.
/scene 12Jumps your hero straight into scene 12.
/give I5.3, /take T7Hands things to your test hero or takes them away, using the same letter codes as the script.
/fight 40Starts a fight with monster 40 (an ally with /fight -40).
/battle, /class 3, /doldrumBalance reports: class against class, one class's figures, and the experience curve against monster kills.
/dist -1, /coverageWhere every monster is placed, and which spell effects the world uses.
/versionSets the world's version and builds the zip to publish (see Publishing).

Several of these are cheat codes and mark the hero that uses them. The world builder's own test hero is born marked, so build with that one, not with a hero you play online. The Cheat Codes page explains the mark.

Reading order

  1. Maps, Scenes and Links: the shape of a world.
  2. Heroes and Monsters, Items and Spells, Trophies: the things in it.
  3. The Quest Script and Cookies: making it do something.
  4. Telling a Story: keeping a branching plot sane.
  5. Missions, Music and Sound, Skins and Art: polish.
  6. Publishing a World: getting it to players.