Last updated: 2020-12-20

Checks: 2 0

Knit directory: gacha/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version abbc19b. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .DS_Store
    Ignored:    .RData
    Ignored:    .Rhistory
    Ignored:    gacha/.RData
    Ignored:    gacha/.Rhistory

Untracked files:
    Untracked:  analysis/compare.Rmd
    Untracked:  analysis/shiny.Rmd

Unstaged changes:
    Modified:   code/wflow_init.R

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/index.Rmd) and HTML (docs/index.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd abbc19b Lijia Wang 2020-12-20 finished Genshin Case Study
html b206e5c Lijia Wang 2020-12-20 Build site.
Rmd a82f053 Lijia Wang 2020-12-20 finished Genshin Case Study
html b0e88f7 Lijia Wang 2020-12-18 Build site.
Rmd 543e058 Lijia Wang 2020-12-18 fixed wording
html 8fbcdf9 Lijia Wang 2020-12-18 Build site.
Rmd 5f646a0 Lijia Wang 2020-12-18 case studies AFTER thesis
html 9f25d18 Lijia Wang 2020-12-18 Build site.
html 3e046d1 Lijia Wang 2020-12-17 Build site.
Rmd 985204e Lijia Wang 2020-12-17 appended 10-pull bonus
html 2357df5 Lijia Wang 2020-12-17 Build site.
html e97114c Lijia Wang 2020-12-17 Build site.
Rmd 81db14e Lijia Wang 2020-12-17 10-pull bonus (WIP)
html 1ba59f6 Lijia Wang 2020-12-16 Build site.
html 998f5f3 Lijia Wang 2020-12-16 Build site.
Rmd e77d1c4 Lijia Wang 2020-12-16 single pulls
html 50de199 Lijia Wang 2020-12-16 Build site.
Rmd 09df650 Lijia Wang 2020-12-16 intro
html 8d500d1 Lijia Wang 2020-12-16 Build site.
Rmd b5e3683 Lijia Wang 2020-12-16 First commit

Motivation

Say you’re me and instead of doing anything useful in life, you are playing gacha games. However, you’re a broke and sad college student, so instead of paying for extra in-game currency like the game companies expect you to do, especially during your favorite character’s rate-up banner, you have to work hard to save up for them. A natural question that follows is that, how much in game currency do you need to save up?

In other words, I forgot everything in probabilities so I’d like to review. But why not do it in a fun way.

Introduction

With the increased spread of smartphones in worldwide, purchasing and downloading apps is starting to take up a large portion of market surrounding mobile devices. Gameing applications, in particular, makes up for nearly half of the downloads for smartphone apps (Hiramatsu 2019). In our project, we are focusing on a recent type of mobile game that can be played free of charge, but offer additional paid content such as advantageous items or extra number of plays (Hiramatsu 2019). One such type of games, generally named “gacha games”, employs a lottery-like system, where player can spend in-game currency in exchange for “pulls” in the “gacha”, a parallel to “tickets” in a raffle or lottery. The “rewards” in the gacha are cards of tiered-rarity. The most generic gacha rewards system have characters from 1-star (Normal rarity) to 5-star (Super Super Rare, or SSR, rarity). For each pull, the player has a set probability of pulling a card of each rarity, and this probability decreases with increased rarity (star count) of the card.

The problem around gacha games that has drawn a lot of attention is that the uncertainty of the pull result draws the players to spend more money to purchase more pulls, until a desired card is drawn. This frequently results in large amounts of money being spent on gacha games. In fact, one such type of gacha games, the Complete Gacha, was banned by the Japanese Consumer Affairs Agency in 2012 (Akimoto 2014). The Complete Gacha is set up such that players need to obtain all items in the lottery (we will refer to it as “gacha” in this study) to obtain an item of higher rarity. The Complete Gacha is an example of the “Coupon collector’s problem”. The expected number of trials (pulls) needed to complete the set grows as \(\Theta(nlog(n))\), with n being the number in the set of cards in the gacha. This resulted in excessive spending among a large number of players. In this project, I would like to model a few gacha system employed by popular mobile games, with specific calculations for some games according to their published probability data. My goal is to calculate the number of trials that would achieve a 95% probability of pulling an SSR character under each distinct gacha mechanism.

Lastly, I would like to note that even though each game company has published probabilities for each card tier, we do not know the exact algorithm behind each gacha system and the accuracy of these published statistics. The models built is a simple and generic representation of the gacha algorithm and therefore are not exactly representative of some gacha in specific games. Another drawback of our model is that we are not modeling the probability of obtaining a specific card in the card outcome. We are only estimating the number of trials needed to obtain a card of a certain rarity.

Types of Gacha Mechanisms

The most common type of gacha in popular mobile games typically have two different items in the gacha pool: equipment and character. While both equipment and character categories have tiered rarity, the probability to pull any specific equipment tend to be higher than the probability to pull a character in the same rarity tier. We will approach the analysis of this feature by modeling a simple gacha with only character or equipment categories. However, I will try to account for the other category in certain case studies.

Gacha algorithm is further complicated by the “10-pull bonus”. When making individual pulls, the probability of pulling each character will be as stated in the gacha rules; when making a large number of pulls (e.g. 10-pull), some gacha games will offer some sort of bonus: one extra free pull, a guaranteed character card, or a guaranteed card above a certain rarity (4 star+). On top of this “10-pull bonus”, some gacha systems also have a “pity mechanism”, where for each pull after having made certain number of pulls, the probability of obtaining a character of top rarity (SSR) will increase linearly with the number of pulls attempted, therefore guaranteeing a character of top rarity after a certain number of pulls.

The majority of the gacha games employ one or more aspects of these gacha mechanisms mentioned. Therefore, we will conduct three case studies on popular gacha games at the moment: Fate/Grand Order (stats obtained from the North America server), Arknights (stats obtained from Global mobile server), and Genshin Impact (stats obtained from North America mobile server).

Methods:

Case Studies

Case studies for F/GO and Arknights are conducted within the respective models. Even though general tier probabilities are used in the examples, the character-specific pull number can be easily calculated by substituting the tier probabilities with character probabilities. The case study for Genshin Impact is conducted in detail as an example of combining 10-pull bonus and pity mechanism.

Additional Comments:

I would like to thank Ruochong Ji and Terry Ming for in-depth discussions on gacha mechanisms and the underlying probability distributions, and Haoran Li for working through the pity distribution proof with me. I would also like to reiterate that in this analysis, I made a lot of assumptions on how the gacha mechanisms operates (particularly regarding the 10-pull bonus), so the observations might not be accurate and should be taken with a grain of salt. I welcome all critism and suggestions. You may reach me at lwang19 at uchicago dot edu.

References

Akimoto, A. 2014. “Japan’s Social-Gaming Industry Hindered by Government’s Anti-Gambling Move. The Japan Times.”

Hiramatsu, Ayako. 2019. “A Research of Social Game Users’ Attitude to" Gacha" Probability Announcement.” In 2019 8th International Congress on Advanced Applied Informatics (Iiai-Aai), 115–20. IEEE.