← Все материалы
Геймдизайн

Случайность и неудачные серии

Отличаем среднюю вероятность от опыта короткой сессии и выбираем, нужны ли игре ограничения на серии исходов.

Что нужно знать

Награда с вероятностью 25% не обязана появляться раз в четыре попытки. Короткая сессия может сильно отличаться от среднего по большому числу запусков.

Принцип

До реализации назовите событие, вероятность и зависимость между попытками. Курс Game Balance Concepts помогает различать вероятностную модель и отдельный исход. Если меняете распределение ради игрового опыта, меняйте и описание правила.

Независимые броски подходят не каждой задаче. Можно ограничить серию неудач, но тогда следующий исход зависит от истории. Такой выбор не становится автоматически справедливым: нужно определить, для кого и какое поведение важно.

Практический пример

Батареи для экспедиции

В учебной модели каждый ящик независимо содержит батарею с вероятностью 0,25. За пять ящиков ожидаемое количество батарей равно 5 × 0,25 = 1,25. Вероятность не найти ни одной равна 0,75^5 ≈ 23,73%. Среднее больше единицы совместимо с заметным риском остаться без батарей.

Альтернатива: перемешивать мешок из четырёх жетонов, где один означает батарею. Каждый полный мешок даст ровно одну. Порядок случаен, исходы зависимы. Между батареей в начале одного мешка и в конце следующего возможны шесть пустых ящиков подряд. Мешок из четырёх не гарантирует награду в любом скользящем окне из четырёх попыток.

Если батарея обязательна для завершения уровня, отдельно предусмотрите восстановление после плохого исхода. Гарантия или запасной путь изменяют дизайн, а не только генератор чисел.

Частые ошибки

  • Проверять 25% на четырёх бросках и объявлять генератор сломанным.
  • Считать зависимые исходы по формуле независимых.
  • Сохранять только seed (начальное значение генератора), забыв сохранить порядок обращений к генератору.

Проверка результата

  1. Пересчитайте вероятность пустой серии аналитически.
  2. В симуляции запишите частоту наград и распределение длины серий, а не только среднее.
  3. Для мешка проверьте все позиции единственной батареи в двух соседних мешках.
  4. Сохраняйте seed, версию алгоритма и последовательность событий для повтора ошибки.

Задание для ИИ-агента

Сравни независимые броски и мешок на одинаковом числе ящиков. Покажи исходные допущения, воспроизводимый запуск и худшую возможную серию для мешка. Не подменяй расчёт гарантии результатом случайной симуляции.

Проверьте выбор в «Окне погоды» и через призму «Случайность».

Источники и дальнейшее чтение

CC BY 4.0 · Game Dev DB contributors