What I've built kind of matches distributions such as this, but in general the higher levels are much rarer in my system. That's not a bad thing, necessarily, but it might require some fiat to address the issues I talked about here.
Right now, I have two types of population divisions, and I'm not sure which one to use. The first is the population of the local hex. The second is the hegemonic population of any hex that relies on the central hex for markets or connections to the trade network. This is important, because you might regularly encounter people from a day's journey down the road doing business in the city. Due to the way the math works out, it's not as simple as just adding the numbers; essentially, the density changes the demographic distribution (which makes sense).
Either one is easy to implement. But I think, since these are essentially customized encounter tables, that I'll stick with the local hex, which is still a large area.
I'm going to use an exponential distribution to model the percentage of each population at each level. Then I can just multiply by the total population.
\[P_\ell = {1 \over \sum_{n=0}^{20} {1 \over k^{n - 1}}} k^{1 - \ell}\]
where $k$ is the shape constant (I've experimented and I like the results at $k=3.039$) and $\ell=0\to20$ is the level in question.
I like this because it gives percentages and not cut-offs (which are always a good idea to avoid). For example, a tiny village of 500 will probably not have a retired 14th level fighter...but out of 17,083 such villages, one will!
Obviously this is more detail than a simple 1d100 can provide...you could use a couple of them to simulate 1d1000000...or you could just use a damn computer already. Here's a table anyway, but feel free to roll your own numbers. This is easier to implement in Excel than some of the things I've talked about.
I don't particularly like that there would only be one Level 20 in our own world. But that's the way the distribution crumbles. However, as I mentioned before, fiat can still be used when necessary. Even though I don't like using fiat.
Nicely done
ReplyDelete