First I'll try to explain what I said, then I'll try to relate it to town making.
Suppose that the probability of something depends on 2 other things. Lets represent those 2 things as A and B. The probability we are calculating will be called X.
Now imagine a graph where 2 axis are labeled A and B. Let's call left/right on the graph to be A and lets call towards-us/away-from-us on the graph to be B. The height of the graph will be called X. For every point (A,B), there is a height of the graph X. This graph is many times called a surface plot because you can visualize it as a surface. Imagine a sandbox on top of graph paper. There is a distance in squares left/right and forward/back. At every distance, there is a height of the sand.
Thus I can figure out a formula, and plug A & B into it and get out an X. Then I roll a die and see if I'm equal to or less than X. If so, then yes that feature or attribute is present. Otherwise it's missing (in a simple boolean case).
Now lets relate that to a town, before we go on to 4 dimensions.
Suppose that the richer a town is, the more likely that they have spent the time and money to build city walls. This is variable A. Town wealth.
Suppose that the bigger a town is, the more likely that they have city walls because they have more people contributing money & time, and also because it's been there longer so they had more of a chance to do it. This is variable B. Town size.
Lets call X the % chance for town walls to be present.
Thus: X = f(A,B) where f() is a formula (technically called a function) that I came up with to give me the right answers.
So I take the size and wealth, plug them into the formula and get a number back. Now I roll a die (randomize a number). If RandomNumber <= X then Presto! There are town walls.
But now suppose that people who live in a very civilized area are less likely to spend that time and money than people who live near the wilderness. Crap. Now we have another variable. Lets, call it C.
Thus now it's: X = f(A,B,C)
But now I can't just visualize that easily, like before. Since you can't make a sand table to represent it. So now it's much harder to come up with the function f.
Suppose that the function is: X = f(A,B,C,D)
Now I'm pulling my hair out. That's hard to figure out!
So what I do is if both C and D are low, then I use one f(A,B). If they are both high, then I use another f(A,B). If one is high and the other is low, then I use another f(A,B), etc...
So I make 3 easy functions instead of 1 really hard function. This isn't as good as a real 4 dimensional function though. Because now there are only 2 values of C that matter. Is it high or low? Same for D.
Does that make sense?
Now consider the f(A,B,C) that comes up with the proper (just a guess on my part) chance of a town militia being present. Will that be the same f(A,B,C) for a volunteer police force being present in d20 modern? Most likely not. That's what I was getting at.
Now there are problems with this system. Sometimes you roll a 1 three times in a row and you get some wacky result. Such as a large rich city in the wilderness with no city wall. So you gotta try to limit and bounds check things also.
Is the formula that I came up with to create the number of churches correct? I don't know. But after much playing with it, it seems like it's putting out reasonable numbers (to me). That's one of the other things I wanted feedback on with this beta. So far I haven't gotten ANY answers on those subjects. Possibly because those are the really hard questions. But since I haven't gotten any complaints either, I assume that most people are happy with what it's putting out.
Walter