Возможно я неправильно Вас понимаю, но у меня распределение System.Random() никакой параболы не рисует, на большом числе попыток видно практически линейное распределение: dotnetfiddle.net/MLOanI
Далее, в моем варианте «гарантированного выпадения» предполагалось, что можно решить проблему «в лоб», а именно: игроки получают дроп в рамках обычного рандома, но если вдруг число попыток превышено — мы игнорируем рандом полностью и выдаем желаемую вещь.
Попробую показать на примере. Допустим у нас есть шанс выпадения в 15% и лимит в 10 попыток.
Ось «мат.ожидание 1» — это сценарий, когда мы в рандом не вмешиваемся вообще, и да, на 10й попытке далеко не все получат желанный лут
Ось «мат.ожидание 2» — это сценарий из статьи, когда на последней попытке даем вещь «в лоб»
Ось «мат.ожидание 3» — это Ваш сценарий, здесь видно, что на 10й попытке мат.ожидание не достигает единицы.
Навскидку, альтарнативный вариант модифицировать шанс выпадения, при котором у нас более плавный рост мат.ожидания и гарантированный результат в конце. Формула шанса следующая: Базовый_шанс + (1-Базовый шанс) * (A-1) / (B-1), где «A» — это последовательная сумма номеров осуществленных попыток дропа (включая текущую), а «B» — это сумма номеров попыток с первую по максимальную. Сумму считаем по формуле n * (a+b)/2,
Чаще всего с шансом просто не заморачиваются и используют вариант 2, что, лично на мой взгляд, топорно, хотя и работает
Визуально и по описанию они могут никак не отличаться, а обосновывается обычно психологией позитивного подкрепления. Мол, заплатил, стало «круто». И в следующий раз игрок вместо фарма такого лутбокса может выбрать покупку.
Т.е. фактически это работает только на тех, кто уже совершил первую покупку.
Справедливости ради, говоря про необычное поведение NPC — это тоже часто достигается через манипуляции с рандомом, в зависимости от контекста игрока.
Например — шансы различных «проков» в Darkest Dungeon, или шансы попадания по цели в Xcom.
Т.е. лут сам по себе — это лишь дополнительный инструмент удержания интереса, который будет главным разве что в каких-либо слот-машинах, но это скучно, ИМХО.
Далее, в моем варианте «гарантированного выпадения» предполагалось, что можно решить проблему «в лоб», а именно: игроки получают дроп в рамках обычного рандома, но если вдруг число попыток превышено — мы игнорируем рандом полностью и выдаем желаемую вещь.
Попробую показать на примере. Допустим у нас есть шанс выпадения в 15% и лимит в 10 попыток.
Чаще всего с шансом просто не заморачиваются и используют вариант 2, что, лично на мой взгляд, топорно, хотя и работает
Т.е. фактически это работает только на тех, кто уже совершил первую покупку.
Например — шансы различных «проков» в Darkest Dungeon, или шансы попадания по цели в Xcom.
Т.е. лут сам по себе — это лишь дополнительный инструмент удержания интереса, который будет главным разве что в каких-либо слот-машинах, но это скучно, ИМХО.