|
2020-09-09 23:01
조회: 28,696
추천: 32
노작 구매따윈 없는 리부트를 위한 스타포스 시뮬 및 분석안녕하세요 메이플 팁게에 글은 처음 써보는데 공유하면 좋을 듯 하여 올려봅니다 굉장히 흥미로운 결과가 나와서 길더라도 꼭 읽어주시면 뉴 비분들게 도움이 될 것 같습니다. 심심한 연구실생활에 활력을 더해주던 메이플에 애정을 가지게 되어서 생각나서 스타포스 강화코드를 짜봤는데요. 그리고 기존에 4.5%p냐 곱연산 5%냐 싸움이 많았는데 여러가지 자료를 찾아본 결과 곱연산 5%가 좀더 타당 한 것 같아 곱연산 5%로 스타캐치 올 성공을 가정하였습니다. 그리고 그 추가된 성공 확률은 파괴확률에는 영향을 안주며 하락 및 유지 확률과 스왑되는 것으로 가정하였습니다. 그 저번에 다른분이 합연산이면 2%정도여야 하고 곱연산이면 5%정도여야 한다는 글도 본 것 같습니다.. 혹시 보신분은 댓글에 인용링크 달아주시면 감사하겠습니다. 찬스타임도 고려하였습니다. #코드공유(혹시 다른수치도 써보고 싶으신분은 수정해서 쓰셔도 됩니다) 파이썬을 쓸줄아시는분이면 12강부터 진행되었다는걸 아실텐데 어짜피 터지면 12강을 가고 12강까지 가치는 22성가치의 정말 극히일부분이기때문에 그냥 12강부터 강화를 진행한다고 가정하였습니다. a_숫자는 그 렙제에서 그 강화수치로 강화할때 드는 비용입니다. #렙제별 강화비용 a_1 = 110800 a_2 = 220500 a_3 = 330300 a_4 = 440000 a_5 = 549800 a_6 = 659600 a_7 = 769300 a_8 = 879100 a_9 = 988800 a_10 = 1098600 a_11 = 4448200 a_12 = 5625900 a_13 = 6982900 a_14 = 8529400 a_15 = 10275700 a_16 = 24462200 a_17 = 28812500 a_18 = 33620400 a_19 = 38904500 a_20 = 44683300 a_21 = 50974700 a_22 = 57796700 cost=[a_1,a_2, a_3, a_4, a_5, a_6, a_7, a_8, a_9, a_10, a_11, a_12, a_13, a_14, a_15, a_16, a_17, a_18, a_19, a_20, a_21, a_22] import numpy as np try_list_1=[] try_list_2=[] for i in range(100000): SF_S=0 SF_V=12 SF_D=0 chance=0 while SF_V<22: if chance == 2: SF_S=SF_S+cost[SF_V] SF_V=SF_V+1 chance=0 continue if SF_V==10: SF_S=SF_S+a_11 a=np.random.uniform(0,1000) if a<=472.5: SF_V=SF_V+1 chance=0 continue else: continue if SF_V==11: SF_S=SF_S+a_12 a=np.random.uniform(0,1000) if a<=367.5: SF_V=SF_V+1 chance=0 continue else: SF_V=SF_V-1 chance+=1 continue if SF_V==12: SF_S=SF_S+a_13 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=993: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==13: SF_S=SF_S+a_14 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=986: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==14: SF_S=SF_S+a_15 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=986: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==15: SF_S=SF_S+a_16 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=979: continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==16: SF_S=SF_S+a_17 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=979: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==17: SF_S=SF_S+a_18 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=979: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==18: SF_S=SF_S+a_19 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=972: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==19: SF_S=SF_S+a_20 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=972: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==20: SF_S=SF_S+a_21 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=930: continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue if SF_V==21: SF_S=SF_S+a_22 a=np.random.uniform(0,1000) if a<=315: SF_V=SF_V+1 chance=0 continue elif a>315 and a<=930: SF_V=SF_V-1 chance+=1 continue else: SF_V=12 SF_D=SF_D+1 chance=0 continue try_list_1.append((SF_S,SF_D)) try_list_2.append((SF_D,SF_S)) print(i) try_list_1.sort() try_list_2.sort() print((try_list_1[0],try_list_1[49999], try_list_1[99999])) print((try_list_2[0],try_list_2[49999], try_list_2[99999])) if문을 많이 사용한 이유는 중간에 곱연산이나 합연산 그리고 강화 수치별 수정이 용이 하기 위해서 if문을 많이 사용했습니다.. 코드공유는 여기 까지이고 결과설명 하도록 하겠습니다. 참고로 스타포스 22성자체가 워낙 22성 한번 성공하는데에 사용되는 메소 분산이 커서 10만개도 사실은 적은 샘플인데 돌려보시면 알겠지만 10만회 정도만 돌려보는데도 10분정도가 소요되어서 100만회는 못해본점 사과드립니다. 참고로 앞으로 보여드릴 결과는 140제 기준이며 스타포스 비용은 렙제별 비례수치이기 때문에 평균수치를 알고 싶으시면 그냥 곱하기만 하시면 됩니다. ex)200제는 140제비용*1.95 결과를 한번 보도록 하겠습니다. 첫번째는 소모 메소 기준 소팅이며 두번째는 파괴횟수 기준 소팅입니다. ((305042300, 0), (9850587500, 7), (175929318600, 109)) ((0, 305042300), (6, 13369398300), (114, 139140152700)) 첫 번째 시뮬레이션 결과입니다. 140제이며 22성 결과입니다. (140제 22성은 두번이나 해본결과 중간값 메소가 거의 비슷했습니다) 결과해석을 해보자면 우선 메소기준으로 10만명중에 가장 운이 좋은 사람은 3억메소 정도를 사용했으며 한번도 터지지 않았습니다. 10만명중에 중간값의 운을 가진 사람은 98억메소 정도를 사용했으며 총 7번 파괴당했습니다. 10만명중에 가장 운이 나쁜사람은 1759억메소 정도를 사용했으며 총 109번 파괴당했습니다. 파괴횟수기준으로는 0, 6, 114번 터진게 최고운 중간운 최저운이 되겠습니다. 다음 21성 결과를 보도록 하겠습니다. ((247245600, 0), (6068406700, 5), (105540477300, 74)) ((0, 247245600), (4, 4626029300), (74, 105540477300)) 결과해석을 해보자면 우선 메소기준으로 10만명중에 가장 운이 좋은 사람은 2억5천만 메소 정도를 사용했으며 한번도 터지지 않았습니다. 10만명중에 중간값의 운을 가진 사람은 61억메소 정도를 사용했으며 총 5번 파괴당했습니다. 10만명중에 가장 운이 나쁜사람은 1055억메소 정도를 사용했으며 총 74번 파괴당했습니다. 파괴횟수기준으로는 0, 4, 74번 터진게 최고운 중간운 최저운이 되겠습니다. 자 다음은 20성 결과를 보도록 하겠습니다. ((196270900, 0), (4900954900, 3), (71910544600, 53)) ((0, 196270900), (3, 4500257900), (66, 68693987900)) 결과해석을 해보자면 우선 메소기준으로 10만명중에 가장 운이 좋은 사람은 1억9천만 메소 정도를 사용했으며 한번도 터지지 않았습니다. 10만명중에 중간값의 운을 가진 사람은 49억메소 정도를 사용했으며 총 3번 파괴당했습니다. 10만명중에 가장 운이 나쁜사람은 719억메소 정도를 사용했으며 총 53번 파괴당했습니다. 파괴횟수기준으로는 0, 3, 66번 터진게 최고운 중간운 최저운이 되겠습니다. 통상적으로 알고 있는 17성의 비용을 알아보기 위해서 10성부터 강화가정 17강비용을 보겠습니다.( 이 모델의 신빙성을 알아보기 위함) ((89136800, 0), (897889700, 1), (11550277100, 12)) ((0, 89136800), (0, 1218964000), (14, 6990168300)) ((89136800, 0), (896653200, 0), (10919933400, 8))] ((0, 89136800), (0, 1227968600), (12, 5524013800)) 오 아무런 이벤트도 없을때 생각보다 17성에 비용이 많이드네요!(이건 10만회를 두번 진행했습니다) 9억정도 들며 파괴횟수 0,1이 같이 뜬걸로 봐서는 1번터지거나 안터지거나로 대부분9억정도 쓰면 17강을 가는 것 같습니다. 지금까지의 결과는 10만회씩 돌려본 것이기 때문에 편차가 심하며 좀더 시행횟수를 늘려본다면 더 정확한 결과를 얻을 수 있겠습니다. 파방을 하시는 분도 계시고 아닌분도 계시기 때문에 파방은 따로 넣지 않았으며 30%할인 이벤트면 30%할인을 그냥 적용시켜 주시면 될 것 같습니다. 자 여기서 제가 이 시뮬레이션을 시행하게된 가장 큰 이유는 과연 22성 깡강화와 21성을 토드해서 20성을 만든뒤 22성을 만드는 것중에 어떤것이 더욱 이득인지 알아보기 위해서 였는데요 150제 깡 22성과 140제 21성 토드후 150제 22성을 비교해 보도록 하겠습니다.(중간값 정도만 비교해 보겠습니다) 우선 150제는 140제의 1.229배의 비용이 사용됩니다. 이경우 중간값에 1.229배를 해보면 12,106,372,037.5메소 20성에서 22성을 가는 비용을 140제 기준으로 한번 보겠습니다. ((108771400, 0), (1046782000, 0), (163846498100, 125)) ((0, 108771400), (0, 1097756700), (125, 163846498100)) 굉장히 흥미로운 결과가 나왔는데요 결과해석을 해보자면 우선 메소기준으로 10만명중에 가장 운이 좋은 사람은 1억 메소 정도를 사용했으며 한번도 터지지 않았습니다. 10만명중에 중간값의 운을 가진 사람은 10억메소 정도를 사용했으며 한번도 터지지 않았습니다. 10만명중에 가장 운이 나쁜사람은 1638억메소 정도를 사용했으며 총 125번 파괴당했습니다.(20성에서 했는데 이정도면 울고싶겠네요) 파괴횟수기준으로는 0, 0, 125번 터진게 최고운 중간운 최저운이 되겠습니다. 즉 150제는 여기에 1.229를 곱한 12억3천만메소 정도가 중간정도로 든다고 할수 있겠네요 140제 기준 21성 가는 중간 비용을 61억이라고 생각했을때 둘이 더하면 73억 3천만 메소 정도로 볼 수 있으니 깡강화보다는 토드 후 22성 가는게 50억정도를 아낀다는 결과가 나왔는데요 참고로 여기서 주의깊게 보아야 할 부분은 20성에서 22성을 갈때 보통은 터지지 않는다는 결과가 나오지만 한번이라도 터지면 굉장한 리스크가 있다는 점을 고려해야 할 것입니다. 결론 22성을 할 때 21성 토드후 22성으로 강화는 굉장히 고려해 볼 만한 사항이라는 것! 다들 도움이 되셨으면 좋겠습니다. 감사합니다.
|
