All things BZFlag - no [OT] here please
Private First Class
Posts: 12
Joined: Tue Jun 10, 2003 4:05 am

I think the CTF ladder equation is a good attempt to emphasize flag capturing over kill ratio. But, looking at the equation, it seems like there is a problem with it when the teams are uneven (go ahead, look at the equation, it won't hurt).

For the sake of argument, let's say that the "diff" variable comes out to be 10.0 (which it would be if both teams have neutral scores). The problem for me comes in when there are uneven teams. For example, if a 3-person team (Team3) takes the flag of a 2-person team (Team2), then everyone on Team3 will earn 3.33 (10/3) points and everyone on Team2 will lose 5.00 (10/2) points. That doesn't seem right. The members of Team2 shouldn't lose more than the members of Team3 just because they are at a disadvantage should they?

Similarly, if the short-handed team, Team2, wins, they would get 5 points and the other teams would only lose 3.33 points per player. It seems to me that the 3-person team should lose more points when they lose to a weaker team.

What do you think? Am I mis-interpreting the equation?
Chestal
Dev Guru
Posts: 171
Joined: Fri Dec 06, 2002 11:56 pm
Location: Siegen, Germany
Contact:
I think the formulas used basically make sense. There's two parts to it: First, a rating is assigned to each team by calculating the sum of the individual ratings of the players. This is used to do the basic ELO calculation. The result is a delta value which represents the value of the capture (will be higher when the capturing team has a low rating in relation to the other team).

Then this value is distributed evenly on the members of each team (+ for the winning team, - for the losing team). Thus, when you are in a small team, you get a greater part of the delta value whch reflects that your responsibility for the team is higher in a small team than in a big team.

Let's say it is a 3 vs 2 situation. Then the accumulated rating of the 3 player team is usually significantly higher thus resulting in a small delta value when the bigger team captures.

Of course, all this probably is not perfect and there are a lot of other factors which distort the result. But it still seems to work quite well as is.
Private First Class
Posts: 12
Joined: Tue Jun 10, 2003 4:05 am
Thanks for the reply Chestal. I believe I was (and maybe still am) misunderstanding the TeamAScore and TeamBScore values. Are those the scores that start at 1200 for everyone? I was previously thinking it was the +/- score which would tend to be zero with evenly matched players.

If all players in a 3 vs 2 game started at 1200, and the max players per team was 4, then, if the bigger team wins, the value of prob would be 1.0/(1 + 10**((1200/4)/400)) = 0.151 and diff would be approximately 17. If the smaller team wins, the value of prob would be 1.0/(1 + 10**((-1200/4)/400)) = 0.849 and the value of diff would only be about 3!

This doesn't seem right either. In fact it seems worse than I thought before. Since the smaller team barely gets anything for a win and the bigger team gets a bunch of points when they win. Where am I going wrong in my calculations? Or should I try to join big teams?
Private First Class
Posts: 12
Joined: Tue Jun 10, 2003 4:05 am
Chestal wrote:The result is a delta value which represents the value of the capture (will be higher when the capturing team has a low rating in relation to the other team).
A agree with the intent of this sentence. A lower ranked team should get a higher score each time they capture. But I don't think the equation as documented does that. Perhaps it is just documented wrong but it seems like the exponent (in the denominator) should be (TeamBScore - TeamAScore)/400 instead.
Chestal
Dev Guru
Posts: 171
Joined: Fri Dec 06, 2002 11:56 pm
Location: Siegen, Germany
Contact:
Yes, you're right. In the formula for prob, B and A must be swapped. So, let's say we have Team A with 4 players and Team B with 3 players. Let us assume further, that all players are average players with a rating of 1200. Thus for a ducati setup:

RatingA = 4800/4=1200
RatingB = 3600/4=900

prob=1/(1+10**((900-1200)/400))=1/(1+10**-0.75)=0.85

So, it guesses that team A has a 85% probability of capturing the flag.

When A captures:
diff=20*(1-0.85)=3
So, each A player would get 3/4=0.75 points and each B player would lose 3/3=1 point.

When B captues:
diff=20*(0-0.85)=-17
So, each A player would lose 17/4=4.25 points and each B player would earn 17/3=5.67 points

For a 4 vs 2 situation with equally skilled players, prob would already be 97%, thus a capture would only be worth 0.15 points for each A player. In the improbable case that the 2 B players manage to capture against 4 opponents, they would earn 9.7 points each. Anf if a single player manages to capture against 4 opponents, he will receive very close to the full 20 points
[dmp]
Captain
Posts: 282
Joined: Mon Dec 09, 2002 3:20 pm
Location: CPH, Denmark
Contact:
prob = 1.0 / (1 + 10 ** ((TeamBScore - TeamAScore) / 400 )).

BTW: All scores with a single player on one of the teams (or both) is ignored as its considered unfair.
I don't need huge pictures here.
ski
Private First Class
Posts: 562
Joined: Tue Dec 10, 2002 2:30 pm
Location: Pittsburgh, PA USA
Rest In Peace Vivek
1986-2005

------------------------------
Member of DUB

Visit: