메이플스토리 인벤 자유 게시판

전체보기

모바일 상단 메뉴

본문 페이지

[수다] 김창섭 디렉터의 아획 랜덤함수, 크확, 잠재관련 설명문

아루루나나
댓글: 1 개
조회: 558
2026-04-09 19:16:12

아이템드롭률이 인게임에서 1%라고 표기되어있음에도 1.16%로 적용되는 버그가 있었습니다

이와 같은 표기확률보다 적용확률이 올라간 이유가

저희가 20년된 게임이라 오래된 랜덤함수를 쓰는데 그로 인한 모듈러 편향 때문입니다



저희가 쓰는 구형랜덤 함수는 1~100까지 숫자중에 하나 골라서 확률로 해 뭐 이런식이 아닙니다

예시를 들어보죠.

특정한 아이템을 얻을 수 있을지 없을지는 10^x 개수만큼 있는 상자 속 있는 2^32승의 구슬중에 한개를 고르는 식으로 작용합니다

그리고 그 중에서 당첨상자를 뽑으면 아이템을 얻고, 미당첨상자를 뽑으면 아이템을 못 얻습니다


이때 당연하게도 구슬들이 균일하게 10^x 개수만큼 있는 상자속에 균일하게 들어가 있습니다 아니 있어야 합니다





문제는 2^32승의 구슬들은 10승개만큼 있는 상자에 균일하게 못 들어갑니다

예를들어 1%확률로 나오는 아이템이 있다고 칩시다

상자는 10억개의 상자가 있구요.(저희가 10억개로 세팅해놨기때문에)

그러면 당첨상자는 1천만개고, 꽝상자는 9억 9천만개입니다

이 경우 10억개의 각 상자에 4개씩 구슬을 넣고 약 2억 9천만개가 남습니다.


이 경우 2억 9천만개를 버려야 균일하게 상자속에 들어가는데

2억 9천만개의 구슬을 버리지 않고 앞쪽에 추가로 넣게 됩니다.

문제는 그 앞쪽이 당첨상자였다는겁니다.

따라서 구슬 1개를 골랐을때 당첨할 수 있는 확률이 올라갈수밖에 없지요

이걸 대충 1% 기준으로 계산해보면 대략 16.4%가 나오게 됩니다

그리고 17% 기준으로 계산하면 그때부터 공이 더 들어가게 되어서 26.4%... 이런식으로 확률이 올라가게 됩니다






그리고 아이템 자체의 드롭 확률 말고도

아이템 드롭률 증가가 작동하는데 있어서도 문제가 있었습니다

아이템 드롭률 증가가 앞에 예시에 이어 10% 늘어났다고 칩시다

그러면 상자 10억개는 그대로 두고, 당첨상자를 10%를 늘리면 되잖아요?

그런데 메이플스토리 내 로직은 그렇게 작용하지 않고, 전체 상자를 줄이는 식으로 작동합니다

따라서 10%를 늘리면 전체상자 10억개에서 전체상자가 9억 900만개가 되는거죠.



복잡하실까봐 좀 더 당첨상자와 공 개수를 줄여서 가져와봤습니다

뽑을 수 있는 공은 11개 있고 상자는 10개가 있습니다. 당첨상자는 그중 맨 앞 1개구요.

11개중에 1개를 뽑아서

해당 공이 있는 상자가 당첨이면 아이템을 얻고

해당 공이 있는 상자가 미당첨이면 아이템을 못 얻습니다

이때 전에 설명한 로직때문에 11개의 공이 균일하게 들어가지 못하고 당첨상자에 1개가 더 들어갑니다

따라서 확률이 올라가게 됩니다.


이 때 아이템드롭률 증가옵션을 올려서 상자 개수를 줄여봅시다

그래도 맨 앞 상자에 들어간 구슬의 개수는 변하지 않습니다

이렇기 때문에 특정구간에서 16.4%라는 고정된 수치로 되는거고요

상자가 5개 남았을정도로 아이템 드랍률을 올려서야 앞 상자에 3개가 들어가니까 여기에서 다시 크게 확률이 올라가게 됩니다.

그래서 17%일때 26.4%가 되는거죠.






그런 원인 의해서 드롭률 1%인 아이템이 있는 경우에

자신의 아이템 드롭률 0%인 상태에도 의도한 1%가 아닌 실제 확률은 16.4%가 더 들어가서 1.164%가 되고 16%까지 동일하게 되다가


17%에서 앞쪽에 공이 더 들어감으로써 1.397% 이런식으로 늘어나게 됩니다






이러한게 심하면 23.4%까지도 자신의 표기확률과 실제확률이 다르게 적용되는 부분이 있어서

모든 유저에게 손해보지 않도록 24% 기본 아이템 드롭률 증가 옵션을 제공하기로 결심했습니다










그것 말고도 PC방 드롭률 오류가 있었습니다

PC방에서 게임하시는 분들은 드롭률 10%를 더 받았는데

문제는 보스보상에서 모든 파티원이 해당 혜택을 받았다는겁니다

보스 보상에는 파티원 중 1명만 받을 수 있는 보상(물욕템 등)과 개인보상(심볼, 결정석 등)이 있는데

파티원 중 한명만 PC방에서 게임하고 있었더라면 모든 파티원이 PC방에서 게임한것과 동일하게 PC방 드롭률 증가옵션을 받고 있어서

PC방이 아닌 파티원도 개인보상에서 10% 추가로 증가옵션을 받고 있었습니다

이건 16년도에 PC방 혜택을 바꾸면서 생기는 문제로 저희가 수정중에 있습니다










제가 아이템 드롭률 증가옵션이 적용되지 않는 목록이 있다고 적어둔게 있습니다

이때는 제가 "정해진 비율"이라고 언급했었는데 이번기회에 확실하게 확률표를 보여주고자 합니다












이제부터 아이템 드롭률 증가옵션은 이렇게 반영이 됩니다

예를들어 아이템 드롭률 증가옵션을 내가 50% 가지고 있으면

코어젬스톤의 경우 아이템 드롭률 증가옵션이 25% 인 것으로 적용되고

모든 퀘스트 아이템의 경우 아이템 드롭률 증가옵션이 5% 인 것으로 적용되고

보스 드롭 리워드는 100% 인것으로 적용되도록 바꿨습니다

단, 24% 제공해주는 거는 여기에 영향을 받지 않습니다

코어젬스톤의 경우 아이템 드롭률 증가옵션이 25% 인 것으로 적용되고 싶으면 표기된 확률이 74%가 되어야겠지요











그 외에도 피격/공격시 XX 확률로 데미지무시, 상태이상회복, 감정을 느끼는 옵션에서

XX확률이 다르게 적용되는 문제가 있었습니다

이것들의 원인은 n/100을 해야하는데 n/101을 하거나 (n+1)/101을 하거나 하는식으로 확률 서식을 잘못 만들어서 생겼습니다 그래서 의도한 확률대로 동작하게 수정할 예정입니다

아래 HP/MP 회복옵션의 경우도 더 높게 적용되었는데요

저희가 기본적으로 옵션을 2번 검사해서 발동하게 되어있습니다. 이로 인해 효과를 2번 보는경우가 발생을 했구요

따라서 우선 해당 옵션이 여러개 있으면 수치를 합산한 다음에 검사를 1번 하여 통과하면 회복하는 식으로 수정을 할 예정입니다

무적옵션은 저 한개의 옵션만 있을땐 문제가 없는데 옵션이 여러개 있을때 문제가 있어서 무적옵션이 있으면 옵션중에서 맨 마지막 옵션만 검사해서 발동하는 현상이 있었고 이건 효과를 합산할 수가 없기 때문에 확률을 합산해서 발동하도록 바꿔볼 예정입니다

그리고 확률이 다른 옵션의 경우 검사를 독립적으로 해서 할 수 있도록 처리할 예정입니다








마지막은 저희가 잠재능력 재설정을 하는 경우 동일한 결과가 등장하지 않도록 재설정됩니다 라고 했었는데

실제로 그렇지 못한 경우가 있었습니다

이건 코드상으론 게임 아이디가 다른데 실질적 효과가 같은 경우를 예외처리 하지 않았더라고요

이 문제는 이탈옵 그러니가 에픽등급의 경우 첫줄만 에픽이 아니라, 두번째 세번째줄도 에픽이 뜨는 이탈옵션때문에 발생하는것으로 확인되었습니다

24년 4월 2일부터 26년 4월 3일까지 보니까 각각 윗잠은 167회, 아랫잠은 311회 발동되었다는것을 확인할 수 있었습니다 저희가 전수조사 해서 최대 2년치 분량을 전수조사해서 재설정 시 소모된 재화를 재지급해 드릴 예정입니다









크리티컬 확률 역시 표기된것보다 더 높은 확률로 적용되었는데

이는 모듈러 편향의 원리로 발생하는 현상이었습니다

그리고 크리티컬 확률이 100%인 모든 유저들은 전부 99.99999% 확률로 크리티컬이 발동되는 문제가 있었습니다

이건 저희가 최대값을 1천만으로 해야하는데 999만 9999로 설정해서 발생한 현상이였습니다

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 메이플
  • 게임
  • IT
  • 유머
  • 연예
AD