---
key: lesson/controlled-randomness
type: lesson
id: controlled-randomness
lang: ru
title: Случайность и неудачные серии
summary: >-
  Отличаем среднюю вероятность от опыта короткой сессии и выбираем, нужны ли
  игре ограничения на серии исходов.
updatedAt: '2026-10-20'
status: active
url: 'https://gamemechanics.pro/ru/lessons/controlled-randomness/'
jsonUrl: >-
  https://gamemechanics.pro/api/v1/knowledge/ru/lesson/controlled-randomness.json
markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/lesson/controlled-randomness.md'
aliases:
  - seed
  - сид
  - rng
  - вероятность
tags:
  - balance
  - probability
  - testing
sourceIds:
  - source-a545884312cd1d9f
  - source-de02a17640cd2ba9
sources:
  - id: source-a545884312cd1d9f
    title: 'Ian Schreiber: Level 4, Probability and Randomness'
    url: >-
      https://gamebalanceconcepts.wordpress.com/2010/07/28/level-4-probability-and-randomness/
    verifiedAt: null
  - id: source-de02a17640cd2ba9
    title: 'Ian Schreiber: Level 5, Probability and Randomness Gone Horribly Wrong'
    url: >-
      https://gamebalanceconcepts.wordpress.com/2010/08/04/level-5-probability-and-randomness-gone-horribly-wrong/
    verifiedAt: null
relations:
  - type: requires
    direction: outgoing
    label: Перед началом
    key: lesson/choice-cost
    title: Цена выбора и полезность вариантов
    url: 'https://gamemechanics.pro/ru/lessons/choice-cost/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/lesson/choice-cost.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/lesson/choice-cost.md'
  - type: requires
    direction: incoming
    label: Продолжить изучение
    key: lesson/progression-pacing
    title: 'Прогрессия: рост возможностей и темп'
    url: 'https://gamemechanics.pro/ru/lessons/progression-pacing/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/ru/lesson/progression-pacing.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/ru/lesson/progression-pacing.md
  - type: explains
    direction: outgoing
    label: Применение принципа
    key: mechanic/rpg-grind--rarity-hunting
    title: Охота за редкостью
    url: 'https://gamemechanics.pro/ru/knowledge/mechanic/rpg-grind--rarity-hunting/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/ru/mechanic/rpg-grind--rarity-hunting.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/ru/mechanic/rpg-grind--rarity-hunting.md
  - type: practices
    direction: outgoing
    label: Применить на практике
    key: practice/three-workshop-shifts
    title: Три смены мастерской
    url: 'https://gamemechanics.pro/ru/knowledge/practice/three-workshop-shifts/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/ru/practice/three-workshop-shifts.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/ru/practice/three-workshop-shifts.md
  - type: practices
    direction: outgoing
    label: Применить на практике
    key: practice/weather-window
    title: Окно погоды
    url: 'https://gamemechanics.pro/ru/knowledge/practice/weather-window/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/practice/weather-window.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/practice/weather-window.md'
  - type: reviews
    direction: outgoing
    label: Проверить через призму
    key: lens/schell-036
    title: Случайность
    url: 'https://gamemechanics.pro/ru/knowledge/lens/schell-036/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/lens/schell-036.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/lens/schell-036.md'
  - type: contains
    direction: incoming
    label: Учебные маршруты
    key: path/balance
    title: Баланс и прогрессия
    url: 'https://gamemechanics.pro/ru/learn/balance/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/ru/path/balance.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/ru/path/balance.md'
placements: []
supersededBy: []
attributes:
  category: design
  level: intermediate
  minutes: 6
endsAt: null
provenance: >-
  Авторский материал gamemechanics.pro. Учебные примеры требуют проверки в своём
  проекте.
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
---
# Случайность и неудачные серии

id: controlled-randomness
type: lesson
key: lesson/controlled-randomness
lang: ru
status: active
url: https://gamemechanics.pro/ru/lessons/controlled-randomness/

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

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

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

## Принцип

До реализации назовите событие, вероятность и зависимость между попытками. [Курс Game Balance Concepts](https://gamebalanceconcepts.wordpress.com/2010/07/28/level-4-probability-and-randomness/) помогает различать вероятностную модель и отдельный исход. Если меняете распределение ради игрового опыта, меняйте и описание правила.

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

<span id="пример-батареи-для-экспедиции"></span>

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

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

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

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

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

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

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

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

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

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

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

Проверьте выбор в [«Окне погоды»](/ru/practice/#weather-window) и через призму [«Случайность»](/ru/lenses/#schell-036).

## Связанные материалы

- Перед началом: [Цена выбора и полезность вариантов](https://gamemechanics.pro/ru/lessons/choice-cost/) (key: lesson/choice-cost)
- Продолжить изучение: [Прогрессия: рост возможностей и темп](https://gamemechanics.pro/ru/lessons/progression-pacing/) (key: lesson/progression-pacing)
- Применение принципа: [Охота за редкостью](https://gamemechanics.pro/ru/knowledge/mechanic/rpg-grind--rarity-hunting/) (key: mechanic/rpg-grind--rarity-hunting)
- Применить на практике: [Три смены мастерской](https://gamemechanics.pro/ru/knowledge/practice/three-workshop-shifts/) (key: practice/three-workshop-shifts)
- Применить на практике: [Окно погоды](https://gamemechanics.pro/ru/knowledge/practice/weather-window/) (key: practice/weather-window)
- Проверить через призму: [Случайность](https://gamemechanics.pro/ru/knowledge/lens/schell-036/) (key: lens/schell-036)
- Учебные маршруты: [Баланс и прогрессия](https://gamemechanics.pro/ru/learn/balance/) (key: path/balance)

## Источники и происхождение

Авторский материал gamemechanics.pro. Учебные примеры требуют проверки в своём проекте.

- [Ian Schreiber: Level 4, Probability and Randomness](https://gamebalanceconcepts.wordpress.com/2010/07/28/level-4-probability-and-randomness/) (id: source-a545884312cd1d9f)
- [Ian Schreiber: Level 5, Probability and Randomness Gone Horribly Wrong](https://gamebalanceconcepts.wordpress.com/2010/08/04/level-5-probability-and-randomness-gone-horribly-wrong/) (id: source-de02a17640cd2ba9)

CC-BY-4.0 · gamemechanics.pro contributors
