Backstory
So I’m introducing a 1v1 card battle feature into my game, where basically cards at different ratings (highest: 99, lowest: 57), where 1 player puts a card against another player’s, and whoever has the better card rating would win by a certain percent.
Basically the gist is, when two cards have the same rating, I want there to be a 50% win chance for both of them, otherwise I want there to be a win chance based on the difference in rating.
Obviously I wanted an asymptotic equation so that the max win chance could be somewhere in the 90s (90% - 99%) and the lowest could be something like 1% - 9%.
So my idea was to use arctan since it was easily maneuverable, but I wanted to see what other models people (who made a win chance system) used, and also as a side question, am I overlooking a simple solution?
And here’s my current equation that I’m using:
local function getWinChanceFromRatingDifference(ratingDiff : number)
local chance = 50 * (2 / math.pi) * math.atan(1/8 * ratingDiff) + 50
return chance
end