[HN Gopher] SpawELO - small free matchmaking system for LAN parties
___________________________________________________________________
SpawELO - small free matchmaking system for LAN parties
Author : Spawek
Score : 172 points
Date : 2024-11-02 10:44 UTC (1 days ago)
(HTM) web link (blog.spawek.com)
(TXT) w3m dump (blog.spawek.com)
| digitalPhonix wrote:
| Has anyone tried something that isn't based on ELO/trueskill for
| team-based games?
|
| It feels to me like summing/averaging the ELO of a team to do
| matchmaking is:
|
| a) just a hack to fit a square peg (team based matchmaking) into
| a round hole (individual matchmaking)
|
| b) losing a lot of information about how intra-team dynamics
| would affect the result (as in player A and B play well together,
| better than their individual ELOs summed; but A and C play poorly
| together, worse than their individual ELOs summed)
| pacbard wrote:
| You could assign ELO at the group level. It will increase the
| number of possible groups by C(N, g) where N is the number of
| players and g is the group size. It could work if the groups
| are stable enough.
|
| If you have individual ELOs, you could pre-seed the ranking
| using averages and then let the algorithm take over.
| KaoruAoiShiho wrote:
| Sorry for pedantry but Elo is a guy's name, not an acronym.
| batch12 wrote:
| Thanks, I didn't know what Elo meant and your comment helped
| me.
|
| The Elo[a] rating system is a method for calculating the
| relative skill levels of players in zero-sum games such as
| chess or esports. It is named after its creator Arpad Elo, a
| Hungarian-American physics professor.
|
| https://en.m.wikipedia.org/wiki/Elo_rating_system#:~:text=Th.
| ...
| Scene_Cast2 wrote:
| Agreed. ELO is a crude but simple statistical model, and its
| primary benefit is that it's easy to understand and reason
| about.
|
| I'd love for there to be a multidimensional player skill vector
| (aka "embedding") that encapsulates more information as well as
| a more nonlinear model to go on top of it.
|
| For example, in many games, a team usually needs a support
| player, but a single number isn't enough to capture that for
| the purposes of matchmaking.
| Spawek wrote:
| Author here: Elo is commonly used and most gamers understand
| it. It's nice to be able to show each player their Elo.
|
| I love the idea to use per-player embedding and to add a
| nonlinear model on top. I think it may improve the model
| dramatically, but I'm afraid that the model may be
| overfitting strongly as we have only 35 games in the
| historical for now. Anyway - I think I'll try this out.
| Scene_Cast2 wrote:
| Yeah, 35 games is hard to work with. My rule of thumb is to
| not go above 1 parameter per 10 data points in order to
| prevent overfitting and memorization, so I'm not sure how
| well it will work in your case.
| dragontamer wrote:
| Yeah. Sports science is about evaluating individuals in a team
| and trying to come up with statistics that make team picking
| more reliable.
|
| Moneyball is a good movie that dramatizes the dawning of this
| science.
|
| Fantasy Football is a game version that's become popular for
| online gamblers.
|
| -------
|
| I've seen a paper or two floating around on the subject. But
| I've forgotten the names of them by now and I dunno any good
| references unfortunately.
|
| Hope you find something in your search!
| InvaderFizz wrote:
| Reminds me of a group of friends that played call of duty
| together in the CoD4/WaW days. Individually we were mid-tier
| players on average. As a group, we completely dominated. We all
| knew each other's strengths, weaknesses, and general tactics.
| There was often no need to communicate specifics because we
| knew where each other would be and what we were doing.
|
| We were always giddy when we got matched with a clan,
| especially if they were a mouthy crew.
| leni536 wrote:
| I would guess that in team sports/esports betting some people
| use more advanced models, but they obviously keep it secret.
| DigiEggz wrote:
| Excellent point about team dynamics. When trying to dynamically
| guess a group's Elo, it could be interesting to try and create
| a game-specific radar chart for each player and add those
| values instead.
| tonyhart7 wrote:
| its tried and tested by multiple online games used in
| dota,cs2,lol,val,cod etc
|
| it is not perfect but close enough that it didn't matter tbh, I
| mean multiple company do it for good reason
| Jach wrote:
| There are a bunch of GDC talks about matchmaking systems over
| the years too for those curious about things that have been
| done. For a successful game a lot of things have to be taken
| into account, not just skill.
| bloomingkales wrote:
| I would say ELO doesn't let you walk out of a team based game
| with anything other than a win or loss.
|
| So, in sports, even if your team losses there will be players
| who will leave the season as All stars, or even MVPs (or vice
| versa, you are on a championship team but not critical at all
| to the team). Team esports truly is live or die by the win, and
| somewhat destroys the expression of players who may be league-
| wide top defenders/attackers/support. It's not tracked or
| acknowledged.
|
| It's very brutal.
|
| We need to track and factor in "advanced stats" like many
| sports do to some degree. You are not your ELO, but really your
| assists-per-game, rebounds-per-game, PPG, RBI, YPG, etc.
|
| Match making would sort of fall into place more organically in
| that case possibly, since you can easily look at a team and see
| it needs more scoring, or more defense, versus ... _needs more
| winners or losers_.
| wbl wrote:
| CSGO at the pro level has ADR and k/d, but the stats for an
| igl are going to look a little different from the awper.
| TheAceOfHearts wrote:
| Ultimately the only thing that matters is whether your team
| wins or loses. This should align every player to do their
| best in order to win at any cost.
|
| In the last few weeks the League of Legends Worlds Finals
| took place. One of the teams who made it to Round of 4 was
| GenG. Their midlaner is widely considered to be among the
| best in the world, and their team has dominated their region.
| Despite that, he hasn't won a single worlds. The team that
| won has the most legendary league player because when he
| shows up to worlds, he locks in and wins by any means
| necessary. T1 was the fourth seed in their region, and they
| were one game away from not even qualifying to worlds. But
| once they made it to worlds they locked in and won the whole
| thing.
|
| I think one of the key issues with matchmaking in team based
| games is that they encourage solo queue instead of forming
| groups of reliable regulars. Having a regular group of people
| to play with also reduces toxicity and it lets you have
| clearer expectations of your allies. The power of friendship
| is undefeated in team based games.
| Dalewyn wrote:
| I stopped playing LoL and most individualist PVP games in
| general when I came to the realization they ultimately
| peddled entertainment at the expense of someone's misery.
| Like you say: All that ultimately matters is whether you
| win, the _game_ actually means jack fucking squat.
|
| Once I wisened up and lost the illusion of "fun", I just
| haven't found any appeal in such games anymore. What kind
| of a human being am I if my entertainment of all things is
| drawn from misery? Fuck that, there's enough misery in life
| without fucking games making it worse.
|
| Team and group PVP games are great because winning (or
| losing) is just a matter-of-fact consequence, we're there
| for the experience of playing together as a team and it's
| hell of a lot of fun for both winners and losers.
| mjr00 wrote:
| I think this is overly reductionist. Winning is fun, of
| course; nobody goes into a game with the intention of
| losing. But equating losing with human misery is a
| stretch. Most people playing games aren't miserable after
| a loss, at worst they're tilted after a tough loss or a
| losing streak. If losing were inherently the cause of
| human misery, we wouldn't be sending our kids to play
| organized youth sports for multiple generations. Or
| played chess for thousands of years.
|
| I've been playing fighting games a lot recently, which is
| a pure skill-based 1v1 genre, and going up against people
| better than me who beat me is fun, not miserable.
| Obviously the ideal outcome is to win, but getting
| stomped by 6-time Marvel vs Capcom 2 world champion
| Justin Wong doesn't make me miserable, it makes me want
| to improve.
|
| I'm not saying it's for everyone, I have friends who tilt
| off easily at every loss and yeah they shouldn't play
| ranked at least, but as long as your attitude is "you win
| or you learn" you won't be miserable.
| hipnoizz wrote:
| Similarly, when I played UT'99 (by the definition it was
| ages ago ;-)), I loved playing against stronger players.
| Yeah, losing a lot, but also getting better, decreasing
| the gap, learning new things, and at some point being
| able to win against some of them (or keep the match
| close). Lots of them was so good - I played solely
| Instagib, and a lot of 1-1s - that I was happy with just
| making some kills. But it was a lot of fun nonetheless.
|
| But I've also seen a lot of players that could not cope
| with losing - maybe overly competitive, maybe a bit
| immature etc. etc.
| tourmalinetaco wrote:
| League is miserable to play, for three main reasons. The
| first is 30min-1hr games are the norm, and second that
| entire time you are playing with a group who have nearly
| no experience together, finally the community is
| genuinely horrible even on a good day. You spent an hour
| of your life on a team with an external locus of control
| who spew vitriol at everyone else and who are probably
| not making optimal choices themselves for nothing more
| than points on a scoreboard. The only way to feel
| accomplished in that situation _is_ to win, because no
| amount of self-improvement will help someone when their
| teammate is trying to solo lane with Smolder, or whatever
| player RNG the game throws your way.
|
| Fighting games cannot be compared to LoL in any way shape
| or form, they are shorter individual competitions where
| the only real excuse you have is internal.
| KK7NIL wrote:
| > We need to track and factor in "advanced stats" like many
| sports do to some degree. You are not your ELO, but really
| your assists-per-game, rebounds-per-game, PPG, RBI, YPG, etc.
|
| WAR in baseball
| (https://en.m.wikipedia.org/wiki/Wins_Above_Replacement) has
| been a pretty successful attempt at this.
|
| But it's besides the point, because the goal of a matchmaking
| ranking system (like Elo) is not to measure a player's skill
| but to pair player in such a way that there's a roughly even
| chance of either team winning.
| PeterStuer wrote:
| You would assume that, but in many commercial digital
| multiplayer games matchmaking serves the purpode of
| maximizing agregate revenue. You can start from a neutral
| outcome objective, but then skew it in favor of likelihood
| of continuing to play after win/loss and increased chance
| of spending currency in the cash shop.
|
| This is nudged so as to not be in your face obvious, but
| the skew is definetly applied.
| KK7NIL wrote:
| I haven't heard of this in any major PC title, but still,
| it fits the general idea that Elo-like systems are there
| to measure relative chances of winning, not skill.
| Bombthecat wrote:
| Heroes of newerth did something like this. They tracked gold
| earned, wards placed, kills, damage dealers etc etc etc.
|
| At the beginning it was terrible. But after a year or two, it
| was pretty good fine tuned!
| Buttons840 wrote:
| I used PageRank once, seemed to work well. A win was treated as
| a link, points would flow from the loser to the winner. The
| strength of links would decay over time.
| emmelaich wrote:
| This HN thread has some links and discussion that you might
| like.
|
| https://news.ycombinator.com/item?id=26115665
|
| https://mattmazzola.medium.com/implementing-the-elo-rating-s...
| zeroq wrote:
| I thought about it a lot and I'm afraid there's no single
| ultimate solution. It really depends on the sport and the
| variant you play.
|
| Let me give you couple of examples: (a) foosball - you have a
| bunch of players who play both singles and doubles. What if you
| have two great defenders playing together in a team loosing to
| much weaker, but better suited for their positions, opponents?
| (b) counterstrike vs apex vs overwatch (or, to some extent
| dota) - what if you have a game where you can be easily carried
| by your team just by not sucking too much? In counterstrike one
| weak teammate (either lacking skill or a headset) can cost
| whole team a game, but in overwatch you can pick a supporting
| class and just chill at the back waiting for the rest of your
| team to win the game for you. (c) chemistry - you probably seen
| that at work as well, sometimes there's a synergy between two
| players that only occurs in that particular setup or it can be
| simply a matter of playstyle. (d) variants - in billiards you
| have different games that look similar but for some reason some
| players shine in one variant and can't get through in others.
| chrischen wrote:
| There's OpenSkill https://github.com/philihp/openskill.js
|
| Also Microsoft's TrueSkill
| sdwr wrote:
| Everyone using ELO already _does_ use something other than ELO.
| Game developers skew matchmaking based on:
|
| - the amount of people in queue
|
| - how long it's been since you last played
|
| - total games played
|
| - player reports
|
| - how many cosmetics you bought (maybe)
|
| The strength of ELO is how much it gives, for so little cost.
| One number representing everything. It doesn't perfectly
| explain the beautiful variety of nature, sure, but it's the
| most efficient possible abstraction. A single point value that
| captures 70% of what you need to know about relative skill.
| Bombthecat wrote:
| And how likely it is you quit because you lost or won to many
| matches.
|
| Blizzard does it. Especially in overwatch.
|
| It's called engagement matchmaking
| chupasaurus wrote:
| I'd call the one in OW1 enshittification matchmaking,
| because it makes games where one side has to lose.
| 0x457 wrote:
| Well, in every team-based PVP game one side has to lose
| (or a tie in sport games sometimes).
|
| This isn't even a match-fixing because while outcome is
| predicted, nothing beyond matching "weak" team against
| "strong" team is done to ensure that outcome.
|
| I mean, it's shitty that blizzard decides that you had
| enough fun crushing it and now it's someone else's get
| that dopamine. However, on other hand, it's nice if
| you're on the otherside sometimes. I will admit that
| sometimes it matched us against team that was so weak it
| wasn't even funny.
| kaichanvong wrote:
| "something that isn't based on...", Many of the CPL
| (Cyberathlete Professional League in eSports) qualifiers were
| based from online rankings for players. Normally round-robin
| (more common known swiss) format-of tourment systems applied;
| go from the previous ranks, it's often hidden for different
| reasons, however, you look at the most recent qualifier, who
| performed well, then try to order everything slightly
| differently offline-in tournaments, then report online.
|
| The important thing to note, when the numbers look odd-number,
| removing players to join-in into the event, placing the limits!
|
| Normal orders based on name, country of origin (sometimes these
| individuals travel far!), time of entering tournament
| (sometimes people late!), then getting it to play as well as
| possible sometimes based on how it looks... you want some kind
| of catch measure, to catch 2-players early on that would play
| normally in the final, having 1 going home early onwards. Is
| this a hack? Yes and No. Losing information happens when you
| don't apply planning, (1-day planning then more when
| possible?).
| kaichanvong wrote:
| someone wrote, it's Win or Lose, in these situations, sorry!
|
| Event organisers, they like encourage the "good games"
| happening, when problems arise, it looks bad on every people
| there, the result OK, however this affects more. It is the
| event happening on time, people leaving at right times,
| everyone is OK, that people consider the "friend" aspect of
| tournaments, the professional points of view; this is
| "sportsmanship" online towards the real eSports victory.
|
| Meanwhile the electronic groups have different "matchmaking"
| systems, I have even heard it is more matchmaker, it cannot
| be 100% perfect, however, people always try hard doing good.
| joaquincabezas wrote:
| what about trying with Shapley values?
| lucb1e wrote:
| No idea what you're talking about so I looked it up
|
| > The Shapley value is a solution concept in cooperative game
| theory. It was named in honor of Lloyd Shapley, who introduced
| it in 1951 and won the Nobel Memorial Prize in Economic
| Sciences for it in 2012. To each cooperative game it assigns a
| unique distribution (among the players) of a total surplus
| generated by the coalition of all players. The Shapley value is
| characterized by a collection of desirable properties.
|
| This is pretty much the whole article lede on Wikipedia but I
| have no idea what I just read. What's a total surplus in a
| cooperative game here, like how much wood your team has
| gathered in AoE? How does it help to "assign" that, wouldn't
| that rather be the result of a game? Can someone dumb this
| down?
| palata wrote:
| For tournaments, I like the Swiss system [1], which I believe is
| popular in chess.
|
| [1]: https://en.wikipedia.org/wiki/Swiss-system_tournament
| jldugger wrote:
| It's also common in Magic and other card game tournaments, but
| slightly modified: "6 rounds of swiss, cut to top 8 the single
| elimination" is a common sight.
| zeroq wrote:
| Fun fact - our local community recently started playing
| billiards tournaments using a swiss system and it's really
| cool, but it's a tradeoff between fairness and the amount of
| players you can invite to a tournament. The swiss variants play
| at max 40 players with 6 rounds, but if you want to invite 100+
| players then you have to run a 2KO ladder, otherwise the
| tournament would last a week. EDIT: The best part of swiss
| system is it's the best value for money, because you will play
| throughtout the whole tournament despite your results, and
| while you progress the opponenets will adjust to your level, so
| you can have fun no matter what.
| GuB-42 wrote:
| The problem is that a billiard is a big, expensive piece of
| equipment, and you are limited by your venue.
|
| In chess, you only need a chessboard, which is cheap, and a
| table. In collectible card games like Magic: The Gathering,
| it is even simpler as people bring their own cards, so all
| you need is the table. For a LAN party, people usually bring
| their own computer and they have a spot for the entire event,
| so having everyone play at the same time is trivial.
| lucb1e wrote:
| From a quick read, after a first round where you play another
| team at random or so, in each round players are "sorted
| according to their cumulative scores and [play against]
| opponents with the same or similar score". At the same time, it
| avoids having to play the same opponent twice. I don't see how
| one decides how many rounds to play, but not sure if that
| detail matters
|
| Reading the analysis section, this is how it compares to a
| knock-out tournament:
|
| > Assuming no drawn games, determining a clear winner
| [requires] the same number of rounds as that of a knockout
| tournament [...] Compared to a knockout tournament, a Swiss
| system has the advantage of not eliminating anyone [and] that
| the final ranking gives some indication of the relative
| strengths of all contestants, not just of the tournament
| winner. [However,] sometimes a player has such a great lead
| that by the last round they are assured of winning the
| tournament [such that it] does not always end with the exciting
| climax
| palata wrote:
| Chess tournaments I've participated in had 7 rounds. The
| swiss system is really cool because it is a kind of sorting
| algorithm, where players quickly end up confronting players
| their level. So if you're a beginner, you still get to play
| to get a better ranking (instead of "whatever, I won't win
| anyway").
| haliliceylan wrote:
| Wow its very interesting, for me AI is still a big black box
| toolslive wrote:
| Kaggle had (has?) a competition for rating systems.
|
| https://www.kaggle.com/competitions/chess/discussion/107
|
| There are plenty of rating systems out there that perform better
| than Elo.
| Mkengine wrote:
| I only see the names of participants in the leaderboard, how
| can I access their methods?
| shenberg wrote:
| Under the leaderboard tab, if the "Solution" column has an
| icon, it's clickable. 2nd place solution is by Jeremy Howard
| (of fast.ai fame), which I'd summarize as TrueSkill Through
| Time (Microsoft Research paper) + some overfitting on the
| public leaderboard (1st place was #26 in the public
| leaderboard).
___________________________________________________________________
(page generated 2024-11-03 23:01 UTC)