A simple matchmaking algorithm.

Discussion in 'Monday Night Combat PC Discussion' started by Decker87, March 6, 2011.

  1. Decker87

    Decker87 New Member

    Messages:
    116
    Likes Received:
    0
    I'd like to propose a very simple matchmaking algorithm.

    Goal: to prevent those matches where you look at the teams and say "this will be over in 5 minutes". Not necessarily to produce a perfect matchup every time, just to prevent the most awful ones.
    Code:
    1. Randomize (as normal).
    2. If this is the 10th try, go to step 7.
    3. Count the total level of the hotshots team.  Call this L1.
    4. Count the total level of the icemen team.  Call this L2.
    5. If L1/L2 is greater than 1.5, go to step 1.
    6. If L2/L1 is greater than 1.5, go to step 1.
    7. Done (accept most recent team configuration)
    Disclaimer 1: This is NOT a discussion about peer hosting. This is only about the arrangement of players on teams.

    Disclaimer 2: Yes, there are unpredictable factors. The goal here is to reduce the overall number of totally lopsided games. Not eliminate completely.

    Disclaimer 3: Nothing here is computationally demanding, at all. That isn't a concern. I am saying this as a professional programmer myself.
  2. DehydratedWater

    DehydratedWater New Member

    Messages:
    393
    Likes Received:
    0
    Nowai dude adding and dividing is super demanding!


    Jk yeah this is good, a better one would implement cash per min, bot kills per minute and k/d though
  3. Vlane

    Vlane New Member

    Messages:
    1,602
    Likes Received:
    0
    Why not count the level of all players and split them up, so you have just about the same level on both sides?
  4. DeadStretch

    DeadStretch Post Master General

    Messages:
    7,407
    Likes Received:
    554
    Don't use the level. I can get all the way to Jackbot 99 playing only Blitz. Rare I know but it happens. In-game level only represents your overall lifetime earnings.
  5. Decker87

    Decker87 New Member

    Messages:
    116
    Likes Received:
    0
    I wanted to present something that worked in the simplest of ways as a proof-of-concept.
  6. Decker87

    Decker87 New Member

    Messages:
    116
    Likes Received:
    0
    The thing is, you're using a very very extreme case to say "don't do it that way". See disclaimer #2.
  7. Vlane

    Vlane New Member

    Messages:
    1,602
    Likes Received:
    0
    Sure, but what else do you want to use?
  8. Rammite

    Rammite New Member

    Messages:
    238
    Likes Received:
    0
    This.

    Level is only a representative of how long you've been playing. You can play for years and still play like an idiot. Conversly, you can play for a week and play like a pro.

    In my opinion, there should be an overall stat - Skill - which is based on Cash per Minute, Bot Kills per Minute, Kill/Dead ratio, Effort toward winning, and Effort toward Teamwork.

    This way, even if you're a bad shooter, but work your behind off to keep your base filled with 3.3 rockits, you'll show up as this guy with masses of Skill, and people know you're a great player.
  9. s0cks

    s0cks New Member

    Messages:
    51
    Likes Received:
    0
    I think cash per minute would be enough. If you're earning cash then you must be doing something right. However this may factor in cash from Blitz mode again, but not much you can do about that.

    Anything would be better than what it is now. I'm still amazed at how often the teams are lopsided even when no-one has chosen a side prior to game start.
  10. Decker87

    Decker87 New Member

    Messages:
    116
    Likes Received:
    0
    I think Uber should try this for a while, and if indeed is does show improvement, then improve it from there.
  11. Ekanaut

    Ekanaut Uber Alumni

    Messages:
    1,807
    Likes Received:
    147
    Matchmaking is anything but simple but we are introducing a player rating system next update that takes a fair number of factors to match up players with servers better and to give new players an easier time.
  12. Mail

    Mail New Member

    Messages:
    442
    Likes Received:
    0
    I love hearing this sort of thing, keep being awesome, guys.
  13. Decker87

    Decker87 New Member

    Messages:
    116
    Likes Received:
    0
    Well heck, why didn't you just say so! The last thing I heard was that they had a system, didn't like it, so just quit having one altogether.
  14. Ekanaut

    Ekanaut Uber Alumni

    Messages:
    1,807
    Likes Received:
    147
    We did matchmaking on the 360 version and went with a server browser approach for PC. A player ranking system keeps the browser approach but lets players choose to play against players of similar skill level or against higher level players.
  15. WylieTimes

    WylieTimes New Member

    Messages:
    125
    Likes Received:
    0
    A better algorithm for sorting is,
    Give Team A the highest level player.
    Give the next two highest to team B,
    Give the next two highest to team A.

    And so on.

    That's how most games do it, and that's the best algorithm when you're given a single parameter to judge players by.

    Also, I'm sick of hearing "Matchmaking is redundant, you can get to level 99 through just single player!"

    Know how likely it is that a player has done that? Stupidly unlikely.
    Know how unlikely it is that a player has done that, and STILL knows nothing about the game? EVEN MORE UNLIKELY.

    Know how many games these blitz-only players will affect?
    Zero. None.

    Want to know how many games could be more fun if the teams were a little more balanced?
    Pretty much all of them.

    The good outweighs the bad 80-0.
  16. Zypp

    Zypp New Member

    Messages:
    4
    Likes Received:
    0
    Players are still able to choose teams.. Sure, you can make a nice algorithm that creates random teams, but what does that help when theres 3 lvl 100+ players who all pick the same team in the last second (so that nobody sees)? And yes Ive seen that happen, for 3 rounds all 3 of them got on blue, blue won every round.
  17. Vlane

    Vlane New Member

    Messages:
    1,602
    Likes Received:
    0
    Which, of course, doesn't happen too often.

    Also selecting teams can be disabled.
  18. Col_Jessep

    Col_Jessep Moderator Alumni

    Messages:
    4,227
    Likes Received:
    257
    Yup, but there are not enough servers with that setting atm. I'll see what I can do about that.
  19. Zypp

    Zypp New Member

    Messages:
    4
    Likes Received:
    0
    True, but the fact remains that most servers have it enabled. Also, when one or two players choose a team, everyone tends to stack on that team. I always pick the opposite team so I can punish them :3
  20. bhaal177

    bhaal177 Member

    Messages:
    123
    Likes Received:
    0
    What's your player name? Me and 2 other friends were playing together choosing blue everytime. Me ({CJB}|Decker), PH4T3, and Swainy. Well, Swainy sat on the other team to give us a challenge. Little bastard. >_>

Share This Page