NOTE: This text is excerpted from the documentation for Industrial Prose & Magic. While not the complete manual, this walk-through covers every feature of the system. Industrial Prose & Magic Version 1.4 The MUD Producer's Studio for MS-DOS Copyright (c) 1994 Continuum Software. All rights reserved. TABLE OF CONTENTS PREFACE PART I: INTRODUCTION WHAT'S NEW IN 1.4................................................1.1 PART II: PROGRAM SETUP ASSUMPTIONS......................................................2.1 INSTALLATION.....................................................2.2 RUNNING IP&M AS A DOOR...........................................2.3 RUNNING IP&M STANDALONE..........................................2.4 RUNNING IP&M LOCALLY.............................................2.5 MULTITASKING.....................................................2.6 SETTING ENVIRONMENT VARIABLES....................................2.7 SETTING THE BAUD RATE............................................2.8 USER TYPES.......................................................2.9 COMMAND SETUP....................................................2.10 SECURITY.........................................................2.11 FILE TRANSFER PROTOCOLS..........................................2.12 NEWS AND HELP....................................................2.13 LOGIN TEXT.......................................................2.14 PART III: DEFINING THE GAME PICKING A GENRE FOR YOUR MUD.....................................3.1 CHARACTER ATTRIBUTES.............................................3.2 CHARACTER SKILLS.................................................3.3 CHARACTER RACES OR TYPES.........................................3.4 CHARACTER ALIGNMENT..............................................3.5 DEFINING WEAPONS.................................................3.6 DEFINING ARMOR...................................................3.7 DEFINING SPECIAL ITEMS...........................................3.8 DEFINING TREASURE................................................3.9 DEFINING SPELLS..................................................3.10 GUILDS...........................................................3.11 QUESTS...........................................................3.12 MONSTERS AND GATES...............................................3.13 WEATHER SETUP....................................................3.14 FILES AND BULLETIN BOARD OBJECTS.................................3.15 PART IV: CREATING THE MUD CREATING PLACES..................................................4.1 CREATING EXITS...................................................4.2 CREATING OBJECTS.................................................4.3 CREATING RULES...................................................4.4 CREATING NON-PLAYER CHARACTERS...................................4.5 TIME-BASED PLACES AND EXITS......................................4.6 MODIFYING YOUR CHARACTER.........................................4.7 WIZARD MUD BUILDING..............................................4.8 PART V: ADMINISTRATION INTERNAL BACKUPS.................................................5.1 PRUNING SHOPS....................................................5.2 PURGING USERS....................................................5.3 COMPRESSING THE DATABASE.........................................5.4 ADMINISTRATIVE COMMANDS..........................................5.5 CREDIT ACCOUNTING (COMMERCIAL EDITION)...........................5.6 PART VI: OTHER ISSUES RIP AND ANSI GRAPHICS............................................6.1 FREELANCE MODULE SUBMISSIONS.....................................6.2 TROUBLESHOOTING..................................................6.3 TECHNICAL SUPPORT................................................6.4 APPENDIX A: THE FANTASISTS GUILD PART I 1.1 WHAT'S NEW IN 1.4 WIZARDS There is more in-depth support for wizard-based MUD building. Locations can be marked as "pending", meaning that only producers and wizards can see them; other users can not. They can then be "opened" by the producer, once they have been inspected and approved. (On the on-screen map, a dotted line is drawn for pending exits, which only wizards and producers can see). Wizards can be given their own areas, which only they can modify; other wizards can see them and make suggestions, but not changes to that portion of the MUD. Once the locations are opened, the ownership reverts to the producer, and they can no longer be modified by the wizard. NPCS There are lots of new features available for NPCs. Greetings can be defined for NPCs, which list keywords that invoke action rules. For example, you might have a greeting as follows for a NPC bartender: "Hmmmf". The rather unfriendly bartender glares at you impatiently, waiting for your order. Type GROG, DRAGONALE, or SPINWATER to order one of those drinks. Three separate rules can be defined for what happens when the user types "GROG", "DRAGONALE", or "SPINWATER", including giving them mugs of each drink and charging them money for them. Also, an unlimited number of automatic actions can be defined for NPCs, of the following types: GO, SAY, and EMOTE. So, you can add an action to a NPC that gets randomly invoked, for example, to GO NORTH, GO SOUTH, SAY "Watch it!", etc. This gives them more an appearance of life, as they wander around and say and do things. There are now four different types of NPCs: Guild Master, Guild Member, City Official, and Normal. These categories have to do with learning skills and spells from them, and recieving quests from them. Guild Masters and City Officials can give out quests (see the QUEST section for details). Players can learn skills and spells from other players and NPCs that are members of the same guild. Also, players can petition Guild Masters for an increase in guild level, which will succeed if they have earned enough experience points. GUILDS Guilds are organizations that players can join to learn specialized skills. An unlimited number of specialized skills can be defined for each guild. You can call guilds anything you like, depending on the genre of your MUD, such as "Organization", "Profession", "Branch of Service", etc. Players can join guilds by GREETing an NPC and typing the keyword JOIN. You can set up mimimum attribute ratings needed to qualify, and you can set up a minimum number of quests that need to be completed before any guild can be joined. You can also restrict guilds by race, if appropriate. As characters gain experience points, they can petition the guild master for a raise in guild level. The amount of points needed for each level is configurable. QUESTS Quests are special missions that characters perform for NPCs. They are meant to provide a way to help users get familiar with the layout of your MUD. There are currently three types of quests that can be generated by NPCs for players: 1. Give a specific object to a specific NPC 2. Give a specific object to a random NPC 3. Go to specific place and return to the NPC If the player succeeds, he will earn a set number of experience points. If the player can't find the location or NPC, he has the option of typing "ADMIT FAILURE", but will lose points in doing so. Also, a player can type "REMEMBER" at any time to remember what the current quest is. You can define a minimum number of quests that need to be accomplished before players can join any guilds. LOCATIONS There are lots of new features for locations. They can be marked as dark, meaning that players need a source of light to see anything. (If the location is outside and they are in quarters 2 or 3 of the day, it will be assumed that they can see anyway, from the light of the sun). Locations can be marked as drop-capable, meaning that objects can be dropped in them, or drop-incapable, meaning that they can't. This can help prevent a MUD cluttered with objects laying around everywhere. (There is a new GIVE command that allows players to give objects to each other directly, without needing to drop things and then have others pick them up). Shops can be defined to only sell certain classes of items; for example, you can make a weapon store that sells swords and knives, but nothing else. All problems with quarterly exits have been fixed. You can now set an exit heading east during 1st quarter to lead to one location, and an exit heading east during the 3rd quarter to another location. New commands have been written to make location building easier, including @dig and @digx. These are streamlined, and help you avoid needing to take separate steps as you did before to first define a location, then an exit, then a location, then an exit, etc. Four out of five MUD builders recommend using these commands over the old way of building locations. Locations can be set to restrict entry based on player alignment, guild, score, and security type, using the @restrict command. Public locations can be restricted by weather zone. For example, if the users are in one region of your MUD (defined by weather zone 3, for example), you might want to only allow them to go to public locations in weather zone 3. This still gives them a quicker way of moving around, but they can't jump from the north pole to the south pole in one fell swoop. Also, locations that have gates now have creation probabilites based on the quarter of the day. For example, you might want a forest to be very safe during the day (only a 2 percent chance of creating an orc), but be dangerous at night (when there's a 75% chance). If you already have gates defined in your 1.3 MUD, you'll need to define the probability levels for each quarter of the day. SPELLS Due to popular demand, Industrial Prose & Magic now directly supports the concept of spells. A spell spreadsheet is defined that is similar to the item spreadsheet, defining powers and values for each spell. Users learn spells from other members of their guild that know them. Spells can be set with a minimum experience level needed to learn. Players can be allowed a set number of spells per experience level. The new "cast" command is used to cast spells. An attribute can be set to define the starting number of "spell points" for a player. (The terms for "spells" and "spell points" are configurable). Spells can be defined to require a certain number of spell points to cast. If a player's spell points drop below 0, he won't be able to cast any until they become positive again, either by "resting" (as for hit points), or waiting for the passage of time. SKILLS Skills can now be linked to commands. For example, the new "rob" command should be linked to a skill, such as thievery, that allows only players with that skill to the rob command. Any command can be linked to any skill. The learn command is used to improve skills. When a character first joins a guild, he gets a rudimentary level of competence with every guild skill (the starting rating is configurable). He can then pay other players or NPCs that have a better rating for instruction, and the rating will be increased. You can set up the maximum number of skill rating improvement allowable per day. Weapons are treated a little differently in regards to requisite skills. If you define a swordplay skill that is used for swords, for example, any player can still use a sword even without knowing that skill; they will just be using it at a very rudimentary level. This is a bit more realistic than not letting them use it, since weapons are usually designed to be used by anyone. Items, however, still require a skill to be present before they can be used at all. RULES The variety of things that can be done with action rules has increased enormously. There is a SimItem button when defining rules that allows the rule to simulate the action associated with an item. If you have a wand of lightning strike, for example, using the SimItem button for that item will cause a lightning strike to hit the player. The new MakeItem button creates a new object from the item spreadsheet and puts it in the player's inventory. Going back to the bartender NPC example, typing GROG to order a mug of grog can create a "mug of grog" item and give it to the player. The new -Money Button subtracts (or adds to, with a negative number) the amount of money the player has. If they don't have enough, the rule is cancelled. (It's important to choose this button first when defining the rule, so the other steps are not taken if they don't have enough money). The Pause button prompts the user to press ENTER before continuing. This is useful for complex action rules, where lots of steps are defined. The %Chance button makes a flat percentile roll against a branch in an action rule. For example, you could define a 25% chance of something bad happening when a user touches a statue; the roll is not based on an attribute or skill of the player. Also a rule can be defined for all items created from the same entry in a spreadsheet. Going back to the bartender and mug of grog, you could define what the mug looks like just once, and then every mug of grog in the game will get the same response when players look at them. ITEMS There are a slew of new item powers that can be defined in the item spreadsheet. The new codes, which are mostly self-explanatory, are as follows: S. Enhance skill R. Enhance attribute B. Enhance weapon C. Enhance armor O. Create money P. Enhance max hit points L. Lose money V. Degrade weapon W. Degrade armor X. Degrade max hit points Y. Degrade attribute Z. Degrade skill There are new commands for the producer to instantly make items from the item, armor, and weapon spreadsheet: @item, @armor, and @weapon. INTERFACE There are lots of new interface features. IP&M now senses graphics automatically, including ANSI graphics (RIP graphics were already sensed). Users can now use a straight-text interface, without any colors or graphics, if they so desire. The MODE command can be used to toggle the graphics mode. The WHO screen, which shows online users, has been reworked. Like some Internet MUDs, users can now enter a tag line for their entry on the WHO screen. The INFO command gives a lot more information about their own and other characters, including specialist skills and spells known, the character's birthplace, how much they charge for skill or spell lessons, etc. Login and logoff messages are now broadcast to everyone on the MUD, saying who logged in where, etc. These can be turned off with the QUIET command. The names of months, days of the week, and the MUD calendar can all be defined now. (It's the 12th day of Winterhelm, 412 years since the Orc War, etc). ACCOUNTING An internal credit system can be used now to allow users so many minutes in the MUD total before they need to purchase more credits (1 credit=1 minute). This allows you to keep a separate accounting system than that used on your BBS, to charge the use of the MUD for those users that want to use it. The credit accouting system is available only in the commercial edition. ADMINISTRATION The producer can now @lock out troublesome users from ever entering the MUD. The producer can also @boot people off the MUD if needed (to perform some administrative task, etc), or boot everyone off the system with the @bootall command. The @mapmem command reports how much memory is used in building the on-screen map. This is useful in helping to break down your MUD into manageable chunks. You can now make multiple backups, and restore from different directories, as opposed to only having one backup. A new command, @initworld, allows you to totally wipe clean the MUD rules and locations, and optionally wipe spreadsheets as well (but only ones you select). PLAYERS Characters can now ressurect when killed, if you want them to do so, in a specified location. When player characters are first created, the new CITY spreadsheet is reviewed, and a city is chosen at random as that character's birthplace. They then are placed in the MUD at a specified location for that city. The new follow command allows you to automatically follow other players or NPCs. If they move north, you'll move north, etc. The new discard command allows players to get rid of unwanted items permanently. Discarded objects are deleted permanently. Players can now give things to each other directly. The "taking" command is used to set whether a player's character will accept items given to them or not. Some player character races can be defined to only allow specific genders. For example, you might have a "droid" race in a sci-fi MUD that only allows characters with a "neuter" gender. In that case, they won't even be prompted for a race, it will just assume neuter. (Also, the term for "neuter" is configurable now). NETWORK FUNCTIONS It is now possible to set the delay to be used between file open and lock retries. This will help larger systems cut down on network traffic. We have found that delays of between 10/100ths and 20/100ths of a second seem to work well. This can be set by pressing "N", for Network Setup, on the General Setup screen. PART II SETUP 2.1 ASSUMPTIONS Although no technical expertise is required to either install or administer your MUD, we do assume that you are familiar with basic DOS commands: making directories, copying files, etc. If you are not familiar with DOS, you will need to educate yourself in the basics. Either consult the documentation that came with your computer, or buy a third-party DOS book from any bookstore. Also, many of the larger computer stores, such as Comp-USA, offer classes in DOS operation. 2.2 INSTALLATION Installing Industrial Prose & Magic on your hard drive is very simple. First, make a directory on the target hard drive, naming it anything you like. Then copy all of the files from the diskette to that directory. The first time you run IP&M, the program will create a BACKUP directory under your MUD directory. If you are running on a network, make sure that you are logged in with an account that allows you to create a subdirectory. If you are not sure, go ahead and make the BACKUP directory first, after you have copied all the files to the directory. It won't hurt the installation process for the directory to already exist. 2.3 RUNNING IP&M AS A DOOR You can run an IP&M MUD from any BBS package that supports the DOOR.SYS drop file format. This includes almost every package available, including Wildcat, PCboard, and a host of others. A few exceptions are The Major BBS and TBBS, for which you will need special setups to run correctly. When a BBS runs a door program, it calls a batch file to execute the door. The following is a typical example of one such batch file: CD \MUD CALL MUD DOOR C:\BBS\NODE1\DOOR.SYS CD \BBS BBS You will probably need to take all of these four steps in setting up your door batch file. Check your BBS documentation for specifics. The first line of the example changes to the MUD directory (whatever you've decided to name it). The second line calls the MUD.BAT batch file. Note that the "call" keyword is very important; without it, control will not return to the current batch file when MUD.BAT is finished. The last parameter on the second line is the full pathname to the DOOR.SYS file. The third line changes back to the BBS directory, and the last line calls the BBS batch file to return control to the BBS. 2.4 RUNNING IP&M STANDALONE To run an IP&M MUD without a BBS (commercial edition only), simply invoke the MUD batch file as follows: CALL MUD ALONE 1 The last parameter, in this case a 1, tells the MUD to use COM port 1. You can specify any valid COM port value in that position. If you are running the MUD without BBS software, there are some more issues you need to consider, mostly in the area of daily time limits, etc. This is because when running the MUD as a door, the BBS tells the MUD how many minutes each caller can be in the MUD, but without a BBS, you need to decide how much time callers can spend in the MUD (based on security levels that you define). See the SECURITY section for more details. 2.5 RUNNING IP&M LOCALLY To run IP&M in local mode, simply invoke the MUD batch file as follows: CALL MUD ALONE -1 When the MUD sees that the last parameter is a negative number, it knows not to worry about communicating with a COM port. 2.6 MULTITASKING You can run as many sessions of IP&M as memory allows on your machine. You will need to use a third-party multitasker, such as Windows or DesqView. If you are running Windows, you should try invoking IP&M without a .PIF file; most people do better that way. 2.7 SETTING ENVIRONMENT VARIABLES There are a number of DOS environment variables that can be set in your AUTOEXEC.BAT startup file to modify how IP&M works. With the exception of COMxBAUD, you will only need to use these if you are using non-standard IRQs and addresses on your computer. COMxBAUD= These variables are used to set the baud rate for COM ports that are different from the setting inside the MUD. For example, if you have a 14400 modem on COM1 and a 28800 modem on COM2, you can't use the single field in the MUD to specify the baud rate for both. In that case, you need to include the following lines in your AUTOEXEC.BAT (before calling the MUD): "SET COM1BAUD=14400" and "SET COM2BAUD=28000". (It's important that there be no spaces on either side of the '='). COMxIRQ= These variables can be used to set the IRQ number to be used for a COM port. To use IRQ 4 with COM port 1, you would have the following line in your AUTOEXEC.BAT: "COM1IRQ=4". This variable must be used in conjunction with COMxADR; both lines must be present for either to work. COMxADR=
This variable is used to set the address of a COM port. Note that it is expecting the number to be in DECIMAL format. This variable must be used in conjunction with COMxIRQ; both lines must be present for either to work. 2.8 SETTING THE BAUD RATE As described in the previous section, there are environment variables you can use to set the baud rate to be used. In fact, there are three distinct ways to set the baud rate. IP&M MUDs go through three steps to determine which baud rate to use: 1. The command line is checked for an override baud rate. For example, if you wanted to set the baud rate to 28800, you could use the following command in starting the MUD: CALL MUD DOOR C:\BBS\NODE1\DOOR.SYS 28800 This fourth parameter is known as the baud rate override parameter. You should normally only use it during diagnostic situations, when you're trying to determine the correct baud rate to use with the MUD, although it won't hurt to include it whenever you need to. Assuming that the override parameter was used, no further checking would be done to determine the baud rate to be used. That value would be used. 2. The DOS environment is checked to see if variables have been set for the current COM port. For example, if you included the following line in your AUTOEXEC.BAT batch file: SET COM1BAUD=14400 If the MUD was invoked for COM port 1, then the baud rate to be used would be 14400. No further steps would be taken to determine the proper baud rate. 3. At this point, the value that was entered on the "Modem Setup" screen for baud rate would be used for the baud rate. Please note that if you're running IP&M as a door, you probably don't need to set the baud rate at all; the BBS will already have initialized the modem at the correct speed. In this case, you can just leave the Baud Rate field blank on the Modem Setup screen. 2.9 USER TYPES Users are the real-life people who control characters on MUDs. There are four basic types of users: Guests Guests are users that generally can use the MUD but not bulletin board objects. These are people who are still looking around, trying to decide if they want to join the MUD permanently. Players These users make up a large portion of any MUD. They are regular users that may or may not be subscribers. Access levels can be defined, along with security levels, that restrict non-subscribing players from certain areas and activities (like downloading files). Wizards Wizards are users that can build new areas and objects in the MUD. Some MUDs have them and some don't; some sysops prefer to do all the building themselves. They can be restricted to building only in certain areas, so as to not disturb the already-existing sections. Producer That's you. You can do anything. You might want to make "becoming a wizard" a goal for your users, but they should have to earn it; they should have solved many of your puzzles and be very familiar with the MUD before being given this privilege. As with players, wizards can be divided between subscribing and non-subscribing types. You may or may not want to allow there to be non-subscribing wizards; it might be a good incentive for them to become subscribers! 2.10 COMMAND SETUP As the MUD producer, you can decide which types of users can use which commands. Press "C" for "Command Setup" on the Waiting For Call screen. You'll come to a spreadsheet that lists all of the internal commands. Move around the fields in the spreadsheet by using your arrow keys. Note that fields will often exist off the right side of the screen; pressing the right arrow past the edge of the screen will make them visible. On this screen, you'll see the following fields: USERS This is where you enter codes that define which users can use this command. The codes are as follows: G Guest. You will generally want to restrict most activities from guests. p Player, non-subscribing. This is the access levels used for people who are regular users, but have not subscribed. P Player, subscribing. As the name implies. w Wizard, non-subscribing. Wizards generally have more rights than players, including rights to build new parts of the MUD. W Wizard, subscribing. As the name implies. ! Producer. That's you. CMDFLAG This field can be used to link a command to a skill. In other words, you might want to require that a user have the "thievery" skill before using the "rob" command. In that case, you would put a flag of T (or whatever makes sense to you) in this field, as well as in the CMFLAG field of the skill spreadsheet. CMDNAME The name of the command to be defined, like "look" or "@placedesc" or "@obj". DESC1 The description to be listed when a use types "COMMANDS", to see what commands are available. 2.11 SECURITY As seen in the last section, there are six different types of users: guests, non-subscribing players, subscribing players, non-subscribing wizards, subscribing wizards, and producers. You don't have to use all of these types; if you're running a free MUD, for example, you don't need the subscribing user types. Don't confuse these different types of users with security levels, however; security levels are numbers, like 10, 20, 99, etc. You might want to have three different types of subscribing players, based on the amount of money they have sent you; you might create a security level of 10 that gives players 20 minutes in the MUD per day, a security level of 20 that gives players 40 minutes in the MUD per day, etc. Both of these security levels would be for subscribing players, however, so they can perform the same commands. If you're running IP&M as a door, you'll need to set up the security levels in the MUD the same as they're set up in the BBS. To do this, press "E" for "Security Setup" on the Waiting For Call screen. You'll see a spreadsheet with the following fields: SECLEVEL The level to be defined, like 10, 20, etc. DAILYTIME The number of minutes allowed in the MUD per day. This is only used when running the MUD standalone; otherwise, they have as much time in the MUD as they have remaining in the BBS. DAILYBYTES The number of bytes that can be downloaded from the MUD per day, from bulletin board objects. SECTYPE The type of access that this security level provides. Enter one of the following six codes: G Guest. You will generally want to restrict most activities from guests. p Player, non-subscribing. This is the access levels used for people who are regular users, but have not subscribed. P Player, subscribing. As the name implies. w Wizard, non-subscribing. Wizards generally have more rights than players, including rights to build new parts of the MUD. W Wizard, subscribing. As the name implies. ! Producer. That's you. 2.12 FILE TRANSFER PROTOCOLS Earlier versions of Industrial Prose & Magic had file transfer capability built-in: X-Modem, Y-Modem, Z-Modem, etc. This would allow users that had sufficient security levels to download files from bulletin board objects. The built-in file transfer ability was removed from Industrial Prose & Magic to allow room for other features to be added. File transfer software is widely available, and it really made no sense to take up valuable program resources to duplicate what is already being done with other packages. Users can still download from bulletin board objects, but you will need a file transfer program such as DSZ.EXE or GSZ.EXE to accomplish this. These programs are widely available as shareware, and can be found on any major bulletin board. To set up your MUD to work with one of these programs, press "R" for "Protocol Setup" on the Waiting For Call screen. You'll see a spreadsheet with the following fields: PROT_CHAR The letter to be highlighted in the button when prompting the user. For example, if you had X-Modem defined, you'd probably want to put an "X" in this field to highlight that character. Each protocol type must have a different character in this field. PROT_NAME The name of the protocol, to be used in the button when prompting the user. SEND_CMD The command line to be used when transmitting a file with the file transfer program. The following variables are substituted in the line when executed: %p The number of the COM port being used. %f The name of the file to be sent. So, if you were using GSZ.EXE, you would have this line set to the following for Z-Modem: gsz port %p sz %f RECV_CMD The command line to be used when receiving a file with the file transfer program. The following variables are substituted in the line when executed: %p The number of the COM port being used. %f The name of the file to be received (often not needed). So, if you were using GSZ.EXE, you would have this line set to the following for Z-Modem: gsz port %p rz 2.13 NEWS AND HELP These are two extensible systems that allow you to create custom topics in your MUD. For example, if you wanted to set up a help display that provides in-depth information on an element in your game (a political situation, a new type of monster, etc), you could assign a keyword that would allow the user to ready that display. Suppose you invent a new type of monster, called a JORD. Your users won't know what a jord is. But you might want it to be common knowledge to the characters inside your game. You could set up a JORD help keyword, so that when users type "HELP JORD", the system explains the nasty feeding habits of your monster. If they just typed "HELP", a listing of all defined keywords would be displayed, including "JORD". You could also use news in a similar manner. You might want to explain the latest intrigues going on in court, gossip about well-known characters, etc, by defining news keywords just as you would help keywords. Press "H" for "Edit Help" on the Waiting For Call screen to set up the help keywords. Press "W" for "Edit News" to set up the news keywords. The same screen will appear for either, with the following command buttons: ADD ITEM Use this button to add a new keyword. You will see it displayed on the screen after you've defined it. DELETE ITEM Use this button to delete a keyword. It will be removed from the screen. EDIT ITEM Use this button to edit the item. Press Ctrl-W to save your text, or ESC to abort. QUIT Use this button to return to the Waiting For Call screen. 2.14 LOGIN TEXT There are numerous types of login text that you can define for your callers. To do so, press "X" for "Login Text" on the Waiting For Call screen. You'll see the following options: C Mud Charter. You can use this area to describe the basic operating tenants of your MUD; why you started it, what the theme is, etc. S Subscription Info. You can use this area to describe how users should go about subscribing to the MUD. G Ground Rules. If you forbid players from attacking each other, for example, this would be the place to put that information. F File Library. This area can be used to describe that kinds of files stored in the MUD. Some producers hide bulletin board objects around the MUD, making access to certain files part of the reward for solving puzzles. A Access Levels. This area can be used to describe the different security levels supported in your MUD. You probably only need to use this if you're running the MUD standalone, otherwise you doubtless already have a similar bulletin in your BBS. T Title. This is the few lines of text that appears after the IP&M banner, and can be used to display the name of your MUD, the names of the producer and wizards, etc. L Login Bulletin. This message is displayed every time users log in to the MUD. B Basic Commands. This text is hooked to the "Basic Commands" button in the introductory menu. If you want to customize it, you can, but it already explains the common commands available. W What's a MUD? This text is hooked to the "What's a MUD?" button in the introductory menu. Again, if you want to customize it, you can. If you want to divide your text into logical components (the login bulletin is a likely candidate), you can use the special "" keyword in the text to create a "[More]" prompt, as follows: This text is displayed first. This text is displayed after the user has pressed ENTER on the [More] prompt. PART III DEFINING THE GAME 3.1 PICKING A GENRE FOR YOUR MUD MUDs are imaginary worlds. You need to decide what kind of imaginary world you want to create. The easiest way to do this would probably be to look at the kinds of fiction you like to read the most. What type of novel have you really enjoyed lately? Science fiction? Fantasy? Horror? Mystery? Any of these genres would work splendidly as a MUD. Your only limitation is your imagination. Many MUD producers pick themes specific to books they have enjoyed; for example, a Pern MUD or Amber MUD or Middle-Earth MUD. Feel free to do so, but be aware that if you're charging money for people to use your MUD (i.e., a commercial MUD), and you use copyrighted worlds, you might face legal problems down the road. In that situation, we would recommend that you loosely base it on those types of worlds, but refrain from using the same exact terms and phrases. If you're still having difficulty getting inspiration for a MUD genre, visit your local role-playing store. Look at all of the different types of role-playing genres that other people have already created. Look at multi-genre RPG systems like GURPS, that have different supplements for different genres. You'll get some good ideas that way. You might even want to buy one of those supplements and use them for ideas. 3.2 CHARACTER ATTRIBUTES Having decided on a genre, you're now ready to define the physical and mental characteristics associated with the inhabitants of your MUD. In a fantasy MUD, it would often be best to used a system that's already been proven usable by RPG games, like Dungeons & Dragons. D&D uses six attributes to define characters: Strength, Intelligence, Wisdom, Dexterity, Constitution, and Charisma. Feel free to use fewer if you so incline; most MUDs could probably get by with just Strength, Intelligence, and Dexterity. The maximum number you can define is 8, although 6 should be a realistic maximum. (Six is also the maximum number that can be shown on the status line). Each of these attributes is assigned a number, on a scale of 1 to 20+. 10 is average for a human. 1 is really, really pitiful. 20 is superhuman. For each of your attributes, you define averages for each race. An average Strength for a human would be 10, for a dwarf, perhaps 8, for an elf, perhaps 6. And so on. To look at the attributes as they are currently defined, choose "A" on the Waiting For Call screen, then "A" for attribute setup. You'll notice the following fields defined in the spreadsheet: ATTRNAME This field defines the name of this attribute. It can be absolutely anthing. FLAG There are the following special flags that you can put in the attribute spreadsheet: S This attribute represents the physical strength of the player. This is useful information for the combat sequences. D This attribute represents the dexterity of the player. This is also used during combat sequences. M This attribute represent the magical essence of the player. This attribute will be used to set the starting number of skill points for the character. DESC1-4 These fields describe the attribute to the users, when they select the "Explain" button during character creation. How are attributes used in the game? You'll find out in-depth in the "Creating Rules" section. Basically, you create rules in your world which test various attributes at different times. For example, you might create a fissure that has to be leaped to be crossed. When a character tries to leap it, you have the system test their Dexterity attribute. An "electronic roll" (using 3 6-sided dice) is made against their Dexterity; if the roll is lower or equal to their rating, they succeed. Otherwise they fail. Your rule will specify what happens in either situation. 3.3 CHARACTER SKILLS Now let's talk about skills. Skills are like optional attributes. They are scaled the same way, from 1 to 20+, but define the things that a character knows how to do and use. They are tied directly to weapons and items, about which you will learn in the next section. In other words, to use a magic scroll, you might need the Scroll lore skill. In the example with leaping the fissure in the last section, you might also define a "Leaping" skill, that would be tested in those types of situations. Leaping, though, is something everyone can do (to some extent, at least), so it's really not appropriate as a skill. Skills are special knowledge that a character has learned, which enables him or her to use specific types of weapons and items. If you were creating a fantasy MUD, you might decide on skills like Bladed Weapons, Blunt Weapons, Scroll Lord, and Wand Lore. Two fighting skills and two magical skills. In an actual MUD, you'll probably want six to a dozen skills available total. There are two distinct types of skills: General and Guild-Specific. General skills are open for anyone to learn when they are first creating their character. They are the skills that a player can give his character before ever joining a guild. Guild skills, on the other hand, are skills that are learned after joining a specific guild. Once a guild is joined, a character learns ALL guild skills at a very rudimentary level (set by you on page 4 of the General Setup section). He can then improve his rating on those skills by finding NPCs or players that belong to his own guild, and have a higher rating in that skill than the player. By using the LEARN command, he is charged an amount set by the producer (if learning from an NPC), or set by the other player. You can set an upper limit on the number of increases allowed in a certain day on page 3 of the General Setup section. To see what kinds of skills are currently defined in the skill spreadsheet, type "A" from the Waiting For Call screen, and then "S" for skill setup. The following fields will appear: SKILLNAME The name of the skill, like "Scroll lore". Anything you can imagine is fine here, as long as it's descriptive. SKILLCOST When character are assigning their starting character points to various attributes and skills, they will need to spend X number of points to purchase each point of skill. This is where you enter the X. Fencing, you might reason, is not a very rare skill in a fantasy world: it should only cost 1 character point for each point of skill. Dragon Control, on the other hand, might be a rare magical skill that is extremely difficult to learn and master, and you might want to make it cost 5 character points, or 10, for each point of skill. It's up to you, although I don't think I'd ever make a skill cost more than 10 points. GUILDCLASS Guilds, as you will learn in the GUILDS section, are each assigned a single-character class specification, such as "A", "B", "C", etc. "A" might stand for the Mages Guild, "B" for the Thieves Guild, etc. This field, GUILDCLASS, is where you specify that a guild teaches this skill to its members. If both the Mages Guild and Thieves Guild taught this particular skill, you would put "AB" in this field for both of them. CMDFLAG This is where you tie a skill to a command. For example, you might want to tie the "rob" command to the "thievery" skill. In this case, you would select a character to represent this connection; any letter or number will be fine, so long as you aren't using it for another command/skill tie. You might choose "R" or "T" in the example above, for example. You would put this character both in the CMDFLAG field here and in ther CMDFLAG field in the commands spreadsheet. DESC1-DESC4 These are the text fields that describe what each skill is, and what it's used for. Use as few or as many of these as you need. Please note that in this version of IP&M, weapons are treated a little differently in regards to requisite skills than they were in previous versions. If you define a swordplay skill that is used for swords, for example, any player can still use a sword even without knowing that skill; they will just be using it at a very rudimentary level. This is a bit more realistic than not letting them use it, since weapons are usually designed to be used by anyone. Items, however, still require a skill to be present before they can be used at all. 3.4 CHARACTER RACES OR TYPES Depending on the genre you've selected for you MUD, you might either want to create character races or character types. Both are the same thing, but the term "race" is only appropriate in certain genres. For example, in a fantasy MUD, you might want to have Human, Elf, Dwarf, and Halfling races defined. In a mystery MUD set in the 1940's, however, it would be more appropriate to have character types, such as Detective, Reporter, Movie Star, etc. To look at the races or types as they are currently defined, choose "A" on the Waiting For Call screen, then "R" for race/type setup. You'll see the following fields: RACE Enter the name of the first race or type, like "Elf" or "Detective". ATTR1-8 We're getting slightly ahead of ourselves here. Attributes will be discussed in a moment. When you discover what attributes are, you'll come back here and enter them in for each race. These are the base attributes for each race. DESC1-4 This is the text description callers get about the race, explaining what it is. Remember to use the right and left arrows to move between all the fields. Use as many of these fields, 1-4, as it takes to describe the race. HITDICE This field defines what type of "dice" are used to generate hit points for the characters. Hit points are the number of points a character has left before he or she dies, so a high number is definitely desirable. If you entered a 10 here, a random number, between 1 and 10, would be added to the character's hit points each time they scored another 10,000 points. Characters start off with the maximum afforded by one roll of the die (10 in this case). 4 is probably the lowest you should ever use, for real weak races. 14 or 16 would probably be the highest number you'd ever want to use, for extremely strong races. GUILDS This field defines the guilds that this race can join, using the character defined in the guild class field in the guilds spreadsheet. If the field is left empty, players of this race can join ANY guild. ONLYGENDER It might make sense for some player character races to be defined to only allow specific genders. For example, you might have a "droid" race in a sci-fi MUD that only allows characters with a "neuter" gender. In that case, they won't even be prompted for a race, it will just assume neuter. (Incidentally, the term for "neuter" is configurable, under the General Setup section). 3.5 CHARACTER ALIGNMENT Depending on the genre that you've chosen for your MUD, character "alignments" might or might not be appropriate. In a fantasy MUD, most producers would set up alignments of "Good" and "Evil". In a MUD based on Star Trek, you might have political alignments of "Klingon" and "Federation", or "Bajorran" and "Cardassian". A middle alignment of "Neutral" also exists. You can set up the MUD to use or not use alignments by pressing "G" for "General Setup" on the Waiting For Call screen. If you do use alignments, all characters will start life as "Neutral". Which alignment they move towards ("Good" or "Evil", for example) depends on their actions in the game. If they attack and defeat other users that are "Good", the will slide towards "Evil". If they attack other users that are "Evil", the will slide towards "Good". There is an exception to this, however. There are some types of genres in which it would be appropriate to define the "Good" alignment as peaceful, only attacking other users in self-defense. (This does not apply to monsters, of course; when a user attacks a monster, it is obviously in self-defense, so it does not affect their alignment). In a fantasy MUD, you might reason that good characters would act like Knights or Paladins, and not wantonly attack innocent victims. Likewise, in a MUD based on the Star Wars universe, you might reason that characters like Jedi Knights would only attack other users in self-defense. In a MUD based on Star Trek, you might reason that Federation officers do not go around attacking everyone in sight, while Klingon warriors are not so scrupulous. This "peaceful" quality to good characters is completely optional. To turn it on or off, press "G" for "General Setup" on the Waiting For Call screen, and then set the "High Peaceful" field to yes or no. It should be noted that all characters automatically fight back in a reflexive manner when attacked, and this has no effect on the defending character's alignment. If an evil wizard casts a fireball at a good knight, for example, the knight will counter-attack automatically, and his alignment will not be adjusted. If the knight initiates an attack, however, he will slip towards evil. And again, this is only if the "High Peaceful" flag is set to yes on the General Setup screen. 3.6 DEFINING WEAPONS For any MUD, you'll probably want to define weapons that characters can use to further their goals, whether they be swords in a fantasy MUD, pistols in a mystery MUD, or blasters in a sci-fi MUD. To see the weapons that are currently defined, press "A" for "Game Setup" on the Waiting For Call screen, and then "W" for "Weapon Types". You'll see the following fields: NAME The name of the weapon, like "blaster" or "long sword". SYNONYM A short-hand name that can be used in place of the name. If the NAME of a weapon was "LONG SWORD", you might want a synonym to be "SWORD", to allow the user to type in a shorter word when referring to it. If no synonym seems appropriate, leave this field blank. ATT_DICE The number of dice to use in determining damage inflicted by the weapon. The type of hit dice to use is determined by the next field. ATT_TYPE The type of hit dice used to determine damage inflicted by the weapon. The number of these dice to use is determined by the previous field. For example, if ATT_DICE were set to 2 and ATT_TYPE were set to 8, the weapon would have an attack value between 2 and 16 (as if using 2 eight-sided dice). HITTEXT The text description to be displayed when the character makes a successful attack on a monster. Two special characters can be used in this field: the `*' and the `$'. The * will be replaced with the name of the character being attacked. The $ will be replaced with the name of the monster. So, if you had a field defined as follows: * gashes the $ with his short sword! The users in the vicinity of the battle would see the message: Bilbo gashes the goblin with his short sword! MISSTEXT The text to be displayed when the user attacks a monster but misses. The $ and * characters work the same as with HITTEXT. BASEVALUE The amount of money a generic version of this weapon would cost in a weapon store. A special version of the weapon would cost more, according to it's abilities. For example, a +1 version of a weapon costs twice as much as the generic version; a +2 version costs three times as much. SKILL The name of the skill to be used when determining whether a character knows how to use a weapon, and whether he or she uses it successfully. If a character does not have the skill, he or she will still be able to use it, but at a very rudimentary level. FLAGS This field will be expanded in the future, but for now, there is only one flag associated with weapons: whether the user can use it as a light source or not. If so, put an "l" in this field. (It might be glowing, for example, which would allow the character to see in a location that is marked @dark). CLASS If you want to divide weapons into classes, you can restrict what types of weapons can be bought and sold in weapons stores. For example, you could put an "A" next to all the swords you define, and then when creating a weapons shop, indicate that only class "A" weapons are bought and sold there. This is strictly optional, a feature that is available for those who want to do so. 3.7 DEFINING ARMOR Just as you define weapons for your MUD, you'll probably want to define armor as well, to help protect characters from injury. The armor might take the form of a suit of chain mail, a bullet-proof vest, or a suit of battle armor, depending on the genre of your MUD. To see the armor that is currently defined, press "A" for "Game Setup" on the Waiting For Call screen, and then "O" for "Armor Types". You'll see the following fields: NAME The name of the armor, like "suit of chain mail" or "combat vest". SYNONYM A short-hand name that can be used in place of the name. If the NAME of the armor was "COMBAT VEST", you might want a synonym to be "VEST", to allow the user to type in a shorter word when referring to it. If no synonym seems appropriate, leave this field blank. EFFECT The modification this piece of armor has to the wearer's armor class. Typically, this will be a negative number, meaning it subtracts that amount from his or her armor class, making them more difficult to hit, or less vulnerable to damage when hit. BASEVALUE The amount of money a generic version of this armor would cost in an armor store. A special version of the armor would cost more, according to it's abilities. For example, a +1 version of a piece of armor costs twice as much as the generic version; a +2 version costs three times as much. TYPE Armor is subdivided into different types, each assigned a letter. The reason for this is that for most types of armor, you don't want the user to be able to wear multiple instances of the same thing. For example, if they are already wearing a suit of plate mail, you don't want them to be able to also put on a suit of chain mail! To solve this problem, you would assign the same letter to both of these types of armor. Then, they would only be able to put on one of them at a time. The one exception to this is the Z class, which by definition allows as many instances of the armor type to be worn as desired. You can use this feature if you feel it is appropriate. FLAGS This field will be expanded in the future, but for now, there is only one flag associated with armor: whether the user can use it as a light source or not. If so, put an "l" in this field. (It might be glowing, for example, which would allow the character to see in a location that is marked @dark). 3.8 DEFINING SPECIAL ITEMS The kinds of special items you'll want to define depends, again, on the genre you've picked for your MUD. For a fantasy MUD, you'll probably want to define scrolls, wands, and such, that will allow non-warrior users (the ones who don't have the weapons skills you've defined) to use magical powers. You'd want to create skills to go along with these items; for example, a Wand Lore skill that allows users to use wands, a Scroll Lore skill that allows users to use scrolls, etc. Let's bring up the special item spreadsheet and look at the fields involved. Type "A" at the Waiting For Call screen, then "I" for "Item Setup". You'll see the following fields: NAME The name of the item, like "tricorder" or "wand of healing". SYNONYM A short-hand name that can be used in place of the name. If the NAME of an item was "WAND OF HEALING", you might want a synonym to be "WAND", to allow the user to type in a shorter word when referring to it. If no synonym seems appropriate, leave this field blank. TYPE There are two types of items: O An item that can be used once per day. If you're running a fantasy MUD, and want to stick with the D&D idea of casting a spell once per day, you can create an item (like a scroll) that only works once per day. C An item that has a certain number of charges before it becomes useless, but can be used more than once per day. CLASS If you want to divide items into classes, you can restrict what types of items can be bought and sold in stores. For example, you could put an "M" next to all the "map" items you define, and then when creating a shop, indicate that only class "M" items are bought and sold there (thus making it a "map shop"). This is strictly optional, a feature that is available for those who want to do so. POWER There are the following types of item powers: A Attack a monster; this inflicts damage in the same manner that a weapon would, using the ATT_DICE and ATT_TYPE fields below. T Teleportation to any part of the MUD (assuming you know the name of the location). H Heal hit points that have been lost. S Enhance a player's skill by a specific amount (see POWERDATA). R Enhance a player's attribute by a specific amount (see POWERDATA). B Enhance the bonuses for the current wielded weapon (see POWERDATA). C Enhance the bonuses for a piece of armor being worn (see POWERDATA). O Create a random amount of money and give it to the player (see POWERDATA). P Enhance the maximum number of hit points for a character, as well as his or her current hit points (see POWERDATA). L Lose a random amount of money (see POWERDATA). V Degrade the bonuses for the current wielded weapon (see POWERDATA). W Degrade the bonuses for armor being worn (see POWERDATA). X Degrade the maximum number of hit points for a character, as well as his or her current hit points (see POWERDATA). Y Degrade a player's attribute by a specified amount (see POWERDATA). Z Degrade a player's skill by a specified amount (see POWERDATA). POWERDATA This field is used to indicate a value to be used with certain powers. For example, if you selected a power of "P", to add to a character's maximum hit points, you would place in this field the maximum amount to be adjusted. The items that are expecting this field to be filled in are as follows: O Create money (to determine the maximum amount to create) L Lose money (to determine the maximum amount to lose) P Enhance max hit points (to determine the maximum amount to add) X Degrade max hit points (to determine the maximum amount to degrade) R Enhance attribute (to specify the attribute number) Y Degrade attribute (to specify the attribute number) S Enhance skill (to specify the skill number) Z Degrade skill (to specify the skill number) FLAGS This field will be expanded in the future, but for now, there is only one flag associated with items: whether the user can use it as a light source or not. If so, put an "l" in this field. (It might be glowing, for example, which would allow the character to see in a location that is marked @dark). ATT_DICE The number of dice to use in determining damage inflicted by the item (if it's power is type A). The type of hit dice to use is determined by the next field. ATT_TYPE The type of hit dice used to determine damage inflicted by the item. The number of these dice to use is determined by the previous field. For example, if ATT_DICE were set to 2 and ATT_TYPE were set to 8, the item would have an attack value between 2 and 16 (as if using 2 eight-sided dice). CHARGES The maximum number of charges this item can have (determined randomly on creation). SKILL The name of the skill needed to use this item. HITTEXT The text description to be displayed when the character makes a successful attack on a monster with this item. Two special characters can be used in this field: the `*' and the `$'. The * will be replaced with the name of the player using the item. The $ will be replaced with the name of the victim. So, if you had a field defined as follows: A ball of lightning flashes from *'s wand and smashes into the $! The users in the vicinity of the battle would see the message: A ball of lightning flashes from Bilbo's wand and smashes into the goblin! This text is also used for other powers, besides attacking. For a wand of healing, you might define the text field: A glow of energy surrounds *'s body, healing his wounds. And he would see the message: A glow of energy surrounds Bilbo's body, healing his wounds. MISSTEXT The text to be displayed when the user attacks a monster with the item but misses. The $ and * characters work the same as with HITTEXT. BASEVALUE The amount of money this item would cost in a store. For once-a-day items, this is the actual value. For charged items, this amount is multiplied by the number of charges left to determine the actual value. DESC This field is used internally, and should not be modified. 3.9 DEFINING TREASURE Treasure will probably be a major part of your MUD, especially if you have chose a fantasy theme for your MUD. Treasure is found when killing a monster, and different classes can be linked to different types of monsters; kill a weak monster, you might find a few silver pieces; kill a dragon, you might find a ton of money, or a really nifty sword. To see the types of treasure currently defined, press "A" on the Waiting For Call screen, and then "T" for "Treasure Types". You'll see the following fields: CLASS Treasure classes are each assigned a letter, and an unlimited number of instances of a treasure class are allowed. For example, you might set up treasure class A to be the treasure associated with weak fantasy monsters (maybe goblins, orcs, and hobgoblins). Whenever a user kills one of these monsters, a random entry in this spreadsheet associated with treasure class A will be picked and given to the user. TYPE Treasure can either be one of the following types: M Money. I An item from the item spreadsheet. W A weapon from the weapons spreadsheet. A A piece of armor from the armor spreadsheet. NAME When defining types I, W, or A, the name as defined in the corresponding spreadsheet. When defining money, leave this blank. MAXBONUS The maximum + bonus for weapons or items, such as a +1 sword or +2 suit of chain mail. MAXAMT When defining money, the maximum amount of money that might be found (determined randomly). 3.10 DEFINING SPELLS If you're running a fantasy MUD, chances are you're going to want to set up the spell spreadsheet. Even if you've decided on a different genre, you might want to use the same concept: a MUD based on Star Wars might define "force" power for Jedi Knights, etc. The terms "spell" and "spell points" are both configurable, so you're not limited to just the generic fantasy terms. (Go to page 3 of the General Setup screen to configure those terms). To see how spells are configured, bring up the spell spreadsheet by pressing "A" for game setup (at the main menu), and then "P" for Spell Setup. A spreadsheet with the following fields will appear: NAME This is the name of the spell. Whatever you think is appropriate goes here. This is the same name that will be viewed when using the INFO command on characters, when it displays which spells they know. POWER This field is identical to the POWER field in the item spreadsheet. The following powers can be used for spells, just as for items: A Attack a monster; this inflicts a random amount of damage on a specified monster or character. The amount is determined by the DATA field. If DATA was filled in with 12, a maximum of 12 hit points of damage would be inflicted. If a 12X were in the DATA field, the amount inflicted would be a maximum of 12 multiplied by the guild level of the caster. T Teleportation to any part of the MUD (assuming you know the name of the location). H Heal hit points that have been lost. The amount is determined by the DATA field. If DATA was filled in with 10, a maximum of 10 hit points of damage would be healed. If a 10X were in the DATA field, the amount healed would be a maximum of 10 times the guild level of the caster. S Enhance a player's skill by a specific amount (see DATA). R Enhance a player's attribute by a specific amount (see DATA). B Enhance the bonuses for the current wielded weapon (see DATA). C Enhance the bonuses for a piece of armor being worn (see DATA). O Create a random amount of money and give it to the player (see DATA). P Enhance the maximum number of hit points for a character, as well as his or her current hit points (see DATA). L Lose a random amount of money (see DATA). V Degrade the bonuses for the current wielded weapon (see DATA). W Degrade the bonuses for armor being worn (see DATA). X Degrade the maximum number of hit points for a character, as well as his or her current hit points (see DATA). Y Degrade a player's attribute by a specified amount (see DATA). Z Degrade a player's skill by a specified amount (see DATA). DATA This field is used to indicate a value to be used with certain powers. For example, if you selected a power of "Y", to degrade an attribute of the player, you would place in this field the maximum amount to be adjusted. The items that are expecting this field to be filled in are as follows: O Create money (to determine the maximum amount to create) L Lose money (to determine the maximum amount to lose) P Enhance max hit points (to determine the maximum amount to add) X Degrade max hit points (to determine the maximum amount to degrade) R Enhance attribute (to specify the attribute number) Y Degrade attribute (to specify the attribute number) S Enhance skill (to specify the skill number) Z Degrade skill (to specify the skill number) MIN_LEVEL This field indicates the minimum guild level a player must have attained to learn this spell. GUILDS This field is filled in with the guild classes that are able to teach this spell, which are defined in the guild spreadsheet. TEXT This field describes what happens when the user casts the spell. As with items and weapons, two special characters can be used in this field: the `*' and the `$'. The * will be replaced with the name of the player casting the spell. The $ will be replaced with the name of the victim or recipient. COST This is the maximum amount of spell points that will be deducted after casting the spell. It's a random roll, to make things interesting; this field just defines the maximum. If a player's spell points drop below 0, he won't be able to cast any until they become positive again, either by "resting" (as for hit points), or waiting for the passage of time. Players can be allowed a fixed number of spells per guild experience level, on page 3 of the General Setup screen. An "magical essence" attribute, or whatever you'd like to call it, can be created that users assign points to just like any other attribute when they're first creating their characters. This attribute is used to set the starting number of "spell points" for that player. This attribute is selected by putting an "M" in the FLAG field of the attribute spreadsheet. 3.11 GUILDS Guilds are organizations that players can join to learn specialized skills. An unlimited number of specialized skills can be defined for each guild. You can call guilds anything you like, depending on the genre of your MUD, such as "Organization", "Profession", "Branch of Service", etc. Players can join guilds by GREETing an NPC and typing the keyword JOIN. You can set up mimimum attribute ratings needed to qualify, and you can set up a minimum number of quests that need to be completed before any guild can be joined. You can also restrict guilds by race, if appropriate. As characters gain experience points, they can petition the guild master for a raise in guild level. The amount of points needed for each level is configurable. To see where the guilds are set up, press "A" for game setup on the main menu, and then "G" for Guilds. You will see the following fields: NAME This is the name of the guild. If it were for the Mages Guild, for example, you would put in "Mages". (You would leave off the "guild" because that term is configurable, on page 3 of the general setup screen, and is added automatically by the system). MINATTR1-8 These are the minimum attribute ratings necessary for joining the guild. If you leave it at 0, the attribute will not be considered a prerequisite. MASTER This is an internal field and should not normally be messed with. CLASS This is a unique character that represents this guild in other spreadsheets, such as "A", "B", etc. ALIGNMENT This field can be filled in with a "H", "N", or "L", if the guild is restricted to characters of certain alignments. "H" stands for High Alignment, "N" for Neutral, and "L" for Low Alignment (see the CHARACTER ALIGNMENTS section for details). If you leave this field blank, characters of any alignment will be able to join. 3.12 QUESTS For some genres, especially fantasy ones, quests might be appropriate; for others, they might not. Quests are special missions that characters perform for NPCs. They are meant to provide a way to help users get familiar with the layout of your MUD when first getting involved with it. If the player succeeds, he will earn a set number of experience points. If the player can't find the location or NPC, he has the option of typing "ADMIT FAILURE", but will lose points in doing so. Also, a player can type "REMEMBER" at any time to remember what the current quest is. You can define a minimum number of quests that need to be accomplished before players can join any guilds. To see how quests are defined, type "A" for Game Setup from the main menu, and then "U" for quests. You will see the following spreadsheet fields: TYPE There are currently three types of quests that can be generated by NPCs for players: 1 Give a specific object to a specific NPC 2 Give a specific object to a random NPC 3 Go to specific place and return to the NPC Depending on the type of quest, some of the following fields, but not all, will need to be filled in. OBJECT This is the name of the object in the item spreadsheet that is created for the character, for quest types 1 and 2. Quest type 3 does not use this field. PERSON This is the name of the NPC that should be give the object to complete the quest, for quest type 1. Quest types 2 and 3 do not use this field. PLACE This is the name of the place that a character must journey to and return, for quest type 3. Quests 1 and 2 do not use this field. POINTS This is the number of points the character will earn if he completes the quest. POINTSFAIL This is the number of points the character will lose if he gives up on the quest, by typing "ADMIT FAILURE". TEXT1-5 This is a description of the granting of the quest. The following special characters can be used: "$" will be replaced with the name of the NPC granting the quest, "#" will be replaced with the name of the object, "%" will be replaced with the name of the NPC the object should be given to, and "^" will be replaced with the name of the place the character needs to journey to. For example: The $ nods and bestows a worthy quest on you. "Take this # and give it to the %. Return to me afterwards and your quest will be complete". This text might become: The sage nods and bestows a worthy quest on you. "Take this parchment and give it to the castle guard. Return to me afterwards and your quest will be complete". 3.13 MONSTERS AND GATES No matter what genre you've decided on, you'll probably want to create some "monsters". In a fantasy, they might be goblins and dragons. In a Star Trek MUD, they might be Klingons or Romulans. In a mystery MUD, they might be gangsters. In a horror MUD, they might be vampires or werewolves (or humans!). Let's bring up the monster spreadsheet by pressing "A" for game setup (at the main menu), and then "M" for monster setup. The following fields will appear: NAME The name of the monster, like "goblin" or "stormtrooper". SYNONYM A short-hand name that can be used in place of the name. If the NAME of a monster was "RED DRAGON", you might want a synonym to be "DRAGON", to allow the user to type in a shorter word when referring to it. If no synonym seems appropriate, leave this field blank. HIT_DICE The number of dice to use in determining hit points for a monster. The type of hit dice to use is determined by the next field. HIT_TYPE The type of hit dice used to determine hit points for a monster. The number of these dice to use is determined by the previous field. For example, if HIT_DICE were set to 3 and HIT_TYPE were set to 6, the monster would have a starting number of hit points between 3 and 18 (as if using 3 six-sided dice). ATT_DICE The number of dice to use in determining damage inflicted by the monster. The type of hit dice to use is determined by the next field. ATT_TYPE The type of hit dice used to determine damage inflicted by the monster. The number of these dice to use is determined by the previous field. For example, if ATT_DICE were set to 2 and ATT_TYPE were set to 8, the monster would have an attack value between 2 and 16 (as if using 2 eight-sided dice). HITTEXT The text description to be displayed when the monster makes a successful attack on a character. Two special characters can be used in this field: the `*' and the `$'. The * will be replaced with the name of the character being attacked. The $ will be replaced with the name of the monster. So, if you had a field defined as follows: The $ smashes * with a club! The users in the vicinity of the battle would see the message: The goblin smashes Bilbo with a club! MISSTEXT The text to be displayed when the monster attacks a character but misses. The $ and * characters work the same as with HITTEXT. TREASURE The treasure class associated with this monster. This defines what type of treasures a character might earn when killing this sort of monster. Treasure classes are defined in step 5. ARMOR The armor class associated with this monster. Armor classes modify how difficult they are to hit, and how much damage will be inflicted when hit. 0 is the average armor class; negative numbers indicate harder to hit creatures, positive numbers indicate easier to hit creatures. A good range would be between -10 (very, very hard to hit) and 10 (extremely easy to hit). ATTACKVAL This value indicates the skill associated with the monster's method of attack. 10 would be average; 3 would be pitiful; 20 would be incredibly lethal. SCORE The score a user should earn when defeating this type of monster. Scoring is entirely up to you. ANSI_PIC The name of the ANSI file to display that shows what this monster looks like. If you don't have one, leave this blank. RIP_PIC The name of the RIP file to display that shows what this monster looks like. If you don't have one, leave this blank. As a general rule, if you have a RIP picture defined, you should have an ANSI one define, and vice-versa. CLASS Monsters can be grouped together in classes to allow some variety when they are created by "gates" (read below). DEXTERITY The dexterity rating is used to decide whether the monster or the player can strike first in combat; the higher value strikes first, with ties going 50-50. DESC This is an internal field and should not be modified. Monsters are not generated directly by you in the game. Think of how often you'd have to create new ones, with all of your users killing them constantly! Instead, you create monster gates with the @gate command. These gates are invisible objects that generate a random number of either a specific type of monster, or monsters in a monster class. You can set the percentage chance that the gate will create a monster every time a user enter the location (assuming that no monsters already exist). In fact, you can specify different percentages for different quarters of the day. (A forest might be very safe during the day, for example, and very dangerous at night). You can use the @gateinfo command to display information about the gate in the current location. If you want to delete the gate, use the @gatekill command. 3.14 WEATHER SETUP Weather is optional; it might or might not be appropriate for your MUD, depending on the genre you've chosen. If everyone is always aboard a spaceship, you probably won't want to use it. But if everyone's on the surface of a planet (whether it be sci-fi or fantasy), you'll probably want to use it. The weather system is totally configurable; you can having raging thunderstorms, biting sandstorms, snowy downfalls, or anything else you think appropriate. To turn the weather system on or off, press "G" for "General Setup" on the Waiting For Call screen. You will see the following weather-related options: USE WEATHER? Press "Y" or "N", depending on whether you want to use it or not. MULTIPLE ZONES? If your MUD is spread out over a large area, you might want there to be multiple weather zones, each independent. If so, when you create new places, you will be asked which weather zone corresponds to the new place. You can define as many zones as you like. CHECK HOW OFTEN? In real time, how often should the weather be checked to see if it changes? Enter the time in minutes. Most MUDs could probably stand to have it checked every 60 minutes or so, but it really depends on how active you want the weather to be. If you do decide to use weather, you'll want to customize the related weather spreadsheets. Press "A" for "Game Setup" on the Waiting For Call screen, and then press "E" for the first weather spreadsheet, "Weather Setup". You'll see the following fields: TITLE For your own convenience when setting up the weather; the caller won't see this description. You can call it "Partly Cloudy" or "Heavy Rain" or "Severe Storm", etc. DESC1 The description for this weather to be used during the first quarter of the day (Midnight-6:00 AM). DESC2 The description for this weather to be used during the second quarter of the day (6:00 AM-Noon). DESC3 The description for this weather to be used during the third quarter of the day (Noon-6:00 PM). DESC4 The description for this weather to be used during the last quarter of the day (6:00 PM-Midnight). GETBETTER The text to be displayed when this weather progresses to a "better" state (less rainy, etc). GETWORSE The text to be displayed when this weather progresses to a "worse" state (more rainy, etc). RAINFALL The amount of "wet points" a user accumulates each turn while exposed to this weather. (Only in outside locations, obviously). CHANCE_BET The percentage chance that this weather will get better the next time the weather is checked for modification. CHANCE_WOR The percentage chance that this weather will get worse the next time the weather is checked for modification. DANGER The danger associated with this weather; the following codes are currently defined: F The user might slip and fall, dropping everything, because it's slippery or icy outside D The user might take damage, such as a strike from a lightning bolt, falling rocks, or debris being hurled around from a tornado. DANGERHIT The text description of what happens when the current weather event occurs, as defined by the DANGER, DANGERCHAN, and DANGERDAM fields. DANGERMISS The text description of what happens when a weather event almost occurs (a bolt of lightning almost hit the user, etc). DANGERCHAN The percentage chance that a weather event will occur in a given turn, such as being struck by lightning. DANGERDAM The maximum amount of damage (subtracted from the user's hit points) when the weather event occurs. To see the next weather-related spreadsheet, press "A" for "Game Setup" on the Waiting For Call screen, and then press "Z" for the second weather spreadsheet, "Weather Zones". You'll see the following fields: ZONE The weather zone being defined, like "1", "2", etc. SEVERITY The current severity in that weather zone, as defined by the records in the previous spreadsheet. (The first line in the previous spreadsheet is severity 1, the second line is severity 2, etc). Unless you want to force the weather to a certain condition in a zone, you shouldn't ever have to modify this field. MIN_SEV The minimum severity number for the current zone. In a tropical rainforest, you might never want it to be a clear, sunny day, for example. MAX_SEV The maximum severity for the current zone. On a peaceful island, you might want the weather to never get worse than a light rainfall. (Or, you might want to make it the roughest part of the MUD, with hurricanes and everything!) LASTCHANGE The last time the weather was changed, in terms of seconds elapsed since midnight. You shouldn't ever have to modify this field. To see the last weather-related spreadsheet, press "A" for "Game Setup" on the Waiting For Call screen, and then press "N" for the third weather spreadsheet, "Wetness Setup". You'll see the following fields: THRESHOLD When a user accumulates "wet points" as defined by the RAINFALL field in the first weather spreadsheet, they can progress through wetter and wetter stages of wetness. (Although "wet" is the term being used, is could just as well define states of coldness, hotness, etc). In this field, you put the number that defines the number of "wet points" that a user needs to accumulate to be at this state of wetness. DESC The description to the user of what wetness state they're in. For early states of wetness, you might enter "You're a bit damp". For later states, you might enter "You're thoroughly drenched". CHANCEDAM The percentage chance per turn that the wetness state they're in will subtract from their remaining hit points. If they get thoroughly drenched, for example, you might reason that they could start to get sick and lose hit points, if they don't get inside and dry off. DAMAGEMAX If they do take damage for their state of wetness, this is the maximum amount of hit points they could lose per turn. DAMAGEDESC If they do take damage for being too wet (or cold, or hot, etc), this is the description they see. 3.15 FILES AND BULLETIN BOARD OBJECTS Bulletin board objects are special objects that you might decide to have in your MUD. When they are looked at, bulletin board objects present a menu of choices to the user, allowing them to upload or download files (if they have a sufficient security level), leave messages on the current topic, etc. Defining bulletin board objects takes several steps. First, you must decide on the different topics to support. You might want to make one object be dedicated to "Windows Utilities" files and messages, another dedicated to "Adult Graphics", etc. To set up the different topics, press "T" for "Setup BBSs" on the Waiting For Call screen. You'll see the following fields: TOPIC_CODE Decide on an arbitrary code for this topic, like "T1" for text files, "G1" for graphic files, "W1" for windows files, etc. Each topic must have a unique topic code. ACCESS Enter one or several of the following codes, to allow users to download files from this topic area: G Guest. You will generally want to restrict most bulletin boards topic codes from guests. You can do this on the "Setup BBSs" screen by not putting a G in the ACCESS field. p Player, non-subscribing. This is the access levels used for people who are regular users, but have not subscribed. P Player, subscribing. As the name implies. w Wizard, non-subscribing. Wizards generally have more rights than players, including rights to build new parts of the MUD. W Wizard, subscribing. As the name implies. ! Producer. That's you. DESC The description of this topic code, like "Windows Utilities" or "C Programming Files". UPLOADPATH The full path to be used when uploading files, to indicate which directory uploaded files in this topic should be placed. CAN_UPLOAD Using the same codes as the ACCESS field, specify which user types can upload to this topic area. Once the topic table is complete, you can add a topic to a bulletin board object by using the "@bbsadd" command, or remove one by using the "@bbsdel" command. One bulletin board object can be related to as many topics as you'd like. If you're not sure which topic codes you've added to a bulletin board object, type "@bbslist" to display the topic codes. If you already have some files on your hard disk that you'd like to import to a bulletin board object, use the "@bbsmassul" command to import a group of files at once. You can use wildcards to specify whichever files you wish to add to the object. You will be prompted after each file for a description of that file. Conversely, to delete a group files from a bulletin board object, use the "@bbsmassdel" command. If you want to change a description of a file, use the "@filedesc" command. If you want to delete a single file, use the "@filekill" command. This gives you the option of either deleting the file from the hard drive, or simply removing it from the list of files for the topic. To set a password for a file, use the "@filepass" command. That way, only users that know the password for the file can download it. PART IV CREATING THE MUD 4.1 CREATING PLACES Creating places is the most common task in setting up the MUD. Places are locations that users can visit. There are five types of them: NORMAL PLACES Just what the name implies. PUBLIC PLACES These are places that users can instantly move to by using the "GO" command. This is a compromise between being able to teleport anywhere and taking forever to get anywhere, a historical problem with MUDs. These can be grouped together in weather zones (see the CREATING PLACES section for details). WEAPONS SHOPS Places in which users can buy and sell weapons. They can be configured to sell only certain classes of weapons. ARMOR SHOPS Places in which users can buy and sell armor. They can be configured to sell only certain types of armor. GENERAL SHOPS Places in which users can buy special items. They can be configured to sell only certain classes of items. When places are first created, there are no exits attached to them. The sequence of creation is: create place, attach exit, create place, attach exit, etc. When you first load the software, you'll be in a one-room MUD. To modify the name of this place, type "@placename", and then hit ENTER. This command changes the name of places. Right now, we're in a place called "Entry Point". So, at the first prompt (Old Name?), type in "entry point". At the next prompt (New Name?), type in "bridge". The name has been changed. Type "L" (for Look), and you'll see the name has been changed at the top of the description window. Now, let's describe what the bridge looks like. Type "@placedesc", then hit ENTER. Type in the following: "You're standing on the bridge of the USS Enterprise. Glowing" (Press ENTER) "display stations surround the walls." (Press ENTER) Or, describe the bridge however you'd like. When you're done, type "L" to look around again, and you'll see that your description now appears in the description window. Now, let's create a new place. Type "@place" and press ENTER. At the first prompt (Name?), type in "Ready Room". At the second prompt, just press ENTER. (If you wanted there to be another way to refer to "Ready Room", you could have entered it there as a synonym). That's it! The new place has been created. It doesn't appear on the map yet, however, because the MUD doesn't know how to connect it to your current location. For that, you'll need to create an exit. If you want to delete this exit, use the "@placekill" command. Also, you can create a numbered place, just as you can create numbered objects (see CREATING OBJECTS). The "@placex" command can be used for this purpose. You can also use the new @dig and @digx commands to build places. These are streamlined, and help you avoid needing to take separate steps as you did before to first define a location, then an exit, then a location, then an exit, etc. They require that you type three things on the command line: the name of the place to build, the direction the exit should lead from your current location to get to the new one, and the length of the exit. For example: @dig wooden_bridge north 3 Notice that the first parameter, "wooden bridge", is typed in with an underscore where you would expect a space. This is because the parser needs to know that "wooden bridge" is a single object. @digx, as you would expect, is like @dig but creates a numbered location. This would allow you to create lots of places with the same name: @digx forest north 3 @digx forest east 3 @digx forest south 2 These can all use the same name because, as with items, the numbers keep them unique. However, places are not displayed with their numbers, to make them more legible during game play. So, in the example above, the three places would be all be listed with the same title, "FOREST", as opposed to "FOREST (#1212)", etc. Locations can be marked as dark with the @dark command, meaning that players need a source of light to see anything. (If the location is outside and they are in quarters 2 or 3 of the day, it will be assumed that they can see anyway, from the light of the sun). This status can be removed with the @darkkill command. Locations can be marked as drop-capable with the @drop command, meaning that objects can be dropped in them, or drop-incapable, meaning that they can't. This can help prevent a MUD getting cluttered with objects laying around everywhere. (There is a GIVE command that allows players to give objects to each other directly, without needing to drop things and then have others pick them up). Locations can be set to restrict entry based on player alignment, guild, score, and security type. This would come in handy, for example, where you'd want a guild headquarters that only guild members can enter. Also, you could create a temple that only good character can enter, a "wizard conference area" that only wizards and the producer can enter, etc. Public locations can be restricted by weather zone. For example, if the users are in one region of your MUD (defined by weather zone 3, for example), you might want to only allow them to go to public locations in weather zone 3. This still gives them a quicker way of moving around, but they can't jump from the north pole to the south pole in one fell swoop. 4.2 CREATING EXITS Now let's create our first exit. Type "@exit" and press ENTER. At the first prompt, enter "E", meaning that the new exit leads east from here. At the next prompt, type in "Ready Room". At the next exit, type "2". That's the length of the line to be drawn on the map to represent the exit. At the next prompt, type "door", as the description for the exit. At the last prompt, type "Y" to create the corresponding counterpart for this exit (meaning that once in the ready room, an exit leading west will take you back to the bridge). The exit now exists. Type "L" to look around, and you'll see the exit and the new location on the map. Let's see how the map changes when moving between places. With your NUMLOCK on, press the 6 on your numeric keypad (which corresponds to "east"). You'll notice that you've moved to the ready room. Press 4 on your numeric keypad, and you'll be back on the bridge. Now, suppose you really meant for that to be an exit to the north to get to the ready room, not the east. Let's modify it. Make sure you're back on the bridge. Type "@exitdir" and press ENTER. At the first prompt, type "E" for east, meaning that's the exit you want to change. At the next prompt, type "N", meaning that's the direction you want the exit to lead. Then type "L" to look around, and you'll see that it's been modified. Now, let's change the length of the exit. You created it with a length of 2, making it pretty small. Let's make it longer. Type "@exitlen" and press ENTER. At the next prompt, type "N", meaning that it's the north exit you want to modify. At the next prompt, type "3". Then type "L" to look around, and you'll see that the exit line is longer than before. To change the description that appears in the main text box for an exit, use the "@exitdesc" command. To delete an exit, use the "@exitkill" command. 4.3 CREATING OBJECTS Objects are things that users can observe, use, pick up, etc. There are the following types of objects (not including characters and NPCs, which are technically "objects" from a system command standpoint): Weapons. These are objects that, when wielded, can be used to attack monsters. Special items. Objects that have special powers, like healing hit points, inflicting damage, and teleporting users. In a fantasy MUD, these might be scrolls or wands. Armor. Objects that, when worn, improve a character's armor class. Non-takeable objects. These are things that for some reason, either because they are too heavy or whatever reason, cannot be taken. This is the default type of all objects that are created with the @obj command. (@objtype can then be used to modify the object type). Takeable objects. These objects can be picked up and added to the character's inventory. Bulletin board objects. These are objects that act as bulletin boards. When users look at them, they will see messages and files that have been left there by others. Now let's create an object. Go back to the ready room. We'll create an aquarium that displays a message when you hit it. First, type "@obj". At the first prompt, type "Aquarium". At the next prompt, press "N" for neuter. At the next prompt, type "fishtank" for a synonym. Then press ENTER. The object is created! Type "L" to look around, and you'll see the aquarium in the status description. To describe what an object looks like, use the "@objdesc" command. This will allow you to enter the text to be displayed when a user tries to look at the object. Just as with characters, you can create hot-phrases to work with objects. The "@objhot" command allows you to create an automatic response from an object when a specific word or phrase is mentioned in a conversation between characters that are in the same location as the object. The "@objhotkill" command is used to remove a hot-phrase from an object. The "@objhotlist" command will display all hot-phrases that have been defined for an object. To see the effects of a hot-phrase, use the "@objhotsee" command. If you wish to delete an object itself, use the "@objkill" command. All rules and text that have been defined for the object will be deleted as well. If you would just like to delete the rules and text but not the object itself, use the "@objwipe" command. To simply change the name of an object, use the "@objname" command. As for object ownership, every object is owned by the person that created it. The "@objowner" command will display the name of the user that owns an object. If you have given wizard access to some of your users, you can use the "@objownernew" command to change the ownership of a location or a place that you have previously created. By doing so, they will be able to modify that particular place or object (but not any others that you as the producer own). As you know if you've created some objects already, you can define synonyms for objects; you can call a "long sword" a "sword" if that synonym has been defined for it. If you want to add another synonym to an object after you've already created it, use the "@objsyn" command. To see all of the synonyms defined for an object, use the "@objsynlist" command. To remove a synonym from an object, use the "@objremsym" command. Now, let's get back to our example. Let's create a rule that works with the aquarium. Type "@objrule" and press ENTER. At the first prompt, type "bump". At the next prompt, type "aquarium". At the next prompt, type "N" for "No Modifier". (This prompt allows you to create more detailed rules, like "hit aquarium with crowbar"). At the next prompt, type "S" for "Say", meaning that you want the MUD to say something when this rule is executed. At the next prompt, type: "A delicate-looking fish cringes in horror." Press ENTER twice. Then press "D" for done. That's it! Try typing "bump aquarium", or "bump fishtank", and you'll see that the poor fish does indeed cringe in horror. For more information on creating rules, read the next section. To delete the rule you just created, use the "@objrulekill" command. To create a simple rule for an object (no ANDs), you can use the "@objverb" command, which is a streamlined version of "@objrule". If you'd like to create a numbered object, use the "@objx" command. Because two objects cannot share the same name, you might want to do this to create similar objects. For example, if you only had one "button" object for users to push in your MUD, you could just call it a "button". But if you're on a starship, you'll probably have lots and lots of buttons. Using "@objx" will create an object like "button (#121)", allowing there to be many objects with the same root name. The "@objspecdesc" command allows you to provide a special description for the object on the lower half of the screen. For example, suppose you create a weed object, but you don't want the user to know that it's there automatically. You want to hide the weed in a clump of grass. To do this, you would first use the "@obj" command to create a weed, and define synonyms for the weed as "clump of grass" and "grass". Then you would use "@objspecdesc" to create a description that says, "A clump of grass is also nearby." Then, when the user enters the room, he/she would first need to LOOK at the clump of grass, or some similar arrangement, to which you've defined a description such as "It's just a bunch of weeds". But if the resourceful user decides to try taking a weed, he will be successful. By doing this, the weed is not specifically named in the text unless the user digs deeper. In addition, you can create "noise" for an object. Noise is text that is displayed at random occasions, usually to add some color or realism to an object or place. For example, if you defined a location called a "bazaar", you could define the following phrase that would every now and then be displayed to a user: "Throngs of people surge around you", or some such phrase. Use the "@noise" command to create these phrases. Use the "@noisekill" command to remove them. 4.4 CREATING RULES Rules are what tie the components of a MUD together; they are the glue that binds user actions to MUD responses. Rules are structured along the lines of "VERB+NOUN=RESULT". If the user types the command "drink soda", then a certain result is defined to deal with that situation. Action rules can also branch to true or false conditions, based on three factors: a random "die" role against a character skill, a "die" roll against a character attribute, or testing the setting of a flag. (There are 128 definable flags). Rules can also be linked to one another, to form chains of results. In other words, you might decide that every time a character tries to drink a soda, you want to do three things: display the message "It tastes terrible", add 10 to the user's score, and reduce his online time by 10 minutes. This is done by choosing the "AND" option after defining each step, instead of the "DONE" option. Rules can be created to work with either objects or places. To create a rule for an object, type "@objrule". To create a rule for a place, type "@placerule". You will be prompted for the following information: VERB? The verb to initiate this rule. If you were defining a rule for "Sniff Coin", for example, you'd type in "Sniff". OBJECT? The object of this rule. In the "Sniff Coin" example, you'd type in "Coin" here. Then you'll see a command bar giving you several different options for this rule, allowing it to be simple or complex. The following buttons will appear: NO MODIFIER Select this button for a simple, two-word rule, like "Sniff Coin". TO Select this button when defining a rule with "TO" as the third word, like "Give Coin To Bartender". FROM Select this button when defining a rule with "FROM" as the third word, like "Take Coin From Bartender". ABOUT Select this button when defining a rule with "ABOUT" as the third word, like "Ask Monk About Monastery". WITH Select this button when defining a rule with "WITH" as the third word, like "Touch Snake With Staff". IN Select this button when defining a rule with "IN" as the third word, like "Put Bowl In Shelf". ON Select this button when defining a rule with "ON" as the third word, like "Touch Dwarf On Shoulder". You will then see an even larger number of command buttons, that will allow you to define what happens when this rule is invoked: MOVE This button moves the users to a new location that you define. PAUSE The button causes a [More] prompt to appear at this point in the rule execution. It's useful for longer rules, where you might have several different messages displayed (multiple SAYs). SAY This button allows you to give a textual description of what happens. SCORE This button allows you to add a fixed number of points to the user's score. SETFLG This button allows you to set a status flag, indicating that a certain condition is true for a user. For example, you might want flag 1 to indicate that a lamp is turned on; the "light lamp" rule would then set this flag to 1. CLRFLG This button allows you to clear a flag, indicating that a certain condition is no longer true for a user. If the user turned off the lamp, you would then set this flag to 0. FLGTST This button allows you to test the status of a given flag. If the user entered a dark pit, and you defined flag 1 as above to indicate whether a lamp was lit, you would define the two results based on the setting of that flag. SKL This button allows you to test a skill of the user, and proceed based on whether they pass or fail that test. ATR This button allows you to test an attribute of the user, and proceed based on whether they pass or fail that test. MORE > This command takes you to the second line of rule buttons, defined below. -TIME This button allows you to subtract a fixed number of minutes from the online time remaining for the user. (A punishment, obviously). -MONEY This button allows you to subtract a fixed amount of money from a character. If they don't have enough, the rule is cancelled. It's important that you select this button first when defining a rule, so that the remaining steps are NOT taken if they don't have enough money. TAKEOBJ This causes the object that the rule was defined for to be placed in the possession of the player. If the current rule was defined for a note, for example, selecting this button would cause the note to move to the user's inventory. MAKEITEM This button creates an item from the item spreadsheet and places it in the inventory of the player. Obviously, it creates a numbered item. SIMITEM This button causes the rule to simulate the use of an item on the item spreadsheet. You could, for example, simulate a "fireball wand", which would cause a fireball to strike the user. No skills are checked, this is automatically assumed to happen. % CHANCE This is similar to the ATR and SKL buttons, in that the rule branches to success and fail threads, but no skills or attributes are checked; this is a flat percentage of something happening. You will then see the following command buttons: AND This allows you to select another command button, in conjunction with the one just set. For example, you might define the rule "touch button" to do two separate things: move the user to a new location, and describe what happens. In that case, you'd select the "MOVE" button the first time, and the "SAY" button the second time. DONE This button informs the system that the rule is complete; no other command buttons need to be selected. To delete a rule from a place, use the "@placerulekill" command. To change the type of a place, use the "@placetype" command. The "@placewait" command defines an action rule to be executed when waiting in the current place. If the user types "wait" in the specified location, the rule will be executed. 4.5 CREATING NON-PLAYER CHARACTERS Non-player characters are similar to characters; they are fictional people (or things, if you're running a real strange MUD), but no user controls them. NPCs, first and foremost, can add scenery to your MUD. If you have a garden near a mysterious mansion, you might add a NPC gardener that cringes whenever you say the word "mansion" (defining a hot-phrase for the NPC). I'm sure lots of other possibilities come to mind. Greetings can be defined for NPCs with the @npcgreet command, which list keywords that invoke action rules. For example, you might have a greeting as follows for a NPC bartender: "Hmmmf". The rather unfriendly bartender glares at you impatiently, waiting for your order. Type GROG, DRAGONALE, or SPINWATER to order one of those drinks. Three separate rules can be defined with the @npcrule command for what happens when the user types "GROG", "DRAGONALE", or "SPINWATER", including giving them mugs of each drink and charging them money for them. Also, an unlimited number of automatic actions can be defined using @npcact, of the following types: GO, SAY, and EMOTE. So, you can add an action to a NPC that gets randomly invoked, for example, to GO NORTH, GO SOUTH, SAY "Watch it!", etc. This gives them more an appearance of life, as they wander around and say and do things. Use @npclist to list the actions defined for a NPC, @npcactkill to remove an automatic action. There are actually four different types of NPCs, set with the @npctype command: Guild Master, Guild Member, City Official, and Normal. These categories have to do with learning skills and spells from them, and recieving quests from them. Guild Masters and City Officials can give out quests (see the QUEST section for details). Players can learn skills and spells from other players and NPCs that are members of the same guild. Also, players can petition Guild Masters for an increase in guild level, which will succeed if they have earned enough experience points. NPCs remember everything said and emoted in their presence for the current day. Other users can then use the "QUESTION" command to make the NPC recite everything they've heard on that day. This can add a sense of continuity to the MUD, especially on ones with fewer incoming lines. 4.6 TIME-BASED PLACES AND EXITS As you might have noticed when describing places or objects, the quarter of the day can be used to determine what to display. For example if you type "@mydesc" to define what your own character looks like, you'll see the following prompt: Use description during which quarter of day (1-4,0=all)? Likewise, when defining exits using the "@exit" command, you'll run across the following prompt: Exit exists during which quarter of the day (1-4,0=all)? Both of these prompts expect a number between 1 and 4, corresponding to the following schedule: 1st Quarter Midnight - 6:00 AM 2nd Quarter 6:00 AM - Noon 3rd Quarter Noon - 6:00 PM 4th Quarter 6:00 PM - Midnight If you enter a 0 at either of these prompts, the exit or description will be in effect at all times, unless you have previously defined them for specific quarters. In that case, the "0" description or exit will be the default when not in those specific times. 4.7 MODIFYING YOUR CHARACTER There are a number of system commands that are used just to modify one's own character. These are usually the only system commands that the average user can use. The "@mydelete" command deletes a user's character. The character is history, completely wiped from the MUD. The user is logged off, unless he or she is the producer. The "@mydesc" command creates a specific rule for a character: what to SAY when others look at him or her. The "@myhot" command allows hot-phrases to be defined for a character; it creates an automatic response your character when a specific word or phrase is mentioned in a conversation between characters that are in the same location as your character. Hot-phrases will only be invoked if the user controlling the character is logged off. To remove such a hot-phrase from a character, use the "@myhotkill" command. To see all of the hot-phrases defined for a character, use the "@myhotlist" command. To see the effects of a hot-phrase, use the "@myhotsee" command. To change the password for your account, use the "@mypassword" command. Just as there is a streamlined version of rule creation for objects, "@objverb", there is one for your own character: "@myverb". This allows you to create simple rules with fewer steps. The @myteach command is used to set how much a user will charge per skill level another character for lessons on improving a skill. This amount is also multiplied by 100 to determine the cost of teaching a spell to someone else. A user can also the the @mytag command to update the tag line on the WHO screen for his or her character. 4.8 WIZARD MUD BUILDING If you're a busy person that doesn't have much time to spend building a MUD, or if you'd like to spread the fun around, you can let other people build the MUD for you. To give an area to wizard for development, you would first created a new area, using the @dig or @place command. Then, you would use the @pending command to hide this location from normal users. The @pending command asks for the name of the person to develop this area. Type in the name of the wizard. At this point, the wizard will be able to perform whatever commands you have set up in the command table for world-building. The way the command table comes initially is probably sufficient; it allows them to create new areas and describe them, create new objects, NPCs, etc. However, it does NOT permit wizards to define rules. This is really a matter of how well you know your wizards. If they are personal friends of yours, you'll probably want to let them create rules. But if they're online associates that you've never met and really don't know that well, you probably don't want to give them a way to boost their own skill and attribute ratings, hit points, etc., through the roof. After a wizard has built a bunch of new locations, you'll probably want to open them up to everyone else. To do so, use the @open command from the location you want to open. Once the locations are opened, the ownership reverts to the producer, and they can no longer be modified by the wizard. As a side note, on the on-screen map, a dotted line is drawn for pending exits, which only wizards and producers can see. Other wizards, besides the one that owns the area under construction, will also be able to visit and make suggestions, but won't be able to make modifications. PART V ADMINISTRATION 5.1 INTERNAL BACKUPS A built-in backup system will allow you to save a copy of your MUD database in a BACKUP# subdirectory under your MUD directory. Just type "@backup" from inside the MUD, and the files will be copied to the specified backup directory. You can just hit ENTER at the "Backup #?" field, and they'll be copied to BACKUP\, or you can select a number like "1" and a BACKUP1\ directory will be created. To restore the database for whatever reason (power failure, you messed up creating a new world and want to start fresh, etc), just type "@restore" from within the MUD, select the desired backup, and the files will be copied to the active MUD directory. 5.2 PRUNING SHOPS As your MUD progresses over time, users might generate so many new items by killing monsters, and then sell those items to stores, that the number of items for sale in a given shop is unwieldy. To cut back on the number of items in a shop, just type "@shopprune". Conversely, if you want to add some more items to a shop, use the "@shopfill" command. 5.3 PURGING USERS You will probably want to periodically delete characters in your MUD that users have not used for a given length of time. For example, you might decide that any character that has not been used in the last six months is cluttering up the MUD. Use the "@userpurge" command to specify the length of time used to decide whether to purge a character or not. 5.4 COMPRESSING THE DATABASE This is a very important administrative task, as any MUD database will grow significantly over time. The "@compress" command will do all of the work, but nobody else can be on the system. We would recommend that you use this command at least once a month, more often if you have a limited amount of disk space. 5.5 ADMINISTRATIVE COMMANDS There are a number of commands the producer can use to manage the MUD. Commands that relate to characters are as follows: @adjhp Adjusts the number of hit points for a character, either one's own or another. @adjmoney Adjusts the amount of money a character has. @boot Disconnects a specific user immediately. @bootall Disconnects all users, immediately. @charkill Deletes a character from the MUD, permanently. @charkillall Deletes all characters from a MUD, except for one's own. @lockout This command is used to prevent a specific, troublesome user from ever logging in to the MUD. @modskills This command is used to modify the skill levels of a character, whether player or NPC. @move This command is used to move an object from the current location to another place. @userlevel Modifies the security level (40, 50, etc). of a character. @usertype Modifies the security type ("G", "p", "W", etc). of a character. Administration commands that are related to the MUD setup are as follows: @currency Allows the user to define the currency string, what money is to be called (Dollars? Silver Pieces? Credits?) @edit This is the MUD low-level editor. With it, you can edit many of the spreadsheets that you can from the Waiting For Call screen. @help Allows you to add, delete, or modify topics in the internal help system. @initworld This command is used to totally wipe out the MUD, except for the spreadsheets. You can also optionally wipe clean specific spreadsheets. @login Allows you to replace the login bulletin text with new text. @logoff Allows you to replace the logoff text with new text. @messagedays Allows you to set the message retention days, just as you can on the "General Setup" screen. @news Allows you to add, delete, or modify topics in the internal news system. @remphone Removes a specific phone number from the callback verification log. @remphoneall Removes all phone numbers from the callback verification log. There are also some diagnostic commands that can be used to determine general information about the MUD, and whether the MUD is functioning correctly. They are as follows: @database Displays the amount of bytes used by the various database files. If they are taking up too much room, try using the "@compress" command to free up some space. @dumpid An internal command that should only be used when in contact with Continuum Software technical support. @dumpname An internal command that should only be used when in contact with Continuum Software technical support. @dumplace An internal command that should only be used when in contact with Continuum Software technical support. @infox Display extended information about a user, using the name of a given character. @log Displays the system activity log. @mapmem This command displays how many nodes are accessed when building the on-screen map, and the amount of memory used to do so. This is useful when breaking up sections of the MUD into manageable chunks. @pool Displays the amount of free memory available. For best performance, this should be over 100K. @purgelog Deletes the system activity log. @quarter Changes the quarter of the day the system thinks that it is in, but just for your character. If you want to insure that a quarter-based description or exit is working correctly, you can use this command to change your "apparent" quarter. @sessions Displays a list of all MUD sessions, both active and inactive. @sesskill Changes the status of a session from active to inactive. If a node is dropped unexpectantly (as in a power failure), the system might still think that a user is logged in to the system. The MUD will self-correct this error over a few days, but is you know that a session is not really active, you can use this command to mark it as inactive. @shell This command is used to shell to DOS. @whereis Displays the location of a given character. 5.6 CREDIT ACCOUNTING Many of you are running MUDs as a commercial venture. The credit accounting system was developed with you in mind. This is how it works: 1. Users are given a starting number of credits, as defined on page 3 of the General Setup screen. Each credit corresponds to a minute in the MUD. 300 credits = 300 minutes of access time. 2. When a user runs out of credits, he or she will not be able to log in. They can leave a message to you, or however you have decided to handle the ordering of credits. 3. When a user purchases 300 credits, for example, you then go in to the MUD and type @credits. It will ask you the name of the user that purchased the credits, and the number of credits they purchased. Type in the relevant information. 4. The user will now be able to use the MUD again, for however many minutes (credits) were purchased. Of course, a user does not need to wait until his or her number of credits hits zero before purchasing more. You can add credits to a user that still has remaining access time. PART VI OTHER ISSUES 6.1 RIP AND ANSI GRAPHICS Once you've created your MUD, you'll might want to illustrate it with some ANSI and RIP artwork. Don't get nervous, it's not that hard to do, even for the non-artistic person. For ANSI artwork, use a good ANSI editor like THEDRAW. Look at some of the ANSI artwork that comes with Trade Wars and other quality door games for inspiration. When you are ready to start, use the BLANK.ANS file that came with IP&M as a starting point; it will let you know where the boundaries are for the window. Look also at PLANET1.ANS, PLANET2.ANS, and PLANET3.ANS that come with IP&M for ideas. Make sure when saving your ANSI artwork that you inform the ANSI editor to save it with screen-clearing codes. Otherwise, it won't work with IP&M. For RIP artwork, use a good RIP paint program like RIPPaint or Tombstone Artist. Again, look at existing artwork for inspiration. PLANET1.RIP, PLANET2.RIP, and PLANET3.RIP come with IP&M, and BLANK.RIP can be used as a template, indicating window boundaries. Also, with RIP 2.0 coming out soon, you might want to get some .GIF and/or .JPG files ready, since the new terminal will support those. It is rumored that those files will actually transmit quicker than the vector-style traditional RIP graphics. .GIF and .JPG files are easier to create, regardless. When you've created some pictures, you'll need to link them to the desired locations. You can do this with the @placepic command. Just enter the name of the ANSI picture and the RIP picture, and you'll be in business. You can use the planet pictures that come with IP&M to see how this is done; link PLANET1.ANS and PLANET1.RIP to Khal, PLANET2.ANS and PLANET2.RIP to Bendii, and PLANET3.ANS and PLANET3.RIP to Ilium. Conversely, you can use the "@placepickill" command to remove a picture from a place. As a note, when you use the "@place" command to create new places, the pictures associated with your current area are automatically copied to the new area. If you don't want to use the current pictures for the new area, use the @placepic command in the new area to redefine them. 6.2 FREELANCE MODULE SUBMISSIONS We accept and review qualified freelance submissions for our line of pre-built MUDs. We expect to set the price of most modules between $40 and $100. To qualify, you need to be a member of The Fantasists Guild. For your submission to be accepted, however, it must, among other things, have a new element or theme in your MUD that a previously published module does not. Be warned, our standards are high. We do not publish every module that crosses our desks. Check your spelling especially. And if you're wanting to create a MUD that is similar to others (like a fantasy world), it must have some new element or twist that will make it stand apart. Here are some other general guidelines: 1. Create worlds that use the "quarter of the day" feature. Have place and object descriptions modify based on the time of day. Create exits that for some reason would only be available during certain parts of the day. (Shops open/closed? Ships in port only in the morning, and at different ports later that evening?) 2. Create a good mix of puzzles, monsters, weapons, and items, that are appropriate for your theme. 3. You should include several public areas, and have at least 50-100 normal areas for users to explore. 4. If possible, include some NEW, NEVER-SEEN RIP and/or GIF/JPG graphics in your MUD for various locations and monsters. We pay a higher royalty rate for submissions with graphics. If you're not the artistic type, you can get in touch with some RIP artists at the following locations: Ina Strickland -- You can call her voice at (706) 733-0515 or mail her at 1722 Forest Creek Crt. Augusta, GA 30909. Pauland BBS -- the Grave of Dead RIPpers' Society (504) 383-2864 5. You need to include designer's notes with your submission that can inform the sysop of the puzzles in the game (with solutions), the idea and theme for the MUD, and anything else he or she will need to know. NON-DISCLOSURE AGREEMENT When you're ready to send in a submission, you will need to include the following signed letter. (Sorry, our lawyers made us). We cannot review any submissions without it. I, ___________________________, am submitting the enclosed files for your review, for possible publication as an add-on module for Industrial Prose & Magic. I understand that other people, including those at Continuum Software, may be working on similar projects, and agree not to hold liable any person publishing a module that has similarities in any aspect to my submission, even if my submission is rejected. I understand that all files that are developed and modified with Industrial Prose & Magic, and all files using formats contained by said program, are the property of Continuum Software, and may not be re-sold except by Continuum Software. I further understand that this submission, if accepted, is still the sole property of Continuum Software. I understand that the only compensation for acceptance of this module are the royalties based on net revenues as outlined by Continuum Software. I understand that Continuum Software has the sole right to set the price of modules, and may adjust the prices at any time. I understand that if I wish this submission to be returned to me, I must include sufficient postage to cover that cost. I understand that Continuum Software makes no assurances, whether implicit or implied, that a published module will be advertised through any media other than that through which Industrial Prose & Magic is advertised. Name (Print): _______________________________ Signature: _______________________________ Date: ________________ To submit your MUD, send in the following: 1. Your designer's notes as explained above. 2. The above non-disclosure agreement, signed and dated. 3. A ZIP file that was created with the PACKMUD utility (distributed to all members of The Fantasists Guild). Note that you should run the @charkillall command from inside your MUD before you send it in, to delete any user characters that may have been exploring your MUD. If the ZIP file is too big for one diskette, use the -& option with PKZIP to span multiple diskettes. Both 3 1/2" and 5 1/4" will be accepted. 6.3 TROUBLESHOOTING If you are having difficulties setting up Industrial Prose & Magic, make sure of the following: 1. You have SHARE installed. When you type SHARE at the DOS command line, you should see the message "Share Already Installed." If you don't, add a line to your AUTOEXEC.BAT that reads "SHARE". 2. Make sure you have enough file handles set aside in your CONFIG.SYS. On the line that says "FILES=XX", XX should be a number great enough to hold 35 handles per session. So if you're using a multi-tasker and have two windows running IP&M, you'll need at least 70 file handles. 3. If you're trying to install IP&M as a door and are having problems, try blanking out the baud rate on the modem configuration screen. 4. If you get a "Out of environment space" message when loading the MUD, add the following line to your AUTOEXEC.BAT: "SET CLIPPER=f255"; also, add the following line to your config.sys: "SHELL=C:\COMMAND.COM /E:2048 /P". If a shell line already exists, modify it to match. 5. If you have non-standard com port addresses or IRQs, read the section in this manual dealing with environment variables (SETTING ENVIRONMENT VARIABLES). 6.4 TECHNICAL SUPPORT If your problems persist, you can call our technical support at (404) 635-0931 10am-5pm EST, or contact us 24 hours a day at our support BBS, Software Creations: (508) 368-7139. APPENDIX A: THE FANTASISTS GUILD The Fantasists Guild is an international association of MUD designers. The current mission of the Guild is threefold: to educate members on designing interactive fantasies, to gather ideas and suggestions for Continuum Software products, and to keep members up-to-date on the latest features and upcoming changes to Industrial Prose & Magic and related software. Guild membership is not limited to Continuum Software customers. We are excited about the prospects of what the Guild will be able to accomplish. When the Guild has grown to a sufficient level, we have lots of plans: a regular publication (including articles written by members), a yearly convention, and possibly merit, degree, and certification programs, among other things. For the present, members recieve regular announcements of upcoming releases and enhancements to IP&M-related software; members provide input into the direction of our software line; and members recieve The Fantasists Guide, an interactive tutorial for designing IP&M MUDs. Unlike the IP&M manual, the guide focuses on aesthetic, artistic, and thematic issues that should be considered when designing commercial MUDs. Members who have studied the Guide and become well-rounded fantasists are encouraged to submit their work for review and possible commercial publication by Continuum Software. Annual membership rates are $30 for US residents, $40 for Canadian residents, and $50 for international residents. Dues can be purchased by check or credit card (Visa or Mastercard). Credit card orders can be purchased by phone at (404) 635-0931. Checks can be mailed to the following address (make checks payable to Continuum Software): The Fantasists Guild 916 Underwood Ave SE Atlanta, GA 30316 Please note that membership dues will need to be adjusted as we begin mailing regular publications, so please check our current rates before purchasing a membership. (Current memberships will not be affected by dues increases until they expire; no additional monies will need to be paid during a Guild membership).