Что такое рандомные вещи
Что значит «рандомно» в интернет-сленге?
Современный интернет-сленг ежедневно пополняется новыми словами и выражениями. Они заимствуются из других языков и профессиональных жаргонизмов, подстраиваются под нужды пользователей сети и прочно закрепляются в их речи. Одним из таких терминов является слово «рандомно». Что оно обозначает? Откуда появилось и как используется сейчас?
Значение и происхождение
Термин «рандомно» произошел от английского random (случайный, произвольный, хаотичный). Внедрился в русское интернет-сообщество благодаря геймерскому комьюнити.
Еще в «древних» пиксельных RPG присутствовал элемент случайности в выпадении лута после поединков. В современных РПГ и ММОРПГ этот принцип сохраняется.
Инди RPG Job Hunt Heroes. Момент выпадения лута
Кейсы Counter-Strike:Global Offensive
В некоторых играх можно выбрать рандомный мир для выживания или персонажа для сражения со случайным набором характеристик. Это позволяет игроку прокачивать свои умения в любых условиях.
Также считается, что слово «рандомно» пришло из языка программирования, а точнее, произошло от функции random (случайная последовательность чисел).
Современное использования термина
Выражение давно используется за пределами гейм-комьюнити и среды программирования. Сейчас его употребляют повсеместно. Например, термин «рандомно» применяется во время розыгрыша каких-либо предметов в соцсетях (от стикеров Вконтакте до автомобилей). Так, во время раздачи призов выбирается рандомный победитель с помощью генератора чисел. Таких сервисов в интернете много, их называют рандомайзерами. Принцип пользования очень прост. Каждому участнику конкурса присваивается индивидуальный номер. В рандомайзер вводится общее число участников, после чего программа выдает рандомное число. Победителем считается человек, чей конкурсный номер совпал с числом, выданным рандомайзером.
Рандомайзер
Это не исключительный вариант использования термина. Слово настолько прижилось, что стало полноправным синонимом слова «случайно». Оно используется и за пределами сети.
Несмотря на давность появления, «рандомно» используется и по сей день. Употребление термина популярно как среди молодежи, так и среди взрослых.
С происхождением и использованием сленговых выражений, таких как: рофлю, страйк, коннект, – можно ознакомиться в других статьях.
«Случайности не случайны, всё это большой обман.» или как работают элементы рандома в играх.
ПРЕДИСЛОВИЕ
Доброго времени суток StopGame! Сегодня я расскажу вам, как работают элементы рандома (случайных событий) и как на самом деле разработчики создают те или иные ситуации, где эти элементы требуются. Сразу уточню для большего понимания: случайность — рандом. Постараюсь рассказать как можно более сжато и понятно для восприятия. Ну что же, поехали!
О ВИДАХ СЛУЧАЙНЫХ ЭЛЕМЕНТОВ
Немногие знают, но компьютер не может создать полностью случайное число, какие алгоритмы бы не применялись. Всегда созданное число будет от чего-нибудь зависеть и не будет полностью случайным. Компьютер — это машина и она подчиняется математическим алгоритмам и формулам, а случайность в принципе прямая противоположность каким-либо математическим правилам. Разработчики всегда идут на ухищрения, чтобы максимально правдоподобно создать иллюзию случайности, но это всё равно нельзя назвать полным рандомом.
На самом деле существует несколько ситуаций, где требуется применение элементов рандома:
1.Процедурная генерация (создание ландшафта и миров).
2.«Честная» генерация предметов (Выпадение предметов из противников, сундуков и тд.).
3.«Не честная» генерация предметов (Кейсы в играх, покупаемые за реальные деньги).
4.Ситуации, где на элементах рандома завязана вся игра. (Игральные карты, игры с шестигранным кубиком)
5.Различные ситуации, которые должны возникать в рандомное время (Например смена погоды с солнечной на дождливую).
Остановимся на каждом выделенном элементе более подробно. (если что-то забыл добавить в список, милости прошу в комментарии. Если будет действительно интересный и конструктивный коммент, я дополню блог).
Процедурная генерация
Конечно под этим словом подразумевается не только создание ландшафта и окружения, сюда входит местонахождение предметов на локации, персонажей и много чего ещё, но всё же самым популярным методом использования всё равно остаётся генерация случайных миров. Ярким примером может являться создание мира в «Minecraft», где работает именно процедурная генерация, она создаёт абсолютно всё окружение вокруг игрока (все блоки, сундуки, враги, объекты, персонажи и др.) и давайте разберём, как же он создаётся. На самом деле алгоритм не раз менялся, но на сегодняшний день он работает так:
Знаете ли вы, что мир в «Minecraft» не бесконечен? Он составляет 30 на 30 миллионов блоков. При генерации (не только в «Minecraft», во многих играх также) используется так называемый «seed» — начальное значение.
Чтобы создать уникальный мир, это начальное значение создать из случайных цифр и символов. Без него не работает практически никакой метод ГПСЧ (Генератор псевдослучайных чисел). Но так как, компьютер не может создать ничего случайного, игра берёт за случайные цифры дату и время на компьютере. Если вы попытаетесь создать два мира в игре с одной и той же датой и временем (например 20.10.2020, 18:34), то получите два абсолютно одинаковых мира. Но созданием «seed» всё не кончается, далее это начальное значение преобразуется в 32-х битное число путём нескольких формул. После получается число, которое применяется ещё к одному методу — Шуму Перлина.
Шум Перлина на самом деле к звуку никакого отношения не имеет, это по сути картинка (пример на изображении ниже) с множеством оттенков серых, белых и чёрных цветов. Если говорить совсем простым языком, чем темнее пиксель на изображении шума Перлина, тем выше (либо ниже) создаётся ландшафт.
Допустим такой пример (очень упрощённо, на деле всё сложнее, есть куча «фильтров» последующей «полировки» мира). На картинке шума есть пиксели только трёх цветов (без оттенков): белый, серый и чёрный, тогда мир «Minecraft» может сгенерироваться с ландшафтом высотой максимум в 3 блока. Белым будет блок воздуха (по сути отсутствие блока), серым толщина ландшафта в 1 блок, а чёрным толщина в 2 блока. Но такой шум Перлина принято называть двумерным.
В игре используется в основном трёхмерный шум(3D) (но и двумерный тоже работает для «полировки»), так как при использовании только двумерного (2D) невозможно было бы создать например пещеры и различные постройки. Ниже вы можете увидеть 2D шум. На первой картинке вы видите слева сам шум, а справа результат создания (неудачный я нашёл пример, справа создаётся какая-то 2D игра). На второй картинке вы сразу видите результат работы шума Перлина уже в игровом движке. На третей и четвёртой картинке показано всё более понятно.
Вот примерно так и создаются все процедурно-генерируемые миры, шум Перлина совместно с алгоритмами псевдослучаных чисел остаются пожалуй самыми популярными и простыми. Я старался описать как можно более понятно, но допускаю, что всё равно слишком сложно для восприятия. Напишите в комментариях, если не понятно, буду дорабатывать блог. Ну а мы перейдём к следующему элементу случайности. Более подробно и в разы более интересно про процедурную генерацию можно узнать из видео ниже:
«Честная» и «нечестная» генерация предметов.
Что я вообще подразумеваю под словом «честная»? Честной я называю генерацию предметов, которая не зависит от серверных данных и вероятность выпадения таких предметов генерируется движком, а не разработчиками или издателями.
Давайте приведу условный пример: у вас есть игра в которой имеется 4 вида редкости какой-либо вещи: Обычный, редкий, эпический и легендарный. Вы подходите например к сундуку, откуда эти вещи вам выпадут и честной будет та система, где алгоритм случайности не изменяется разработчиками после релиза по желанию. То есть если вам выпал например легендарный предмет, то вам «повезло», так как в алгоритме выпало нужное число, если же нет, то вероятность на выпадение этого предмета не изменится исходя из прошлого полученного предмета.
Упрощённо эта система работает так: пусть вероятность выпадения предметов такая — обычный (70%), редкий (20%), эпический (9%), легендарный (1%). Всё это суммарно даёт 100% вероятность, и тогда алгоритм будет выглядеть так условно так: если случайно введённое число находится в промежутке от 0 до 70, выпадет обычный предмет, если от 71 до 90, выпадет редкий предмет, если от 91 до 99 то выпадет эпический предмет, а если введённое число 100 выпадет легендарный. Элементом рандома здесь и является это самое ввёденное число. Где же взять это рандомное число? Способов на самом деле масса: от ранее упомянутого seeda (просто брать последние два его числа), до прослушивания атмосферного шума и шума микрофона для его последующего преобразования в цифровой вид (так работает популярный сайт: Random.org).
Однако же StopGame — это игровой портал, поэтому давайте узнаем, как генерируются такие числа в двух, самых популярных игровых движках: Unity и Unreal Engine.
-В этих движках одним из методов используется «XorShift», который берёт за seed дату и время на ПК, потом преобразует полученное число в двоичную систему счисления, потом суммирует это число несколько раз со сдвигом вправо и влево, после полученное число обрезается по длине исходного и получается псевдослучайное число. Более понятно и подробно об этом способе рассказано в видео ниже.
Давайте теперь поговорим о «нечестной» генерации предметов.
Самое широкое распространение такой способ имеет в онлайн играх по типу: «Warface», «Overwatch» и «CS:GO». В них тоже используется принцип, основанный на вероятностях, как и в «честном» способе, только в отличие от него нечестный способ изменяет свою вероятность в зависимости от ранее полученных данных. Теперь языком попроще: если вам выпала «легендарная» вещь с шансом в 1%, то следующая «легендарная» вещь уже будет иметь шанс выпадения например 0.5% или менее, а вещи «обычной» с шансом в 70% наоборот поднимут свой шанс выпадения например до 80%, так после нескольких попыток открытия условных «кейсов в CS:GO» шанс будет повышаться, пока опять не достигнет своего максимума в 1%, а вероятность на выпадение «обычной» вещи не опустится до 70%.
Естественно нечестный способ, как правило, нужен для того, чтобы получить прибыль с игроков, ведь азарт и призрачная надежда на то, что «скоро уже выпадет легендарка, я чувствую» и заставляет игроков тратить деньги на подобного рода кейсы, рулетки, ставки и казино. Весь процесс контролируется разработчиками и они могут изменить параметры вероятностей в любой момент, так как все алгоритмы находятся на удалённом сервере. Давайте теперь поговорим о следующем элементе рандома.
Ситуации, где на элементах рандома завязана вся игра:
Я говорю про те игры, где ваша победа напрямую зависит от изначально (или в процессе) полученной случайной комбинации элементов. Самый яркий пример тому в реальной жизни — это игральные карты. Человек перемешивает карты руками, после раздаёт их на всех игроков. Но как карты может перемешать компьютер? На самом деле можно воспользоваться весьма странным, но рабочим методом: отслеживания перемещений стрелки мыши. (Не знаю, используется ли конкретно в конкретно карточных играх такой способ, но во многих проектах он присутствует). Компьютер отслеживает координаты X и Y, на которых сейчас находится мышь и берёт только по последней цифре от каждой координаты. Допустим стрелка мыши находится на координатах X=54 и Y=27. Алгоритм возьмёт для создания случайного числа только 4 (из числа 54) и 7 (из числа 27), далее функций может быть много, числа можно сложить, вычесть, умножить, разделить и получить любое другое новое псевдослучайное число. Далее карты нумеруются допустим от 0 до 36, сложим ранее полученные 4 и 7, получим 11, значит игроку достанется карта под номером 11 из колоды и так, пока игроки не получат нужное количество карт. Естественно отслеживаются все перемещения мыши допустим за минуту времени, так как если каждый раз смотреть на текущую координату мыши, псевдослучайное число всегда будет одним и тем же если мышь не двигается.
Очень надеюсь, что вы поняли то, что я хотел сказать, старался обьяснять понятно, но моя манера речи и повествования конечно «оставляет желать лучшего».
Давайте перейдём к последнему элементу рандома, который я смог сформулировать.
Различные ситуации, которые должны возникать в рандомное время.
В пример можно привести дождь и грозу из того же «Minecraft». На самом деле там нет никакой случайности, периодичность дождей зависит от всё того же «злополучного» seedа, который создан при генерации мира. При определённых seedах период дождей изменяется, благодаря вычислениям по определённым формулам (которые «Mojang» не показывает). Грубо говоря в одном мире, с одним seed дожди происходят раз в игровых 5 дней, в другом же мире, с другим seed периодичность уже будет например раз в игровых 7 дней. Тут вообще нет никаких элементов рандома, всё происходит закономерно и по формулам.
Действительно случайные ситуации в играх используются очень редко, но всё же присутствуют. Давайте разберём и их работу.
Возьмём в пример странствующих торговцев в «Dying Light». Не могу точно уверять, что всё рабоатет именно так, как я говорю, поскольку доступа к исходному коду «движка» у простых пользователей нет, но всё намекает именно на такой метод.Торговцы появляются в случайное время (которое определяется через ГСПЧ) со случайным товаром в случайном месте. Но и тут к сожалению никакого по настоящему случайного элемента нет. Торговцы появляются в специально заготовленных местах, которые выбрали для них разработчики, и продают товар, который тоже не случайно генерируется (товар создают из специально заготовленных наборов предметов, который разработчики тоже успели ранее сделать). Также и цены на товар могут меняться в большую или меньшую сторону всего одной формулой (убавления процентов к изначальной цене товара), тем самым привлекая игрока «временной скидкой и ограниченным предложением», но всё это лишь иллюзия обмана.
Что такое рандом?
Если сказать совсем просто, то рандом — это «случайность».
Если говорить развёрнуто, то «рандом» является англицизмом, то есть происходит из английского языка, есть там такое слово —random, которое можно перевести как «случайный», «произвольный» (два прилагательных), «случайность» (существительное), «наугад», «наудачу» (два наречия). По-другому рандом определяется как «вероятность результата» при совершении каких-либо действий, а ещё «случайно произошедшее событие» и «случайный выбор».
В компьютерных- и онлайн-играх рандом применяется, например, для того, чтобы свести игроков. Точнее сказать, игроки для конкретной, скажем для примера, гонки, подбираются рандомно. Играли в NFS World? Там перед началом гонки с реальными игроками происходит подбор таковых. Подбор этот происходит случайным образом. В шутерах по типу GTA на улицах появляются рандомные прохожие, какой-то особой закономерности обычно нет. Однако вот есть игры, где появление этих прохожих налажено, то есть появляются какие-то определённые лица в зависимости от местности. Это рандомом уже не назвать. Также в шутерах можно встретить выражение «рандомная стрельба» — это обозначает беспорядочную стрельбу, когда игрок особо ни в кого не прицеливается, но стреляет по кому-то.
Сейчас в интернете стали популярны всякие конкурсы, где победителей выбирают с помощью рандомного определителя чисел. Предположим, что в группе проводится конкурс лучших фотожаб. Победитель определяется рандомно с помощью специальных созданных для этого дела сайтов.
Преднамеренные случайности в геймдизайне — описание двух типов рандома Статьи редакции
Когда в случайных событиях важнее всего точный расчёт.
Рандом используется в играх повсеместно: в роуглайках с процедурно-генерируемыми уровнями, в RPG со случайными битвами, в тактических играх с вероятностью попадания и так далее. Успешность случайных механик зависит от разработчиков, которые должны настроить условия таким образом, чтобы пользователи никогда не страдали от них.
Автор канала Game Maker’s Toolkit Марк Браун опубликовал видео, в котором подробно описал два типа рандома, которые используются в играх — предварительную и последующую случайности. Мы выбрали из видео главное.
Сперва стоит отметить, что зачастую рандом используется в играх, чтобы увеличить вариативность определённых вещей — уровней, предметов, персонажей и так далее. Конечно, сложно найти случайно сгенерированный уровень, который будет лучше сделанного вручную, но главные преимущества этого подхода — разнообразие и большое количество.
В некоторых играх рандом используется лишь один раз, чтобы создать нужные элементы. Например, именно так и появилась Вселенная No Man’s Sky. В иных случаях рандом используется неоднократно — например, в роуглайках каждый раз уровни создаются заново. Преимущество этого подхода заключается в том, что игрок не может заучить последовательность событий на уровне — ему приходится обучаться принципам геймплея, чтобы успешно справляться с испытаниями.
В мультиплеерных играх рандом может быть средством уравнения игроков — случайность ограничивает важность навыков пользователей и даёт новичкам шанс вырваться вперёд.
Это особенно заметно в играх, в которых учитывается контекст происходящего. Например, в серии Mario Kart участники, едущие последними, получают самые сильные бонусы, которые могут помочь им кардинально изменить ситуацию на трассе. Это позволяет сбалансировать разрыв между игроками с разным уровнем навыка, но не даёт возможности выявить самого умелого пользователя — именно поэтому такой тип рандома используется в семейных играх, а не в киберспорте.
Ещё одна важная черта рандома — это неожиданность. В стратегиях и в тактических играх пользователи постоянно строят планы, благодаря информации, которую получают из игрового мира. Но зачастую этого недостаточно для того, чтобы игра по-настоящему захватывала разум игрока. Случайные события и неизвестные переменные побуждают пользователя импровизировать и искать пути решения новых проблем, что делает прохождение значительно интереснее.
В связи с этой особенностью разработчики дополнительно ограничивают количество сведений, которые получает игрок. Геймдизайнер Кит Бурган назвал это «информационным горизонтом» — дистанцией между текущим моментом и точкой, на которой информация становится доступной игроку.
Итак, два типа рандома, о которых идёт речь в этом тексте — предварительная (input) и последующая (output) случайность. Предварительная характеризуется тем, что случайное событие происходит до того, как игрок принимает решение. Самый очевидный пример — процедурно сгенерированные уровни в роуглайках, потому что они сперва создаются, а лишь затем пользователь играет на них.
Последующая случайность отличается тем, что рандом включается после того, как игрок принимает решение. Это касается, например, вероятности попадания во врага в XCOM. Геймдизайнер Civilization 4 Сорен Джонсон также называл эти два вида рандома как «пред-удача» (pre-luck) и «пост-удача» (post-luck).
Важное отличие последующей случайности заключается в том, что она провоцирует у игрока чувства гнева и обиды, потому что забирает контроль и рушит планы. В таком случае неудача происходит не из-за неправильных решений, а по вине рандома.
И некоторые разработчики учитывают эту особенность. Например, Subset Games после FTL: Faster Than Light решила сделать акцент на предварительной случайности, благодаря чему в Into the Breach получился крайне честный геймплей.
Разработчики Slay the Spire на ранних этапах создания игры также использовали последующую случайность, но в финальной версии основной упор был сделан именно на предварительную. Это сделало игру намного интереснее, потому что рандомные события происходили в начале хода, что позволяло выстроить определённую стратегию.
Но не стоит думать, что предварительная случайность — это что-то целиком хорошее, а последующая — плохое. Оба вида рандома должны применяться с осторожностью.
У предварительной случайности есть несколько особенностей, которые могут быть незаметны на первый взгляд.
Стартовые условия, которые получились в результате рандома, могут очень сильно повлиять на успех прохождения. Например, в Spelunky игрок с самого начала может получить мощный предмет, который значительно упростит прохождение. В случае успеха нельзя будет точно сказать, из-за чего игрок так далеко продвинулся — из-за умений или благодаря простой удаче. Это побуждает некоторых игроков перезапускать игру, чтобы получить желаемый результат.
Эту проблему решили разработчики Slay the Spire, которые добавили систему бонусов при запуске нового прохождения — они становятся доступны только тем, кто победил первого босса в предыдущем прохождении.
Или же можно ограничивать рандом, как в игре Pandemic: в ней колода тасуется таким образом, чтобы самые сложные события не находились рядом друг с другом. Например, если на всю игру есть четыре такие карты, то они распределяются по разным четвертям колоды.
В Diablo 3 есть умная система лута, которая чаще подкидывает игроку предметы, соответствующие классу его персонажа. А в современной версии «Тетриса» блоки выпадают не рандомно — игра создаёт набор из всех семи видов блоков и выдаёт их в случайном порядке. Когда все семь тетрамино попадут к игроку, набор обновится и цикл запустится снова.
Ещё один аспект, о котором стоит задуматься при создании рандомной системы — с какой периодичность будут появляться предварительные случайности? Если в начале каждого нового хода, то это сдвинет горизонт информации слишком близко к игроку и снизит его мотивацию к планированию.
Поэтому разработчики должны грамотно настроить игровой «поток информации». Этот термин ввёл Итан Гёппнер, который писал, что в XCOM игрок может строить план для прохождения миссии, но он будет жизнеспособным лишь несколько ходов. Рано или поздно на карте появляется подкрепление, которое рушит этот план и вынуждает игрока перегруппировать свои силы и начать придумывать новый план.
По словам Гёппнера, новая информация должна подаваться резкими скачками, что обеспечивает высокую вовлечённость игрока. А в остальное время новые сведения нужно давать постепенно и размеренно.
Интересная особенность последующей случайности заключается в том, что на следующий ход она превращается в предварительную, так как игроку приходится иметь дело с последствиями своих решений.
Также есть разные методы, которые добавляют больше веселья в игру. Один из них — уход от бинарной системы попал/не попал. Например, в Phoenix Point вероятность попадания рассчитывается для каждой пули отдельно, поэтому одни попадут в цель, а другие — нет.
Ещё один способ — показывать игроку вероятность в процентах. Но даже здесь разработчики могут хитрить. Например, в серии Fire Emblem настоящая вероятность попадания почти никогда не совпадает с той, которая показывается игроку: если пользователь видит, что шанс удара равен 90%, то реальная вероятность равна 99%. В Civilization тоже есть подобная хитрость: если игрок дважды проиграл в битвах с 33% шансом на успех, то в третий раз он обязательно победит.
Такие упрощения сделаны лишь потому, что большинство людей недостаточно хорошо понимают, как устроена вероятность. Чтобы решить эту проблему, создатель игры Tharsis Зак Гэйдж добавил игровые кости, которые наглядно показывают удачу пользователя. Гэйдж даже проработал поведение костей с точки зрения физики.
Мы понимаем вещи, которые можно подержать в руках. Когда дело доходит до чего-то абстрактного, особенно математики, то всё становится очень сложным. Люди понимают то, что могут потрогать, подержать, повернуть и рассмотреть. Игральные кости в Tharsis — это аналог того, что знакомо всем.
Также хорошей идеей будет добавление последующей случайности там, где она будет приносить только пользу. Единственный аспект Into the Breach, в котором можно заметить применение последующей случайности — система защиты зданий. Когда враги атакуют постройки, всегда есть крошечная вероятность, что они промахнутся. Этот шанс настолько мал, что игрок не может на него рассчитывать. Поэтому когда такое случается, это производит большой эффект на пользователя.
Мы обнаружили, что если рандом встречается там, где вы ожидаете чего-то плохого, а затем вы получаете что-то хорошее, то никто не жалуется. Поэтому это единственный пример последующей вероятности, который мы оставили в игре.
Случайность может быть очень важным аспектом игры. Она используется для определения переменных, баланса, наград, горизонта информации и многого другого. Но важно учитывать, что неправильное применение может привести к раздражению и гневу пользователей при прохождении игры.
Главное, чему нужно научиться — различать предварительную и последующую случайности. Также всегда помните, что ни один из этих способов не является универсальным решением, которое может спасти любую игру.
Совсем не вкатился в Into the Breach, даже сказал бы, что не понравилась.
Очень зря. Игра очень крутая и практически целиком зависит от навыков игрока. Это у меня единственная проблема. Я иногда на обдумывании хода зависаю минут на 20 пытаясь прям идеально всё состроить.
Да я понял, что это усложненные головоломки, как в Херстоуне в одном из режимов. Но как-то совсем не зашло.
Головоломки в том смысле что там только одно решение всегда? или Несколько возможных но сложных ходов? (ещё не играл, думаю пробовать или нет)
Есть одна идеальная последовательность твоих действий, под которые игра как бы нарандомила вначале карты, с которыми ты выйграешь в сухую. С ошибками всё равно можно выйграть, но потеряешь хп зданий или неуспеешь собрать бонусы например.
Типа, тебе дают стартовые условия, и ты должен с ними решить поставленную задачу.
Да это же как шахматные этюды. Видишь позицию и разрешаешь её оптимальным образом.
Никогда не понимал их надобность в журналах.
Into the Breach создали в 2018
Люди до 2018 развлекали себя шахматными задачами из газет.
Мне тоже, ожидал тактику, а получил ограничения на перезапуск и прочую хуйню из роуглайков((
Насколько сейчас реально симулировать рандом на физике объектов внутри игры? Ну кароч, кости реальные в игру засунуть можна? А то я знаю что во всех играх псевдорандом, а эт скучно.
Но тем не менее смысла бояться «псевдорандом» нет. Разница между настоящей случайностью и ненастоящей в конечном счете только в слове «настоящий».
Два слова: квантовые эффекты.
Микросокращения мышц пользователя. Как и при броске кубика. Да, этот метод дает действительно случайное число. Хотя я люблю больше методы атмосферных помех и прочая.
Crash report: Ваш бросок выпал с одной костью на 6 и вторая кость встала ребром на первую, не дав просчитать результат.
В первом ведьмаке были такие. Иногда они вылетали за игровой стол.
«Насколько сейчас реально симулировать рандом на физике объектов внутри игры? «
SimulatePhysics = true; ничего сложного
Рандом в реальной жизни зависит от микро сокращений мышц твоей руки в момент броска. Откуда к чертям комп будет знать об этом? Ему нужен какой-то внешний параметр, не зависящий от самого компа, что бы полуслучайно задать состояние «мира».
Для современных компов это счетчик времени обычно. Потому что каждый запуск случается в разное время, и это единственный параметр, который гарантированно меняется. На его основе по формулам вычисляется нечто «случайное». Но качество случайности зависит от качества формулы и сколько раз она прогонялась. В современных игр нужно считать столько рандомных чисел, что считать их «хорошо» ни у кого времени нет.
Для некоторых сайтов, предоставляющих услуги рандомизации, в стиле random.org, есть системы «внешних» систем, зависящих от белого шума (космических лучей) или информации о ударах молний по планете за последнее время (сила, координаты и и т.д.). Эта информация достаточно случайна и при этом не зависит от вычислительной системы, поэтому считается «истинно случайной».