RPSEdit – Role Playing System Editor

Documentation version 1.0 ,  2003-10-19



RPS Interface

How to create a RPS

Contact information


RPS stands for Role-Playing-System and RPS files are configuration files for TavernMaker.
What is governed by a RPS? The RPS sets a lot of interface parameters of WinTavern.
The most obvious ones are the Tavern Types, the Occupants and the Size entries, which change
the interface of WinTavern. The Graphic Path tells the programs where to search for graphic
files, the Database Path where to find the description databases. The Display Name is simply the
name of the RPS shown in all programs of TavernMaker. The Bitmap sets the small icon which is
shown in WinTavern when the RPS is selected.

However, the RPS also sets some rules for generating purpose, such as Race-Groups which groups
different occupants together according to some 'common atribute'. The Neighbour Distance,
which defines what the program considers as "near" or the Possible Map Items, which tells the other
editor applications about possible flags in the specific template. The possible PPL items govern what
“$Direct” command options appear in DEdit and the Currency defines the money system.
Background position and scaling manages how TEdit draws its templates. The size text/special type
shows the text shown in the “size” setting of TavernMaker.
Finally, one can define several Scripts which are run before and after the different generating steps.

How to create a RPS

Before you start out creating a new RPS file you should at least have a basic understanding on
how TavernMaker works
. As creating new RPS is also a very fundamental thing in the project, you
should also contact the project leader and tell him about your plans before starting out.

What am I going to create?

In all three cases you need to be aware of the following:

  • A new RPS only works with its own set of databases! The tavern-types, occupants and mapitems defined in the RPS are the parameters which TavernMaker looks for in the databases when creating the output. So, if you define things, which are not availble in a database or template you will simply get nothing!
  • Before creating the RPS file create a subfolder in the TavernMaker's systems/graphic folder! Create the same subfolder-structure as in the common folder too!
  • Before creating the RPS file create a subfolder in the TavernMaker's systems/databases folder!

I want to translate TavernMaker to another language, but the maps look fine

Great! Because in this case you don't need to do many things. I could go on and explain to you, what steps in general you should take and what pitfalls you have to be aware of. I am not. The reason is simple: It's easier to contact me and tell me you want an RPS for your own language and then let me do the work. By doing so, you save time and I save the troubles of writing a long explanaition plus answer hundreds of questions which for sure would rise because of some differences.
My suggestion: Open TavernMaker with the (English) RPS of you choice. Note down the English words that must be translated (Tavern-Type , Races , name of special item ("table") and send me an email with a table of those words plus their translation. I fix the RPS and send it back to you.
One note: Creating a new language for TavernMaker is not only achieved by writing a translated RPS! Someone (you!) will have to write a complete new database of descriptions, too! So if you intend a new language - start finding people willing to share your efforts!
(contact information)

I want to adapt TavernMaker to my own system, but it should still generate taverns and the maps look fine

Fine, another system to be added. Lets have a look what is needed to be done.

In the first part of RPS-Edit you change the TavernTypes. As you wish to keep the whole map-generating "standard", you need to use the same "standard" definitions here! If not, the program won't find the necessary files. The standard TavernTypes are (don't change the sorting!):

  • local tavern
  • city tavern
  • travel tavern
  • harbour tavern
  • bar
  • restaurant
  • night bar

If you want to have other names displayed (maybe in another language), you could do so, but be sure that your taverntypes are ordered the same way! No matter what you call your first "taverntype" (f.e. "Serpents Nests" instead of "local tavern"), when selected in WinTavern the program looks for those templates, which were intended for "local taverns".
Actually TavernMaker selects its templates either by the name itself or by a number in the first position of the filename. If the setting in TavernMaker reads "city tavern", the program checks the templates folder of the RPS and the template folder of COMMON for all templates with a filename that starts wit "city-tavern_" or "2_" or "all_" or "0_". The zero and the "all" name define templates which can be used by all settings.

The second part of RPS-Edit is of more interest. In the Occupants-field you more or less define "your" system, because here you can create different "races" or "classes" you want to have separated in your system. Make up your mind, before filling this field! Which races should be differed between in your system? Will they be discernible in the descriptions too? (It won't help to create occupants like "Northern man" and "Tropical man" if you only create descriptions with texts like "A human sits next to an elf and...". It may also be a good idea to leave one entry for "special" guests, so that one can always create descriptions, which don't fit into the strict rule of your other races. Remember: Each "race" you define here will get its own "slidebar" of how likely it is in WinTavern.
The "groups" allow you to create groups of races which share some atributes. Those groups will only be handled internally in the program. They are needed to be able to create descriptions with "one unknown of that group" e.g. "a magic user", if only some of the races listed may be magic users.

The third part (Size) is easy: Type in "tables" or an equivalent term in the "size text" field and define the "smallest" and "biggest" tavernsize by setting min to 1 and max to 50 (those are the standard values, and you use standard graphic output)

The "graphic path" and the "database" should speak for themselves. Here you choose the proper "subfolders" of your .../systems/grafics and ...systems/databases path. Remember that I asked you to create that subfolders before writing the RPS? Now you see why: You can only "select" a folder, which is already created!

The "display name" is the name which should be listed in TavernMaker as synonym for your system. Choose as you wish.

"possible map items". Okay, this is important once more. You use standard graphic-output, therefore you once again have to keep to standard definitions. The order is unimportant this time, but make sure you add exactly the following objects:

  • *TABLE
  • WALL
  • BAR
  • DOOR
  • GAME

Objects you list here can be used as "flag"-objects. Those "flags" are used to determine which descriptions can be chosen by the program. It's simple: The map generates tables and checks, which other objects are near. If, f.e., the table is near a fireplace it gets the FIREPLACE flag.
Descriptions, on the other hand, have flags, which tell which objects have to be near for usage of the description. A description "On the table next to the fire" would get a FIREPLACE flag too. Now this set can only be chosen for tables which have that flag too.
Simple, isn't it? But keep it in mind! You can add up as many flags as you wish in your sets (those entered here are just the standard ones, which can be used by selecting in the editor instead of typing), but if you, f.e. use the flag "fountain" in your set, this set will never ever show up, because there exists no "fountain" object in any of the templates! Therefore no table will ever be near a "fountain" and the description will never be used...
Now you see, why you need the English objects as written above. Those are the types that are used in the general templates! So even if you are making another language version, write TABLE because TISCH (German) wouldn't be recognised as long as there is no TISCH type in the templates! (And the common templates are English). To overcome this problem, it is possible to define an alias-name after the object type in {} brackets, e.g.

  • WINDOW {Fenster}

The program will always display "Fenster" but it will use WINDOW internally. One of the typed obejcts starts with a * star. For taverns this is always the TABLE type. The star marks the 'special' object of maps. Objects of that type define the 'size' of the template.

The "neighbour distance" tells you what distance in cm (real) TavernMaker considers "near" an object. Write 150cm in the field for standard maps.

Now to the "possible PPL items". Here you define simply some lines which will show up as drop-down in DEdit for the $Direct command. It is a good idea to create some lines for "simply coins" in here, e.g. "%i silver coins".

"comments": Use the comments to enter some comments as you wish. Author name & creation date are added automatically.

"Scripts...": There are several scripts executed while generating the taverns. If you do not know what the mean, leave the fields empty.

"Currency..." Here you define the mony system of your world. Define all new units in terms of "smallest units" in the multiplication factor.

"Wealth:" Here you define which "price classes" will show in WinTavern and how the different wealth leaves are mapped. If you head for a standard tavern fill it like the following picture suggests.

"Bitmap": Select a 70x70 pixel bitmap (*.bmp) stored in the .../systems folder, if you want to have it displayed in WinTavern when your RPS is selected.

When you finished your RPS use the "save"-button to save it into the .../systems folder.

I want to create something completely new. New maps, new descriptions. Its not even going to be a tavern

So you are heading for the whole thing! Great, but be aware that a lot of work is waiting for you: You have to redo everything: A RPS to define your system, several templates to create a variety of "generating possibilities" for maps. A lot of icons to be used in the templates, a lot of databases for the text generating...

It is no easy task, but if you do it properly, you generate a complete new "generator" after all, which uses "TavernMaker" only as very generic generating tool!
If you are really going through all of this, I highly suggest the following:

  • contact the project leader and tell him about your plans! A lot of work needs good coordination and he can surly help you with a lot of things. (Plus he loves feedback *g* )
  • make sure you understand how TavernMaker works. You need to know the way the algorithm works to produce a sensefull add-on for TavernMaker
  • Because of point #1 and #2 you will understand that I am not going to type the whole "what to do" procedure here. Contact the project leader!