Documentation version 1.0 , 2003-11-01
TavernMaker is random generator that creates its output by randomly selecting items from databases. Those databases include the actually displayed information as well as some flags, which tell the program under what circumstances an entry might by chosen. By a combination of such flags, it becomes possible to generate text output which ‘fits’ to the generated map and the chosen settings. Because of this, TavernMaker is as good as its databases and it is up to you (and the users in general) to provide the quality-databases. We worked a long and hard time to provide you with a most convenient tool, but the actual creativity and quality comes from the users. So, if you want to help the project as a developer, you need two things: · a creative mind to produce good datasets · a little training & reading to produce correct datasets I can not help you with the first one, but I hope I can give you help on the second point by this documentation and the tutorials. If you feel like going to work straight, it should be enough to follow the tutorial 1. This should enable you to write your first databases and some of you will never want to go any deeper. |
Still here? Good! If you want to become a real developer it is necessary that you understand how TavernMaker works. I am trying to explain it as simple as possible here, but it is a complex program. |
It might help to have a look at the following scheme while reading on. It gives you an overview on how TavernMaker generates its output and how the different tools cooperate with TavernMaker. TavernMaker gets the
following inputs from the user:
This information is used
in a first step for graphic generation. A certain basic layout (template)
which fits to the settings is chosen and icons (tables, bars etc.) are placed
on it. From the fully generated floorplan, TavernMaker gets some additional
information:
TavernMaker now runs through
the list of populated objects. For each object it filters the database,
dropping all "incorrect" sets. It checks:
From the remaining sets,
one is randomly chosen. (And then deleted from the database.) The procedure
is repeated until all populated
object have a description. In a final step, each
chosen description is used to create the "pickpocket list". Each
description has a "PPL"-part which describes, what items can be
"stolen" from that table. |
Descriptions need a lot
of flags marking some additional information used by the generator.
To create reasonable results it is very important to set those flags properly! The flags of a description are:
I will give some examples, to show you how a description should match with its flags. |
“At this table sits an
elf together with a dwarf. They are talking about a sea-journey, they will
start tomorrow.” item type: table tavern type: harbour tavern wealth: 0 (all) distance flags: none race flags: elves (1) , dwarves (1) “At this table sits an
old merchant and warms himself at the nearby fire. His clothes seem expensive
and he carries a lot of jewellery.” item type: table tavern type: all wealth: 7 (rich) distance flags: fireplace race flags: unknown (1) “In the corner of the
room, partly hidden in the shadows, sits a figure completely dressed in a
robe. You can only see the bluish eyes from within the hood. The girls of
this place avoid his table.” item type: table tavern type: night bar wealth: 0 (all) distance flags: corner race flags: unknown (1) |
As TavernMaker grows with each new entry in the database and all users are building it together, it is sometimes important to stick to rules or conventions. New ideas and addons will make things more and more complex and it would be impossible to update the documentation all the time. Therefore, it is very important that you keep in contact with one of the project leaders, when creating databases. Discussions and additional information can be found at the TavernMakerFeedbackForum. |