Jump to content

Forcin's Matchmaker


4 replies to this topic

#1 Forcin

    Rookie

  • Ace Of Spades
  • Ace Of Spades
  • 4 posts

Posted 12 June 2014 - 11:35 AM

Hi together!

This is my MWO matchmaker.

My feeling is that the current matchmaker produces often unbalanced games. Many games are too hard or too easy. I do not want win or lose a boring and short game e.g. 12v3. Sometimes the games are balanced and I have won or lost a nice game e.g. 12v8. Another point is that I do not believe that 3/3/3/3 will work pretty good. Also, I guess that a lot of players do not want to know which weight classes the enemies have.

It's easy to say that the matchmaker is bad but the question is if someone can make it better. Therefore, here are my suggestions for a matchmaker system. This post is not to tell PGI how to make it. I only want to share my ideas and to discuss possible ways to match games. Perhaps, this is inspiring PGI.


Note:
  • I guess that there are other ideas and other topics about that. But I have never read any topic.
  • All numbers are only to show the principle and have to be balanced.
  • It is not all new. I only changed some things of the current concept.
  • This concept does not consider 12er groups (12er teams). For it, other matchmaker rules have to be defined.
Nomenclature:
  • A 2er/3er/4er group is called team. A team with less than 4 players is filled to 4 players.
  • A 12 group with a team and some single players is called group.
  • Weight class is light, medium, heavy, assault.
  • Tonnage is 20, 25, 30, 35, 40, …
  • The used ELO range is from 0 to 300.


Rough concept description:
Match players and teams to 2 groups with different weight classes, with an equal total tonnage and a minimum ELO difference.


Matchmaker structure:
  • There is a tree with pipelines at the end of the branches. This is to organize the players and the teams.
  • The match builder takes several players and teams out of the pipelines to get the best combination regarding the matchmaker rules.
Posted Image




Matchmaker rules:
  • Maximum 1 team and minimum 0 teams (if not 2 teams available) per group. But it is not allowed to have 1 team in a group and the other group has no team.
  • Beside the teams, 20 single players are used to get the best combination.
  • Minimum value and maximum value for weight classes per group. Weight classes can be different between the groups.
  • Total tonnage of both groups is equal. But the tonnage is not fixed and can vary between matches. Also, there is a minimum and maximum total tonnage limit.
  • Minimize the ELO difference of both groups.
Posted Image



The matchmaker tool:
I have programmed a tool (not quick but a little bit dirty) to simulate the matchmaker with my rules. The program generates random players and teams. Then, as many as possible matches are built. The tool outputs a lot of log files. The tool does not consider clan mechs, currently.


One example:

- 500 single players and 74 teams with additional 221 players are generated. (20% lights, 15% mediums, 35% heavies and 30% assaults)

- Weight class combinations are generated regarding to the min and max value. (Here is min = 2 and max = 4.)

Log:
Spoiler


- Teams and players are put into the pipeline tree and are sorted.

Log:
Spoiler


- Now, go through the pipelines until all matches are built.

- Catch 1 team per group and 20 single players. If 2 teams are not available then generate 2 teams with single players.

Log for match 0:
Spoiler


- The team in the group defines which weight class combinations are possible. Build all possible combinations. For it, run a combination algorithm and select 8 out of 20. The total tonnage limit is min = 620 and max = 785.

Log for match 0:
Spoiler


- Compare all group combinations regarding to an equal total tonnage and a minimum ELO difference.

Log for match 0:
Spoiler



In this run, the matchmaker has built 16 matches.

Overall log:
Spoiler



This is a bad run with only 13 generated matches.

Overall log:
Spoiler


Result of my tests:
  • I could build 15 matches on average with the weight class range 2 to 4. With 3/3/3/3 weight classes, I could build only 10 matches on average. (With 500 single players)
  • The quality of the matchmaker results depend extremely on the number of players and teams. Also, it depends on the weight class and game mode the players have chosen.
  • It is not easy to build a good matchmaker.


Some additional thoughts:
It is possible to give a group a tonnage bonus against the other group. For example, if a group 0 has a 2er team and group 1 has a 4er, then group 1 has an advantage. To compensate this, group 0 gets a tonnage bonus. This can also be applied for the group which has the most trial mechs.



This is my concept for a MWO matchmaker. I hope that you have understood my idea.

It is planned that you can download my tool, soon. Then you can play with it and can generate some matches.

I would like to get some constructive feedback. Please do not spam.

Greetings from Germany
Forcin

Edited by Forcin, 16 June 2014 - 02:04 PM.


#2 Exilyth

    Member

  • PipPipPipPipPipPipPipPipPip
  • Bridesmaid
  • 2,100 posts
  • LocationTerra

Posted 12 June 2014 - 12:27 PM

Nice work.

How long does it take you to generate, say, matches for 12000 players?

Generating all the combinations sounds like a lot of work/calculations, of which many will probably be discarded... how about using an evolutionary algorithm or some optimization algo like linear integer programming to speed up the program?

That would not give the optimal solution everytime, but it would reduce the required memory & time a lot.

Edited by Exilyth, 12 June 2014 - 12:28 PM.


#3 Forcin

    Rookie

  • Ace Of Spades
  • Ace Of Spades
  • 4 posts

Posted 12 June 2014 - 12:58 PM

View PostExilyth, on 12 June 2014 - 12:27 PM, said:

Nice work.

How long does it take you to generate, say, matches for 12000 players?

Generating all the combinations sounds like a lot of work/calculations, of which many will probably be discarded... how about using an evolutionary algorithm or some optimization algo like linear integer programming to speed up the program?

That would not give the optimal solution everytime, but it would reduce the required memory & time a lot.


Thank you.

Simulatiing generation times makes no sense because it depends on the algorithm implementation and on the pc performance. But generating one match takes ca. 1 minute on my gaming notebook.
The speed was not the focus of my implementation. There are a lot of things I could do to speed up the calculations.

My focus was to get balanced games. In simulation, it looks very good. How it works in real, I don't know. That depends on the available player number.

#4 Iqfish

    Member

  • PipPipPipPipPipPipPipPipPip
  • 3,488 posts
  • Google+: Link
  • LocationGermany, CGN

Posted 15 June 2014 - 01:09 PM

Nice work, although your images are way too small :huh:

If you could enlarge them, it would help understanding a lot :(

#5 Forcin

    Rookie

  • Ace Of Spades
  • Ace Of Spades
  • 4 posts

Posted 16 June 2014 - 01:45 PM

View PostIqfish, on 15 June 2014 - 01:09 PM, said:

Nice work, although your images are way too small :)

If you could enlarge them, it would help understanding a lot ;)


Thank you for your hint. I did not recognized that.
Now, a new window will open with a big image.

Edited by Forcin, 16 June 2014 - 02:02 PM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users