리페어 속도
리페어는 '256 타이머' 와 전혀 관계 없으며, 구하는 과정이 좀 많이 복잡하다.
내 모든 글에서, 계산 결과값이 소수점 아래로 쭉 나오는 수치들이 있을 때는
특별한 경우가 아니면 다 소수점 아래 넷째 자리에서 반올림 한 값을 기입하니 참고해라.
이 글은 리페어 '속도' 에 관해 다루는 글이라, 리페어 '비용' 같은 내용은 다루지 않음.
리페어 비용 구하는 식을 거의 오차 없게 만들긴 했는데, 생각보다 복잡해서 앞으로 다룰지는 모르겠음.
Repair Rate
유닛별로, 건물별로 각기 다른 'Repair Rate' 값이 존재.
'Repair Rate' = 'R' = '리페어 속도' = '수리 속도' 등 다 같은 의미로 내 글에서 혼용.
'리페어' 는 테란 고유의 기술이기 때문에, 테란의 유닛과 건물에만 Repair Rate 가 존재한 다고 생각 할 수 있지만,
결론만 말하면 Repair Rate 는 모든 종족의 유닛과 건물에 존재하며, 후술할 개념들을 계산하는데 꼭 필요한 값.
위 표에는 일반적으로 자주 접하고, 수치 활용도가 높은 유닛과 건물만 명시.
자세한건 읽어가면서 이해하는걸로.
[ Repair Rate 의 정의 ]
" SCV 한 마리가, 256 프레임당 얼마만큼의 HP 를 수리 할 수 있는가 "
예를 들어 Repair Rate 가 64 인, 건물 A 가 있다면,
SCV 한 마리가 건물 A 를 수리할 때에,
(1) 256 프레임 동안 64 HP 수리 가능
(2) 1 프레임 당, 0.25 HP ( 64 ÷ 256 ) 수리 가능
(3) 256 프레임은 현실 시간으로 10.752 초 이기 때문에,
1 초 당, 약 5.952 HP ( 64 ÷ 10.752 ) 수리 가능
(4) 1 HP 수리에, 0.168 초 ( 10.752 ÷ 64 ) 소요
등의 정보를 우리가 알 수 있는 것.
우리가 앞으로 자주 사용하게 될 정보는 (3) 과 (4) 다. 그 이유는 후술.
[ Repair Rate 산정식 ]
위의 예 처럼, 건물 A 의 Repair Rate 는 64 / 유닛 B 의 Repair Rate 는 58
이런식으로 수치가 고정으로 정해져 있으면 편하겠지만
실제로는 유닛이나 건물의 HP 와 Build Time 에 의해 Repair Rate 가 정해지도록 설계를 해놨음.
Repair Rate = [ 0.9 x 256 x HP / Build Time ] 값의 '올림'
즉, 같은 유닛이나 건물이어도 HP 와 Build Time 이 달라지면 Repair Rate 가 달라질 수 있고,
다른 유닛이나 건물이어도 HP 와 Build Time 을 같게 설정하면 Repair Rate 값이 같아질 수 있다는 의미.
* '올림' 은, 1 의 자리를 최소 자리로 잡고, 소수점 아래의 수치는 0.1 이됐든 0.8 이 됐든 모두 1 의 자리로 올려준다는 의미.
편의를 위해, 앞으로는 다음과 같이 축약해서 적는다 R = [ 0.9 x 256 x HP / BT ] ↑
Repair Rate = ' R ' // Hit Points = ' HP ' // Build Time = ' BT ' // Round Up ( 올림 ) = ' ↑ '
왜 R 수치를 구하는 산정식 가운데에 256 을 곱해서,
'굳이' 256 프레임에 대한 회복량을 구하느냐 할 수 있는데,
'256 이 곱해진 수치에 "올림" 을 해야하기 때문에' 그럼.
연습 차원에서 '벙커의 R' 을 한 번 구해보자.
- 벙커 HP : 350 // 벙커 BT : 450
- 벙커 R = [ 0.9 x 256 x 350 / 450 ] ↑ = 180
다시 말하지만, 벙커의 R 이 180 이라는 의미는
SCV 한 마리가 256 프레임 동안 벙커의 180 HP 를 수리할 수 있다는 의미고,
256 프레임은 현실 시간 10.752 초 이기 때문에,
SCV 한 마리 기준,
1 초 당, 약 16.741 HP ( 180 ÷ 10.752 ) 수리
1 HP 수리에, 약 0.060 초 ( 10.752 ÷ 180 ) 소요 된다는 의미
밑에 부터는 부연 설명 없이 짧게 짧게 적으니깐 천천히 따라와봐라.
' 커맨드의 R '
- HP : 1500 // BT : 1800
- 커맨드 R = [ 0.9 x 256 x 1500 / 1800 ] ↑ = 192
1 초 당, 약 17.857 HP ( 192 ÷ 10.752 ) // 1 HP 당, 약 0.056 초 ( 10.752 ÷ 192 )
' 배틀크루저의 R '
- HP : 500 // BT : 2000
- 배틀 R = [ 0.9 x 256 x 500 / 2000 ] ↑ = 58
1 초 당, 약 5.394 HP ( 58 ÷ 10.752 ) // 1 HP 당, 약 0.185 초 ( 10.752 ÷ 58 )
R 산정식의 구조를 이해한 사람이면, R 은 '유닛 HP 에 비례' 하고 '빌드 타임에 반비례' 하기 때문에
HP 와 빌드 타임만 주어진 상태에서도, 커맨드의 R 이 배틀의 R 보다 클 것을 예상 할 수 있을거고,
R 의 정의를 제대로 이해한 사람이면, R 수치의 대소 관계를 통해
커맨드 수리 속도가 배틀크루저 보다 빠를 것이라는 것을 예상할 수 있을거다.
그니깐 Repair Rate 개념을 두 문장으로 정리하면
(1) Repair Rate 는 유닛과 건물의 최대 HP 에 비례하고, 빌드 타임에 반비례
(2) Repair Rate 수치가 높을수록 빠르게 리페어 가능
좀 더 쉽게 정리하면, 총 HP 가 높고, 빌드 타임이 짧은 유닛일수록 빠르게 수리 가능하다는 얘기임.
참고로, SCV 여러마리가 붙어서 수리하는 경우 Repair Rate 에 SCV 수를 곱해주면 됨.
( 같은 시간 내의 회복량이, 두 마리면 두 배, 세 마리면 세 배 이런식으로 된다는 의미 )
부록
[ Repair Rate 의 활용 ]
(1) ' 1 초 당 수리 가능한 HP 수치 ' 의 활용
( 편의상 Repair Per Second, RPS 라 줄여 적음 )
- 드라군 데미지 : 20
- 실제 벙커에 들어가는 드라군 데미지 : 19 ( 벙커 아머 : 1 )
- 드라군 실제 쿨 다운 : 1.281 ( 1.26 + 0.021 )
- 벙커 R = 180
- 1 SCV's RPS ≒ 16.741 HP ( 180 ÷ 10.752 )
- 1 드라군 DPS vs 벙커 ≒ 14.832 ( 19 ÷ 1.281 )
즉 드라군 한 마리가 때리는 벙커를, SCV 한 마리가 수리하고 있는 경우
1 초당 약 1.909 HP 회복할 수 있는 것 ( 16.741 - 14.832 )
매지션ㅇㅇv 님이 적은 글 '리페어 실제 효율 실험' https://www.ygosu.com/community/st1/154371 에 나온 내용 중
[1] " 9 마리 SCV 의 벙커 리페어 > 10 드라군 " // [2] " 5 마리 SCV 의 벙커 리페어 > 6 히드라 " 도 이 계산법으로,
[1] 9 SCV vs 10 드라군 ( 150.670 > 148.322 )
- 9 x 벙커 R = 1620
- 9 SCV's RPS ≒ 150.670 HP ( 1620 ÷ 10.752 )
- 10 드라군 DPS vs 벙커 ≒ 148.322 ( 10 x 19 ÷ 1.281 )
* 좀 더 정확히는 ' 8 SCV vs 9 드라군 ' 부터, 133.929 > 133.489 로 역전 현상
[2] 5 SCV vs 6 히드라 ( 83.705 > 82.949 )
- 히드라 데미지 : 10
- 실제 벙커에 들어가는 히드라 데미지 : 9 ( 벙커 아머 : 1 )
- 히드라 실제 쿨 다운 : 0.651 ( 0.63 + 0.021 )
- 5 x 벙커 R = 900
- 5 SCV’s RPS ≒ 83.705 HP ( 900 ÷ 10.752 )
- 6 히드라 DPS vs 벙커 ≒ 82.949 ( 6 x 9 ÷ 0.651 ) 이와 같이 증명할 수 있음.
근데 여기서 한 가지 더 고려해야 되는것이 '불 타는 건물'
불타는 테란 건물은 1 초에 약 1.860 HP 차감.
생각하기에 따라, 때리는 유닛의 DPS 에 이 수치를 추가해도 되고,
수리하는 SCV 의 RPS 에 이 수치를 차감해도 되는데, 나는 DPS 에 추가해서 계산.
가령 위와 같이 8 SCV vs 9 드라군 의 상황인데, 벙커가 빨피 상태라면,
- RPS ≒ 133.929 HP
- DPS ≒ 135.349 ( 133.489 + 1.860 )
133.929 < 135.349 로 다시 역전돼서, 벙커가 결국 깨지게 된다.
건물별 아머 수치는 아래 표를 참고.
( 아래 표에 적힌 건물들을 제외한 모든 건물의 아머는 1 )
*성큰으로 변태중인 크립 콜로니를 먼저 때리는 이유를 이 수치를 통해 엿볼 수 있음
(2) ' 1 HP 수리에 소요되는 시간 ' 의 활용
한 예로, SCV 4 마리가 HP 100 남은 배틀크루저를
풀 HP 인 500 까지 수리하는데 소요되는 시간을 아래와 같이 구할 수 있음
- 4 x 배틀크루저 R = 232
- 4 SCV 의 배틀크루저 1 HP 수리 소요 시간 ≒ 0.046 초 ( 10.752 ÷ 232 )
- 4 SCV 의 배틀크루저 400 HP 수리 소요 시간 ≒ 18.538 초 ( 400 x 10.752 ÷ 232 )
이 글 가장 처음에 올린 리페어 표 상에 배틀크루저 수리 시간 '0.185 초' 라고 기입되어있는 것은
1 SCV 기준 HP 1 수리 소요 시간이기 때문에, 4 마리 SCV 에 수리 HP 400 을 고려해서,
0.185 x 400 ÷ 4 = 18.5 초 이런식으로 구할 수 도 있겠는데,
아무래도 표에 기입된 값들은 소수점 넷째 자리에서 반올림 된 값이라
좀 더 정확한 값을 구하고 싶은 사람은, R 값에서 부터 다시 식을 세워서 계산해야함.
[ Repair Rate 크기의 한계 ]
이전편 서론에서 지나가듯 언급했지만, ' Repair Rate = 리페어 속도 = 2 Byte 개념 '
1 바이트가 256 가지 정보를 담을 수 있기 때문에,
2 바이트의 '리페어 속도' 는 256 x 256 의 65536 가지로 정보 표현 가능
이는 R 의 수치가 0 ~ 65535 까지로 제한 됨을 의미.
R 수치가 만약 65535 를 넘어서 가령 65536 이 되는 경우, 다시 0 으로 순환하게 됨.
ex)
65535 → 65535 131070 → 65534
65536 → 0 131071 → 65535
65537 → 1 131072 → 0
65538 → 2 131073 → 1
일반 게임에선 이렇게 큰 수치를 마주할 일이 없지만, 유즈맵에선 얘기가 달라진다.
건물을 새로 지었는데 피가 깎여있다거나,
유닛을 새로 생산했는데 피가 깎여있는 유닛이 생산된 경우. ( 이하 '부상' 상태 )
유즈맵 많이 해 본 사람들은 한 번 쯤 경험해 봤을거다.
이 이유는 Repair Rate 개념이 관여하기 때문인데, 여기도 설명할 내용이 많음.
먼저, ' 건물이나 유닛 완성 시, 주어지는 HP 의 산정식 ' ( 이하 'HP 산정식' ) 을 알아야 함.
(1) 최대 HP 의 10 %
(2) 1 프레임 동안 수리 할 수 있는 HP
(3) 빌드 타임 동안 수리할 수 있는 HP
기본적으로 이렇게 3 가지 요소가 더해져서 건물이나 유닛의 '완성 HP' 가 결정.
편의상 아래부터는, (1) 10% HP // (2) 1F HP // (3) BT HP 로 간추려 적음.
서플라이 디포의 완성 HP 를 예시로 보자.
- 서플 HP : 500 // 서플 BT : 600
- 서플 R = [ 0.9 x 256 x 500 / 600 ] ↑ = 192
서플 완성 HP
(1) 10 % HP : 50 ( 500 x 0.1 )
(2) 1F HP : 0.75 ( 192 ÷ 256 )
(3) BT HP : 450 ( 600 x 192 ÷ 256 )
⇒ 50 + 0.75 + 450 = 500.75 ( 최대 HP 가 500 이기 때문에 500 으로 완성 )
어차피 (2) + (3) 은, '빌드 타임 소요 프레임'에서 '1 프레임을 더한' 프레임에 대한 회복 HP 니깐,
한 번 더 간추려서 식을 사용한다. 완성 HP = [ 10 % HP ] + [ ( BT+1F ) HP ]
그리고 계산하다 보면, 각 항들이 깔끔하게 안 나눠 떨어져서 소수점 아래 단위가 길게 나열되는 경우들이 있는데,
뇌피셜로 각 항 마다 소수점 첫째 자리에서 '올림' 을 한 상태에서, 서로 더해주는게 맞는 것 같음. ( 확신 X )
그니깐 마지막으로 정리하면 완성 HP = [ 10 % HP ] ↑ + [ ( BT+1F ) HP ] ↑
( 노파심에 적으면, 이 식을 사용하면 서플 HP 산정식 결과값이 500.75 가 아닌 501 이 나오게 된다 )
스펙이 바뀐 건물의 완성 HP
- 유즈맵 배럭 HP : 9999 // 유즈맵 배럭 BT : 2
- 유즈맵 배럭 R = [ 0.9 x 256 x 9999 / 2 ] ↑ = 1151885 ( R 의 최대값은 65535, 그보다 크면 순환)
- 실제 유즈맵 배럭 R = 1151885 - ( 65536 x 17 ) = 37773
즉 이 유즈맵 배럭은, 256 프레임에 37773 HP 를 수리할 수 있는 것.
유즈맵 배럭 완성 HP
- 10 % HP : 1000 ( [ 9999 x 0.1 ] ↑ )
- ( BT+1F ) HP : 443 ( [ 3 x 37773 ÷ 256 ] ↑ ) ⇒ 1000 + 443 = 1443
즉 이 유즈맵 배럭은 새로 지을 시 1443/9999 HP 부상 상태로 지어지게 되고,
이는 최대 HP 의 1/3 보다 적은 상태이기 때문에, 완성되자 마자 불 데미지에 의해 건물의 HP 가 감소하게 된다.
좀 지루하긴 한데, 2 가지 경우만 더 계산해보자.
(1) 건물 ‘ X ’ ( HP : 2844 // BT : 10 )
‘ X ’ 의 R = [ 0.9 x 256 x 2844 / 10 ] ↑ = 65526 ( 65526 < 65535 )
‘ X ’ 의 완성 HP
- 10% HP : 285 ( [ 2844 x 0.1 ] ↑ )
- (BT+1F) HP : 2816 ( [ 11 x 65526 ÷ 256 ] ↑ )
⇒ 285 +2816 = 3101 ( 최대 HP 가 2844 여서 2844 )
(2) 건물 ‘ Y ’ ( HP : 2845 // BT : 10 )
‘ Y ’ 의 R = [ 0.9 x 256 x 2845 / 10 ] ↑ = 65549 - 65536 = 13
‘ Y ’ 의 완성 HP
- 10% HP : 285 ( [ 2845 x 0.1 ] ↑ )
- (BT+1F) HP : 1 ( [ 11 x 13 ÷ 256 ] ↑ )
⇒ 285 + 1 = 286
즉, 스펙 상으로는 단 1 HP 의 차이지만,
하나는 지을 시 부상 상태로 완성되고, 수리 속도도 엄청 느리게 설정.
불타는 테란 건물이 1 초에 약 1.860 HP 가 차감되는데
R = 13 의 경우, 1 초에 약 1.209 HP 밖에 수리를 못한다는 의미기 때문에,
Y 건물은, 불타는 상태에서 SCV 한 마리가 수리해도 HP 가 계속 감소하게 됨.
※ 주의 사항
내가 계속 테란 건물로만 예시를 들고 있어서 헷갈릴 수 있는데,
" Repair Rate 는 모든 종족의 유닛과 건물이 가지고 있는 성질 " 이고,
" HP 산정식도 마찬가지로 모든 종족 건물과 유닛에 적용 " 된다.
다만 HP 산정식의 경우, 아래와 같이 예외 사항이나 주의해야 할 사항이 있음.
[ 프로토스 유닛 ]
HP 는 산정식대로 따라가지만, 쉴드는 항상 가득찬 채로 완성
[ 프로토스 건물 ]
프로토스 건물의 경우 쉴드 따로, HP 따로 구분해서 계산.
가령 위에 나왔던 건물 X, Y 와 스펙이 유사한
쉴드 : 2845 // HP : 2845 // BT : 10 스펙의 프로토스 건물이 있다면,
그것의 완성 HP 는, 쉴드 : 286/2845 // HP : 286/2845 이렇게 결정된다는 의미고
쉴드 : 2845 // HP : 2844 // BT : 10 일 경우,
완성 시, 쉴드 : 286/2845 // HP : 2844/2844 이런 결과물이 나오게 됨.
다만, 토스 건물 쉴드의 경우,
아래와 같은 조금 다른 산정식이 사용되는 것 같음. ( 내가 만든 식. 신뢰 X )
완성 쉴드 = [ 10 % 쉴드 ] ↑ + [ ( BT+1F+1F ) 쉴드 ] ↑
[ 저그 유닛 ]
저그 유닛은 항상 풀 HP 유닛으로 생산.
에그나 코쿤으로부터 완성되는 유닛은, 완성 직후까지는
완성 이전 형태에서의 피해 HP 비율 ( 또는 잔여 HP 비율 ) 을 그대로 지니고 시작하나,
이 또한 바로 풀 HP 유닛으로 바뀌기 때문에 중요하진 않음.
ex) 에그 HP 80/200 ( 60% 피해 ) ⇒ 저글링 HP 14/35 ( 60% 피해 )
ex) 코쿤 HP 120/200 ( 40% 피해 ) ⇒ 가디언 HP 90/150 ( 40% 피해 ) or 디바우러 HP 150/250 ( 40% 피해 )
[ 저그 건물 ]
해처리 ⇒ 레어 ⇒ 하이브
크립 콜로니 ⇒ 성큰 or 스포어
스파이어 ⇒ 그레이터 스파이어
위 과정의 건물들은, 변태 이전과 변태 중 가해진 '피해 총량' 을 그대로 지닌 채로 변태 완료.
ex ) 레어 최대 HP : 1800 // 하이브 최대 HP : 2500
(1) 이미 200 의 데미지를 입은 HP 1600/1800 의 레어를 하이브로 변태
(2) 변태중인 건물에 추가 300 데미지를 가하여 HP 1300/1800 으로 만듦
(3) 하이브 완성 시, 하이브의 HP 는 2000/2500 ( 2500 - 200 - 300 ) 으로 시작하게 됨.
( 크립 콜로니 ⇒ 성큰 콜로니의 경우, 최대 HP 스펙이 400 에서 300 으로 낮아지기 때문에
성큰 완성 직전 300 이상의 피해를 줘도, HP 1 의 상태로 성큰이 완성 )
저그 건물 HP 의 경우,
아래와 같은 조금 다른 산정식이 사용되는 것 같음. ( 내가 만든 식. 신뢰 X )
완성 HP = [ 10 % HP ] ↑ + [ ( BT+1F+5F ) HP ] ↑
[ Operation CWAL ]
정말 하나도 도움 안 되는 내용이지만, 기록 차원에서 남김.
치트를 사용하지 않은 상태에서는, 정상적인 HP 로 완성되는 유닛이나 건물들도
치트를 사용한 상태에서는, 부상 상태로 나오는 경우를
싱글 유즈맵 등을 하면서 경험한 사람들, 드물지만 있을거라 본다.
치트 모드에서의 완성 HP 를 정확하게 예측하기 위해서는
이 치트가 속도를 얼마나 빠르게 하는지 알아야 했기에 이번 기회에 실험,
모든 빌드 타임을 1 / 16 로 만든다고 결론 내림. ( 당연히 업그레이드는 제외 )
즉 치트 모드에서도 'HP 산정식' 은 그대로 유효하나, 빌드 타임 값이 바뀌기 때문에,
그에 맞게 빌드 타임 값에 영향을 받게 되는 'Repair Rate' , 'BT HP' 등과 같은 수치들부터 다시 계산 해주는 과정이 필요함
빌드 타임 값이, 치트로 인해 1 프레임보다 낮아질 경우, ( 지금까지의 결론 메모. )
(1) 'Repair Rate 산정식' 에는 1 보다 작은 값을 그대로 대입해서 계산.
(2) 'HP 산정식' 의 BT HP 항목은 무조건 1F HP 로 올림해서 대입 계산.
01 유닛 이동 속도 편 05 시야와 사거리 편
https://www.ygosu.com/community/st1/114843 https://www.ygosu.com/community/st1/145524
02 유닛 가속도 편 06 유닛과 건물의 크기 편
https://www.ygosu.com/community/st1/114870 https://www.ygosu.com/community/st1/152825
03 쿨 다운 편 07 빌드 타임 편
https://www.ygosu.com/community/st1/123965 https://www.ygosu.com/community/st1/161293
04 DPS 편 08 회복, 차감 속도 편
https://www.ygosu.com/community/st1/124038 https://www.ygosu.com/community/st1/167420
![]() |
![]() |
다음 글은 조금 가벼운 주제로 올림. 베스트 댓글