Closed atomflunder closed 3 months ago
I would love to help with this, but I've read the "Computing Your Skill" blog post, started reading "The Math Behind TrueSkill" paper and I still don't really understand anything at all.
@asyncth Thanks for your interest, I am pretty much in the same boat. It is incredibly complicated. I implemented the expected_score_multi_team
and draw_probability_multi_team
but the actual trueskill_multi_team
is still missing.
I looked around at multiple different implementations, but all of the properly working ones are all using different forms of inheritance, none of which I am sure how to port to Rust. Also most are in languages I have zero experience in.
The implementations without inheritance are either all completely non-functional, or missing team support (Only FFA).
Here are the two working approaches I found:
All of the other implementations I found on GitHub were ports of these two to different languages, and lots of them are not even working properly.
I tried implementing it but everything so far failed miserably. Not giving up yet, but I am glad of all the help I can get.
I'm not even sure what does one need to do to implement TrueSkill 1v1 though, am I missing something?
I'm not even sure what does one need to do to implement TrueSkill 1v1 though, am I missing something?
For the TrueSkill 1v1 and Team v Team functions I went off the implementations on the https://github.com/moserware/Skills/tree/master/Skills repository, where the author uses some shortcuts and not the whole factor graph to calculate the ratings, which made things considerably easier.
TrueSkill has the capability of supporting multiple teams just like the WengLin algorithm, and we should implement this.
This means that these functions should be implemented for the TrueSkill algorithm:
Resources: