This information was posted by Brian Reynolds some time ago. Here is the text of that post and some comments on it. It makes interesting reading but if you can't be bothered just skip to the end for conclusions.
In a multiplayer game, if one or more players uses the skill column to announce a higher skill level (e.g. Skill + 5), then other players in that game with a lower skill level (or no announced skill level) will normally receive a handicap.
Handicaps range from level 0 to level 20. Once a player's handicap level is determined for a game, the player receives the following advantages:
Faster resource gathering per level of handicap. Level 20 means resources gathered twice as fast.
Faster unit creation per level of handicap. Level 20 means units created twice as fast.
Faster research per level of handicap. Level 20 means technology researched twice as fast.
Additional national border strength:
+1 for handicap 2-6
+2 for handicap 7-11
+3 for handicap 12-16
+4 for handicap 17-20
This is the simplest case. The player with the lower skill level receives a handicap equal to the difference in the two skill levels (a skill level of "Normal" counts as Skill +0)
.
The next simplest case; each player's handicap is computed by comparing his/her skill level to the skill level of the highest ranked opponent, and then dividing by one less than the total number of teams/sides in the game:
handicap = (skill_of_best_opponent - my_skill) / (number_of_sides - 1)
So if my skill is +2 and my highest-ranked opponents skill is 14, and there are 3 players in the game, my handicap is (14 - 2) / (3 - 1) = 6.
Because team dynamics work differently and a highly skilled partner often compensates for a lower skilled partner, each player's personal handicap is based on a team component and a personal component:
highest_skill_sum = Sum of the skills of all players on opposing team. If there is more than one opposing team, team whose sum is highest is used.
my_team_skill_sum = Sum of the skills of all players on my team
team_handicap = (highest_skill_sum - my_team_skill_sum) / members_our_team
personal_handicap = (skill_of_highest_ranked_opponent - my_skill)
handicap = (team_handicap + personal_handicap) / 2;
Compute handicap as in a Team game, and then divide by one less than the total number of teams (as in Free-for-All games)
When more than one player is controlling the same nation, do the same calculations as in the examples above, but wherever a skill score is required substitute the sum of all the skills of players for that nation plus the skill of the most skilled player of that nation added in a second time.
coop_skill = sum_of_player_skills + skill_of_most_skilled_player
This number is then used to calculate the handicap for each nation using either the Two-Player, Free-for-All, Team Game, or Team Free-for-All formulas above.
When "random teams" are selected and two or more players have announced higher skill levels, an effort is made to split highly skilled players between different teams. Some additional randomness is introduced into this process, however, particularly if the skill levels are close. Each nation is assigned a skill weight as follows:
skill_weight = handicap*10 + rnd(50)
Then the two highest-weighted players are split onto different teams (or if more than two teams are being selected, the three- or four- highest-weighted players). Then the next two (or three, etc) players are randomly assigned to each of different teams, and so forth until all teams are filled.
Brian Reynolds
There are a few things to note about this information. Here is my take on it all.
To put it another way. Each point of handicap you have gives you a 5% increase in production rates, unit production speeds and research speeds. It's also nice to know that there is a border pushing effect.
Now this is the real surprise from these formulas. It is generally believed that the handicaps work the way the 2 player system works. i.e. that it's just a simple difference.
This is not the case, BHG have assumed that multi-play has a big levelling effect on player abilities. Perhaps they assume that, in a FFA, the weaker players will gang up on the stronger player dispite the handicap awarded. It is also stated that a strong player on a team will compensate for a weaker one, and hence they then effectively half the handicaps that you would expect, placing far more onus on the stronger player to support the weaker player.
I'm not sure I agree with this. In a 2v2 game where you have one strong player, who you would normally give +8 to, the effective boost on the opposing team will be +6 while the strong players team mate will get nothing. So in this instance the better player has to do far more work than you might expect.
Here are some example team and FFA games and how they work out.
Teams (Top v Bottom)
Free-For-All Games
Quite tough going for team 1 as both team 2 get a good bonus but the weak team 1 player gets nothing.
The single good player should be able to defeat either player here as each is on half the bonus they would be in a 1v1 situation.
Large numbers of players really work in a good players favour as each of the weak players get a smaller proportion of the bonus.
The situation gets more extreme in larger team games.
The addion of a second good player into the FFA does nothing to improve the lot of the weak players, now they surely have even less chance.
Slpitting the better players between the two teams balances things up a lot more though there may still be balance problems.
Now this is interesting as the overall team bonus seems right but the lowest player does not receive all the boost, some goes to his good teammate.
And the clincher! This is just not fair on poor rookie player 4.
This is a nice feature as it uses the declared handicap as a seeding factor to assign the better players evenly even if they are handicapped. However, I feel the random factor is far too large. Most handicaps I have seen are in the range of a bout +3 to +6 so using the formula stated the random element will be equally as big so a weak player can randomly be chosen to oppose a strong player on the other team, there is a +5 skill margin of swing.
I would recommend a suitable handicap for inters playing against rookies is of the order of 4-8, good players playing inters around 3-6 and good players playing rookies around 9-12. Higher skill levels should only be used when starting off a new player who should improve rapidly. Skill settings of +1 and +2 are handy for tweak balancing players that know each other well.
For team games and free-for-alls, it depends on if you agree with BHG's assessment of multiplayer interaction. If you accept it completely then just use the normal handicaps that you would think apply to a two player game.
However, if you don't then there are some adjustments that you may want to make.
Scenario One: Team game with one good player. The team with the rated player seems to have a hard time, I would consider using a lower skill on that player than you would normally do. This also applies if there are several rated players on a single team.
Scenario Two: Team game with several good players split between the teams. The differences are close and seem to work well for what BHG have in mind. Just go with what you would normally expect.
Scenario Three: Free-for-all. This is a weird one as it seems that the best player gets a big break here as all bonuses seem to be greatly reduced. BHG really assume that the weaker players will gang up on the stronger and that it won't be a true FFA. Assassin games would be very good for the better players and my experience backs this up. I would suggest that you increase any handicaps significantly up to a maximum of double for a 3-way or triple for a 4-way etc. Doing this will restore the expected handicaps and discount any effect BHG assume. I would suggest that a halfway house is worth considering first though.
I think half of the problem is that the boost is calculated by some formula derived from stronger players. BHG assumes that mixed ability games will be played with the odd good player. It's frustrating to play a six player game with one weak player and five strong players, particularly when the formulas are not entirely predictable. You have to get all five good players to set high skill levels to balance for the one weak player.
It would be far simpler if a weak player could simple select a bonus as well as allowing the strong players to take skill setting. In the example of five good players and one weak player, the weak player could simple select a +6 bonus.
I think BHG tried to be too clever with the handicapping. Whatever formula you use the system fails because the players have to select their own and they won't understand the rules to enable them to balance it; especially when these rules change per game type. I believe BHG should simplify the system by just allowing weak players to select a bonus and do away with all these invented calculations.
I noticed that the formulas presented here are are in a style consistent with use of the C programming language in the late 1980/early 1990s. I assume from this that they used C++ to write RoN and that they are fairly aged programmers. There is also the possibility that the formulas presented here are actual game code snippets.