CookieMonster
CookieMonster copied to clipboard
Golden cookie percentage always shows as "<0%"
Describe the bug With the newly added percentage next to the "next cookie" and "next reindeer" bars I expect the number to increase from 0 to 100% chance (that a cookie/reindeer will appear during the next tick) as the number of seconds left counts down to 0.
Currently the number to the right of the bar always reads "<0%" instead.
To Reproduce The steps needed to reproduce the behavior:
- Load my save file below
- Look at the bar up top
- Wait for the gray portion of the bar to disappear (the time during which there is a lockout on the appearance of the next cookie/reindeer)
- the % continues to say <0 as time goes on
Screenshots
Since the gray bar for Next Cookie is gone the percentage should be increasing above 0%

Save file Mi4wMzF8fDE2MjY0Njg3ODE1NTY7MTYxMDc0ODI4MzQ5NzsxNjI3NTg2MjEwODkxO0tldmluO3hwcGJ0fDExMTExMDAxMDAxMDAwMTAwMTAxMHw5LjU0MzU4MDI4NzkzNjI0NWUrNDY7MS4wMjgwNTEwMjY5NjMyODAyZSs0NzsxNjY3MzsyOTI2OzEuNDYxODY3MDM4NjAxNTgwMmUrNDY7NjM0NTs1OzI0OzIuMDc0NDQxNjcwMzk1NTMxNGUrNDc7Mzs1OzA7MDstMTs4OzIxMDs0LjgxMDI2ODIxMzYyMTQwM2UrNDQ7Mjk3OzE0OzQwOzI1NzgwMzI7NjtjaHJpc3RtYXM7MS4xMjcyNzMwNjkxNDgzMDkzZSs0NTsxMTs1OTE5NzA5Njk0Nzk7MjA4MDEwNDk3MTc7NTcxMTY5OTE5NzYyOzA7MDs0NjI7NDk0OzY2MTs0NDI7NjEzOzI1OzEwOzQ7MDszOzA7MDs3OzE4NDsxNjI3NTg2MTk3MjAzOzA7MzsyMjcsMTI5LDM0Mzs0MTsxOzE7My44NzUyMjQ1NDY2MzY2MmUrNDA7fDY1NiwxMDA2LDguOTU2NTI4MTEyNjEwMDg0ZSs0MywxMCwsMCw2NTY7NjQyLDk5MiwzLjI2MDIxOTcyNTI2NjIzMTdlKzQzLDEsLDEsNjQyOzYxMCw5NjAsMS41NzEyMjU3NjE4NzMxMjVlKzQwLDEwLDE2MjcwNjQ3NDM5MTc6NDoxNjI3MDYxMjgyMDg0OjE6Mzg6NzI1OjE6MDoxNjI2NDY4NzgxNTc1OiAxMTExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExIDA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOiwwLDYxMDs2MDAsOTUwLDEuMDYxNzY3NzA4NTI0NjEwOWUrNDIsMSwsMSw2MDA7NTc2LDkyNiwxLjczNTI1NTA4NTA3NTYyMzNlKzQxLDEsLDEsNTc2OzU1OCw5MDgsNC4wOTMwMzAzMjU1MTE5MzNlKzQwLDEsMDowOjE6MDowOiAxMDQwOjU6LTY0OjE2NjowOjA6MCE1MDc6NTotOTA6MzQ2OjA6MDowITU2MzA6MTo0NTo0Mjk6MDowOjAhMTc4Mjo1Oi00MjoyMDA6MDowOjAhNjcwODoxOjQwOjIwNDowOjA6MCE2Mjc3OjA6LTg6NzE4OjA6MDowITc5NDk6NTo1MDoyNDc6MDowOjAhODIyMTowOjEwOjk4OjA6MDowITEwMTIxOjE6MTM6NzE6MDowOjAhMTA2NTU6MToxMTozOTA6MDowOjAhODY5MjoyOi0zODo0MDE6MDowOjAhMTAyNzY6MjotNjc6MzY2OjA6MDowITExMTE4OjI6LTM5OjMwMjowOjA6MCEzNTUyOjQ6LTIwNzoyMDA6MDowOjAhMTIzMDA6MjotNDY6MTUwOjA6MDowITE2MDIyOjA6LTk6MjY2OjA6MDowISAwLDEsNTU4OzUzOSw4ODksMS42OTIwOTk0MjMwOTEyNDg1ZSs0MSwxLDEwLzkvNiAzIDE2MjY3ODA3NDE1OTMgMCwxLDUzOTs1MjAsODcwLDUuODQxNDIwOTAwMzA4MjE1ZSs0MCwyLDE2LjUyODI1OTUxNzU1MzM0NCAyNCA0MzggMSwwLDUyMDs1MDEsODUxLDIuMDY3MDA2NzQxMzA5ODU5NWUrNDAsMSwsMSw1MDE7NDgyLDgzMiw1LjUzMjU0NjY5ODg5NzM4NWUrNDAsMiwsMSw0ODI7NDYzLDgxNiw1LjE3MDQ0MjU5MDU5MTM5NzRlKzQyLDIsLDEsNDYzOzQ1MCw4MDAsMS4yNDQzNzExNDA4MjUxMTQ0ZSs0MiwyLCwxLDQ1MDs0MjgsNzc4LDguMTYzOTQ4MTU2ODA1NzllKzQyLDIsLDEsNDI4OzQxMCw3NjAsNC4yNTU1ODYzNTIwNDE0MzVlKzQzLDIsLDEsNDEwOzQwMCw3NTEsMS4xMDI5ODI5MTI1MTUzNThlKzQ0LDIsLDEsNDAwOzQwMCw3NTAsNS4wOTMzMjA4ODU0MjA4ZSs0NCwzLCwxLDQwMDszNTAsNzAxLDEuNDAwMTc3NzQ1NTIxNjY4NWUrNDQsMywsMSwzNTA7MzI2LDY3Niw0LjMzMzQ2MzU4Nzc4NTUzM2UrNDQsNywsMSwzMjY7fDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMDAxMTExMTEwMDEwMTExMTAwMTExMTExMDAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTAxMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAxMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMDEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDAwMTExMTExMTExMTExMTExMTExMTExMTAwMDAwMDEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTAwMTExMTExMTExMTExMTExMTExMTEwMDAwMDAwMDAwMDAxMTAwMDAwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMDEwMTAxMDEwMTAwMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAxMTExMDAwMDAwMTEwMDExMTExMTAwMDAwMDExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDEwMTAxMTExMTExMTExMTEwMDExMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExMTExMTExMTExMTExMTExMTExMTExMTExMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTExMTExMTExMTExMTAwMDAwMDExMTExMDAwMTExMTExMTExMTExMTExMTAwMDAwMDAwMDAwMDAwMDAwMDExMDAxMTExMDAwMDAwMDAxMTExMTExMXwxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTEwMTExMTExMDExMTExMTAwMDAwMDAwMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMDExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMDAwMDAwMDAwMDAxMTAwMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMDEwMDExMTEwMTExMDEwMDAxMDExMTExMTExMTExMTExMDExMTExMTExMTEwMTExMDEwMTEwMTExMTExMTExMDAxMTEwMTEwMDAwMDAwMTEwMDAwMDAxMDAwMDAwMDExMTExMTExMTExMTAwMDAwMDAwMDExMTExMTEwMDAwMDAwMDExMTExMTExMDAwMDAxMTEwMTExMTAwMDAwMDAwfHxDb29raWVNb25zdGVyOnsic2V0dGluZ3MiOnsiQ1BTTW9kZSI6MSwiQXZnQ1BTSGlzdCI6MSwiQXZnQ2xpY2tzSGlzdCI6NCwiQ2FsY1dyaW5rIjowLCJTY2FsZSI6MiwiU2NhbGVEZWNpbWFscyI6MSwiU2NhbGVTZXBhcmF0b3IiOjAsIlNjYWxlQ3V0b2ZmIjoiOTk5OTk5IiwiVGltZUZvcm1hdCI6MCwiRGV0YWlsZWRUaW1lIjoxLCJQUERpc3BsYXlUaW1lIjoxLCJCdWlsZENvbG91ciI6MSwiUFBPbmx5Q29uc2lkZXJCdXlhYmxlIjoxLCJQUEV4Y2x1ZGVUb3AiOjAsIlBQUmlnaWRlbE1vZGUiOjAsIlBQU2Vjb25kc0xvd2VyTGltaXQiOiIxIiwiQ29sb3VyQmx1ZSI6IiM0YmI4ZjAiLCJDb2xvdXJHcmVlbiI6IiMwMGZmMDAiLCJDb2xvdXJZZWxsb3ciOiIjZmZmZjAwIiwiQ29sb3VyT3JhbmdlIjoiI2ZmN2YwMCIsIkNvbG91clJlZCI6IiNmZjAwMDAiLCJDb2xvdXJQdXJwbGUiOiIjZmYwMGZmIiwiQ29sb3VyR3JheSI6IiNiM2IzYjMiLCJDb2xvdXJQaW5rIjoiI2ZmMTQ5MyIsIkNvbG91ckJyb3duIjoiIzhiNDUxMyIsIkJvdEJhciI6MSwiVGltZXJCYXIiOjEsIlRpbWVyQmFyUG9zIjowLCJUaW1lckJhck92ZXJsYXkiOjIsIkF1dG9zYXZlVGltZXJCYXIiOjEsIlVwQmFyQ29sb3VyIjoxLCJVcGdyYWRlQmFyRml4ZWRQb3MiOjAsIlNvcnRCdWlsZGluZ3MiOjMsIlNvcnRVcGdyYWRlcyI6MSwiVXBncmFkZXNOZXZlckNvbGxhcHNlIjoxLCJEcmFnb25BdXJhSW5mbyI6MSwiR3JpbW9pcmVCYXIiOjEsIkdDVGltZXIiOjEsIkZhdmljb24iOjEsIldyaW5rbGVyQnV0dG9ucyI6MSwiSGlkZVNlY3Rpb25zQnV0dG9ucyI6MSwiVG9vbHRpcEJ1aWxkVXBncmFkZSI6MSwiVG9vbHRpcEFtb3IiOjAsIlRvb2xXYXJuTHVja3kiOjAsIlRvb2xXYXJuTHVja3lGcmVuenkiOjAsIlRvb2xXYXJuQ29uanVyZSI6MCwiVG9vbFdhcm5Db25qdXJlRnJlbnp5IjowLCJUb29sV2FybkVkaWZpY2UiOjAsIlRvb2xXYXJuVXNlciI6IiIsIlRvb2xXYXJuQm9uIjowLCJUb29sV2FyblBvcyI6MSwiVG9vbHRpcEdyaW0iOjEsIlRvb2x0aXBXcmluayI6MSwiVG9vbHRpcEx1bXAiOjEsIlRvb2x0aXBQbG90cyI6MSwiVG9vbHRpcFBhbnRoZW9uIjoxLCJUb29sdGlwQXNjZW5kQnV0dG9uIjoxLCJTdGF0cyI6MSwiTWlzc2luZ1VwZ3JhZGVzIjoxLCJNaXNzaW5nQWNoaWV2ZW1lbnRzIjoxLCJVcFN0YXRzIjowLCJIZWF2ZW5seUNoaXBzVGFyZ2V0IjoiNzc3Nzc3IiwiU2hvd01pc3NlZEdDIjowLCJUaXRsZSI6MiwiR2VuZXJhbFNvdW5kIjowLCJHQ05vdGlmaWNhdGlvbiI6MCwiR0NGbGFzaCI6MSwiQ29sb3VyR0NGbGFzaCI6IiNGRkVCNjciLCJHQ1NvdW5kIjoxLCJHQ1ZvbHVtZSI6MjYsIkdDU291bmRVUkwiOiJodHRwczovL2ZyZWVzb3VuZC5vcmcvZGF0YS9wcmV2aWV3cy82Ni82NjcxN185MzE2NTUtbHEubXAzIiwiRm9ydHVuZU5vdGlmaWNhdGlvbiI6MSwiRm9ydHVuZUZsYXNoIjoxLCJDb2xvdXJGb3J0dW5lRmxhc2giOiIjMkExN0ZGIiwiRm9ydHVuZVNvdW5kIjowLCJGb3J0dW5lVm9sdW1lIjo3OSwiRm9ydHVuZVNvdW5kVVJMIjoiaHR0cHM6Ly9mcmVlc291bmQub3JnL2RhdGEvcHJldmlld3MvMTc0LzE3NDAyN18zMjQyNDk0LWxxLm1wMyIsIlNlYU5vdGlmaWNhdGlvbiI6MCwiU2VhRmxhc2giOjAsIkNvbG91clNlYUZsYXNoIjoiI0ZGQURGQyIsIlNlYVNvdW5kIjoxLCJTZWFWb2x1bWUiOjEwMCwiU2VhU291bmRVUkwiOiJodHRwczovL3d3dy5mcmVlc291bmQub3JnL2RhdGEvcHJldmlld3MvMTIxLzEyMTA5OV8yMTkzMjY2LWxxLm1wMyIsIkdhcmRGbGFzaCI6MCwiQ29sb3VyR2FyZEZsYXNoIjoiIzdDRkY0QyIsIkdhcmRTb3VuZCI6MCwiR2FyZFZvbHVtZSI6ODgsIkdhcmRTb3VuZFVSTCI6Imh0dHBzOi8vZnJlZXNvdW5kLm9yZy9wZW9wbGUvaG9kb21vc3R2YXJ1amVtcml0YW0vc291bmRzLzE3MTI3OS9kb3dubG9hZC8xNzEyNzlfX2hvZG9tb3N0dmFydWplbXJpdGFtX19sb3BhdGUxMi0zLndhdiIsIk1hZ2ljTm90aWZpY2F0aW9uIjoxLCJNYWdpY0ZsYXNoIjowLCJDb2xvdXJNYWdpY0ZsYXNoIjoiI2ZmZmZmZiIsIk1hZ2ljU291bmQiOjEsIk1hZ2ljVm9sdW1lIjoxMDAsIk1hZ2ljU291bmRVUkwiOiJodHRwczovL2ZyZWVzb3VuZC5vcmcvZGF0YS9wcmV2aWV3cy8yMjEvMjIxNjgzXzEwMTUyNDAtbHEubXAzIiwiV3JpbmtsZXJOb3RpZmljYXRpb24iOjAsIldyaW5rbGVyRmxhc2giOjAsIkNvbG91cldyaW5rbGVyRmxhc2giOiIjZmZmZmZmIiwiV3JpbmtsZXJTb3VuZCI6MCwiV3JpbmtsZXJWb2x1bWUiOjEwMCwiV3JpbmtsZXJTb3VuZFVSTCI6Imh0dHBzOi8vZnJlZXNvdW5kLm9yZy9kYXRhL3ByZXZpZXdzLzEyNC8xMjQxODZfODA0My1scS5tcDMiLCJXcmlua2xlck1heE5vdGlmaWNhdGlvbiI6MSwiV3JpbmtsZXJNYXhGbGFzaCI6MCwiQ29sb3VyV3JpbmtsZXJNYXhGbGFzaCI6IiNGRkZGRkYiLCJXcmlua2xlck1heFNvdW5kIjowLCJXcmlua2xlck1heFZvbHVtZSI6MTAwLCJXcmlua2xlck1heFNvdW5kVVJMIjoiaHR0cHM6Ly9mcmVlc291bmQub3JnL2RhdGEvcHJldmlld3MvMTUyLzE1Mjc0M18xNTY2My1scS5tcDMiLCJCdWxrQnV5QmxvY2siOjEsIkZhdm91cml0ZVNldHRpbmdzIjoyfSwiaGVhZGVycyI6eyJGYXZvdXJpdGUiOjEsIkNhbGN1bGF0aW9uIjoxLCJOb3RhdGlvbiI6MSwiQ29sb3VycyI6MSwiQmFyc0Rpc3BsYXkiOjEsIlRvb2x0aXAiOjEsIlN0YXRpc3RpY3MiOjEsIk5vdGlmaWNhdGlvbiI6MSwiTm90aWZpY2F0aW9uR2VuZXJhbCI6MSwiTm90aWZpY2F0aW9uR0MiOjEsIk5vdGlmaWNhdGlvbkZDIjoxLCJOb3RpZmljYXRpb25TZWEiOjEsIk5vdGlmaWNhdGlvbkdhcmQiOjEsIk5vdGlmaWNhdGlvbk1hZ2kiOjEsIk5vdGlmaWNhdGlvbldyaW5rIjoxLCJOb3RpZmljYXRpb25Xcmlua01heCI6MSwiTWlzY2VsbGFuZW91cyI6MSwiTHVja3kiOjEsIkNoYWluIjoxLCJTcGVsbHMiOjEsIkdhcmRlbiI6MSwiUHJlc3RpZ2UiOjEsIldyaW5rIjoxLCJTZWEiOjEsIkFjaGlldnMiOjEsIk1pc2MiOjEsImluZm9NZW51IjoxLCJvcHRpb25zTWVudSI6MX0sImZhdm91cml0ZVNldHRpbmdzIjpbIlBQT25seUNvbnNpZGVyQnV5YWJsZSIsIlBQRXhjbHVkZVRvcCIsIlBQU2Vjb25kc0xvd2VyTGltaXQiLCJHQ1NvdW5kIiwiU2VhU291bmQiLCJIZWF2ZW5seUNoaXBzVGFyZ2V0IiwiTWlzc2luZ1VwZ3JhZGVzIiwiU29ydFVwZ3JhZGVzIiwiU29ydEJ1aWxkaW5ncyJdLCJ2ZXJzaW9uIjoiMi4wMzEuMTAiLCJsb2NrZWRNaW5pZ2FtZXMiOltdfTtjb29raWVNb25zdGVyRnJhbWV3b3JrOnsic2V0dGluZ3MiOnt9LCJoZWFkZXJzIjp7ImluZm9NZW51IjoxLCJvcHRpb25zTWVudSI6MX0sImZhdm91cml0ZVNldHRpbmdzIjpbXX07Y29va2llTW9uc3RlclNob3J0Y3V0czp7InNldHRpbmdzIjp7Imdsb2JhbFN3aXRjaCI6MSwib3BlbkluZm8iOnsia2V5IjoiSSIsImFsdEtleSI6ZmFsc2UsImN0cmxLZXkiOmZhbHNlLCJzaGlmdEtleSI6dHJ1ZSwiZGlzcGxheU5hbWUiOiJTaGlmdCArIEkifSwib3Blbk9wdGlvbnMiOnsia2V5IjoiTyIsImFsdEtleSI6ZmFsc2UsImN0cmxLZXkiOmZhbHNlLCJzaGlmdEtleSI6dHJ1ZSwiZGlzcGxheU5hbWUiOiJTaGlmdCArIE8ifSwib3BlblN0YXRzIjp7ImtleSI6IlMiLCJhbHRLZXkiOmZhbHNlLCJjdHJsS2V5IjpmYWxzZSwic2hpZnRLZXkiOnRydWUsImRpc3BsYXlOYW1lIjoiU2hpZnQgKyBTIn0sInN0YXJ0TGVnYWN5Ijp7ImtleSI6IkwiLCJhbHRLZXkiOmZhbHNlLCJjdHJsS2V5IjpmYWxzZSwic2hpZnRLZXkiOnRydWUsImRpc3BsYXlOYW1lIjoiU2hpZnQgKyBMIn19LCJoZWFkZXJzIjp7ImZhdm91cml0ZSI6MSwiZ2VuZXJhbCI6MSwib3Blbk1lbnUiOjEsImFjdGlvbnMiOjEsImluZm9NZW51IjoxLCJvcHRpb25zTWVudSI6MX0sImZhdm91cml0ZVNldHRpbmdzIjpbXSwidmVyc2lvbiI6IjIuMDMxLjEifTs%3D%21END%21
Browser Chrome Version 91.0.4472.164 (Official Build) (64-bit)
I've checked the code, but that's not how the probability works.
I have simply copied the calculation the game does and added it to the bar. The GC's do spawn because the calculation is performed every tick (I think there are 30 ticks ever second), which makes it so you will hit that chance even if it is below 1%. I'm not sure how to solve this. I could display % per second, but I could not find a good way to display that the percentage is not the actual percentage but %/second.
Ok, here's the most intuitive thing I've come up with. At each tick the probability has some value. During the last few ticks of the countdown that value is at a maximum - there is a near 100% chance that a golden cookie will spawn at each tick. Along the way what we want to know is how close we are to that maximum value. So maybe display (currentChanceValue/maxChanceValue)*100. Or some approximation. Maybe just "low" "medium" and "high" based on some known information about where we are along the curve?
On Thu, Jul 29, 2021 at 2:21 PM Daniël van Noord @.***> wrote:
I've checked the code, but that's not how the probability works.
I have simply copied the calculation the game does and added it to the bar. The GC's do spawn because the calculation is performed every tick (I think there are 30 ticks ever second), which makes it so you will hit that chance even if it is below 1%. I'm not sure how to solve this. I could display % per second, but I could not find a good way to display that the percentage is not the actual percentage but %/second.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CookieMonsterTeam/CookieMonster/issues/921#issuecomment-889397226, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHST53S574EDWIHAGX4MLXTT2GS23ANCNFSM5BHCXHWA .
-- Kevin Anderson
Aren't you just describing what we are currently doing already? The near 100% thing you're referring to is the fact that the probability function slowly approaches 1 (at which it is 100%). The function is describing how far it is "a long the way". For example, 0,005 (or 0.5%). This means that you have a 1/200 change of spawning a cookie.However, with 30 ticks every seconds on average it will only take 6,66 seconds to do so, as that is when 200 ticks have passed.
It is not that the chance is large or increasing much with every tick passing, but rather the amount of ticks which makes spawning a cookie possible even with a chance that seems very low.
Hmm I see. Posing the question on Reddit may get other ideas.
On Thu, Jul 29, 2021, 3:15 PM Daniël van Noord @.***> wrote:
Aren't you just describing what we are currently doing already? The near 100% thing you're referring to is the fact that the probability function slowly approaches 1 (at which it is 100%). The function is describing how far it is "a long the way". For example, 0,005 (or 0.5%). This means that you have a 1/200 change of spawning a cookie.However, with 30 ticks every seconds on average it will only take 6,66 seconds to do so, as that is when 200 ticks have passed.
It is not that the chance is large or increasing much with every tick passing, but rather the amount of ticks which makes spawning a cookie possible even with a chance that seems very low.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CookieMonsterTeam/CookieMonster/issues/921#issuecomment-889428585, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHST53UTNHRJRVEVEVOZ3KTT2GZGBANCNFSM5BHCXHWA .
You could do a summation for the next Game.fps ticks of the formula, which will give you % chance the cookie will spawn in the next second (which is probably more helpful than the tiny % chance to spawn in the next 1/30 of a second)
Although it would be more helpful, I am not really in favour of showing a percentage without explaining what it is referring to. I don't currently know of a good way to show users that the percentage would be "chance in next second".
Showing "chance next second" is kinda pointless IMO because golden cookie is a homogenous Poisson process which is memoryless, aka the notion that the chance is instantaneous is misleading. A more helpful metric would be the percentile (given many golden cookie rolls, how many % of them will wait at least this long until it spawn). I think it's just proportional to the spawning period though.
The issue is that the percentage as it stands is meaningless. This chart shows the percentage that should actually be displayed in blue vs what's currently displayed in gray. The green area is where 95% of golden cookie spawns occur, and the red line is where Cookie Monster will finally tick the number up to 1%, which will happen when there's a 99.999% chance the golden cookie has already spawned. I don't know if there's an elegant way to implement the blue line in javascript, since it cumulatively tracks the chances that a cookie hasn't spawned yet at each tick and subtracts that probability from 1.
The current percentage should be removed unless we can show the % corresponding to the blue line from CptHampton's post.
I think the issue is that the % should show the cumulative distribution function value, rather than the tick probability (cdf vs pdf) Going from <0% to golden cookie on nearly every occasion isn't helpful.
Agreed that it would be best so show cdf vs pdf. Seeing the number grow towards 99.9% is much more satisfying, informative, and useful for gameplay reasons.
I'm open to reviewing and merging a PR that implements this!
I don't know the first thing about coding or JS or PRs on github, so I will leave that to the professionals. But we just need the blue line from this chart previously linked to be the displayed number:
https://imgur.com/qfez1dG
I also don't know much about JS, but since I was the one who made that chart like 2 years ago I'll provide some pseudo-code that's vaguely Javascript-ish:
var chanceThisTick; //this is the number CM currently calculates and uses for GC chance each game tick
let chanceTotal = 1.0; //the chance the GC *hasn't* appeared yet, initalized at 1.0 but will update every tick
let chanceUpdate = 1.0 - chanceThisTick; //chance that the GC *won't* appear this exact game tick
chanceTotal *= chanceUpdate; //updates the chance that the GC hasn't appeared yet
let chanceFinal = 1.0 - chanceTotal; //returns the chance of the GC appearing
Graphing chanceFinal every tick gives the blue line from my original chart (whereas chanceThisTick is the gray line). Once a GC is clicked and the clock resets, chanceTotal will be reset to 1.0. Since I'm not familiar with the efficiency of JS and how many other per-tick calculations are happening in CM, I don't know if it would be better to just re-calculate the chance every tick or to build some sort of look-up table for every GC spawn rate.