확률의 구현법

이
기획자 em Gamevil
확률의 구현법
미친고양이 이택승
다루지 않는 것
 가챠 기획
 가챠 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를 통해 노출하는 방식
1 de 24

Recomendados

[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리 por
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리강 민우
22.4K visualizações74 slides
게임제작개론: #1 게임 구성 요소의 이해 por
게임제작개론: #1 게임 구성 요소의 이해게임제작개론: #1 게임 구성 요소의 이해
게임제작개론: #1 게임 구성 요소의 이해Seungmo Koo
55.5K visualizações44 slides
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인 por
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인강 민우
1.2K visualizações29 slides
게임 기획 튜토리얼 (2015 개정판) por
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)Lee Sangkyoon (Kay)
162.5K visualizações170 slides
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계 por
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계Imseong Kang
54.8K visualizações347 slides
서비스중인 게임 DB 설계 (쿠키런 편) por
서비스중인 게임 DB 설계 (쿠키런 편)서비스중인 게임 DB 설계 (쿠키런 편)
서비스중인 게임 DB 설계 (쿠키런 편)_ce
42.4K visualizações24 slides

Mais conteúdo relacionado

Mais procurados

프로그래머에게 사랑받는 게임 기획서 작성법 por
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법Lee Sangkyoon (Kay)
133.9K visualizações93 slides
NDC 2011 영웅전 런칭팀 박영준 por
NDC 2011 영웅전 런칭팀 박영준NDC 2011 영웅전 런칭팀 박영준
NDC 2011 영웅전 런칭팀 박영준영준 박
2.6K visualizações87 slides
08_게임 물리 프로그래밍 가이드 por
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드noerror
2K visualizações44 slides
톤톤해적단 게임소개서 por
톤톤해적단 게임소개서톤톤해적단 게임소개서
톤톤해적단 게임소개서DrukHigh
11.5K visualizações58 slides
격전! 삼국연의 게임소개서 por
격전! 삼국연의 게임소개서격전! 삼국연의 게임소개서
격전! 삼국연의 게임소개서KIM SANG HA
7.4K visualizações30 slides
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean) por
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)Kay Kim
63.1K visualizações81 slides

Mais procurados(20)

프로그래머에게 사랑받는 게임 기획서 작성법 por Lee Sangkyoon (Kay)
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
Lee Sangkyoon (Kay)133.9K visualizações
NDC 2011 영웅전 런칭팀 박영준 por 영준 박
NDC 2011 영웅전 런칭팀 박영준NDC 2011 영웅전 런칭팀 박영준
NDC 2011 영웅전 런칭팀 박영준
영준 박2.6K visualizações
08_게임 물리 프로그래밍 가이드 por noerror
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
noerror2K visualizações
톤톤해적단 게임소개서 por DrukHigh
톤톤해적단 게임소개서톤톤해적단 게임소개서
톤톤해적단 게임소개서
DrukHigh11.5K visualizações
격전! 삼국연의 게임소개서 por KIM SANG HA
격전! 삼국연의 게임소개서격전! 삼국연의 게임소개서
격전! 삼국연의 게임소개서
KIM SANG HA7.4K visualizações
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean) por Kay Kim
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
Kay Kim63.1K visualizações
쩌는게임기획서 이렇게 쓴다 por Jinho Jung
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
Jinho Jung88.2K visualizações
레벨디자인 특강 이동훈 por Donghun Lee
레벨디자인 특강 이동훈레벨디자인 특강 이동훈
레벨디자인 특강 이동훈
Donghun Lee7.2K visualizações
1 회사및게임소개자료 por 정의 윤
1 회사및게임소개자료1 회사및게임소개자료
1 회사및게임소개자료
정의 윤8.3K visualizações
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요? por 강 민우
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
강 민우6.3K visualizações
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019 por devCAT Studio, NEXON
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON6K visualizações
기획자의 포트폴리오는 어떻게 써야 할까 por Han Je Sung
기획자의 포트폴리오는 어떻게 써야 할까기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까
Han Je Sung21.7K visualizações
Fps 모드의 분석(FPS MODE ANALYSIS) por 준태 김
Fps 모드의 분석(FPS MODE ANALYSIS)Fps 모드의 분석(FPS MODE ANALYSIS)
Fps 모드의 분석(FPS MODE ANALYSIS)
준태 김3.3K visualizações
[NDC 2009] 행동 트리로 구현하는 인공지능 por Yongha Kim
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
Yongha Kim28.3K visualizações
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들 por 영욱 오
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
영욱 오6.8K visualizações
NDC 2014 이은석 - 온라인 게임의 창발적 플레이 디자인 por Eunseok Yi
NDC 2014 이은석 - 온라인 게임의 창발적 플레이 디자인NDC 2014 이은석 - 온라인 게임의 창발적 플레이 디자인
NDC 2014 이은석 - 온라인 게임의 창발적 플레이 디자인
Eunseok Yi27.3K visualizações
그럴듯한 랜덤 생성 컨텐츠 만들기 por Yongha Kim
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
Yongha Kim16.9K visualizações
게임제작개론 : #0 과목소개 por Seungmo Koo
게임제작개론 : #0 과목소개게임제작개론 : #0 과목소개
게임제작개론 : #0 과목소개
Seungmo Koo7.2K visualizações
게임제작개론 : #6 게임 시스템 구조에 대한 이해 por Seungmo Koo
게임제작개론 : #6 게임 시스템 구조에 대한 이해게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해
Seungmo Koo21.7K visualizações
슈팅게임 개발 포트폴리오 por 채호 국
슈팅게임 개발 포트폴리오슈팅게임 개발 포트폴리오
슈팅게임 개발 포트폴리오
채호 국7.7K visualizações

Similar a 확률의 구현법

Open domain dialogue Chatbot(잡담봇 삽질기) por
Open domain dialogue Chatbot(잡담봇 삽질기)Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)NAVER Engineering
2.9K visualizações64 slides
파이썬으로 나만의 강화학습 환경 만들기 por
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기정주 김
17.5K visualizações129 slides
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입 por
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입Hoon Park
5.7K visualizações73 slides
리텐션의 산출과 활용 por
리텐션의 산출과 활용리텐션의 산출과 활용
리텐션의 산출과 활용Chanman Jo
7K visualizações29 slides
게임 분산 서버 구조 por
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조Hyunjik Bae
37.7K visualizações35 slides
[IGC 2016] 고정환 액션감성을_밸런스하다 por
[IGC 2016] 고정환 액션감성을_밸런스하다[IGC 2016] 고정환 액션감성을_밸런스하다
[IGC 2016] 고정환 액션감성을_밸런스하다Jeonghwan Ko
9.1K visualizações64 slides

Similar a 확률의 구현법(10)

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

확률의 구현법

  • 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를 통해 노출하는 방식