by Mark Morrill

Town Generator

Installation

To install, simply drag the application, Town Generator, to your Applications folder or to where ever you want it.

About

Town Generator makes whole communities of NPC's (Non-Player Characters). In your town, you'll know how much gold is available, how many commoners, how many Elves, how many and what kind of powers, and much more.

When your community is populated with NPC's, you'll be able to give them names and provide text/images for them. You'll also be able to add text for the powers too.

General

Under the General tab, you can set the town's name, population, Captain of the Guard, and the population's alignment base weights.

The Reroll buttons allow you to randomly determine what

The random population will tend towards the low end of the town size range. You can also manual pick or enter these values.

The full-time guards is the number of people from the community that will fill that post. The local militia are people from the community that can be called to arms in short notice. The ready cash is the total cash that can be pulled together in the town. The GP Limit is the maximum value of anything found in the town. Non-adults is the number of, well, non-adults.

The unassigned population are the number of 1st level NPC type classes.

The Community vs Alignment boxes show the base weights used to randomly determine the alignment of each randomly assigned NPC. Because the numbers are weights, if they are the same then the NPC will have an equal chance to be of a particular alignment. The larger the number, the greater chance that alignment will be randomly determined.

Alignments are determined according to the axis they belong in. The axis are Good/Evil and Law/Chaos.

The Community vs Gender provides the base weight for an NPC to be male or female. If the two values are equal then there will be an equal chance for either gender.

Power

Power give an indication on who controls what happens in the town.

Type

The type a general description of the power.

Alignment

The alignment of the power. This isn't necessarily the alignment of the town.

Clicking Reroll will determine the powers randomly based on the town's size. You can also click Remove or Add to change the listing of powers.

For each power, you can add text and images in the space to the right. You are also not limited to what types of powers you can have. For example, instead of simply "Monstrous" you can write "Hag Coven" for the type.

Race

With this tab, you can determine the statistics used to determine the race of the randomly assigned NPC.

Race

The name of the race.

Weight

Weight doesn't say anything about how much the race weighs. Rather, this is the statistical weight of the race. It provides the chance of the randomly assigned NPC being that race.

Number

How many in the population are that race.

Assigned

How many NPC's are that race.

The race table can be filled with predefined demographics by making a selection with the popup button labeled "Predefined demographics". Remove or Add buttons are used to add edit the race table. You are not limited by what sort of text you can use for the race name. You could have a town filled with Trolls and Ogres if you wish.

Normalize Weights will make the weights in the race table add up to 1000.

Apply Demographics will apply the designed demographics to the population. If "Use Percent as Racial Probability" is check, then the process will be random. Otherwise, the numbers will be proportional to the weights.

Census recounts the NPC's to find out what the actual race and class numbers are.

Race vs Class

Not likely will you find a Half-orc Paladin or a Gnome Barbarian. But you will likely find Dwarven Fighters. This table sets up a matrix to help make random but reasonable races and classes for the randomly assigned NPC's.

Class

The name of the class.

Adjustment

The percent adjustment for the combination of race and class to the weight. 100 means no change. Less than 100 means more rare and more than 100 means more common.

Race vs Alignment provides a weight multiplier to the community alignment weights. The larger the number the more likely that race will have that alignment.

Race vs Gender provides a weight multiplier to the community gender weights. Unlike the Race vs Alignment box, these numbers are not integers.

Class

This is a listing of all the classes that can be randomly assigned or used in the town.

Class

The name of the class.

Min Level

The minimum level that will be automatically generated for this class.

Rolls

How many times the die will be rolled.

Die

How many sides the die has.

Priority

Classes with the higher priority get assigned first. As NPC's are randomly rolled up, they are assigned to a racial group and pulled from the population. For low populations, you can run out of members to draw from. The priority determines which classes to assign from first.

Assigned

How many NPC's are that class.

The class table can be filled with predefined classes by making a selection with the popup button labeled "Predefined classes". Remove or Add buttons are used to add edit the class table. You are not limited by what sort of text you can use for the class name.

Checking "Barbarians are more common" or "Monks are more common" will double the number of sides used for their die.

Class vs Alignment provides a weight multiplier to the community alignment weights. The larger the number the more likely that class will have that alignment. If "Must be one of NG, LN, NE, CN, or Neutral" is checked, then that race will conform to that. This will automatically be checked for Druids.

Class vs Gender provides a weight multiplier to the community gender weights. Unlike the Class vs Alignment box, these numbers are not integers.

NPC

The last tab is where all the NPC's are listed.

Level

NPC's level

Class

NPC's class

Race

NPC's race

Law/Chaos

Law to Chaos alignment of the NPC

Good/Evil

Good to Evil alignment of the NPC

Gender

The gender of the NPC. This isn't presented as a popup menu so that you can edit this value to whatever you need for your town.

Name

The name of the NPC.

On the right hand side is an area where you can write notes and paste pictures for the NPC.

The Reroll button is enabled when the population is locked. When you click on Reroll, the NPC table will be filled with randomly generated characters. You can edit the table with the Remove and Add buttons. Census will recount all the NPC's and adjust the population of the unassigned classes as well (from the General tab).

Export

Exporting is a new feature in 1.1.2.

You have the option of exporting as HTML or Text. Both formats export only General Information, Power, and NPC's. The information in the Power and NPC tabs will be exported with the same sorting as you see in the tabs. Thus, if you are not happy with the sorting in the exported document, check the sorting in the tab and adjust.

Town Generator exports as UTF-8.

Future

All the text and numbers used to generate the lists are pulled using the user defaults system with Cocoa. What I want to do next are the preferences interface so that you can edit these values easily.

Another feature I want to do is to extend the definition of the NPC to calculate abilities, skills, items, etc automatically. I also want to add a random name plugin.

Bugs

Bugs? What bugs?
Actually, this software is quite untested.
Please test it and send bug reports to me.

Copyright

Town Generator is ©2005 Mark Morrill. All Rights Reserved.

Licensed under Open Game License