Overview
Planetwars pot consists of regular signup and battle creation phases.
- Sign up is open to all PW players for 15 minute periods at a time.
- Chobby is served the full list of planets that the player of that faction can attack.
- Players indicate their readiness to play a PW game by clicking to attack a planet.
- The matchmaker generates battles when the signup period is over.
- A new signup period begins immediately, and if any battles were created, the a metagame turn happens.
Notes:
- Players are going to need to download the maps because they could end up on any planet. Do we really have everyone in a faction auto-download 100 maps, and block PW until they do? That possibly likely means a lobby change.
- We probably want a way to unready.
Matchmaker
The matchmaker brute forces all combinations of games to find the optimal one.
- Search space is 2v2, 2v3, 3v3, 3v4 and 4v4 games between players on opposite factions.
- Constraint is a limit on the gap between the average WHRs of the teams in each battle. 70% win chance?
- First thing to optimise for is number of players playing.
- Second thing to optimise (when first is tied) is for minimising sum of square WHR gaps across games.
Planet assignment
The matchmaker creates a list of battles. These are assigned attacking-or-defending as follows.
- Each faction has an internal counter of how many attacks vs. defends it has done.
- Players track how many defends they have done in a row.
- Pick the faction with the highest
defend-attack, it gets to turn one of its battles into an attack. Pick the battle with the highest defends-in-a-row sum of its players.
- Increment the
defend of the defending faction and the attack of the attacker.
- Repeat the the two previous steps until all battles have an assigned attacker.
The attackers now need to attack planets. This is done iteratively within each faction as follows.
- Pick the attacker battle of that faction which contains the highest PW-Rank player in that faction who is yet to be assigned a battle.
- The planet that the highest PW-Rank player is selected to be the invaded planet. If that planet was already selected to be invaded by this faction during this signup step, pick the planet of the second-highest PW-Rank in this attacker battle. Continue down the PW-Ranks within this battle, until all are exhausted, then select a random valid planet to attack from the pool.
The goal of the above is for each faction to only be able to launch one battle on each planet. In the rare circumstance where the faction runs out of planets to attack, restart the entire matchmaking process with +2 added to the battles that can be created (so the first round would create 4v4 to 6v6). This is a bit janky but I expect it to only come up if PW gets really popular. The long term solution to this is to make a larger galaxy.
Overview
Planetwars pot consists of regular signup and battle creation phases.
Notes:
Matchmaker
The matchmaker brute forces all combinations of games to find the optimal one.
Planet assignment
The matchmaker creates a list of battles. These are assigned attacking-or-defending as follows.
defend-attack, it gets to turn one of its battles into an attack. Pick the battle with the highest defends-in-a-row sum of its players.defendof the defending faction and theattackof the attacker.The attackers now need to attack planets. This is done iteratively within each faction as follows.
The goal of the above is for each faction to only be able to launch one battle on each planet. In the rare circumstance where the faction runs out of planets to attack, restart the entire matchmaking process with +2 added to the battles that can be created (so the first round would create 4v4 to 6v6). This is a bit janky but I expect it to only come up if PW gets really popular. The long term solution to this is to make a larger galaxy.