Шанси і план перемог
Шанси не «зашиті» одним числом: контракт підлаштовує їх під обсяг гри. Доки гравців мало, скарбнички маленькі, і виграші часті й невеликі. Коли проєкт росте, скарбнички великі, а випадають вони рідше.
Правила плану перемог
1. Обсяг тижня
Раз на тиждень контракт запам'ятовує кількість прокрутів за тиждень, але не менше 500 (на старті та в тихі тижні). Назвемо її N. Від неї залежить усе інше.
2. Частота джекпоту йде за обсягом
Шанс джекпоту на прокрут дорівнює 1 / (0,8 × N), тобто якщо за тиждень робиться стільки ж прокрутів, скільки за минулий (і не менше 500), джекпот випадає приблизно раз на тиждень за будь-якого обсягу. За меншого обсягу він рідший: при 100 прокрутах на тиждень і N = 500 не частіше ніж раз на 4 тижні. Змінюється розмір: скарбничка набирає 30% кожного прокруту, отже в середньому N × 0,3 токенів.
3. Міні у 10 разів частіше
Міні-джекпот випадає у 10 разів частіше за джекпот, тому скарбничка встигає набрати менше, і виплати дрібніші. На старті це означає: невелика виплата приблизно раз на 50–60 прокрутів.
4. Поріг скарбнички
Шанс на скарбничку вмикається, лише коли в ній набралося 25% від середньої. Тому одразу після виплати не можна виграти дрібницю: джекпот чекає, доки виросте.
5. Великі призи
Шанс призу золотого барабана — 0,08% на прокрут, від обсягу не залежить. Дрібних призів немає: 100, 250, 500, 1 000, 2 500, 10 000.
6. «Ще раз»
11,6% на прокрут, завжди. Це безкоштовний прокрут коштом призового пулу, він не змінює вашу ставку.
Що буде за різного обсягу
Головний барабан
Золото 2,83%, «Ще раз» 11,6%, пусто 85,6%. Усередині золота: джекпот 8,83%, міні 88,3%, призи 2,83%.
Золотий барабан
Дуже тонкі сектори для видимості трохи розширені, решта зменшені. Що рідше випадає, то тонший сектор.
Цифри в цьому блоці рахуються тими самими формулами, що й контракт (цілими числами), для випадку «скарбнички на середньому рівні». Це розрахунок: реальні тижні коливаються.
Симуляція плану перемог
Прогін коду контракту на комп'ютері: один гравець робить усі прокрути тижня, випадкові числа дає генератор псевдовипадкових чисел. Перший тиждень і перший джекпот (у ньому лежать стартові 10 000) у замір не входять.
| Прокрутів на тиждень | Тижнів | Джекпотів | Середній джекпот | Міні | Середній міні | Золото раз на | 10 прокрутів із золотом |
|---|---|---|---|---|---|---|---|
| 500 | 40 | 39 | 198 | 328 | 7,9 | 52 | 21,1% |
| 5 000 | 12 | 10 | 1 906 | 101 | 77,2 | 375 | 3% |
| 50 000 | 3 | 5 | 8 361 | 23 | 797 | 920 | 1,2% |
- При 500 прокрутах на тиждень золото випадає приблизно раз на 52 прокрути, і близько кожної п'ятої серії з 10 приносить хоча б одне. Виплати невеликі: міні в середньому 8, джекпот близько 198 токенів.
- Зі зростанням обсягу золото рідше, зате виплати більші (у таблиці при 50 000 на тиждень: джекпот близько 8 361).
- Середнє повернення гравцям у довгій симуляції: 81,9% разом із суперджекпотом (без нього 74,2%). Решта згорає або йде адміністратору (з рекламою); затравка джекпоту вже входить у виплати гравцям.
Симуляція запускається командою cargo test -p fairdrum --test engine_tests -- --nocapture і входить у перевірки репозиторію. Найперша виплата в житті контракту включає стартову затравку 10 000 токенів, тому вона помітно більша за звичайні.
Призи золотого барабана
| Приз, FAIRDRUM | Частка серед призів | Шанс на один прокрут |
|---|---|---|
| 100 | 61% | 1 з 2 049 |
| 250 | 27% | 1 з 4 630 |
| 500 | 7,5% | 1 з 16 667 |
| 1 000 | 3,5% | 1 з 35 714 |
| 2 500 | 0,8% | 1 з 156 250 |
| 10 000 | 0,2% | 1 з 625 000 |
| Усього приз | 100% | 1 з 1 250 · середній приз 241 |
Якщо призовий пул не покриває приз, виплачується стільки, скільки є в пулі. Пул поповнюється 35% кожного прокруту.
Формули контракту
Усі шанси — це цілі частки від 232, без дробових чисел (файл math.rs):
- N = max(прокрути минулого тижня, 500). Тут тиждень — семиденний відлік від моменту запуску контракту, він не зобов'язаний збігатися з четвергом, з якого починається тиждень безкоштовних прокрутів.
- шанс джекпоту = 1 / (N × 0,8), якщо скарбничка ≥ N × 0,3 × 0,25, інакше 0
- шанс міні = 10 × шанс джекпоту, якщо скарбничка міні ≥ (N / 10) × 0,13 × 0,25, інакше 0
- шанс призу = 0,08%; шанс «Ще раз» = 11,6%
- якщо випало золото, воно ділиться на джекпот, міні і приз пропорційно до цих шансів
Сайт рахує ці числа тим самим кодом і звіряється з контрактом тестом на зразках із Rust.