글 제목은 일단 '스팀 마린의 공격 속도를 알아보자' 지만
전반적으로 공격 속도에 대한 심화적인 내용을 담고있습니다
공격 속도란 개념 자체도 좀 생소할 수 있기 때문에 내용이 어려울 수 있으니
재미로(?) 봐주세요 (맨 아래 요약 있음)
먼저 마린의 Cooldown(쿨다운) 값을 알아봅시다
(쿨다운이란 대충 공격과 다음 공격 사이의 프레임이라고 생각하면 됩니다)
Datedit에서 유닛들의 무기의 쿨다운 값을 볼 수 있는데
마린의 무기인 가우스 소총 의 데이터상 쿨다운 기본값은 15 프레임입니다
이제 쿨다운의 랜덤성에 대해 알아보겠습니다
1. 쿨다운의 랜덤성
무기 쿨다운은 매 공격마다 기본값에 [-1 ~ +2] 범위의 정수가 랜덤하게 더해집니다
마린의 경우 [14, 15, 16, 17] 중 하나가 된다는 뜻으로
공격할 때마다 쿨다운이 변하기 때문에
이렇게 일제히 공격할 때
동시에 탕---탕---탕---탕--- 쏘지 않고
타탕타다타당탕탕다타타당 쏴서 현실적인 연출이 가능해집니다
2. 마린의 쿨다운
마린의 실제 쿨다운이 정말 14~17 인지 확인을 위해
무기 쿨다운을 인식하는 트리거를 작성해줍시다
조건 : 인덱스 0번 유닛의 현재 남아있는 무기 쿨다운이 n일 경우
액션 : "n"을 출력한다 / 반복
+ EUD 터보 트리거
EUD 터보 + 반복 트리거는 1프레임에 한 번씩 트리거를 실행시키기 때문에
1프레임마다 남은 쿨다운이 출력됩니다
천천히 보면 실제 쿨다운이 정말 [14, 15, 16, 17] 인 것을 확인할 수 있습니다
또한 쿨다운 1 다음이 바로 다음 공격의 시작인 것으로 보아
마린은 공격이 끝나면 지체없이 바로 다음 공격을 시작한다는 것을 알 수 있습니다
(당연한 소리같지만 그렇지 않은 유닛도 있음)
여기서 혹시 쿨다운 기본값인 15가 가장 잘 뜬다든지의 경우를 확인하기 위해
빈도수를 조사해봤습니다
200번 실행 결과 - 25.5% / 23% / 28.5% / 23%
차이가 없다고 봐도 될 것 같습니다
즉 마린의 쿨다운은 매 공격마다 [14, 15, 16, 17] 의 값 중 랜덤하게 정해지고
그 비율이 동일하기 때문에 실제 쿨다운의 평균값은 (14+15+16+17)/4 = 15.5 가 됩니다
+ 실제 공격시 공격 속도에 영향을 주는 다른 변수는 없는지
간단하게 실험해보겠습니다
쉴드 0, 체력 15만, 아머 1 인 넥서스가 존재하는 동안
1프레임에 1미네랄이 오르는 트리거를 만들고
마린의 무기를 공격력이 1인 스플래시로 바꿔서
미스샷에 의한 오차를 없애고 (정확히 30만대 타격)
넥서스를 깨는데 걸리는 프레임을 측정해보면 (#X5 = 42배속)
4,650,290 미네랄 = 4,650,290 프레임 동안 30만대 타격
4650290/300000 = 15.5009666... ≒ 15.5
다른 변수 없이 평균 15.5 프레임인 게 확인됩니다
3. 인페스티드 케리건의 쿨다운
여기까지는 많이 알려져 있던 내용이고
이제부터가 이 글의 본론입니다
이번에는 마린과 데이터상 쿨다운 기본값이 15로 같은
인페스티드 케리건의 실제 쿨다운을 측정해보겠습니다
마린과 같이 케리건의 실제 쿨다운 또한 [14, 15, 16, 17] 로 측정되지만
한 눈에 봐도, 마린과 비교해봐도 마린처럼 공격이 끝난 후에 바로 다음 공격을 시작하지 못하고
대기시간(0)이 많이 남는 것을 알 수 있습니다
이렇게 대기시간이 존재하는 이유는 케리건의 긴 공격모션에 있습니다
케리건은 한 번 공격할 때마다 날개를 피고 접는 것을 반복하는데
이 긴 공격모션이 케리건의 쿨다운 14~17을 따라가지 못해서 생기는 현상입니다
케리건의 날개접는 모션을 아예 없애버린다면
이렇게 대기시간없이 쿨다운 15에 맞춰서 빠르게 공격합니다
4. 스팀 마린의 쿨다운
갑자기 케리건의 쿨다운을 설명한 이유는
케리건처럼 공격 모션이 쿨다운을 따라가지 못하는 현상이
스팀 마린에게도 일어나기 때문입니다
스팀마린의 쿨다운 수치를 찾아보면,
9라고 해놓은 곳도 있고 7이나 7.5라고 해놓은 곳도 있는데
위에서와 마찬가지로 쿨다운 측정 트리거를 이용하면
몇인지 바로 알아볼 수 있습니다
최대 쿨다운들을 관찰해보면 [6, 7, 8, 9] 가 나옵니다
앞서 말했듯이 실제 쿨다운 값은 기본값에서 [-1 ~ 2] 가 더해지기 때문에
스팀 마린의 쿨다운 기본값은 7과 같다고 할 수 있는데, 일반적으로 생각해보면
이 7이라는 수치는 정확히 7이거나 15의 절반인 7.5에서 버림되었다고 할 수 있습니다
그런데 마린의 쿨다운 기본값을 짝수로 해놓고 스팀팩을 사용하면
스팀 마린의 쿨다운 기본값이 그 절반으로 나오는 것으로 보아 (ex. 40→20)
스팀 마린의 쿨다운 기본값은 마린의 쿨다운 기본값의 절반이고
실제 적용은 소수점을 버리고 적용되는 것으로 결론낼 수 있습니다
어쨌든, 중요한 건 위에서 말했듯이 스팀 마린도 케리건처럼
공격이 끝나고 난 후 대기 시간이 존재한다는 것입니다
이 대기 시간을 쿨다운별로 살펴봅시다
쿨다운이 9일 때는 [ 9 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1 - 8 ]
공격이 끝난 후 바로 다음 공격을 이어갑니다 즉 대기시간이 없습니다
쿨다운이 8일 때는 [ 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1 - 0 - 7 ]
공격이 끝난 후 1 프레임의 대기 시간을 갖고 다음 공격을 이어갑니다
쿨다운이 7일 때는 [ 7 - 6 - 5 - 4 - 3 - 2 - 1 - 0 - 0 - 7 ]
공격이 끝난 후 2 프레임의 대기 시간을 갖고 다음 공격을 이어갑니다
쿨다운이 6일 때는 [ 6 - 5 - 4 - 3 - 2 - 1 - 0 - 0 - 0 - 8 ]
공격이 끝난 후 3 프레임의 대기 시간을 갖고 다음 공격을 이어갑니다
대충 표로 정리해보면
스팀 마린의 실제 쿨다운이 몇이든 공격과 다음 공격 사이가 '9' 프레임이 될 때까지
대기 시간으로 채워지고 다음 공격을 시작합니다
즉 마린의 공격 모션 때문에 다음 공격을 시작하는 데
최소 '9' 프레임이 필요하다는 뜻으로
위 케리건의 예시처럼 스크립트를 수정하지 않는 한
스팀팩을 쓰든 쿨다운 기본값을 1로 낮추든 무슨 짓을 하더라도
마린의 공격간의 간격은 최소 '9' 프레임이 되는 것입니다
5. 스팀 마린의 공격 속도
결론적으로 스팀 마린의 쿨다운 개념은 다음과 같이 정리됩니다
쿨다운 기본값 : [7.5]버림='7' 프레임
이론상 실제 쿨다운값 : [6, 7, 8, 9]랜덤
실제 공격 간격 = 평균 공격 간격 : '9' 프레임
('쿨다운'과 '공격 간격'이 사전적으로는 같은 뜻이라서 용어가 혼동될 수 있는데
일단 위 세 가지 개념으로 쿨다운의 종류를 구분하겠습니다
쿨다운은 이론상 수치값, 공격 간격은 실제 공격 간에 걸리는 프레임으로 대충 알아 들어주세요)
[6, 7, 8, 9]랜덤 → [9, 9, 9, 9]랜덤 = 9
랜덤이었던 일반 마린과는 다르게 모든 스팀 마린의 공격 간격이
9 프레임으로 고정되기 때문에
이렇게 스팀팩을 쓰고 일제히 공격하면 동시에 탕---탕---탕---탕--- 쏘게 됩니다
(한 5초 쏘면 서로 엇갈리는데 왜 그런진 모르겠음)
+ 이번에도 역시 실험을 통해 평균 공격 간격을 구해보면
2710747/300000 = 9.03582333...
왜 이런진 모르겠는데 오차가 조금있네요
일제사격 중간에 어긋나는 것과 관련있는듯..
어쩄든 평균 공격 간격을 9프레임으로 친다면
결국
평균 공격 간격 15.5의 일반 마린에 비해 (매우 빠름 기준 초당 1.536회 공격)
평균 공격 간격 9의 스팀 마린의 공격 속도는 (매우 빠름 기준 초당 2.646회 공격)
15.5/9 = 1.7222...
약 1.72배 빨라집니다
6. 기타
6-1. 스팀 파이어뱃의 공격 속도
스팀 파이어뱃의 쿨다운 기본값은 충분히 길기 때문에
스팀 마린처럼 공격 모션이 쿨다운을 못 따라가는 현상이
나타나지 않습니다
파이어뱃의 쿨다운 기본값은 22
쿨다운 평균값은 22.5
스팀 파이어뱃의 쿨다운 기본값은 11
쿨다운 평균값은 11.5
22.5/11.5 = 1.956521...
공격 속도 약 1.96배 상승
6-2. 아드레날린 저글링의 공격 속도
저글링의 쿨다운 기본값은 8이 맞지만
아드레날린 업글시 6이라고 적혀있는 곳이 많은데
실제로 아드레날린 저글링의 쿨다운 기본값은 '5' 프레임입니다
그에 따른 이론상 실제 쿨다운 값은 [4, 5, 6, 7] 이지만
저글링의 최소 공격 간격은 '5' 프레임이기 때문에
스팀 마린처럼 아날링도 공격 모션이 쿨다운을 따라가지 못하는
현상이 발생해서 아날링의 실제 공격 간격은 [5, 5, 6, 7] 이 됩니다
일반 저글링의 평균 공격 간격은 8.5
아날링의 평균 공격 간격은 5.75 이므로
8.5/5.75 = 1.47826...
공격 속도 약 1.48배 상승
1725029/300000 = 5.75009666... ≒ 5.75
6-3. 인스네어에 걸린 유닛의 쿨다운 감소
쿨다운 인식 트리거를 이용하면 인스네어에 걸린 유닛들의 쿨다운을 측정할 수 있습니다
이 표는 '이론적인 쿨다운 기본값'을 나타낸 표로 스팀 마린처럼
실제 공격 간격은 표와 다른 유닛이 있을 수 있습니다
울트라의 경우 쿨다운 기본값이 15일 때는 중간중간 멍때리기 때문에
실제 공격 간격의 평균값은 15보다 큰데, 인스네어에 걸릴 경우
쿨다운 기본값이 충분히 길어져서 그런지 멍때리는 현상이 사라지고
때문에 인스네어에 걸리지 않은 울트라와 걸린 울트라의 실제 공격 속도는 거의 차이가 없습니다
6-4. 애시드 스포어가 묻은 유닛의 쿨다운 감소
마찬가지로 애시드 스포어가 묻은 유닛의 쿨다운도 측정할 수 있는데,
일정한 규칙이 없는 인스네어의 쿨다운 감소량과 달리
애시드 스포어의 쿨다운 감소량은 공식이 있습니다
1스택마다 쿨다운 기본값의 1/8 만큼 쿨다운이 증가하는데
이 증가분의 소수점은 버려지고 최소값은 3입니다
예를 들어서 쿨다운 기본값이 100인 디바우러가 애시드 스포어에 9중첩되면
100+12*9 = 208 이 됩니다
6-5. 인스네어와 애시드 스포어가 동시에 묻은 유닛의 쿨다운 감소
인스네어의 쿨다운 감소량 자체가 일정하지 않기 때문에
인스네어와 애시드 스포어가 동시에 묻은 유닛의 쿨다운 감소량 역시
일정한 공식같은 건 얻을 수 없었지만
인스네어만 묻었을 때의 증가분과 애시드 스포어만 묻었을 때의 증가분의 합보다
쿨다운이 더 많이 증가하는 걸 알 수 있었습니다
예를 들면 쿨다운 기본값이 30인 뮤탈의
인스네어가 묻었을 때 쿨다운은 37이고 (+7)
애시드 스포어가 9스택일 때 쿨다운은 57이지만 (+27)
인스네어와 애시드 스포어 9스택이 묻었을 때의 쿨다운은 71이 됩니다 (+41)
<요약>
![]() |
![]() |