Transcendence-Animal-Crossing / backend

3 stars 0 forks source link

Feat/game queue #29

Closed sseunghoon closed 10 months ago

sseunghoon commented 10 months ago

GameQueue 주요 변경사항 요약

Rank 매칭 알고리즘 간단 요약

유저 A, B, C 가 매칭 시도 -> A, B, C 를 rankScore 순으로 정렬 => C, A, B -> C는 A, B 순서대로 자신과 매칭이 가능한 점수인지 확인한다 -> A가 매칭이 가능한 점수라면, 반대로 A도 C가 자신과 매칭이 가능한 점수인지 확인한다. -> 둘다 서로가 매칭이 가능하다면 매칭이 이루어지고, 아니라면 다음 사람으로 넘어간다.

여기서 매칭이 가능한 점수란 [자신의 점수] 와 [상대의 점수] 의 점수 차이의 절대값이 [기본 점수 차이(20)] + log_2([기다린 시간(초)]) * [시간에 대한 가중치(10)] 이하인 것을 말한다.