Gaming Zone > Unreal Tournament 2004

Let's talk about PPR! PPR Changes on Freon 1

<< < (4/7) > >>

Piglet:
That's certainly doable, and makes a lot of sense. It takes me a few rounds to get up to speed. If it used my initial PPR rather than something closer to my average to assign teams that wouldn't be right for long.

I'll have a think... Maybe make it configurable

I upped the percentage to 30% yesterday to see how it worked... I'll find a screenshot showing how it worked last night when holy spam and wife were both playing really well

holyspam:
Like i said it makes no sense to have the PPR shown be anything other than (your_points/rounds_played), visually PPR should remain as is.
Now it's just weird, first few rounds i get 10 points with 15 ppr, then round 10+ i get 100 points and 8 ppr

The balancer does need a change. Average PPR is useful for the initial balance, but someone might play much better or worse depending on a lot of factors. A static percentage doesnt help, when you're under/overperforming.

The downside with using more of current PPR is that anyone over/underperforming will probably be switched or swapped.
Forcing everyone to play near their average by bringing good players down and bad players up, making the game much more competitive for all players.

Using a dynamic weight for current_PPR based on Played_rounds is much better.
First round/Initial balance will always use (1 x AVG_PPR) for balancing.

The 3SPN formula is
BALANCER_PPR = (A x AVG_PPR + B x CUR_PPR)
Where A + B always equals 1, for every player, round and game.

Using this instead:

--- Code: ---Lerp( FClamp( Played_Rounds / RToBal , 0, AutoBalanceCurPPRWeightMax/100 ), PRI.AvgPPR, PPR )
--- End code ---
we can ensure that teams will be balanced depending on each player's current PPR up to AutoBalanceCurPPRWeightMax %, after "RToBal" rounds passed

Now you get perfectly balanced teams (as all things should be, let's call this Thanos!!)

Piglet:
In your example, you only get 15ppr showing if you get those 10 points in early in the round, the round doesn't go to overtime and  you don't score any points towards the end of round.

Look again at the problem I posed with the old current PPR:

a) if you scored 10 points in the first round and another 10 points to the point of overtime in the second round then the old calculation would show you a PPR of 20, while my calculation would show a PPR of 10

b) if you scored 10 points in the first round and another 5 points at 60 seconds into the second round then the old calculation could show you with a PPR of 15, while my new calculation would show a PPR of 10

Of course, my calculation assumes that the current round will go to overtime: if the second round ended at 60 seconds in then my calculation would immediately drop your PPR from 10 to 15/2 = 7.5 at the start of the next round - and if you didn't score any points over the round your PPR would start to slowly drop as the round went on, until at the end of the round you would have a PPR of 15/3 = 5. The old calculation could leave you at 7.5 all the way through to the start of the 4th round....and at the that point would reset you to 5 PPR. You'd be balanced by the old balancer logic as if you were playing at 20 when you were actually playing at 10, or 7.5 when you were actually playing at 5 PPR. My version uses the more accurate numbers.

The assumption that rounds last until overtime affects all players equally.

In practice most rounds reach overtime or close to overtime so the calculations are pretty sensible. This is a snapshot part way through a high scoring map. The bot is playing badly - and has reduced PPR. The players are playing above their average PPR (due to the map) the ones who are doing particularly well are showing that the balancer considers them to be the better players. The better they are playing "now" the more the average PPR is raised:





--- Quote from: holyspam on August 08, 2020, 15:33 ---The downside with using more of current PPR is that anyone over/underperforming will probably be switched or swapped.

--- End quote ---

The balancer aims to swap players to get as close to the same average team PPR as it can. The times I saw it swap yesterday it picked exactly the right player to fill the gap. Once it was you! I don't think there is any correlation between playing better or worse and being picked for the swap. It doesn't know whether you're playing better or worse at the point of choosing. It's just working with the numbers in the last column (well - not exactly as it doesn't take current PPR into account until you've played at least 24 seconds).

holyspam:
PPR = points per round
New_PPR = points per 120seconds

Piglet:

--- Quote from: holyspam on August 08, 2020, 16:33 ---PPR = points per round
New_PPR = points per 120seconds

--- End quote ---

No. It the new calculation assumes only that the current round will last 120 seconds.

Old PPR is:

a. "Points scored so far", when in round 1
b. "The total of (all points scored in round 1 and all points scored so far in round 2)", when in round 2
c. In round 3 onwards "(The total of all points scored, including the ones scored so far in this round) divided by (one less than the round number you're in).

(Yes, I know b and c are the same calculation - but the impact is greater in round 2).

New PPR is:

Your total points in the game / (number of rounds played + "the proportion (up to a whole round) of this round played assuming that the current round will last 120 seconds")

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version