• [프.야.매] 확률게임의 불편한 진실?2011.01.31 AM 02:03

게시물 주소 FONT글자 작게하기 글자 키우기

특정 업체와는 무관하며, 이 글은 어디까지나 저의 주관적인 생각이 다분한 글이고,

그냥 이런 경우도 있을수 있겠다 하는 마음으로 가볍게 봐주셨으면 좋겠습니다.

머리아픈 글은 질색이고, 음모론(?) 비슷한 이야기는 듣고싶지 않다면 안읽으시는게 좋습니다.

요즘 확률에 대해서 논란이 많은거 같습니다. 이 논란의 중심에는 항상 확률식과 백분율이 언급되죠. 그러나 이러한 논란 이전에 생각해봐야 할것이 있습니다. 바로 서버상에서 스크립트가 어떻게 구현되어 있는가 하는것 입니다. '정말로 랜덤함수(무작위)를 사용했는가?' 유저는 알 방법이 없습니다. 무작위가 아닌 일정 패턴으로 결과를 임의 산출한다면, 위에서 언급한 확률식과 백분율은 과연 어떠한 가치가 있을까요? 랜덤함수를 사용하지 않고도 비슷하게 결과를 산출하는 방법은 얼마든지 있습니다. 오히려 이쪽이 구현과 유지보수가 쉽기때문에 생각보다 많이 이용됩니다. 게다가 산출된 결과도 '더 적은 시행횟수'에 원하는 값에 가깝게 '안정적인 산출물'이 나옵니다. 바꿔말하면 유져에게 체감확률이 더 높은 경우가 많기 때문에, 특정 함수(특정 패턴)를 구현해서 사용하는 것이 꼭 나쁘다고만은 할수가 없습니다. 덕분에 시행횟수 = 캐쉬 인 확률게임에서는 적당히 함수로 처리하는 경우가 더 많을 겁니다. 완전 무작위일 경우 생길수있는 쉬운 예를 하나 들어볼까요? 유져는 바보가 아니기 때문에 손해만 보는 투자는 하지 않죠. 10만원 현질해서 랜덤 아이템 꾸러미를 구매 했는데, 정말 운이 없어서 높은 가치의 아이템이 하나도 안나왔습니다. 근데 이 유져가 정말로 운이 없는지 너댓번 시도해봐도 비슷한 결과만 나와요. 그럼 이 유져는 다음번에 다시 돈을 쓸까요? 그리고 이러한 사실을 혼자 마음속에 보물인양 간직하고 있을까요? ps. 랜덤함수로 구현한다고 해도 코드상 완벽한 무작위는 구현할 수 없습니다. 랜덤함수 자체도 하나의 반복 패턴을 갖는 함수이기 때문입니다. 따라서 게임사에서 특정 함수를 사용한다고 해도, 일정한 기대값만 꾸준히 나와준다면 조작이라고 할수도 없죠. 특정 사건에 대한 논쟁보다는 해결방법 모색이 더 효율적이지 않나 생각해봅니다.
댓글 : 13 개
일단 컴퓨터로 처리할때 과연 그 아이템이 나오냐 문제를 생각해 본적이 있었죠.

이 아이템의 확률은 1/10 저 아이템의 확률은 1/100이면

이 아이템은 10번뽑으면 아와야 하고 저 아이템은 100번 뽑으면 나와야 합니다.

근데 안그렇죠.

오류가 많음
전 이런게 적용된건 되도록이면 안하는 편 ㅋㅋㅋ 강화고 캐쉬뽑기고ㅋㅋ
확률이라는것은 어차피 말 그대로 '확률'일 뿐입니다.

예를 들어서 어떤 아이템이 99% 드랍이라면, 말 그대로 100번 잡았다면 99번이 뜨는 경우의 수를 뜻하는거죠. 하지만 컴퓨터상의 99% 라는게, 정확하게 100번 잡아서 99번이 뜨냐? 이런건 아니라는거죠. 적절한병맛 님이 말씀하신대로요.

그래서 몇%의 확률로 드랍/혹은 강화질 성공이 여부를 떠나서, 우스갯소리로 가끔씩 그런말들 하자나요.

모든 확률은 50% 라고.. 되냐 / 안되냐 그거죠 뭐

재수 없으면 99% 드랍률 아이템이 99번 연속 안나오는것이 확률이고, 재수 좋으면 1% 드랍률 아이템이 99번 연속 나오는것이 또한 확률인거죠.

결론은 될놈은 된다 이것인듯
음 글쎄요. 하긴 저도 회사 다니면서 좀 적당히 처리하는걸 본적이 많아서. 심지어는 패키지를 내는데, 유료패치를 다운로드 받아서 추가요소를 받는게 아니라 그냥 유료패치를 다운로드 받으면 잠겨져있던게 풀리는 방식에 대해서도 논의하는걸 봤었죠. 걸렸을 경우 부담땜시 실제로 행하지는 않았지만,
근데 남코게임중에선 의외로 그런게 좀 있어요.

그리고 고스톱 게임 해보심 알겠지만, 확률적으로 나오기 어려운 패들이 너무 자주 나오죠. 그래서 그걸보고 컴퓨터가 탄을 만들어서 나눠준다라는 농담도 했었고,
적절한병맛/ 확률은 과거의 정보를 포함하지 않아요. 동전을 던져서 앞뒷면이 나올 확률은 각각 1/2지만 동전을 한번 던져서 앞면이 나왔다고 다음에 반드시 뒷면이 나오는 것은 아니죠.
근데 사실은 랜덤함수를 이용하지 않을 가능성도 큽니다.
확률이 30%라고 쳤을때 완전 랜덤으로 할수도 있지만, 그냥 나오는 순서를 패턴화 시켜서 하는 방법도 있거든요. 결과상으로는 동일하긴 하지만.
음 그리고 확률의 딜레마도 있는게 확률상 1/10이면 던지면 던질수록, 표본을 모으면 모을수록 1/10에 수렴하는거지 딱 1/10이 되지 않습니다. 특히 값을 내기 시작하는 초반에는 9/10이 될수도 있는게 확률이죠.
Lono君 // 아주 멋진 말씀하셨네요.

'표본을 모으면 모을수록 해당값에 수렴하는거지, 딱 그 해당값이 되지 않는다'

이것이 확률의 진리이죠.
Apopto // 수학적으로는 독립시행이 맞습니다.
하지만 실제 사용을 위한 구현에선 어느정도는 기대값이 나와줘야 합니다.
본문에도 썼지만 일정 기대값 이하가 반복되서 나오면 소비자가 외면하기 때문입니다.
회사의 목적은 수익이지, 수학적 증명의 구현이 아니기 때문입니다.
좋은 글과 좋은 댓글입니다
뭐 답은 다 나오신 듯 싶고요.

컴퓨터에서 사용하는 무작위 식은, 유사무작위(pseudo random)라고 해서 진짜 무작위는 아닙니다. 그래서 무작위 식을 시작하는 시드값을 동일하게 주면 항상 동일한 패턴으로 숫자가 나오죠. 이 때문에 시드값에 타이머를 넣어주는 것으로 보통 보완합니다. 당연히 이러한 수식도 여러 종류가 있으며 환경에 맞추어 만들 수도 있습니다. 이런 것만 전문적으로 다루는 기술도 따로 있죠.

유사 무작위 수치를 만들어내는 식의 경우, 시드값을 동일하게 넣으면 항상 동일한 패턴을 주므로 거대한 자연물 배치를 만들때라든가에 데이터를 줄일 목적으로 사용되기도 합니다.
뭐 다른얘기긴 하지만 국내 논란이되었던 도박게임의 확율적 알고리즘도 포함되는 얘기겠네요. 슬롯이 정말 무작위로 돌아가면 성인오락실을 찾는 사람은 하나도 없을것이다. 같은거요
슈퍼로봇대전에서 많이 나오던 논란인데, 10% 명중율이 열번을 해도 안맞는걸 사기라고 분통 터뜨리던 분들이 많았죠.
하지만 그 10%라는 것은 '해당 차수'에서의 10%지, 리셋을 해서 다시시도하면 '다시 10%'가 되는것일 뿐, 20%가 되는 것은 아니라고 생각합니다.
결국 매번 10%의 확율에 도전하게 되는 것이죠. 그것이 결과적으로 한번에 성공했다면 100%가 되는 것이고, 20번만에 성공했다면 5%로 느껴지게 됩니다.
문제는 '유료'의 경우에서 열번을 했는데 1/10이 하나도 안걸렸다면.... 뭐, 그것도 내 경우에는 1/10이 아니라 0이 되지만,
전체로 봤을 때 100/1,000이 나왔다면 결과적으로는 1/10이 되죠.
물론 기분은 엿같겠지만 ( -_-)
친구글 비밀글 댓글 쓰기

user error : Error. B.