Candy Crush Saga is a hit mobile game developed by King (part of Activision|Blizzard) that is played by millions of people all around the world.
In this Project, we will get to work with a real Candy Crush dataset and use this data to estimate level difficulty. This project involves manipulating data frames using dplyr
and make plots using ggplot2
.
Clone this repository and open the Jupyter notebook file (*.ipynb
) in a Jupyter environment with R kernel support. Make sure to install the required packages such as tidyverse
. You can do this by running the following commands in a code cell within the notebook:
install.packages("tidyverse")
Once the packages are installed, run the code cells in the notebook to generate the plots and analyses.
If you don't have a Jupyter environment set up, you can install Jupyter Notebook and the R kernel using the following steps:
-
Install Jupyter Notebook by following the instructions on the official Jupyter website.
-
Install the R kernel for Jupyter Notebook by running the following commands in your R console:
install.packages("IRkernel")
IRkernel::installspec()
After completing the installation, launch Jupyter Notebook, navigate to the folder containing the notebook file, and open it to begin running the analysis.
- Candy Crush Saga: Load in the packages we're going to need for the project.
- The data set: Load in the dataset and display the first couple of rows.
- Checking the data set: Count how many players are in the dataset and how many days it spans.
- Computing level difficulty: Calculate the probability of winning a level in a single attempt for each level.
- Plotting difficulty profile: Plot a line graph with the difficulty for each level.
- Spotting hard levels: Add points to the plot and a horizontal dashed line at the 10% value.
- Computing uncertainty: Compute the standard error of the difficulty for each level using the given formula.
- Showing uncertainty: Add error bars to the difficulty profile plot.
- A final metric: Calculate how likely is it that a player will complete all the levels in the first attempt.
- Should our level designer worry?: Should our level designer worry that a lot of players will complete the episode in one attempt?