PDA

View Full Version : [3.5]Demographics



F.L.
2008-12-12, 09:54 AM
I recently made a spreadsheet file that computes the number of NPC's in a town you would generate via the method outlined in the DMG. It doesn't actually generate them (since in a metropolis, that could be as many as 88000 of them), but I did get some interesting results.

1. Assuming the lowest populations of a town, NPC's with class levels can make up more than 100% of the population if a town rolls well in Thorpes, Hamlets, and Metropolises.

2. It is possible to encounter L. 13 commoners, druids, and L. 10 rangers in Thorpes, and in Hamlets. When this occurs, you have a plague of lesser druids and rangers infesting the settlement as well.

3. Leveled commoners can make up 20-60% of the population. Experts: 10-30%.

4. In a metropolis, the best commoner could be level 28. The best expert could be level 24.

Now, that raises an interesting experiment. With epic feats, is it possible to counteract any of the badness that is a level 28 commoner or level 24 expert?

Sstoopidtallkid
2008-12-12, 09:57 AM
I recently made a spreadsheet file that computes the number of NPC's in a town you would generate via the method outlined in the DMG. It doesn't actually generate them (since in a metropolis, that could be as many as 88000 of them), but I did get some interesting results.

1. Assuming the lowest populations of a town, NPC's with class levels can make up more than 100% of the population if a town rolls well in Thorpes, Hamlets, and Metropolises.

2. It is possible to encounter L. 13 commoners, druids, and L. 10 rangers in Thorpes, and in Hamlets. When this occurs, you have a plague of lesser druids and rangers infesting the settlement as well.

3. Leveled commoners can make up 20-60% of the population. Experts: 10-30%.

4. In a metropolis, the best commoner could be level 28. The best expert could be level 24.

Now, that raises an interesting experiment. With epic feats, is it possible to counteract any of the badness that is a level 28 commoner or level 24 expert?Expert has UMD as a class skill. There are a lot of exploits using a check that high.

Prometheus
2008-12-12, 11:38 AM
I haven't looked at the demographics table in detail, but just thought I might add that if you are getting funny results you might want to check the spreadsheet is calculating what it should be.

Draz74
2008-12-12, 01:27 PM
1. Assuming the lowest populations of a town, NPC's with class levels can make up more than 100% of the population if a town rolls well in Thorpes, Hamlets, and Metropolises.

Clearly, we have here the in-game explanation for the existence of Gestalt. "How'd you get to be a Sorcerer//Rogue?" "Huh? Oh, well, I just came from a thorp where statistics demanded another Sorcerer, and another Rogue, and I was the only guy left ... and I was only Level 1 ..."

jcsw
2008-12-12, 01:33 PM
So, DnD's method of generation is unrealistic, what's the news, exactly? :P

Tacoma
2008-12-12, 02:34 PM
The answe might be to add checks along the way and stop rolling for new character generation if you hit the population. Something like this pseudocode:



When you input a max population and hit generate:
IF we don't have a Population value or the value is zero
Set pop to zero
Set max pop to the number input for generation
Roll up a character
Start generating again from the beginning
ELSE
IF pop value is equal to or above max pop
Set pop value to zero
We're done! Stop the program.
ELSE
Roll up a character
Start generating again
ENDIF
ENDIF


I'm sure everyone can do that much better than I can of course.

The next step would be actually generating the characters and choosing their role in society. So not just an Expert, but a Blacksmith or a Merchant.

Maybe add a region type and economic prosperity level so you can assign people as unemployed or certain kinds of farmers or whatever.

Could probably do it in Excel.

EDIT: I'd probably also want to add a popup after every 100,000 characters generated to ask if the user wanted to stop the program, continue normally, or continue without asking again this session. Just so infinite recursion would have a manual override.

RS14
2008-12-12, 03:11 PM
The problem, I believe, is that you're treating the population as independent of the specific characters in the settlement. It works fine for large settlements, but doesn't hold in the smaller ones.

I've got no problem with high-level characters in thorps. That's just what the PCs are. Perhaps a druid or ranger made the settlement his base of operations. It has to be somewhere.

Fax Celestis
2008-12-12, 03:15 PM
Use Box Of Flumph (http://about.redblade.org/boxofflumph.php)!

Tacoma
2008-12-12, 03:17 PM
Use Box Of Flumph (http://about.redblade.org/boxofflumph.php)!

This thread is relevant to my interests.

Gralamin
2008-12-12, 07:58 PM
The answe might be to add checks along the way and stop rolling for new character generation if you hit the population. Something like this pseudocode:



When you input a max population and hit generate:
IF we don't have a Population value or the value is zero
Set pop to zero
Set max pop to the number input for generation
Roll up a character
Start generating again from the beginning
ELSE
IF pop value is equal to or above max pop
Set pop value to zero
We're done! Stop the program.
ELSE
Roll up a character
Start generating again
ENDIF
ENDIF


I'm sure everyone can do that much better than I can of course.

The next step would be actually generating the characters and choosing their role in society. So not just an Expert, but a Blacksmith or a Merchant.

Maybe add a region type and economic prosperity level so you can assign people as unemployed or certain kinds of farmers or whatever.

Could probably do it in Excel.

EDIT: I'd probably also want to add a popup after every 100,000 characters generated to ask if the user wanted to stop the program, continue normally, or continue without asking again this session. Just so infinite recursion would have a manual override.

Thats Iteration, not recursion, with your current pseudocode algorithm at least. You could make a recursive alogrithm, but I doubt it would be very elegant in this particular fashion.

Yahzi
2008-12-12, 08:10 PM
is it possible to counteract any of the badness that is a level 28 commoner or level 24 expert?
A 28th level commoner is still a CR 26 encounter. And yet, he hits like a little girl. This means that every high-level commoner in the world has already been sought out and killed for his tasty XP (made even tastier by his total helplessness!).

I replaced the 3.0 XP table with the 2.0 one. That is to say, the XP you need doubles with every level. This produces a lot less high level NPCs, which helps makes a medieval society actually possible.

I also have some very detailed equations on demographics, which are specific to my peculiar world. :smallbiggrin:

Tacoma
2008-12-12, 08:14 PM
Thats Iteration, not recursion, with your current pseudocode algorithm at least. You could make a recursive alogrithm, but I doubt it would be very elegant in this particular fashion.

If I had defined the process before the first IF as (generation) and then called (generation) instead of saying "start generating again" I would assume that would be recursion. As it is, I didn't label this function as a function at all.

Pseudo. :P

F.L.
2008-12-13, 10:44 AM
For everyone questioning what algorithm I used, I converted the recursive algo in the DMG into an explicit one.

1 level x NPC generates 2 at level n-2, who generate 4 at n-4...

becomes

2^(round(n/2))-1 NPCs. The formula is shifted from n to n-1 for NPC classes, since those don't generate level 1 NPCs. Summing those functions for the set of all generated NPC levels gives me a quick estimate of NPCs with levels in a town.