ChunkyDev/ChunkyVillage — Issue #5: Refined Town Influence Calculation
Author: tubbytoad42
Created: 2011-10-28 01:23:30+00:00
State: open

Would it be possible to change the town influence calculation-the following calculation would be good for both encouraging people to expand towns as well as keeping a competitive way to encourage people to keep their influence high. Before I start explaining, I will define some variables that I will be using in my examples.

"t" is the town's influence value
"a" is the average of all of the town's resident's influence value
"m" is the configurable multiplier
"c" is the number of chunks the town has available.
"b" is the number of base chunks (will always be 1 for the examples)
"i" is the chunks-per-influence value in the config (will always be 1.0 in these examples)

Also, some config options will be used for example purposes as well throughout this post. Please note that these are only for an example purpose.

chunksPerInfluence: 1.0
baseChunks: 1.0

--------------------

From what I understand and I have seen is that the town's influence is calculated by this equation:

t=a

The way the chunks are calculated for the town:

c=t*i+b

The problem with this system is that it encourages people to have 1-person villages in order to get the most chunks. If you were a player with 120 influence, why would you bring in a player with 40 influence if it will bring down your "a" value significantly (and in turn reducing the town influence).

Now, let's assume that the proposed multiplier value (m) is added in the config. the config could look like this

Group 1:
numRes: 1
multiplier: 0.1
Group 2:
numRes: 2-5
multiplier: 0.5
Group 3:
numRes: 6-10
multiplier: 1.0

[etc.....]

Both of the options for each group, especially the multiplier, should be configurable if possible.

Now, if the following equation is used for finding the town influence (t) value, then it will encourage people to add more to their town.

t=a*m

This allows the town influence (t) value to be boosted significantly if the town has more players. Now let's calculate the value of the town influence (t) for each of the groups mentioned in the example proposed config above. Let's assume that the average influence value (a) of each town is 20.

Group 1 towns (1 player): 2

Group 2 towns (2-5 players): 10

Group 3 towns (6-10) players: 20

As you can see, even though their average town influence value (a) is the same, each town has a more appropriate town influence value (t) according to their population. the calculation mentioned above (c=t*i+b) would be used to calculate the chunks used.

Group 1 chunks: 3

Group 2 chunks: 11

Group 3 chunks: 21

[Again, this is used using the previously mentioned config values-these could change drastically depending on the config values]

Now, let's compare the amount of chunks per town is while using each system:

Towns with 1 member (group 1):
-Current system: 21
-Suggested system: 3

Towns with 2-5 members (group 2):
-Current system: 21
-Suggested system: 11

Towns with 6-10 members (group 3):
-Current system: 21
-Suggested System: 21

Now let's add a group 4 that has the following config options:

numRes: 11-15
multiplier: 1.5

The value would look like this (again, assuming the town's resident's average influence is 20):

-Current system: 21
-Suggested system: 31

[Again, all of the calculated chunks values (c) were calculated assuming the previously mentioned config options ass well as every town have an average resident influence value (a) of 20.]

As you can see, the suggested system heavily encourages people to "group up" and get more people into towns, instead of a slew of 1-person towns on the server. Let me know what you think of the suggestion as well as if you need an clarification. thanks for reading :)