SlideShare a Scribd company logo
확률의 구현법
미친고양이 이택승
다루지 않는 것
 가챠 기획
 가챠 BM
다루는 것
 확률 시스템 플로우
 각각의 시스템의 특징
 그것이 유저에게 주는 감정
이게 다 뽑기 때문이에요.
이게 다 뽑기 때문이라고, XX야!
이해를 위한 기본 지식
 시스템 설계
 DB와 서버의 차이
시작해 볼까요?
컴퓨터가 과연 랜덤을 알까요?
 모릅니다.
 일반적인 언어가 제공하는 랜덤 함수들은 ‘시간’ 등을 시드값으로 삼아,
독립시행되는 랜덤값을 뽑아주는 것
일반적인 확률 구현
 1 ~ 100, 혹은 1 ~ 10000 사이에서 한 값을 랜덤함수로 추출
 추출한 값이 기획쪽에서 설정한 값보다 낮을 경우, 랜덤 성공
랜덤 값 추출
(1 ~ 10000)
테이블에 정의된 값보다
낮은가?
성공 처리
실패 처리
낙차 확률
구간 확률
보정 확률
묶음 확률
낙차 확률
낙차확률
 A의 확률이 실패 시 B의 확률을 계산하는 구현방식
 A만 독립시행, B 이후는 종속시행
 B 이후부터는 테이블에 표시된 확률과 실제 확률이 다르다.
랜덤 값 추출
(1 ~ 10000)
테이블에 정의된 값보다
낮은가?
A
성공 처리
랜덤 값 추출
(1 ~ 10000)
테이블에 정의된 값보다
낮은가?
B
성공 처리
랜덤 값 추출
(1 ~ 10000)
낙차확률
 일하는 입장에서는 테이블에 기록된 값이 실제 값이라 생각하기 마련인데, 실
제로는 다르니 혼동을 일으키기 쉬움
 B 의 실제 확률 계산법
 ‘테이블에 적힌 B확률’ * (1-’A 성공확률’)
 C는 또…..
 매번 확률을 수정할 때마다 실제 확률도 확인해야 하니, 작업이 번거로움
 개인적으로는 선호하지 않습니다.
구간 확률
구간확률
 나올 수 있는 가짓수의 확률을 모두 더한 후, 나온 랜덤값이 어느 구간에 위치
하느냐를 판단하여 해당 구간의 결과값을 리턴하는 방식
 독립시행
 한국 가챠 등에서 가장 기본적으로 쓰이는 확률 구현
구간별 확률을
모두 더함
랜덤 값 추출
(1 ~ Max
구간 확률)
추출된 값이
위치한 구간에
따라 결과
결정
구간확률
 전투에서의 사용 예
확률 구간 판정
1~15% 회피
16~90% 타격 파이프라인
91~100% 크리티컬 파이프라인
보정 확률
보정확률
 실패한 경우 다음 시행 때 테이블에 지정된 값의 확률 가중치를 더해 성공 확률
을 올리는 구현방법
 강화나 퀘스트 아이템 드랍 등에서 자주 사용
성공확률 계산
성공 처리
랜덤 값 추출
(1 ~ 10000)
성공확률 = 테이블에 기록된 확률
+ DB에 저장된 확률 가중치
성공확률보다 낮은가?
실패 처리
확률 가중치
저장
확률 가중치 = DB에 저장된 확률 가중치
+ 테이블에 저장된 보정 확률
확률 가중치
초기화
보정확률
체험 그 외 기타
User DB 계속 실패를 하더라도 언젠가는 성공할
수 있다는 것에 대한 안정감
DB 부담 약간 있음
Server DB 실패의 결과물을 언젠가 서버의 누군가
는 먹을 거라는 점에서 굉장한 북불복
과 물욕을 일으킴
일정 이상의 실패를 브로
드캐스팅하는 경우 효과
증가
 확률 가중치를 User DB에 저장할 것인지, Server DB에 저장할 것인지 혹은 정
보를 어느 정도 공개할 것인지에 따라 시스템 상세는 달라진다.
묶음 확률
묶음 확률
 각 아이템 별로 얻을 수 있는 개수를 정해놓은 후, 획득 시점마다 얻은 아이템
을 기록하여 다음 확률 계산에서 제거하는 방식
 대표적인 종속시행 확률
 가장 정확한 확률
 일본에서 주로 사용(가챠)
획득 가능 상품 = 테이블에 기록된 상품 개수
- DB에 저장된 획득한 상품 개수
획득 가능 상
품 계산
랜덤 값 추출
(1 ~ Max
상품 개수)
추출된 값이
위치한 구간에
따라 상품
지급
모든 상품이 지급되었나?
획득 상품 저
장 DB 초기화
획득 상품 저
장 DB 기록
묶음확률
체험 그 외 기타
User DB 1인 대상 한정으로 가장 정확한 확률을
구현 가능
DB 부담 가장 큼
Server DB 어떻게 보면 매직 더 개더링 등 오프라
인 뽑기 상품 구성 방법
플레이어에게 상품 노출 시 조건부 물
욕 센서 부여 가능
단 당첨이 먼저 노출되어 있을 경우 물
욕 센서 감소
기본적으로 ‘당첨/꽝’이
인정되어야 효과가 큰 만
큼 ‘꽝'이 없어야 하는
한국/일본의 확률 자율
규제제도와 가장 안 맞는
구현
확률 시스템 구성 노하우
묶음 확률의 변형
 묶음 확률을 보여주되 당첨 상품이 나올 경우 묶음 확률 관련 DB를 초기화하는
방식
 당첨 상품이 나왔음을 보여줬을 때 가챠 의지가 약해지는 부작용을 해소 가능
 하지만 ‘꽝’이 없어야 하는 일본/한국의 자율규제 원칙과 충돌하는 부분이 있음
 특히 실제 확률이 얼마나 되는지 계산하기 어려워짐
가챠를 구성할 때 원칙
 ‘낙차 확률'이나 ‘보정 확률‘, ‘당첨 시 초기화되는 묶음 확률’ 등으로 가챠 시스
템을 구성할 경우 실제 확률을 고시하기에 어려움이 있음
 내가 통계에 자신이 있는 것이 아니면 회사에서 공지하는 확률과 실제 확률이 달라
질 가능성이 높음
(유명 원화가 부부의 스타트업으로 유명했던 모 게임의 사례)
 시스템은 최대한 단순하게 구성한 후 유저에게 주는 보너스 등은 ‘마일리지’ 등의, 확
률과 별개로 독립된 시스템을 통해 제공하는 것이 깔끔함
최근 중국 가챠 시스템 중 하나의 사례
분석
 규칙
 가챠에서 나올 아이템을 100개까지 미리 보여준다.
 가챠를 실행할 경우 스택 방식으로 미리 보여준 아이템이 뽑힌다.
 플레이어는 원할 때 이 리스트를 게임 내 현금재화(ex.보석)를 내고 초기화할 수 있다.
 내부 규칙 추정
 큰 규칙은 1단계: 묶음확률, 2단계: 구간확률로 추정된다.
 묶음확률 규칙에 따라 100개 중에 등급 별로 몇개씩 있을 것인지 정해진 후, 등급 내
실제 드랍 아이템은 구간확률 규칙에 따라 정해지는 방식으로 추정
 그렇게 정해진 100개의 아이템을 개인 DB에 저장한 후 UI를 통해 노출하는 방식

More Related Content

What's hot

NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
승명 양
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013devCAT Studio, NEXON
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
Jongwon Kim
 
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
PandoraCube , Sejong University
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
Seungmo Koo
 
게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱
Seungmo Koo
 
마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건
강 민우
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?
흥배 최
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
Heungsub Lee
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012devCAT Studio, NEXON
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
YEONG-CHEON YOU
 
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
Seungmo Koo
 
트레블헌터 개발기획서
트레블헌터 개발기획서트레블헌터 개발기획서
트레블헌터 개발기획서
정희 이
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
YEONG-CHEON YOU
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
Seungmo Koo
 
전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)
Chanman Jo
 
도탑전기(刀塔传奇)_20140924
도탑전기(刀塔传奇)_20140924도탑전기(刀塔传奇)_20140924
도탑전기(刀塔传奇)_20140924
Daewoong Kim
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
Yongha Kim
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
YEONG-CHEON YOU
 

What's hot (20)

NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
 
게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱
 
마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
 
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
 
트레블헌터 개발기획서
트레블헌터 개발기획서트레블헌터 개발기획서
트레블헌터 개발기획서
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
 
전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)
 
도탑전기(刀塔传奇)_20140924
도탑전기(刀塔传奇)_20140924도탑전기(刀塔传奇)_20140924
도탑전기(刀塔传奇)_20140924
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 

Similar to 확률의 구현법

Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)
NAVER Engineering
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
정주 김
 
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
Hoon Park
 
리텐션의 산출과 활용
리텐션의 산출과 활용리텐션의 산출과 활용
리텐션의 산출과 활용
Chanman Jo
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
Hyunjik Bae
 
[IGC 2016] 고정환 액션감성을_밸런스하다
[IGC 2016] 고정환 액션감성을_밸런스하다[IGC 2016] 고정환 액션감성을_밸런스하다
[IGC 2016] 고정환 액션감성을_밸런스하다
Jeonghwan Ko
 
[Python] Controllable rock-paper-scissors game
[Python] Controllable rock-paper-scissors game[Python] Controllable rock-paper-scissors game
[Python] Controllable rock-paper-scissors game
Kim Heejin
 
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
Donghwa Kim
 
애니팡의 성공메커니즘
애니팡의 성공메커니즘애니팡의 성공메커니즘
애니팡의 성공메커니즘StellaYun
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revision
Jeonghun Yoon
 

Similar to 확률의 구현법 (10)

Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
 
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
 
리텐션의 산출과 활용
리텐션의 산출과 활용리텐션의 산출과 활용
리텐션의 산출과 활용
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
 
[IGC 2016] 고정환 액션감성을_밸런스하다
[IGC 2016] 고정환 액션감성을_밸런스하다[IGC 2016] 고정환 액션감성을_밸런스하다
[IGC 2016] 고정환 액션감성을_밸런스하다
 
[Python] Controllable rock-paper-scissors game
[Python] Controllable rock-paper-scissors game[Python] Controllable rock-paper-scissors game
[Python] Controllable rock-paper-scissors game
 
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
 
애니팡의 성공메커니즘
애니팡의 성공메커니즘애니팡의 성공메커니즘
애니팡의 성공메커니즘
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revision
 

확률의 구현법

  • 2. 다루지 않는 것  가챠 기획  가챠 BM
  • 3. 다루는 것  확률 시스템 플로우  각각의 시스템의 특징  그것이 유저에게 주는 감정 이게 다 뽑기 때문이에요. 이게 다 뽑기 때문이라고, XX야!
  • 4. 이해를 위한 기본 지식  시스템 설계  DB와 서버의 차이
  • 6. 컴퓨터가 과연 랜덤을 알까요?  모릅니다.  일반적인 언어가 제공하는 랜덤 함수들은 ‘시간’ 등을 시드값으로 삼아, 독립시행되는 랜덤값을 뽑아주는 것
  • 7. 일반적인 확률 구현  1 ~ 100, 혹은 1 ~ 10000 사이에서 한 값을 랜덤함수로 추출  추출한 값이 기획쪽에서 설정한 값보다 낮을 경우, 랜덤 성공 랜덤 값 추출 (1 ~ 10000) 테이블에 정의된 값보다 낮은가? 성공 처리 실패 처리
  • 8. 낙차 확률 구간 확률 보정 확률 묶음 확률
  • 10. 낙차확률  A의 확률이 실패 시 B의 확률을 계산하는 구현방식  A만 독립시행, B 이후는 종속시행  B 이후부터는 테이블에 표시된 확률과 실제 확률이 다르다. 랜덤 값 추출 (1 ~ 10000) 테이블에 정의된 값보다 낮은가? A 성공 처리 랜덤 값 추출 (1 ~ 10000) 테이블에 정의된 값보다 낮은가? B 성공 처리 랜덤 값 추출 (1 ~ 10000)
  • 11. 낙차확률  일하는 입장에서는 테이블에 기록된 값이 실제 값이라 생각하기 마련인데, 실 제로는 다르니 혼동을 일으키기 쉬움  B 의 실제 확률 계산법  ‘테이블에 적힌 B확률’ * (1-’A 성공확률’)  C는 또…..  매번 확률을 수정할 때마다 실제 확률도 확인해야 하니, 작업이 번거로움  개인적으로는 선호하지 않습니다.
  • 13. 구간확률  나올 수 있는 가짓수의 확률을 모두 더한 후, 나온 랜덤값이 어느 구간에 위치 하느냐를 판단하여 해당 구간의 결과값을 리턴하는 방식  독립시행  한국 가챠 등에서 가장 기본적으로 쓰이는 확률 구현 구간별 확률을 모두 더함 랜덤 값 추출 (1 ~ Max 구간 확률) 추출된 값이 위치한 구간에 따라 결과 결정
  • 14. 구간확률  전투에서의 사용 예 확률 구간 판정 1~15% 회피 16~90% 타격 파이프라인 91~100% 크리티컬 파이프라인
  • 16. 보정확률  실패한 경우 다음 시행 때 테이블에 지정된 값의 확률 가중치를 더해 성공 확률 을 올리는 구현방법  강화나 퀘스트 아이템 드랍 등에서 자주 사용 성공확률 계산 성공 처리 랜덤 값 추출 (1 ~ 10000) 성공확률 = 테이블에 기록된 확률 + DB에 저장된 확률 가중치 성공확률보다 낮은가? 실패 처리 확률 가중치 저장 확률 가중치 = DB에 저장된 확률 가중치 + 테이블에 저장된 보정 확률 확률 가중치 초기화
  • 17. 보정확률 체험 그 외 기타 User DB 계속 실패를 하더라도 언젠가는 성공할 수 있다는 것에 대한 안정감 DB 부담 약간 있음 Server DB 실패의 결과물을 언젠가 서버의 누군가 는 먹을 거라는 점에서 굉장한 북불복 과 물욕을 일으킴 일정 이상의 실패를 브로 드캐스팅하는 경우 효과 증가  확률 가중치를 User DB에 저장할 것인지, Server DB에 저장할 것인지 혹은 정 보를 어느 정도 공개할 것인지에 따라 시스템 상세는 달라진다.
  • 19. 묶음 확률  각 아이템 별로 얻을 수 있는 개수를 정해놓은 후, 획득 시점마다 얻은 아이템 을 기록하여 다음 확률 계산에서 제거하는 방식  대표적인 종속시행 확률  가장 정확한 확률  일본에서 주로 사용(가챠) 획득 가능 상품 = 테이블에 기록된 상품 개수 - DB에 저장된 획득한 상품 개수 획득 가능 상 품 계산 랜덤 값 추출 (1 ~ Max 상품 개수) 추출된 값이 위치한 구간에 따라 상품 지급 모든 상품이 지급되었나? 획득 상품 저 장 DB 초기화 획득 상품 저 장 DB 기록
  • 20. 묶음확률 체험 그 외 기타 User DB 1인 대상 한정으로 가장 정확한 확률을 구현 가능 DB 부담 가장 큼 Server DB 어떻게 보면 매직 더 개더링 등 오프라 인 뽑기 상품 구성 방법 플레이어에게 상품 노출 시 조건부 물 욕 센서 부여 가능 단 당첨이 먼저 노출되어 있을 경우 물 욕 센서 감소 기본적으로 ‘당첨/꽝’이 인정되어야 효과가 큰 만 큼 ‘꽝'이 없어야 하는 한국/일본의 확률 자율 규제제도와 가장 안 맞는 구현
  • 22. 묶음 확률의 변형  묶음 확률을 보여주되 당첨 상품이 나올 경우 묶음 확률 관련 DB를 초기화하는 방식  당첨 상품이 나왔음을 보여줬을 때 가챠 의지가 약해지는 부작용을 해소 가능  하지만 ‘꽝’이 없어야 하는 일본/한국의 자율규제 원칙과 충돌하는 부분이 있음  특히 실제 확률이 얼마나 되는지 계산하기 어려워짐
  • 23. 가챠를 구성할 때 원칙  ‘낙차 확률'이나 ‘보정 확률‘, ‘당첨 시 초기화되는 묶음 확률’ 등으로 가챠 시스 템을 구성할 경우 실제 확률을 고시하기에 어려움이 있음  내가 통계에 자신이 있는 것이 아니면 회사에서 공지하는 확률과 실제 확률이 달라 질 가능성이 높음 (유명 원화가 부부의 스타트업으로 유명했던 모 게임의 사례)  시스템은 최대한 단순하게 구성한 후 유저에게 주는 보너스 등은 ‘마일리지’ 등의, 확 률과 별개로 독립된 시스템을 통해 제공하는 것이 깔끔함
  • 24. 최근 중국 가챠 시스템 중 하나의 사례 분석  규칙  가챠에서 나올 아이템을 100개까지 미리 보여준다.  가챠를 실행할 경우 스택 방식으로 미리 보여준 아이템이 뽑힌다.  플레이어는 원할 때 이 리스트를 게임 내 현금재화(ex.보석)를 내고 초기화할 수 있다.  내부 규칙 추정  큰 규칙은 1단계: 묶음확률, 2단계: 구간확률로 추정된다.  묶음확률 규칙에 따라 100개 중에 등급 별로 몇개씩 있을 것인지 정해진 후, 등급 내 실제 드랍 아이템은 구간확률 규칙에 따라 정해지는 방식으로 추정  그렇게 정해진 100개의 아이템을 개인 DB에 저장한 후 UI를 통해 노출하는 방식