Jump to content


WoT 9.19.1 Common Test: Matchmaking System


  • Please log in to reply
21 replies to this topic

Tahllol #21 Posted Jul 04 2017 - 21:20

    Staff sergeant

  • -Players-
  • 6779 battles
  • 375
  • Member since:
    01-31-2016

View Postdance210, on Jun 21 2017 - 19:20, said:

Please leave any feedback on the changes to the Matchmaking System here.

 

Main changes:

  • Limit of one SPG per platoon
  • Team lists restructured by tank type
  • Vehicle types

 

Leave the TEAM list by tier, nobody cares about it by tank type as we mostly know the teams will be mis-matched with 1 team getting all the best tanks and the other [edited].

DeathNACan #22 Posted Jul 09 2017 - 09:14

    Sergeant

  • Players
  • 19934 battles
  • 104
  • [FOAD] FOAD
  • Member since:
    02-01-2012

Create a table containing a combat efficiency number.  The number will factor in the following:

 

Tank tier, tank type (heavy, medium, light, TD, SPG), modules and crew skills/perks

 

The combat efficiency numbers could be calculated by using at the existing values for weapons rate-of-fire, penetration, range, damage, total armor, view range, turreted or non turreted, movement speed (forward and reverse), turret traverse, vehicle traverse and camo rating.  Then determine a value for each crew skill/perk and the various modules.

 

Completely disregard Personal rating for when creating teams for Random Matches as crew skills/perks out-weigh PR.

 

Have the Match Maker create teams by sorting tanks in queue by combat effiency number.

 

Here is how I envision it working:

 

The client will send the encrypted combat efficiency number for the player's tank to the server along with any relevant player information needed by the Match Maker.

The Information from the client will be stored in a master table.

The master table will be sorted by combat efficiency number field from high to low.

Teams will be formed sending records to two tables, one for each team. 

Even numbered records go to table 1, odd number records go to for table 2.

 

To prevent teams from being completely unbalanced due to a low number of players, establish a max difference between the highest and lowest combat efficiency numbers on teams for a game.  When a record has a combat efficiency number exceeding the max difference, the existing teams are closed and that record becomes the first record for a new set of teams.

 

Pseudo code:

Read in records from player queue

Sort in reverse order player records from Player queue by Combat-Efficiency-Number

 

Counter = 1

Copy Combat-Efficiency-Number(Counter) to Combat-Efficiency-Number-Original

For I = 1 to 15

     Copy Player-Record(Counter) to Team-One-Table(Counter)

     Counter = Counter + 1

    Copy Player-Record(Counter) to Team-Two-Table(Counter)

    Copy Combat-Efficiency-Number(Counter) to Combat-Efficiency-Number-New

   

    IF Combat-Efficiency-Number-Original > Combat-Efficiency-Number-New + 100

        Combat-Efficiency-Number-Original = Combat-Efficiency-Number-New

        Counter = 1

        I = 15

    Else

       Counter = Counter + 1

    End-If

End-For

; In the example above 100 is simply a number used to represent the max difference between the two numbers to maintain team balance       

 

 

    If

 

 

 

 


Edited by DeathNACan, Jul 09 2017 - 09:16.





3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users