|
- 경험기, 프리뷰, 리뷰, 기록 분석, 패치 노트 등을 올리실 수 있습니다.
Date |
2004/12/17 15:39:47 |
Name |
ClassicMild |
Subject |
저만의 랭킹 프로그램을 만들어 보았습니다. |
1.
들어가기에 앞서, 몇 달 전이었나요?
그리피님의 래더 랭킹을 보고 감명 받고
나도 한번 나만의 방식으로 만들어야지 하고 벼르고 있었던 것을
모든 시험이 끝난 지금즈음 만들게 되었네요.
혼자서 끙끙대고 있는 것보다는
여러 사람들의 의견을 수용하고 싶어서 이렇게 글을 씁니다.
2.
우선 제 프로그램에서 지원하는 기능은
1) 랭킹
2) 맵 정보
3) 종족 정보
입니다. 이후에 선수상세정보와 팀 정보를 추가 할 계획입니다.
랭킹는 그리피님의 방식처럼 래더 점수제를 바탕으로 매겨집니다. 아직은 누적랭킹만 지원하고 차후에 월별랭킹과 분기별 랭킹 등도 만들어볼 생각입니다.
맵에 대한 정보 역시 선수들의 정보만큼이나 중요하다고 생각되어 만들어본 항목이 맵 정보입니다. 여기에서는 맵 이름과 방송사, 종족별 승률, 종족별 상대전적등이 표시되고, 이것들을 점수화하여 매겨진 포인트가 존재합니다.
종족 정보는 말그대로 모든 게임에서의 종족별 승률, 종족별 상대전적이 표시됩니다.
이후 기능 보완을 통하여 선수들간의 상대전적을 볼 수 있는 항목과 팀 별로 점수를 매기고 각종 정보를 확인할수 있는 항목을 추가하고자 합니다.
3.
대충의 기능 설명이 끝났으니 이제 점수 부여 방식 등의 특징을 설명드리고자 합니다.
(사실 이게 제일 중요하죠)
첫 번째로 랭킹 시스템입니다.
랭킹은 점수제로 매겨집니다. 그리고 그 점수제는 그리피님이 하셨던 것 처럼 래더 점수제 방식으로 매겨지고요. 우선 기본 공식은
p = (패자point - 승자point)/20 + 10 +a
인데요. 우선 +a 를 제외한 공식은 그리피님의 공식과 같습니다. (공식 사용 허락을 받으려고 그리피님께 쪽지를 보냈지만 소식이 없어서ㅜ.ㅜ, 그리피님의 글은 추게 5페이지에 있습니다.)
모든 선수들은 기본점수 1000점을 가지고 있고, 승자는 포인트를 그대로 더 가집니다. 하지만 패자는 포인트의 반만을 빼앗기는데, 이것은 아무래도 똑같은 포인트를 주고 받는 것이 너무 승률에 민감하기 때문에 어느 정도의 다전을 인정한 방법입니다.
그리고 제가 가장 중점을 두고 있는 점은 그 뒤의 +a입니다. a를 결정짓는 요소는 리그(어떤 리그인가? - 스타리그, 프로리그..), 라운드(결승, 준결승...) 그리고 맵입니다.
스타리에서 얻는 점수와 챌리지 리그에서 얻는 점수가 같을 수는 없습니다. 그래서 리그에도 등급을 부여하여 높은 등급의 리그에서는 더 높은 점수를 얻을 수 있습니다. 그리고 라운드 점수 역시 마찬가지입니다. 결승과 16강이 같을 순 없으므로 그에 맞게 점수를 부여하였습니다. 그리고 그 기준은
온게임넷
스타리그 : 16강(12) 8강(14) 4강(16) 3-4위전(18) 결승(20)
듀얼 : 10
프로리그 : 페넌트레이스(10) 라운드플(12) 라운드결승(14) 그/파플(16) 그/파결승(18)
챌린지리그 : 조1위끼리의 리그, 1위 결정전 외의 경기(8) 1위 리그(10) 1위 결정(12)
엠비시게임
스타리그 : 16강 및 패자 1,2회전(10) 8강 및 패자 3,4회전(12) 4강 및 패자준결(14) 승자/패자 결승(16) 결승(18)
마이너리그 : 메이저-마이너결정전 외 모든 경기(6) 메이저-마이너 결정전(8)
팀리그 : (지금방식으로) 페넌트레이스(8), 준플(10) 플(12) 결승(14)
프리미어 : (그냥 엠겜쪽으로) 페넌트레이스(10) 리그준플(12) 리그플(14) 리그결승(16) 통합결승(18)
게임티비
신인왕전 : 페넌트레이스(2) 4강(4) 결승(6)
아이티비
랭킹전 : 3라운드결승(6) 2라운드결승(4) 그 외의 경기(2)
으로 제 나름대로 정했습니다. 명확하지 않은 부분이 많이 보이네요. 프로리그에서 팀플은 제외합니다. 이 리그&라운드 점수 부분은 여러분들과 많은 이야기를 나누고 가장 합리적이라고 생각되는 방향으로 고칠 생각입니다. 절대적으로 제 주관적으로 정한 점수이니 이건 아니다 싶은 점은 언제든지 말씀해 주세요^^;
또 하나 중요한 것이 맵에 따른 점수입니다. 머큐리에서 저그가 토스를 이기면 별로 대단한게 아니지만(저그 선수들의 노력을 무시하는 발언은 아닙니다^^;) 그 반대의 경우에는 정말 대단한거죠. 그것을 고려한 점수입니다.
선수들이 경기를 가진 맵의 종족별 상대전적을 따져 불리한 종족에게는 플러스를, 유리한 종족에게는 마이너스해 주었습니다. 예를 들어 박정석 선수가 홍진호 선수를 머큐리에서 이겼는데 그 때까지의 상대전적이 Z : P = 10 : 1 이면 박정석 선수는 9/2의 맵 점수를 더 얻고, 홍진호 선수는 마찬가지로 9/2의 맵 점수를 잃게 됩니다.(정확히는 패자는 9/2의 반을 더 잃습니다.) 즉, 맵 점수는 각 종족 상대전적의 차의 반이 됩니다.
이제 예를 확장하여 온게임넷 스타리그 8강에서 1200점의 박정석 선수가 1300점의 홍진호 선수를 상대전적 10:1 의 머큐리에서 이겼다면,
*기본점수 = (1300 - 1200) / 20 + 10 = 15
*리그&라운드 점수 = 온게임넷 스타리그 8강(14)
*맵 점수 = 9/2 = 4 (참고로 소수형을 지원하지 않아서 무조건 내림입니다^^;)
*총 포인트 = 15 + 14 + 4 = 33
박정석 선수는 이 점수를 다 가지고 홍진호 선수는 이 점수의 반인 33/2 = 16 을 잃게 됩니다. 결국 이 경기 후에는 박정석 선수가 1233점이 되고, 홍진호 선수는 1284점이 됩니다.
이렇게 매겨진 점수를 정렬하여 순위를 매깁니다. 점수와 더불어서 그 선수의 승-패, 승률, 테란전 승패, 토스전 승패, 저그전 승패를 화면에 표시해줍니다.
두 번째 기능은 맵 정보에서는 맵이름, 방송사, 맵포인트, 종족별 승률, 종족별 상대전적 등을 표시해주는데, 특이하게 추가된 점이 맵 포인트(랭킹 계산에 쓰인 맵 점수와 무관합니다^^;)입니다.
맵 포인트는 맵에도 점수를 매겨 볼수 있으면 좋게다는 생각에서 만든것인데, 밸런스적인 면을 강조하여 각각의 상대전적을 30(T:Z), 30(Z:P), 30(P:T)씩 주고, 나머지 10은 그 맵에서 경기가 얼마나 있었느냐를 판단하여 부여했습니다. (오래 사용된 맵은 그만큼 가치가 있다고 생각합니다.) 밸런스 점수는 각 종족 상대전적 차의 절대값을 빼주었습니다. 아까 예를 든 머큐리를 계속 예를 들어 저그대 토스가 10:1 이므로, 박정석 선수, 홍진호 선수의 경기가 있었으니깐 10:2 겠군요. 두 전적의 차인 8점이 30점에서 마이너스 됩니다. 저그:토스 점수가 22점이 되고 나머지도 역시 마찬가지 방법으로 매겨집니다.
그리고 남은 10점은 100전을 만점으로 보아서 10전에 1점씩 추가하는 방법으로 하였습니다. 역시 종합적인 예로 테:저(5:3), 저:프(10:2), 프:테(6:5)이고 29전을 치룬 머큐리 맵은 28+22+29+2 = 81 점이 됩니다.
종족 정보는 간단하게 모든 경기수와 종족별 전적 및 상대전적을 표시합니다.
이상으로 두서 없이 각종 점수 표시 방법을 말씀드렸습니다. 물론 위에 예로 든 머큐리의 전적이나 박정석, 홍진호 선수의 점수 등은 전혀 사실과 무관합니다. 나름대로 객관적이고 형평성에 맞는 평가를 주기위해 노력했지만 역시 혼자의 힘이라 부족한 점이 많습니다. 여러분들이 많은 의견 내주셨으면 좋겠네요^^ (쓰고나서 보니 꼭 레포트 같다는...oTL)
4.
지겨운 설명을 잔뜩 했으니 이제 여태까지의 결과물을 보여줘야 할 것 같습니다.^^;
(말은 거창하지만 실상은..)
모든 데이터를 저 혼자 게임 리포트 게시판을 뒤져가며 입력을 해야하기 때문에 많은 전적을 수집하진 못하였습니다. 그래서 8월 1일 질레트 스타리그 결승부터 어제 12월 16일 엠겜 스타리그 박용욱대 변은종 전까지의 데이터를 토대로 랭킹을 산정해 보았습니다. (8월까지의 경기결과만도 게시판 40페이지 정도 되는군요^^; 살짝 엄살부려봅니다.)
1) 랭킹
No.1 이윤열(T,P&Q) 1403 32-13 71% vsT: 5-5 vsP: 17-4 vsZ: 10-4
No.2 박정석(P,KTF) 1294 27-19 58% vsT: 13-8 vsP: 4-1 vsZ: 10-10
No.3 박태민(Z,GO) 1294 22-10 68% vsT: 12-7 vsP: 5-1 vsZ: 5-2
No.4 최연성(T,SKT1) 1288 31-25 55% vsT: 12-14 vsP: 11-5 vsZ: 8-6
No.5 홍진호(Z,KTF) 1287 26-15 63% vsT: 12-10 vsP: 8-4 vsZ: 6-1
No.6 조용호(Z,KTF) 1278 30-16 65% vsT: 12-6 vsP: 7-4 vsZ: 11-6
No.7 박성준(Z,POS) 1272 28-15 65% vsT: 10-6 vsP: 12-4 vsZ: 6-5
No.8 임요환(T,SKT1) 1237 20-18 52% vsT: 8-7 vsP: 3-6 vsZ: 9-5
No.9 차재욱(T,KOR) 1235 23-19 54% vsT: 9-3 vsP: 7-7 vsZ: 7-9
No.10 김근백(Z,삼성Khan) 1211 15-6 71% vsT: 5-0 vsP: 3-2 vsZ: 7-4
No.11 박용욱(P,SKT1) 1206 25-23 52% vsT: 9-13 vsP: 9-5 vsZ: 7-5
No.12 서지훈(T,GO) 1206 17-12 58% vsT: 8-3 vsP: 4-6 vsZ: 5-3
No.13 강민(P,KTF) 1169 15-15 50% vsT: 8-6 vsP: 4-4 vsZ: 3-5
No.14 김정민(T,KTF) 1158 12-11 52% vsT: 4-5 vsP: 4-1 vsZ: 4-5
No.15 안기효(P,P&Q) 1148 14-11 56% vsT: 5-2 vsP: 2-1 vsZ: 7-8
No.16 조형근(Z,한빛) 1136 14-10 58% vsT: 8-3 vsP: 2-1 vsZ: 4-6
No.17 변길섭(T,KTF) 1121 14-17 45% vsT: 7-10 vsP: 2-2 vsZ: 5-5
No.18 고인규(T,SKT1) 1115 12-6 66% vsT: 1-1 vsP: 1-0 vsZ: 10-5
No.19 이재훈(P,GO) 1110 9-8 52% vsT: 3-3 vsP: 4-2 vsZ: 2-3
No.20 김민구(Z,KTF) 1106 14-13 51% vsT: 3-6 vsP: 5-1 vsZ: 6-6
No.21 마재윤(Z,GO) 1101 8-5 61% vsT: 4-1 vsP: 2-1 vsZ: 2-3
No.22 김동진(T,헥사) 1098 7-8 46% vsT: 5-7 vsP: 1-1 vsZ: 1-0
No.23 한동욱(T,KOR) 1098 7-7 50% vsT: 2-3 vsP: 1-2 vsZ: 4-2
No.24 전상욱(T,GO) 1097 8-10 44% vsT: 4-0 vsP: 2-4 vsZ: 2-6
No.25 변은종(Z,SOUL) 1088 9-12 42% vsT: 2-7 vsP: 4-4 vsZ: 3-1
No.26 박지호(P,Plus) 1084 9-8 52% vsT: 2-3 vsP: 2-1 vsZ: 5-4
No.27 이병민(T,P&Q) 1080 9-17 34% vsT: 3-4 vsP: 2-5 vsZ: 4-8
No.28 성학승(Z,SKT1) 1080 11-13 45% vsT: 7-5 vsP: 2-4 vsZ: 2-4
No.29 이재항(Z,P&Q) 1066 7-8 46% vsT: 2-5 vsP: 4-0 vsZ: 1-3
No.30 최수범(T,삼성Khan) 1065 7-11 38% vsT: 3-4 vsP: 1-2 vsZ: 3-5
30위까지만 간추려봤습니다. 8월부터의 데이터이기 때문에 다들 전적이 많지 않군요. 가장 최근 성적에 민감한 만큼 요즘 최고의 주가를 올리고 있는 이윤열 선수가 1위입니다. 게다가 최근에 성적 좋은 박정석 선수와 조용호 선수를 3:0으로 이겨 그 점수가 엄청납니다. 요즘 기세 좋은 박태민, 홍진호 선수 등이 눈에 띕니다. 이번에 처음 스타리그 진출한 김근백 선수도 10위에 보이는군요.
2) 맵
NO.1 Bifrost3 (OnGamenet)
[ Point : 82 TotalGame : 49 ]
Protoss : 11-11 (50%) Zerg : 11-16 (40%) Terran : 19-14 (57%)
T:Z = 12:7 Z:P = 4:4 P:T = 7:7 T:T = 8 Z:Z = 9 P:P = 0
NO.2 Luna (MBCgame)
[ Point : 80 TotalGame : 70 ]
Protoss : 15-18 (45%) Zerg : 26-16 (61%) Terran : 19-26 (42%)
T:Z = 9:18 Z:P = 8:7 P:T = 8:10 T:T = 11 Z:Z = 5 P:P = 5
NO.3 Requiem (OnGamenet)
[ Point : 80 TotalGame : 86 ]
Protoss : 16-24 (40%) Zerg : 36-20 (64%) Terran : 22-30 (42%)
T:Z = 13:21 Z:P = 15:7 P:T = 9:9 T:T = 13 Z:Z = 8 P:P = 4
NO.24 Nostalgia (OnGamenet)
[ Point : 71 TotalGame : 31 ]
Protoss : 5-11 (31%) Zerg : 6-10 (37%) Terran : 16-6 (72%)
T:Z = 8:3 Z:P = 3:2 P:T = 3:8 T:T = 9 Z:Z = 0 P:P = 0
NO.25 Pelennor (OnGamenet)
[ Point : 71 TotalGame : 24 ]
Protoss : 5-7 (41%) Zerg : 3-10 (23%) Terran : 12-3 (80%)
T:Z = 7:1 Z:P = 2:3 P:T = 2:5 T:T = 5 Z:Z = 4 P:P = 0
NO.26 Mercury (OnGamenet)
[ Point : 68 TotalGame : 35 ]
Protoss : 7-14 (33%) Zerg : 15-7 (68%) Terran : 9-10 (47%)
T:Z = 6:4 Z:P = 11:1 P:T = 6:3 T:T = 4 Z:Z = 4 P:P = 0
1위부터 3위와 가장 마지막의 3개 맵만 추렸습니다. (순위가 낮은 맵을 추린 이유는 점수제의 효용을 보려는 것이지 비판을 하려는 것이 아닙니다^^;)
의외로 비프로스트3이 괜찮은 밸런스를 보여주며 1위입니다. 어느정도의 다전도 있고요. 테란대 저그 외에는 무리없는 모습입니다. 루나와 레퀴엠은 상당히 저그 맵이군요. 60%가 넘습니다. 그렇지만 다전에서 유리한 맵이어서 상위에 랭크 되었습니다. 그만큼 요즘 밸런스가 들어 맞는 맵이 없다는 뜻인가요? 아님 점수 산정 방식에 문제가 있는 걸까요?^^;
가장 낮은 순위는 온게임넷 맵 3개가 차지했습니다. 악명 높은 머큐리가 제일 순위가 낮군요. 플저전 밸런스가 영향이 큰 모습입니다.(이 맵에서만 유독 저그 대 토스의 공식전이 많은 것도 참 이상하네요^^;) 펠레노르 역시 80%의 테란 승률이 보여주듯 낮은 점수를 보였습니다.
맵 점수는 보시면 알겠지만 문제점이 상당히 많습니다. 꽤 많은 개선이 필요할 것 같은데요. 좋은 의견 주시면 감사하겠습니다.(__)
3) 종족
TotalGame = 632 games
Protoss = 110 wins 134 loses (45%)
Terran = 160 wins 167 loses (48%)
Zerg = 169 wins 138 loses (55%)
T : Z = 93 (47%) : 102 (52%)
Z : P = 67 (59%) : 45 (40%)
P : T = 65 (49%) : 67 (50%)
T : T = 89 games
Z : Z = 74 games
P : P = 30 games
8월부터 지금까지의 공식전이 632전이나 되네요. (참고로 데이터에는 wcg와 기타 예선, 챌린지 예선, 마이너 예선, 이벤트전 등이 포함되지 않았습니다.) 저그의 강세가 두드러 집니다. 더불어 저그대 토스의 6:4 벨런스와 역전된 테란 대 저그, 토스 대 테란의 전적도 눈의 띄네요. 토스가 힘들긴 힘든가 봅니다.
5.
이상으로 허접하고 긴 글을 마치겠습니다. 혹시나 위에 보이는 데이터에서라도 오류가 보인다 싶으면 언제든지 말씀해주세요. 더불어 계산과 맞춤법도^^; 여러분들과 정보를 나누고 더 좋은 방법을 모색해보려 글 올린거니 너무 구박하진 마세요^^;
아무도 인정하지 않는 저만의 랭킹이지만 앞으로도 꾸준히 데이터를 쌓고 업그레이드 해보렵니다. 긴 글 읽느라 수고하셨어요*^^*
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|