Quote:
Originally Posted by Ejziponken
No it wouldn't. The goal with ELO is to play against equally good players. In that way you can see who really is the best of the best.
And the "bad" players wouldn't have to keep playing against really good ones and that would make it more fun for them.
I know other games using ELO like that. Neverwinter is one MMO for an example. And this is taken from LoL:
Also I think DotA is using this.
|
Well of course they match players up based on expected skill. That's the whole point of matchmaking, whether backed by elo or trueskill or anything else. The difference is they have populations of thousands to match players up within. I have anywhere from 2 to 32. Big difference.
That said - I can think of some ways it could work. Getting the exact answer to the optimization problem "find the pairings such that the rating difference between each opponent is minimized" would be the wrong approach. It would lead to players constantly facing the same people.
The better way would be to fuzz the ratings by: adding/subtracting a random amount and do the above optimization problem or some approximation of it. Thankfully I wouldn't have to worry about solving it exactly if I already fuzzed the ratings so a simple greedy algorithm would probably work fine.
On that note: I've been spending a bunch of time massively rewriting and reorganizing some stuff. The end goal is more modularity. It'd be possible to lay an elo-matching algorithm in another plugin on top of the base plugin with the new structure I'm working on. It's a ways off, however. Don't expect any new versions until all this is done. See
https://github.com/splewis/csgo-mult...ter/MODULES.md
Some forwards and natives are exposed that would basically let another plugin overwrite the ordering of the players within arenas. (in this case you could use the GetRating native and OnRankingQueueSet forward to do the work)
A big challenge left for me is how round types can fit into this. My initial reaction was that I'd be able to move all the round type stuff into a module-type plugin, so others could easily do all the stupid crap I get asked to do (shotgun rounds, knife rounds?!?!!1!1!1!1). Having thought about it, I can't see an easy way that could work - it's not as if each round type has a single menu with it. The rifle/pistol choices are integrated across multiple round types. Unless I have a flash of inspiration expect the ability to tweak round types to be minimal, if it exists at all. I should note it would technically be possible to use another forward for player spawns to add something like a knife round though. The problem would arise when you have multiple module-type plugins interacting, all trying to override things.
And on a completely unrelated note: I might begrudgingly rename the plugin to [CS:GO] Arena or something. Everyone calls it that anyway.
__________________