Рандом в играх.
Мне стало интересно, как реализована процентная вероятность в играх (того же попадания). Может кто примерно знает или догадывается.
Я думаю что генерируется одно например из 4 чисел а потом если выпало например 3 то + а если выпало остальное то -. (25%)
Очень просто.
Просто те у кого она грамотно реализована посещали лекции по матану: Теория Вероятности и Статистика, успешно освоили материал и смогли применить его в Играх.
Все рулетки, блекджеки (кроме шлюх ессно), "однорукие" бандиты и игровые автоматы,
а сейчас еще и донатные игрули с "рандомом" (типа покрути барабан получи золотого оленя или купи два оленя получи золотого - только покрути сначала барабан)
основаны на этих двух математических дисциплинах.
Зная тервер и статистику (не просто об их существовании, а умея решать задачки) ты запросто сможешь просчитать вероятность выигрыша в рулетку и с легкостью сможешь реализовать игру в которой будет рулетка почти такая же как в реальности :) с той лишь разницей что на электронной рулетке ты сможешь без палева повышать или понижать шанс выпадения того или иного числа или цвета.
Почитайте: vc.ru/flood/13255-game-balance-5
В принципе идея одна: получить случайное число скажем от 1 до 100, сравнить его на попадание в интервал от 1 до 10 (это будет 10%) Тем не менее есть попутно огромное количество проблем; Одна из которых, - необходимо обеспечить нормальное распределение* случайных чисел; Проще говоря, чтобы выпадали случайные числа от 1 до 100 без повторения в случайном порядке, для конкретного игрока; Тогда мы получим честный 10% шанс
Реализация процента дропа примерно такая:
При действии пользователя (удар мечом по мобу; попытка открыть ящик с кладом и прочее) на игровом сервере (или локально, если игра оффлайновая) генерируется случайное число из диапазона 0..100 (или от 0..1, не важно).
Предположим, что для данного действия шанс дропа составляет 10%, тогда на сервере проверяется, что это случайное число находится в диапазоне 0..10 (или от 0 до 0.10). Если да, находится, то дроп с моба дропается, ящик содержит ништяк и прочее. Если не находится в этом диапахоне, то дроп не падает, в ящике пусто и прочее.