This is a simple model of Clash Royale Album Events. It allows to run completion simulations in order to estimate the average amount of snippet picks needed to complete an album.
Album configuration constants are defined in /data, which has 2 options:
- 202603: constants used in the March Album Event
- 202605: constants used in the May Album Event
The constant configuration is selected in main.py, together with other simulation settings.
Simulation results and charts are saved to /results.
This code is featured in the SQURS blog: Album Event Simulator, where the model context and results are analysed in more detail.
Aside from choosing an album version (202603 or 202605), as mentioned above, main.py has other settings available:
- version: prefix for result backups
- iterations: number of albums to simulate
- sim_debug: option to save event logs and snippet selection counts
- save_iteration_indices: list of iterations to save in detail as samples
- plot_charts: option to plot result charts
- source_path: path where constants are stored, used to select the album version
Result data is saved as CSV files. The different outputs are:
- debug_log: list of events during an album completion sample
- counts: pick counts for each snippet, useful to test if weights are being applied correctly
- results: recap of picks needed across all the simulations
Charts are saved as PNG by matplotlib. The different outputs are:
- iteration_history: scatter chart of random pick counts needed to complete each simulation
- iteration_histogram: histogram perspective of the same data from iteration_history
- scene_histogram: similar to iteration_histogram, but with more metrics aside from "random picks"