캐릭터 정보를 심크에 임포트 시켜봅시다.
그러면 Simulate 탭에 아래와 같이 외계어가 표시 되는데,
캐릭터의 전문화는 무엇이고, 특성과 유물특성은 뭘 찍었으며, 착용하고 있는 아이템은 무엇인지에 관한 내용입니다. 심크는 이러한 데이터를 기반으로 시뮬레이션을 돌리게 됩니다.
임포트과정은 전투정보실을 기반으로 위 정보를 자동생성하기 위한 작업일 뿐이며, 임포트를 생략하고 저 텍스트를 수작업으로 쳐 넣어도 시뮬레이션을 돌리는데는 지장이 없습니다.
이야기 하고자 하는 것은 하늘색 테두리 안의 내용입니다.
보박 불편하니 텍스트로 옮기고, 영어는 현기증 나니까 대충 한글로 주석을 달아봅니다.
# This default action priority list is automatically created based on your character.
# It is a attempt to provide you with a action list that is both simple and practicable,
# while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps.
# Feel free to edit, adapt and improve it to your own needs.
# SimulationCraft is always looking for updates and improvements to the default action lists.
# 전투 시작전에 할 일.
# 영약을 먹는다.
actions.precombat=flask,type=flask_of_the_whispered_pact
# 음식을 먹는다.
actions.precombat+=/food,type=azshari_salad
actions.precombat+=/augmentation,type=defiled
# 물정을 뽑는다.
actions.precombat+=/water_elemental
actions.precombat+=/snapshot_stats
# 환영 복제!
actions.precombat+=/mirror_image
# 카운트 중에 물약을 빨고
actions.precombat+=/potion,name=deadly_grace
# 선풀에 주의하며, 얼화를 미리 땡겨놓는다.
actions.precombat+=/frostbolt
# 지금은 전투중. 다음 순서대로 우선순위를 가지며, 조건 만족시 스킬을 사용한다.
actions=counterspell,if=target.debuff.casting.react
actions+=/ice_lance,if=buff.fingers_of_frost.react=0&prev_gcd.flurry
#블러드욬
actions+=/time_warp,if=(time=0&buff.bloodlust.down)|(buff.bloodlust.down&equipped.132410)
actions+=/call_action_list,name=cooldowns
#물약 효과를 받고 있다면, 눈보라 캐스팅.
actions+=/blizzard,if=buff.potion_of_deadly_grace.up&!prev_off_gcd.water_jet
actions+=/ice_nova,if=debuff.winters_chill.up
actions+=/frostbolt,if=prev_off_gcd.water_jet
actions+=/water_jet,if=prev_gcd.frostbolt&buff.fingers_of_frost.stack<(2+artifact.icy_hand.enabled)&buff.brain_freeze.react=0
actions+=/ray_of_frost,if=buff.icy_veins.up|(cooldown.icy_veins.remains>action.ray_of_frost.cooldown&buff.rune_of_power.down)
actions+=/flurry,if=buff.brain_freeze.react&buff.fingers_of_frost.react=0&prev_gcd.frostbolt
actions+=/glacial_spike
actions+=/frozen_touch,if=buff.fingers_of_frost.stack<=(0+artifact.icy_hand.enabled)
actions+=/frost_bomb,if=debuff.frost_bomb.remains0
actions+=/ice_lance,if=buff.fingers_of_frost.react>0&cooldown.icy_veins.remains>10|buff.fingers_of_frost.react>2
actions+=/frozen_orb
actions+=/ice_nova
actions+=/comet_storm
# [북극의 돌풍]이라는 특성을 찍었다면 눈보라 사용
actions+=/blizzard,if=talent.artic_gale.enabled
actions+=/ebonbolt,if=buff.fingers_of_frost.stack<=(0+artifact.icy_hand.enabled)
actions+=/frostbolt
# 쿨기 목록
actions.cooldowns=rune_of_power,if=cooldown.icy_veins.remains1.9&cooldown.icy_veins.remains>10
# 얼음 핏줄(가속 20%증가, 공격력 20%증가)
actions.cooldowns+=/icy_veins,if=buff.icy_veins.down
actions.cooldowns+=/mirror_image
actions.cooldowns+=/blood_fury
actions.cooldowns+=/berserking
actions.cooldowns+=/arcane_torrent
# 물약
actions.cooldowns+=/potion,name=deadly_grace
|charges_fractional>&buff.fingers_of_frost.react>
심크는 위 딜사이클을 실수없이 완벽하게, 총 1만 번 반복 수행합니다.
이제 시뮬레이션을 돌리고 결과값을 보도록 하겠습니다.
심크에 대표로 표시되는 DPS는 최대값이 아닌 평균값 입니다. '평균' DPS가 39만 이며, 1만번 중 크리가 빵빵 터진 뽀록의 여덟번은 무려 48만의 DPS가 뽑혔습니다. 최고로 안습한 2번의 시행은 33만이 기록됐습니다. 심크가 딜하다가 손이 꼬인것은 아닙니다. 그냥 크리빨이 안터지고, 떠야될 버프가 제때 안떠준 거지요.
이해를 돕기 위해 위 딜사이클을 다음과 같이 수정합니다.
# 얼화
actions+=/frostbolt
# 눈보라
actions+=/blizzard
얼화와 눈보라 만으로 구성된 간단한 딜사이클 입니다. 이제 결과를 봅시다.
DPS가 나락으로 떨어진건 그렇다쳐도, 피해 기술에 눈보라가 안보입니다. 얼화딜이 55%이며 고드름(자동공격 같은 존재임)이 33%, 나머지 둘은 장신구 착용효과 입니다. 분명 딜싸이클에 눈보라를 넣어놨는데 심크는 왜 눈보라를 캐스팅 하지 않았을까요?
눈보라의 딜이 너무 쓰레기라 알아서 거른것이 아닙니다. 위 딜사이클에 문제가 있었던 거지요. 얼화의 우선순위가 높은데 얼화는 쿨타임이 있는것도 아니니 눈보라를 쓰기전에 얼화만 계속 땡겼던 겁니다.
이제 눈보라와 얼화의 순서를 바꿔서 심크에 넣어준 후에 결과를 봅시다.
# 눈보라
actions+=/blizzard
# 얼화
actions+=/frostbolt
눈보라를 정상적으로 사용한 것을 알 수 있습니다. 눈보라는 쿨이 있는 스킬입니다. 눈보라를 우선 사용하고 눈보라가 쿨이면 얼화를 사용한거지요.
여기서 우리는 심크가 알파고가 아니라는 사실을 알 수 있습니다. 심크는 '인간에 의해 세팅된 값'을 '실수없이 완벽하게' 수행해서 결과를 보여주는 도구 입니다. 심크의 계산은 정확하지만, 스스로 연구하는 기능은 없습니다. 알파고는 수도 없는 시행을 거쳐 가장 나은 값을 스스로 찾아가는 인공'지능'이지만, 심크는 반복작업만을 할 뿐입니다. 매 글쿨마다 기대값을 계속 계산해가면서 스킬을 쓰는게 아니라는거지요. 심크에 내장된 딜사이클은 사람의 머리에서 나온겁니다.
애초에 심크에 내장된 딜사이클이 최선이 아니라면?여러분들은 이제 제가 갖고있는 전설템을 보셔야만 합니다.
진눈깨비가 뭔진 모르겠지만 그냥 5중첩 되면 눈보라가 겁나 쎌거 같습니다.
그런데 스크롤을 위로 쭉 올려서 심크에 내장된 딜사이클을 살펴보니, 심크는 눈보라를 쓰지 않습니다.
정확히 말하면 쓰긴 쓰는데, 물약 효과를 받는 도중에만 굉장히 높은 우선순위를 적용해서 사용하고 물약 끝나면 안씁니다.
[북극의 돌풍]이란 특성이 뭔진 모르겠지만 이걸 찍으면 그래도 가끔씩은 쓰나봅니다. 하지만 저는 안찍었기 때문에 심크가 눈보라를 물약 지속시간 이외에 사용하는 경우는 없었습니다.
하지만 잔에수 5중첩 눈보라는 어마무시하게 쎌거 같다는 느낌을 지울 수가 없습니다. 블리자드는 전설템으로 유저를 농락하지 않을 것입니다. 블리자드가 그럴리 없죠. 그래서 딜사이클에 수동으로 추가하여 테스트 해 봅니다.
# This default action priority list is automatically created based on your character.
# It is a attempt to provide you with a action list that is both simple and practicable,
# while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps.
# Feel free to edit, adapt and improve it to your own needs.
# SimulationCraft is always looking for updates and improvements to the default action lists.
# 전투 시작전에 할 일.
# 영약을 먹는다.
actions.precombat=flask,type=flask_of_the_whispered_pact
# 음식을 먹는다.
actions.precombat+=/food,type=azshari_salad
actions.precombat+=/augmentation,type=defiled
# 물정을 뽑는다.
actions.precombat+=/water_elemental
actions.precombat+=/snapshot_stats
# 환영 복제!
actions.precombat+=/mirror_image
# 카운트 중에 물약을 빨고
actions.precombat+=/potion,name=deadly_grace
# 선풀에 주의하며, 얼화를 미리 땡겨놓는다.
actions.precombat+=/frostbolt
# 지금은 전투중. 다음 순서대로 우선순위를 가지며, 조건 만족시 스킬을 사용한다.
actions=counterspell,if=target.debuff.casting.react
actions+=/ice_lance,if=buff.fingers_of_frost.react=0&prev_gcd.flurry
#블러드욬
actions+=/time_warp,if=(time=0&buff.bloodlust.down)|(buff.bloodlust.down&equipped.132410)
actions+=/call_action_list,name=cooldowns
#물약 효과를 받고 있거나 잔에수 5중첩이라면, 눈보라 캐스팅.
actions+=/blizzard,if=buff.potion_of_deadly_grace.up&!prev_off_gcd.water_jet|buff.zannesu_journey.react>4
actions+=/ice_nova,if=debuff.winters_chill.up
actions+=/frostbolt,if=prev_off_gcd.water_jet
actions+=/water_jet,if=prev_gcd.frostbolt&buff.fingers_of_frost.stack<(2+artifact.icy_hand.enabled)&buff.brain_freeze.react=0
actions+=/ray_of_frost,if=buff.icy_veins.up|(cooldown.icy_veins.remains>action.ray_of_frost.cooldown&buff.rune_of_power.down)
actions+=/flurry,if=buff.brain_freeze.react&buff.fingers_of_frost.react=0&prev_gcd.frostbolt
actions+=/glacial_spike
actions+=/frozen_touch,if=buff.fingers_of_frost.stack<=(0+artifact.icy_hand.enabled)
actions+=/frost_bomb,if=debuff.frost_bomb.remains0
actions+=/ice_lance,if=buff.fingers_of_frost.react>0&cooldown.icy_veins.remains>10|buff.fingers_of_frost.react>2
actions+=/frozen_orb
actions+=/ice_nova
actions+=/comet_storm
# [북극의 돌풍]이라는 특성을 찍었다면 눈보라 사용
actions+=/blizzard,if=talent.artic_gale.enabled
actions+=/ebonbolt,if=buff.fingers_of_frost.stack<=(0+artifact.icy_hand.enabled)
actions+=/frostbolt
# 쿨기 목록
actions.cooldowns=rune_of_power,if=cooldown.icy_veins.remains1.9&cooldown.icy_veins.remains>10
# 얼음 핏줄(가속 20%증가, 공격력 20%증가)
actions.cooldowns+=/icy_veins,if=buff.icy_veins.down
actions.cooldowns+=/mirror_image
actions.cooldowns+=/blood_fury
actions.cooldowns+=/berserking
actions.cooldowns+=/arcane_torrent
# 물약
actions.cooldowns+=/potion,name=deadly_grace
|charges_fractional>&buff.fingers_of_frost.react>
DPS 평균값이 399k가 나왔습니다. 스크롤을 한참 위로 올려보면 기본값 딜사이클대로 돌린 결과값 393k를 확인할 수 있습니다. 5중첩 눈보라를 꼬박꼬박 사용하는것 만으로 무려 6천의 DPS 상승이 있었습니다.
하나 더 봅시다.
쉽게 말해서 블러드 두 번 쓸 수 있다는 소린데 이것도 활용해 보고 싶습니다.
위 딜사이클을 자세히 살펴보면 쿨기를 사용하는 조건이 거의 전무합니다. 최소한의 검사만 할 뿐, 사실상 쿨마다 누릅니다. 실제 위 딜사이클을 넣고 튀어나온 결과 로그를 보니, 전투시간 40초 경과후에 2번째 블러드를 썼습니다. 첫 블러드가 끝나자 마자 바로 연이어서 넣은 것이죠. 물약은 전투시작 58초만에 먹었습니다. 전투 시작 2초전에 물약을 먹고 얼화를 땡기고 있었으니 사실상 1분만에 칼같이 흡입한 겁니다.
사람 손으로 딜을 한다면 쿨기를 저렇게 배분 할 리가 만무합니다. 하지만 그게 진짜 효율적인지는 수치로 보고 판단해야겠죠.
코드를 수정합니다.
# This default action priority list is automatically created based on your character.
# It is a attempt to provide you with a action list that is both simple and practicable,
# while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps.
# Feel free to edit, adapt and improve it to your own needs.
# SimulationCraft is always looking for updates and improvements to the default action lists.
# 전투 시작전에 할 일.
# 영약을 먹는다.
actions.precombat=flask,type=flask_of_the_whispered_pact
# 음식을 먹는다.
actions.precombat+=/food,type=azshari_salad
actions.precombat+=/augmentation,type=defiled
# 물정을 뽑는다.
actions.precombat+=/water_elemental
actions.precombat+=/snapshot_stats
# 환영 복제!
actions.precombat+=/mirror_image
# 카운트 중에 물약을 빨고
actions.precombat+=/potion,name=deadly_grace
# 선풀에 주의하며, 얼화를 미리 땡겨놓는다.
actions.precombat+=/frostbolt
# 지금은 전투중. 다음 순서대로 우선순위를 가지며, 조건 만족시 스킬을 사용한다.
actions=counterspell,if=target.debuff.casting.react
actions+=/ice_lance,if=buff.fingers_of_frost.react=0&prev_gcd.flurry
#얼핏 쿨을 기다렸다가 쿨 오면 블러드
actions+=/time_warp,if=(time=0&buff.bloodlust.down)|(buff.bloodlust.down&equipped.132410&cooldown.icy_veins.remains<1)
actions+=/call_action_list,name=cooldowns
#물약 효과를 받고 있거나 잔에수 5중첩이라면, 눈보라 캐스팅.
actions+=/blizzard,if=buff.potion_of_deadly_grace.up&!prev_off_gcd.water_jet|buff.zannesu_journey.react>4
actions+=/ice_nova,if=debuff.winters_chill.up
actions+=/frostbolt,if=prev_off_gcd.water_jet
actions+=/water_jet,if=prev_gcd.frostbolt&buff.fingers_of_frost.stack<(2+artifact.icy_hand.enabled)&buff.brain_freeze.react=0
actions+=/ray_of_frost,if=buff.icy_veins.up|(cooldown.icy_veins.remains>action.ray_of_frost.cooldown&buff.rune_of_power.down)
actions+=/flurry,if=buff.brain_freeze.react&buff.fingers_of_frost.react=0&prev_gcd.frostbolt
actions+=/glacial_spike
actions+=/frozen_touch,if=buff.fingers_of_frost.stack<=(0+artifact.icy_hand.enabled)
actions+=/frost_bomb,if=debuff.frost_bomb.remains0
actions+=/ice_lance,if=buff.fingers_of_frost.react>0&cooldown.icy_veins.remains>10|buff.fingers_of_frost.react>2
actions+=/frozen_orb
actions+=/ice_nova
actions+=/comet_storm
# [북극의 돌풍]이라는 특성을 찍었다면 눈보라 사용
actions+=/blizzard,if=talent.artic_gale.enabled
actions+=/ebonbolt,if=buff.fingers_of_frost.stack<=(0+artifact.icy_hand.enabled)
actions+=/frostbolt
# 쿨기 목록
actions.cooldowns=rune_of_power,if=cooldown.icy_veins.remains1.9&cooldown.icy_veins.remains>10
# 얼음 핏줄(가속 20%증가, 공격력 20%증가)
actions.cooldowns+=/icy_veins,if=buff.icy_veins.down
actions.cooldowns+=/mirror_image
actions.cooldowns+=/blood_fury
actions.cooldowns+=/berserking
actions.cooldowns+=/arcane_torrent
# 블러드+얼핏과 함께 물약
actions.cooldowns+=/potion,name=deadly_grace,if=buff.bloodlust.up|charges_fractional>&buff.fingers_of_frost.react>
DPS는 40만을 넘겼고, 물약을 쿨기와 함께 사용한 덕에 물약딜의 비중도 늘어난 것을 확인할 수 있습니다.
심크는 시뮬레이션 도구입니다. 심크의 의의는, 인간이 손으로 직접 허수아비를 패보면서 확인해야 할 결과물을 빠르고 정확하게 대신 해준다는 것입니다. 내 딜사이클이 효율적인지, 세팅이 효율적인지는 일단 인간의 머리에서 생각해야 하는 것이고, 심크는 인간의 머리가 아닌 손을 대신하여 허수아비를 패줄 뿐 입니다.
심크가 보여주는 DPS값이 마치 해당 캐릭터의 최대 포텐셜인 것 처럼 인식이 되어 있는듯 한데 보시다시피 해당캐릭터의 최대 포텐셜은 심크보다 더 높을겁니다. 실제로 심크디피보다 실디피가 높은 유저들도 존재합니다.
물론 심크에 내장된 딜사이클은 많은 토론과 검토를 거쳐서 내장된 것이므로 대체로 따를 필요는 있지만, 위에 보시다시피 물약을 쿨마다 먹는 비상식적인 행동도 버젓이 하고 있습니다.
그리고 예전처럼 '티어'로 대부분의 딜사이클을 통일 할 수 있었던 시절이라면 모를까, 위의 잔에수 사례처럼, 운빨로 드랍되는 전설템이 딜사이클 자체를 바꿔버리는 경우도 있기 때문에, 딜사이클을 통일하기가 힘들어졌습니다. 심지어 유물특성을 뭘 찍었느냐에 따라서도 바뀌니까요.
물론 내장탑재된 딜사이클은 최대한 많은 변수를 고려하도록 설계하고, 토론과 검토역시 활발하게 이루어지고 있기는 한데, 북미 위주라서, 때로는 더 효율적인 국내메타가 반영되지 않는 경우도 잦습니다.
심크에게 딜사이클을 배우시려는 분들이 있는데, 딜사이클은 그냥 포럼 참고하세요. 심크는 머리가 아니라 손 입니다. 심크로부터 배울 것은 없습니다.