DEdit – Database Editor

Documentation version 1.0 , 2004-02-11

Description Tutorial 1: Step by Step a first simple database

Step 1: Open DEdit and set an RPS

When you start DEdit, the first thing is, to select the roleplaying system (RPS) you want to write the descriptions for. In the top left corner of the screen is a drop-down list. Click on the small triangle and select AD&D – English.


The selected RPS defines important parameters  for the database, e.g. saving folders, races, tavern types, language, etc. AD&D – English is the standard RPS. We will use just this one in this tutorial. For more information on RPS, read the RPSEdit documentation.

Step 2: Create a new database entry

First make sure you are working in the Descriptions-panel. The main area of the editor is built by different panels, which can be brought to top by clicking on their name at the top of the panel. Click on the Descriptions label to bring the Descriptions-panel to the front.

In the top-right corner of the panel there is a button labelled New.... Click on this button to add a new entry to the current database.

A New description window with a drop-down list appears. Select table and click okay. An empty table-entry has been added to the database.


To not confuse the New.. button on top (which adds an entry) with the New... button at the bottom of the panel. The bottom one will create a new database and not a new entry! However, if you accidentally hit the New... button at the bottom, a pop-up window will warn you and ask you, if you really want to continue. Hit cancel to abort.

Step 3: Write a description

There are two text areas on the Description-panel. One is labelled PPL and the other Text. Click into the Text area to get a blinking cursor in it. You can now write your description into that text field. The text you write here will be displayed as description of a table in TavernMaker. It should be of similar style as the other descriptions you get when generating a random tavern. It should be possible to read the description aloud to the players.


e.g. At this table sits a slim man in brown robes. He seems to be praying and is ignoring everything around him.



-          You do not need to end a line with the enter-key. Long lines will be wrapped automatically.

-          You can not use any tabulators in the text

-          You must not use the following characters: § $ % < > { }


Most buttons or area-labels have one letter which is underlined. e.g. Text. You can use the shortkey combination ALT + underlined letter  to quickly access that element. So, ALT + x will set your cursor into the text-area. ALT + n would add a new entry.

Step 4: Write the pick-pocket info

The other text region is labelled PPL which stands for PickPocketList. Click into this region to get your blinking cursor. You can now write your pickpocket-info into that text field. The text you write here will be displayed as information of that table pickpocket-list in TavernMaker. It should describe the things that can be stolen from that table and other hidden or gamemaster-information.


e.g. The man owns nothing but his faith. In his pockets he carries a small amulet made of wood which resembles an apple-tree and is the holy symbol of his religion. He has now coins.

Step 5: Flags – wealth

The slider in the bottom left corner is labelled Wealth. Here you set the wealth-level of your description. If you do not want to limit your description you can leave the value at 0 = all wealth levels.
Else you can enter a value between 1 = extremely poor ,  5 = average ,  10 = extraordinary rich. Either use the slider or click into the field and enter the number.


For our entry here, we leave the wealth level at 0, because we think that a poor but praying priest would be ignored by most landlords and can therefore appear in all price classes of taverns.


Database flags are used to limit TavernMaker’s databases within the generation algorithm. If e.g. the pricing class of a tavern was set to outrageous, the algorithm would exclude all entries with a wealth flag lower than 7, so that “poor beggars” would not be included into the generated tavern. The other way around, if the pricing class was set to cheap all entries with wealth flags higher than 4 would be ignored, and “rich merchants” would not be found in such taverns. Which pricing classes allow which wealth flags is ruled by the selected RPS.
(see RPSEdit documentation)

Step 6: Flags – tavern type

There are three combined drop-down list / listbox areas on the Description-panel. One of them is labelled Tavern type. Here you select in which taverns the description might be used. Select a type with the drop-down menu and hit the Add button next to it, to add that type to the listbox. To remove a type, click the line within the listbox and hit the Delete button. If you add the type all, the listbox will be cleared and just all will remain. As the name suggests, such a database entry can be used independently of the chosen tavern type.


We think that our priest would not fit very well into a night bar or a bar, nor in a harbour tavern or a restaurant. We therefore select and add the types city tavern, travel tavern and local tavern only.


Important: The tavern types night bar and bar are meant to be taverns which do not serve meals, just drinks. Therefore, if your descriptions tells something about a meal, it must not have the all, night bar or bar flag set.


The tavern type flags of an entry are directly connected to the tavern types which can be chosen in TavernMaker. If e.g. a restaurant tavern is generated, only entries which have either the all or the restaurant flag can be chosen.

Step 7: Flags – distance

The second combined drop-down list / listbox is labelled Distance flags.

Here you select objects which have to be near your table, which means that they are named within the description of the entry. Again you select the objects from the drop-down and add them with the Add button.


In our entry we have not specified anything, so we do not add anything at all. If we, however, would have written something like At this table sits a man and looks out of the window. we would have set the window distance flag. Or if our description would look like Near the door in a corner sits a hooded creature in the shadows of the nearby staircase. we would have set door, corner and staircase.


The distance flags are used to link the created map with the descriptions of the generated tavern. All objects (tables, windows, bars...) in the map contain information of the other objects nearby. Descriptions which tell about a ‘nearby door’ can therefore only be used at tables which – in the map – are indeed near a door!

Step 8: Flags – races

The third combined drop-down list / listbox is labelled Race flags.

Here you select how many persons of what race are mentioned in your description. Again you select the objects from the drop-down. Then you enter the number in the field right of the drop-down and add them with the Add button. You will get a list-entry with the number in {-bracets-}. The field count next to the listbox shows the sum of people you have sitting at your table and therefore defines the minimum size of the table. The Fill button is not explained in this basic tutorial. The available races are the same as those you can select in TavernMaker plus a unknown race, which stands for ‘arbitrary race’, and some groups, which group together some of the races and mean "one arbitrary of that races".


In our entry we have written man, which is a valid pronoun for all races. We believe that the description would be valid in a pure elfish tavern as well as in a human or any other race tavern. We therefore set the race flag to unknown {1}.


Important: The final count of the race flags should fit exactly to the minimum amount of seats which are needed at that table. Therefore:
- Do not count passing-by waiters mentioned in the description.
- Use accurate numbers in your descriptions, and not things like A small group of humans.... (Use A small group of four humans... instead.)
However, it is possible to use groups of  ‘undefined size’, but this is explained in later tutorials.


The race flags are one of the most important.
First of all, they define which descriptions are possible depending on the Occupants setting of TavernMaker. The algorithm calculates race-percentages in a way to ensure, that the final tavern has the proper mixture of races. This, however, can only work if the database entries have proper race-flags, because only those (and not the description text!) are used for calculating.
Second, the total sum (=count) of the race flags define the minimum size of the entry. A description of e.g. 5 humans would not be possible for tables with less than 5 seats on the map! That is the reason why numbers in entries should be accurate.

Step 9: saving the database

You have now written your first entry. It is time to save the database! In the bottom-right corner of the Description-panel you can find a Save... button. Click on it and you will be presented with a standard windows-saving window. The proper folder is automatically chosen as starting location of the explorer, so you do not need to change the saving folder. Just type a file-name and save. The file type will be description database and the file suffix *.txt. You can change neither of it. Once you have saved your database, its current position is displayed on top of the DEdit-interface next to the RPS-selection drop-down.


Sometimes (-not if you did everything correctly in this tutorial-) you will be presented with a Check Results pop-up window at saving. DEdit automatically checks that the database entries are syntactical correct. If anything is amiss, the Check Results window appears and tells you (in red) which entries are invalid.

Step 10: More entries – some advice

You have now learnt how to write a valid entry. Repeat steps 2 to 8 to add more entries. Remember: Quality is important! Rather write few entries with a huge portion of creativity than a lot of entries which are more or less the same but just vary with small details. (There are better ways to do that. Those are explained in the next tutorials.) Also: Try to think of a tavern as a whole. How many “10th level fighters” are there compared to ordinary people? The database should have similar distributions. As a role of a thumb: For each “very special” description you write, write at least two “ordinary people” descriptions. If the database would consist of mainly ‘dark hooded creatures waiting for something in the corner’, the generated taverns would look somehow strange... Try to avoid all those stereotypes! And if you are totally out of ideas: Describe your own gaming party. What would stranger note when they would see them in a tavern?

Step 11: navigation within the database

The top-most line of the Description-panel helps you to navigate through the database. The slider a the top-left side can be used to scroll through the entries. Alternatively you can use the key combination CRTL + page up/page down. If your mouse has a mouse-wheel you can use it to navigate, too.
The box right of the slider - current item ID - shows you which entry is currently displayed. You can enter a number to directly jump to that entry. The selected item(s) ID box is only used if more than one entry is selected, which will be explained in later tutorials.

You can use the Find... and Find next (F3) buttons to search for some text within the database. A pop-up window will appear in which you can enter the search string. You can select whether you want to search in the PPL-texts or the Description-texts. If the search string is found, the database entry will be automatically displayed and the search string selected in the text. The Find routine always starts at the beginning of the database. The Find next jumps to the next finding.


Whenever you add a new entry it will be added at the end of the database. However, the database is automatically sorted alphabetically according to the entry’s type (e.g. table) If you add, e.g. a bar description, it will be automatically the last entry of type bar but before the table entries.


Step 12: changes & quicksave

Of course you can always browse your database and correct mistakes or make some changes. Those changes will be saved the next time you save your database! If you want to quit, create a new database or change the RPS without having saved the changes first, a pop-up window will warn you that changes would be lost.

To save your database you can either use the Save... button, or (-if the database has already been saved once-) you can use the keyboard shortcut CRTL + S to save the current database at its current position.

Whenever the database is saved, a internal checking-routine is called. (The same, as if you hit the Check... button)
If it finds some principial errors in your descriptions, it pops up with a window telling you about the errors. e.g. if you forget to set any race-flags, it will pop up like this:

Step 13: database comments

Every database has a small comment section, in which its creation date, the creating author and some author’s comments are saved. You can access the author comments with the Comments... button at the bottom.

Step 14: testing & verification

Once you have saved your database, it will be automatically used by TavernMaker, because TavernMaker uses all databases it finds at the proper location for generation. If you remove all databases except your own from the folder, TavernMaker will only use your own database, which can be a good method of testing big, genuine databases.

Once you are satisfied with your work, you should send it to the project leader. This is a very important step, because it is the only way to distribute your files! The files, as they are created by DEdit, will work on your PC only, until they get a verification by one of the project leaders.


Do not share your databases or put them online! The concept of TeamWare is, that all are building together and that there is a central part, where all work is combined into the product. This place is exclusively the homepage of the project. Please link to the page, but do not provide direct downloads, nor links directly on the files of the page.