An abundance of choice is often mistaken for improvement far past its utility.
A system does not operate in isolation, and this one is no exception. As the active mercenary population contracts, distributing it across an ever-growing number of battlements introduces predictable strain: underpopulated battlements, fragmented matchups, and increased difficulty sustaining large fights.
We have passed the point where expansion remains harmless. Continuing without intervention will only accelerate the problem. If the enterprise is to remain functional, the choice of battlements must be reduced. This is not a matter of preference. It is a matter of necessity.
— The Administrator
Changes:
> Added Performance-to-Time Ratio (PTR), which is measured in points over time. It's a moving average over the last 5 minutes of gameplay.
> Added Adjusted PTR (APTR), which is PTR multiplied by the MMR coefficient. This is a metric used in place of PTR in gamemodes where winning matters more
> MMR metric changed
MMR = k * PTRavg
Where k is the MMR coefficient measured in the doubled ratio of rounds won and total rounds and PTRavg is the average PTR over the last 200 rounds.
Rounds on alternative gamemodes don't count in the MMR metric and neither do rounds where the player had 5 or less points in total.
> Added balance score (BS):
It is the score assigned to each player taken for the purposes of autobalancing. It is the term that refers to the current metric used, because at different points in different gamemodes there are three available metrics; MMR, PTR, APTR. The switch occurs between different metric consideration according to gamemode. For PL and ATK/DEF, it is either after the first point is capped or after 3 minutes have elapsed and the switch is from MMR to APTR. On KOTH and CP it is after the first 3 minutes and the switch is from MMR to APTR. On other gamemodes, it is after the first 3 minutes and the switch is from MMR to PTR.
Reasoning:
The purpose of these changes is to give autobalance a better chance to do right upon player transfer. These metrics will also be used for the purposes of the improvement of balanced match initialization.
Changes:
> Opposite team party size matching changed so 4-player parties can be matched against 3-player parties, which can be matched against 2-player parties, which require no matching condition.
> Party size cap reduced to four players
> If three or more party members make a matching vote, it counts as n-1 votes
> Added the option to play against party members:
Individual party members select if they want to join the team opposite to the rest of the party in the party options.
Reasoning:
Party size matching tolerance added to make the system more efficient. Party size cap decreased to affect the balance of matches less. Vote weight negative scaling added to stop the hijacking of voting. Option to play against party members added because it has been a highly requested feature.
Changes:
> Changed map pool setup:
40 (+2/year max) maps in game available for selection at any one time
26 (+2/year max) of the most popular maps are kept in permanent selection, 14 maps are rotated each day from the remaining maps
> Capped map additions to 2 per year; they are tried out in permanent selection, and if more popular than the least popular of those in the permanent selection, their places are switched. If not, they are sent to the rotation. Map popularity is determined over the last 6 months for maps older than three months.
Reasoning:
Permanent selection changes made primarily to address the issue of player dillution. Daily rotation added to address the issue of staleness and map additions capped per year to a sweetspot between novelty and slop.
Changes:
> Added ad-hoc connections
> Removed match accept wait period
> Added an animated visual preview of each map in the map selection menu on hover
> Removed map voting at the end of the match. Players vote for the next map during the match. A player's map vote stops counting if they abandon the match.
> Added the option to include vanilla community servers in the queue. The server needs to be verified and require the host to give up host priviliges upon verification if they wish to join the verified vanilla list.
> Added an option to make official servers viewable and selectable in the server browser
Reasoning:
Ad-hoc connections added to make joining friends and servers in general easier. Match accept wait period removed to improve the efficiency of the system. Animated visual preview added to show players what to expect when selecting a map. Map voting at the end of the match removed and replaced with a different system to reduce unnecessary wait times. Vanilla community server verification system and inclusion option added to widen effective player choice in regards to the vanilla game. Option to show and select official servers added for more player freedom.
Changes:
> The matchmaker selects a random player from the appropriate queue and matches them with/against players that have an MMR within the range of 3 times higher or lower
> The matchmaker matches the teams so that the MMR difference between them is minimized among the available configurations
> Initial match configuration creates an even distribution of players. New incoming players are assigned to the team with the lower MMR.
> Reduced the slot reservation timeout to 2 minutes
> Map timer set to 45 minutes
Reasoning:
Initial player selection defined so it preserves skill variation while not allowing for extremes. MMR difference between teams minimized to facilitate a balanced match. Initial configuration set to aid in server filling and later join assignment changed to more accurately predict future balance states. Slot reservation timeout reduced to aid in slot filling. Map timer increased to prevent constant server emptying and remove obstructions to gameplay.
Changes:
> Added class limits:
Max
3 scouts
3 soldiers
3 pyros
3 demo"men"
3 heavies
2 engineers
2 medics
2 snipers
2 spies
> Removed the random class option
> Added the nudge system:
Players can right-click occupied class slots to mark them and visibly indicate demand to other players on the team and initiate a request alert asking the players currently occupying that slot if they'd like to switch. The request to any given requestee runs on a cooldown which resets when the said player switches class or when a round ends.
Reasoning:
Class limits set, because, despite what you may petulantly protest - you don't want to play football with five goalkeepers, and you don't want to play a match with four spies and three snipers in your team. The changes are liberal enough to let you play what you want most of the time, but restrictive enough to prevent extremes and provide a more structured, balanced, and thus better experience. Random class option removed to not incentivize brainless Redditor energy. Nudge system added to partially restore player freedom and alleviate the frustration the class limit system introduces.
Changes:
> Halved the setup timer
> Doubled the movement speed and attack speed for all classes, doubled the build speed, buildings function speed and the pickup respawn speed during setup.
> Reduced preround freeze countdown from 10 seconds to 5 seconds
Reasoning:
Halved the setup timer to waste less time on things that aren't gameplay and doubled various function times to not affect actually setting anything up. Preround freeze countdown reduced to minimize downtime.
Changes:
#General
> Autobalance is now prioritized over slot reservation for evening out teams. The joining player will join the free team according to the MMR rules
> Autobalance now tolerates 30 seconds of imbalance, and this interval can elapse while autobalance is on cooldown
> Autobalance runs on a 2-minute cooldown
> Autobalance has a 20-minute per-player cooldown
> Autobalance is now disabled for party members
> Autobalance is now disabled for engineers with deployed buildings that have 500 or more metal invested in them and medics with more than 50% übercharge
> Autobalance is now disabled for the last fourth or whatever the last point is of the round in attack-defense and payload.
Reasoning:
The purpose of these changes is to have an autobalance system which is not too aggressive and won't screw over players with the most investment in their team while still alowing for substantial balancing.
#Specific
> There are two different scenarios in which autobalance takes place. The first sees the losing team have free slots. In this case, a player with the highest autobalance coefficient in the winning team will be transfered to the losing team. The other scenario is that the losing team has no free slots. In this case, the best player from the winning team and the worst player from the losing team will be switched according to the balance score.
> For the first scenario, who gets autobalanced is determined by who has the greatest autobalance coefficient as determined by the following formula:
k = min(xt, xp) / max(xt, xp) * 2 / max(t, 2)
Where xt is team balance score, xp is player balance score and t is time joined in minutes. The likelihood of autobalance grows with the factor and maxes out at 1. If multiple players share the same value, one will be chosen at random.
> For different gamemodes, there will be different referent rounds derived from 10 rounds valued as "good", which is defined as follows:
For asymetric gamemodes, a good round would be one in which the blue team wins with 20% of the final timer left on the last point. Autobalance is triggered within a number of standard deviations from that, determined experimentally.
In CTF, autobalance is triggered when there is more than 15% difference in the sliding average of PTR over 5 minutes between both teams.
In CP, autobalance is triggered when a round is won in less than 5 minutes.
On KOTH, autobalance is triggered when there is 2 minutes of difference between the timers.
On PLR, autobalance is triggered when there is 40% path difference in regards to the full path of the cart.
On other gamemodes, autobalance is triggered at 15% PTR difference.
Reasoning:
This system prioritizes newly joined, average-perfoming players. This is because the newly joined players have the least investment in their team and because average performing players have the power to turn the tide of battle without it being too insulting for them to get autobalanced. Autobalance behaves differently on different gamemodes because the new system introduces new complexity so that autobalance can do its job better.
Changes:
> Added back autoscramble
> Autoscramble triggers when any teams leads by 2 rounds
Reasoning:
A high impact shakeup system with low discrimination that prevents consistent steamrolls within a match.
Changes:
> Added back votescramble
> Votescramble vote is auto-prompted to players after 20 minutes on CTF and after 15 minutes on CP
> Votescramble runs on a 20-minute cooldown
Reasoning:
A high impact populist shakeup system with low discrimination that prevents consistent steamrolls within a match. Autoprompt added to facilitate the willing dissolution of stale gameplay states.
Changes:
> Added an autokick feature which automatically kicks players that have not selected a class within 60 seconds
> Added an autokick feature which automatically kicks players that have above 100 ping for more than 20 seconds in a time period of 400 seconds. This feature applies only to north America and Europe.
Reasoning:
The first feature prevents idle slots and the second is there because it is not fun or fair to play against a lagging enemy.
Changes:
> Made the vote alert window smaller, more transparent, and moved it to the upper left corner of the screen
> The vote ends as soon as the vote outcome cannot be changed
> Added a 5 second grace period to change your vote
> Added a neutral vote option
> Reduced the on-server-join votekick cooldown to 15 seconds, but the time spent while voting is in progress does not count
Reasoning:
Vote alert window changes made to make votes less intrusive. Vote count sped up because elementary school math was hard for Valve. Grace period and neutral vote option added to more accurately reflect consensus. Conditionally lowered the on-server-join vote cooldown to aid in kicking cheaters while making sure they can't abuse the low cooldown to spam lock votekicks.