- Please allow me to introduce the settings of my program first. I assumed some aircraft and assigned different BRs to them (the BRs I gave are the ideal BR decompression schemes I think, and only include some aircraft I am familiar with. If you don’t like it, you can ignore it and don’t need to comment on it. I just mentioned it in passing)
aircraft_list = [
(15.3, [“EF2000_DE”, “F2000A_IT”, “Typhoon FGR4_UK”, “Rafale_FR”, “F15E_US”, “F15I_IR”]),
(15.0, [“F15C_US”, “F15JM_JP”, “J11B_CN”, “J10A_CN”]),
(14.7, [“Su27SM_RU”, “JAS39C_SW”, “JAS39C_UK”, “JAS39C_IT”, “F16C_US”, “Mirage2000-5F_FR”]),
(14.3, [“Mig29SMT_RU”, “Su34_RU”, “J11A_CN”, “JF17_CN”]),
(14.0, [“F4FICE_DE”, “Kfir-C10_IR”, “F14B_US”, “F14A-IRAF_US”, “JA37DI_SW”, “Av8B+_US”]),
(13.7, [“J8F_CN”, “TornadoF3L_UK”, “F15A_US”, “F15J_US”, “Su27_RU”, “Su33_RU”, “SeaHarrier FA2_UK”]),
(13.3, [“Yak141_RU”, “J11_CN”, “F14A_US”, “Mig29G_DE”, “Mirage4000_FR”]),
(13.0, [“F16ADF_US”, “Mig29_DE”,“Mig29_RU”, “F16AJ_JP”]),
(12.7, [“F4EJKai_JP”, “Mig21Bison_UK”, “F20A_US”, “F16A_US”])
] - I set up a generator. Its initial setting is: every 0.01 seconds, a random player is generated to enter the matching queue. Every time 32 people who can fight are matched, a battle will start. Print who participated in this battle, what is the BR range, and then output how long this match took.
There are 2 Teams in a battle. Each Team must match 16 people to start a battle between the two Teams. The BR range between the two Teams must be the same. My initial setting is ±1.0 (max_min_BR = 1.0). I try to ensure that the distribution of aircraft owned by the two teams is as consistent as possible in BR. - I did not complete the country allocation part because the current top tier is a mess in terms of country allocation.
4.Experiment Results
========== ±1.0 ==========
Max match time: 3.75 s
Min match time: 0.62 s
Total Time Spent for 10 Battles: 21.00 s
Average Max Wait Time for All Battles: 0.93 s
Average Min Wait Time for All Battles: 0.00 s
Remaining aircraft in queue: 37
========== ±0.7 ==========
Max match time: 3.77 s
Min match time: 0.91 s
Total Time Spent for 10 Battles: 22.39 s
Average Max Wait Time for All Battles: 1.24 s
Average Min Wait Time for All Battles: 0.00 s
Remaining aircraft in queue: 39
========== ±0.4==========
Max match time: 3.85 s
Min match time: 1.31 s
Total Time Spent for 10 Battles: 25.52 s
Average Max Wait Time for All Battles: 1.62 s
Average Min Wait Time for All Battles: 0.00 s
Remaining aircraft in queue: 37
========== ±0==========
Max match time: 5.19 s
Min match time: 2.31 s
Total Time Spent for 10 Battles: 35.49 s
Average Max Wait Time for All Battles: 3.24 s
Average Min Wait Time for All Battles: 0.00 s
Remaining aircraft in queue: 135
Note:
1.The time spent may not be exactly the same each time, but it will not differ too much.
2.The max/min match time refers to the maximum time it takes for a group of games to be generated, starting from the first player entering the matching queue until the last player enters the matching queue, and then the game starts.
3.I also tested the player waiting time, namely Max/Min Wait Time. This indicator represents who has the longest/shortest waiting time among all the players in this lobby when it is established, and how long they waited. The Average Max/Min Wait Time is the average value of 10 battles.
4.I have discovered a small bug in my code, but it is not a big deal. I have fixed it and it does not affect the final conclusion.
From the experimental results, we can see that only when ±BR==0, the time spent increases significantly, and the time changes of ±0.7/0.6 or ±0.4/0.3 on the matching time is negligible.
5.Possible Questions
Q1: ±0.7 requires a redesign of the BR system, and gaijin have to analyze all vehicles in the game, decide where they’ll go.
A1: Please imagine an extreme case where each aircraft is fighting against an aircraft with the same BR as itself. Is this fair and does it require a redesign of the BR system? Smaller number gets fairer game.
Q2: Over 90% of vehicles in War Thunder are balanced, 0.7 is more work than decompression.
A2: The time cost of 0.7 can be ignored, and as for what it will bring to the game, we cannot be completely sure, but at least it will give players a chance to try!
Q3: Where’s your code?
A3: machmaker - Google Documenten