법사

전체보기

모바일 상단 메뉴

본문 페이지

[잡담] 도트 스킬 틱 증가 가속도

올커니하면서
댓글: 6 개
조회: 7357
추천: 12
2012-01-16 13:44:58
http://elitistjerks.com/f75/t110326-cataclysm_fire_mage_compendium/p26/

Old 11/15/11, 6:33 PM  #631
Von Kaiser
 
Troll Mage
 
Kargath
I had figured the same thing, but tested on PTR with 1996 / 2004 / 2005 / 2006 haste and 2005 is indeed correct.

Here is the response I got from a simcraft dev about how exactly the math/rounding works:

"What you're missing is the rounding - read the issue I linked. Unhasted, the tick period is 1 second and the duration is 10 seconds, so at 1996 haste the period between ticks is:

1 / (1.05 * 1.03 * (1 + 1996 / 128.05716 / 100)) = 0.79995448

... which rounds to 800 milliseconds exactly. Divide 10 seconds by 800 milliseconds and you get 12.5 exactly, which rounds to the nearest even integer, which is 12. In other words, you need the period down to at least 799 milliseconds. (Because 10 / 0.799 = 12.5156446, which rounds up to 13.) At 2004 haste it's still not there:

1 / (1.05 * 1.03 * (1 + 2004 / 128.05716 / 100)) = 0.799522356 ~= 0.800

... but at 2005 haste it is:

1 / (1.05 * 1.03 * (1 + 2005 / 128.05716 / 100)) = 0.799468373 ~= 0.799"

Offline
Reply With Quote

EJ 포럼에서 가져왔습니다. Simcraft 개발팀 애들이 확실히 와우 내부 메커니즘을 정교하게 이해하고있군요.

도트 스킬 틱수 증가 지점이 '틱수가 xx.5를 넘는 지점'이라고 엉성하게 알려져있는데 이걸 직관적으로 발화 10틱에 계산해보면 가속 25%인 1996에서 틱수가 증가할거라는 계산이 나옵니다.
실제로는 2004까지는 12틱이고 2005부터 13틱이 됩니다.
글쓴이도 실험을 통해 같은 결과를 얻어서 왜 25% 가속인 1996이 아니라 어정쩡하게 25.08% 가속인 2005인지 정확한 메커니즘에 대해 심크래프트 개발팀에 문의를 했다고 합니다. 답변은 다음과 같습니다.


발화는 1초 간격의 10초짜리 도트입니다. 가속도가 1996이라면 틱 사이 간격은

1 / (1.05 * 1.03 * (1 + 1996 / 128.05716 / 100)) = 0.79995448

로 틱간격은 800밀리초입니다. 10s / 800ms = 12.5이며 가장 가까운 정수로 근사하면 12틱이 됩니다. 결국 13틱이 되기 위해서는 틱간격을 799밀리초 이하로 내려야합니다(10 / 0.799 = 12.5156446으로 정수로 근사하면 13이 됩니다). 2004 가속도로도 아직 원하는 수치에 도달하지 못합니다.

1 / (1.05 * 1.03 * (1 + 2004 / 128.05716 / 100)) = 0.799522356 ~= 0.800

하지만 2005 가속도가 되면

1 / (1.05 * 1.03 * (1 + 2005 / 128.05716 / 100)) = 0.799468373 ~= 0.799"


이래서 2005입니다.

요약:
1. 틱 간격을 밀리세컨드 단위로 근사
2. 틱 간격으로 기본 지속 시간을 나눈 뒤 정수로 근사하여 틱수가 얻어짐.
3. 라운딩 방식이 사사오입의 방식이 아니며 근처의 정수 두 개가 정확히 같은 거리에 있다면 짝수로 근사됨.(프로그래밍 비관련자 참고용 관련 링크 : http://blog.naver.com/mcgyver3?Redirect=Log&logNo=50016742233 )

Lv84 올커니하면서

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 와우
  • 게임
  • IT
  • 유머
  • 연예
AD