Рандом

Материал из Posmotre.li
Перейти к: навигация, поиск
Склифосовский.pngВкратце
Генератор случайных чисел в играх.
Великий Бог Рандома собственной персоной
« x: Кто такой Рандом?
y: Рандом Намбер Генераторович (Random Number Generator) — про этого великого субъекта знает гугл, его и спрашивай.
z: А ещё у него есть бабка Ивентия, которая радует нас уже целую неделю.
»
— Разговор на форуме «Героев войны и денег»

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

Но стоит добавить перетасованные карты или бросаемый кубик, как всё сразу становится разнообразнее: например, персонаж стреляет по врагу, но промахивается. Или корабли управляемого игроком флота не получают попутного ветра. Или наоборот, игрок «прикупил» два туза, или попал прямо в голову супостату.

Всё это называется рандóм, от англ. random — «случайный». Понятие «случайный» означает «непредсказуемый, но укладывающийся в статистику» — другими словами, выпадение кубика случайно, принятое противником решение — нет. Разумеется, только если речь идёт об идеальном или хотя бы достаточно опытном противнике, конечно; новичкам свойственно принимать необдуманные, не обоснованные ничем решения, ставящие порой профи в тупик.

Содержание

[править] Источники случайности в настольных играх

Игральные кости для ролевых игр. Верхний ряд: додекаэдр (d12), икосаэдр (d20). Второй ряд: икосаэдр (d20), два десятигранника для десятков и единиц (d10/d100), икосаэдр (d20). Нижний ряд: тетраэдр (d4), два кубика (d6), октаэдр (d8).

Чаще всего используется игральная кость. Роль игральной кости обычно играют правильные многогранники или близкие к ним геометрические тела.

Основная статья: Нестандартные кости

Также используют колоду карт или вертушку (волчок, рулетку). Настольные ролевые системы Deadlands и Savage Worlds, в частности, известны использованием карт; а в первой кастование заклинаний вообще моделируется покерными комбинациями.

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

[править] В компьютерных играх

Настольные ролевые игры принципиально используют рандом. Из них рандом переполз в CRPG. Вообще-то, случайность используется везде, даже в шутерах. Просто шутер за одну секунду «пытает удачи» едва ли не десяток раз, и работает центральная предельная теорема, гарантирующая малый общий разброс. А вот в RPG (настольных и компьютерных), где рандом часто решает, взорвалась бомба или была обезврежена, был крит или нет, неудачный рандом вызывает кучу ругани.

Если компьютерный генератор случайных чисел с изъянами — например, у него сильные последовательные корреляции — это называют корейский рандом, в честь корейских MMORPG, в которых это стало «притчей во языцех». Пуассон показал: даже если случайность самая что ни на есть случайная и независимая, раз в год может быть так, что выпадут три или четыре последовательных крита[3]. Однако корейский рандом задолбал ролевиков настолько, что иногда статистику искусственно сглаживают: если в прошлый раз был крит, в следующий раз вероятность крита уменьшится; если, наоборот, долго не было — вероятность увеличивают[4].

Цифровые компьютеры устроены так, что один и тот же код с одними и теми же данными даёт один и тот же результат. Поэтому для низкокачественных — пригодных для игр не на деньги — случайных чисел используют труднопредсказуемый алгоритм. Но всё-таки это алгоритм и потому он детерминированный, поэтому его предсказуемость применяется с пользой. Инициализируем на двух машинах генераторы одной и той же затравкой — и они будут выдавать одни и те же числа (на этом основан мультиплеер Doom[5]). Такая предсказуемость используется и в Elite, позволяя одним числом записать целую галактику, аналогичный принцип применяется и в Spore.

Когда нужны высококачественные случайные числа (например, в криптографии или азартных играх), ищут источники настоящей случайности, например, таймеры, счётчики команд, движения мыши. Лучшим источником считается выброс частиц радиоактивными веществами.

[править] Терминология, связанная с рандомом

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

Святой Рандомий — когда победа или поражение слишком зависит от случайности.

2d6+1 — характерная запись формул, непонятная тем, кто совсем с настолками не знаком. Означает «бросить два шестигранных кубика и к сумме прибавить 1».

[править] Примечания

  1. Сам Зокки рекомендовал бросать его в сосуд с водой, что не слишком-то удобно.
  2. В некоторой мере этому подвержены и другие многогранники, кроме тетраэдра и куба. Для последних всё просто: застрял у препятствия — нижней считается та грань, которая лежит на препятствии. Ролевики, подскажите, как вы поступаете с застрявшими у препятствия додекаэдрами и икосаэдрами.
    • Комментарий ветерана: да я, когда мастерю, вообще любой игральный кубик велю бросать заново, если он не лёг ровно. Дайс упал со стола на пол — незачёт, переброс. Дайс натолкнулся на препятствие, но лёг ровно — зачёт.
    • Комментарий ветерана № 2: насколько я знаю, так делают все. Неясно — значит, переброс. Если остановился у препятствия, но лежит ровно и показание дайса читается однозначно — в нашей компании это принималось за легитимный бросок.
    • Комментарий ветерана № 3: Подтверждаю слова предыдущих ораторов. В варгеймах мы поступаем точно так же.
    • Комментарий ветерана № 4: Если на столе есть что-то, у чего дайс может застрять (то есть, почти всегда), использую для бросков пустую обувную коробку. И не застрянет, и не укатится.
    • Комментарий ветерана № 5: А ещё можно использовать т.н. Dice tower, он же кубомёт.
  3. Пуассон рассмотрел статистику несчастных случаев от удара лошадиным копытом и сказал: все эти всплески — 3 или 4 смерти — в пределах статистики и ничего предпринимать не надо.
  4. Псевдослучайное распределение в DOTA2
  5. Там есть аж два генератора — синхронный P_Random и асинхронный M_Random, оба реализованы таблицей на 256 значений (причём не перестановкой, а какими попало 256 числами).
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты