Разработка игры с наградами: шанс 5% не означает подарок за 20 попыток

В задании на игру написано: «Награда выпадает с шансом 5%, значит, игрок получает её примерно каждые двадцать попыток». Разработчик реализовал независимый случайный выбор, а заказчик ожидал, что двадцатая неудача невозможна. Оба обсуждали число двадцать, но имели в виду разные правила. Это стоит выяснить до создания интерфейса прогресса и тестов.
Опишите не только процент, но и состояние счётчика
Здесь речь об условной внутриигровой награде за бесплатные действия, без денежных ставок и реальных призов. Рассматриваем только ожидание первого получения. Список предметов, редкости и выбор конкретного предмета внутри категории остаются отдельной частью механики.
В первой модели каждая попытка независима и имеет один и тот же шанс p. Предыдущие неудачи его не повышают. Во второй действует тот же шанс, но если награда ещё не получена, на заранее заданной попытке G она выдаётся обязательно. После первого получения анализ заканчивается: последующие циклы и повторные награды здесь не считаются.
- Фиксированный шанс
- Вероятность успеха в каждой отдельной попытке постоянна, при условии что попытки действительно независимы.
- Жёсткий порог гарантии
- На попытке G успех принудительный для тех, кто не получил награду раньше.
- Плавное повышение шанса
- Вероятность меняется по мере неудач. Это третья модель; калькулятор её не воспроизводит.
Что произойдёт к двадцатой попытке
Для фиксированного шанса вероятность остаться без награды после n попыток равна (1 − p)n. Вероятность получить её хотя бы раз — единица минус это значение. Это расчёт распределения, а не обещание результата отдельному игроку.
| Попыток | Только фиксированный шанс | Тот же шанс с гарантией на 20-й | Как читать |
|---|---|---|---|
| 5 | 22,6219% | 22,6219% | Порог ещё не изменяет правило |
| 10 | 40,1263% | 40,1263% | Большая часть исходной группы ещё без награды |
| 19 | 62,2646% | 62,2646% | До гарантированной попытки результаты одинаковы |
| 20 | 64,1514% | 100% | Только вторая модель принудительно завершает ожидание |
Среди тех, кто не получил награду за первые девятнадцать попыток, обычная двадцатая попытка всё ещё имеет шанс 5%. В модели с гарантией она имеет шанс 100%. Поэтому вероятность получить первую награду именно на двадцатой попытке во второй модели равна примерно 37,7354% от первоначальной группы, а не 5%.
Среднее ожидание не является верхней границей
При постоянном ненулевом шансе среднее число попыток до первого успеха равно 1/p. Для 5% получается двадцать. Однако среднее по распределению не устанавливает максимальное количество неудач. В документации SciPy геометрическое распределение описывает номер попытки первого успеха; эту величину важно не путать с вероятностью отдельного шага.
С гарантией на G-й попытке среднее ожидание становится суммой вероятностей дожить до каждой из первых G попыток. Для 5% и G = 20 это примерно 12,8303 попытки. Наличие принудительного завершения уменьшает ожидание, хотя базовый шанс до порога остался прежним.
Какие правила передать разработчику
- Что считается одной попыткой и какое событие подтверждает её завершение.
- Какой шанс используется до порога и зависит ли он от предыдущих действий.
- Номер гарантированной попытки, включая договорённость о счёте с единицы.
- Где хранится счётчик и что происходит после переустановки, смены устройства или входа.
- Как сбрасывается счётчик после получения и разделяется ли он между разными наградами.
Сбой связи не должен сам по себе превращаться в новую попытку или повторную выдачу. Если награду подтверждает сервер, нужны идентификатор действия и согласованное состояние счётчика. Этот материал не реализует серверный протокол: его задача — сделать вероятностное правило однозначным до такой разработки.
Как проверять случайность, не требуя удачи в конкретном запуске
Для отладки полезны воспроизводимые последовательности. Документация Godot описывает seed и состояние генератора, позволяющие повторять псевдослучайные результаты. Не следует превращать выбранную тестовую последовательность в обещание одинакового поведения после любой смены версии движка: документированную стабильность конкретной реализации проверяют отдельно. Порог гарантии можно проверять управляемой серией неудач, не ожидая её случайного появления.
Что покажет инструмент
Форма строит распределение первой награды для двух правил: фиксированного шанса и того же шанса с выбранным порогом. Ноль в поле порога отключает гарантию. Горизонт ограничивает показываемую таблицу, но не означает, что игра обязательно завершается на этой попытке.
Вероятности в процентах округляются. Поэтому рядом остаются отдельный признак математической гарантии и ненулевая доля ожидающих в научной записи. Число, округлившееся до 100%, само по себе не доказывает, что все игроки уже получили награду. Инструмент не запускает генератор игры и не оценивает его качество по журналу событий.
При заказе разработки игры у Левицкий Концепт приложите такую модель вместе с правилами счётчика и контрольными исходами. Это позволит согласовать механику, отображение прогресса и приёмку. Выбор процента и порога остаётся задачей дизайна конкретной игры; расчёт не обещает удержание аудитории или иной коммерческий результат.
Сравнить шанс первой награды и гарантированный порог
Учебная модель первой награды: независимые попытки с постоянным шансом; второй вариант принудительно успешен на G-й, если успеха не было раньше. До порога вероятность не растёт. Нет повторных циклов, нескольких предметов, проверки генератора, ставок, платежей или реальных призов. Проценты округлены; доля без награды показана дополнительно в научной записи. Признак гарантии не выводится из округлённого процента. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.
Материалы для проверки
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
