на главную
об игре
Borderlands 2 17.09.2012

Borderlands 2 - Механика - Система генерации лута

Данное руководство описывает механизм игры, отвечающий за генерацию лута, а так же то, что на него влияет и почему рандом всегда остается рандомом. 

Где мой лут, чувак?

Существует несколько способов добычи лута - это убийство врагов и поиск сундуков, причём вероятнось выпадения разнится от места к месту.
Виды врагов.

Обычные.

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

Рейдовые боссы и уникальные мобы.

Невероятно сложные и редкие существа пандоры, встречаются в строго отведённых для них местах. Названия этих мобов, как и вид - уникальны. (Хантер Хелквист, Терраморф Непобедимый и т.д.)

Чтобы иметь достаточное представление о том, как работает дроп, необходимо пройти через весь процесс его генерации, попутно объяснив то как игра делает выбор. Давайте проследим на примере убийства обыкновенного бандита, как работает этот механизм.

Лист определений - основа основ

Когда вы убиваете врага игра смотрит на его свойства, где определено какой лут может из него выпасть. То какой лут выпадает определяется двумя типами данных. Первый тип называется "Лист определений", который содержит набор наименований предметов. Лист определений предоставляет дизайнерам наиболее легкий путь в обозначении того, что должно падать из врага в более масштабном понимании этого слова. Вместо того, чтобы привязывать к мобу (врагу) кучу однотипных определений тех или иных предметов, которых может быть 5,10,20 и тд., можно с помощью листа определений сразу назначать их множество за 1 раз. Настраивая этот самый лист, можно менять выпадение предметов огромному числу врагов. Это позволяет экономить время разработчикам. Ниже приведен список “StandardEnemyGunsAndGear”, который используется в основном врагами категории "обыкновенный".
 

Как вы заметили тут отображается все, что может выкинуть моб: оружие и снаряжение, скины на транспорт, эридий и тд. “DropODDS” или цифры после определений набора предметов означают шанс выпадения того или иного предмета.
Когда бандит умирает, игра как бы кидает кубики для каждого из набора предметов, определяя выпадет предмет или нет из этого набора. К примеру, значение “DropODDS” для набора "оружие и снаряжение" равно 0.085 в одиночной игре. Когда вы убиваете врага, то игра выбирает рандомное число в пределах от 0 до 1. Если получившееся число меньше 0.085, то умерший бандит выкинет вам оружие или снаряжение. Если число оказалось больше чем 0.085, то дропа не произойдет в этом наборе. Значение 0.085 срабатывает так, что на 11.76 убитых бандитов приходится 1 выпадение оружия.
Одновременно с этим срабатывает просчет дропов для остальных категорий предметов. То есть за одно убийство игра ищет несколько таких чисел для каждого набора: оружие, снаряжение, гранаты, аптечки, патроны, деньги и тд.

Чем дальше в лес, тем больше лута.

Вы заметили, что на экране загрузки часто появляется подсказка о том, что чем больше игроков в команде, тем лучше ваш лут. Число игроков напрямую влияет на количество лута, который вы получаете, играя в Бордерландс. В кооперативе есть некоторые значения, которые меняются в зависимости от количества игроков. Выше на картинке вы можете увидеть пример этого, где написано “AmmoDrops_PerPlayer*0.2” после записи для набора аммуниции.
Так как это может влиять на поведение дропа? Верьте или нет, но есть такая штука как "слишком много лута"! На поздних стадиях разработки большинство рабочего дня команда дизайнеров проводила за тем, что играла в кооператив. Обычно такого количества времени не удавалось для этого выкроить, но в итоге это было просто необходимо для того, чтобы понять как будет игра себя вести в плане баланса в кооперативе из 4-х человек. Самое интересное, что получили разработчики в итоге это единодушное осознание того, что игра выдает чрезмерное количество лута. Она становилась утомительной из-за того, что приходилось его собирать, сортировать и выбирать из этого лучшее. (прим. автора - Где-то я говорил, что так оно и есть. Больше игроков = больше врагов = больше падающих с них предметов = больше вероятность того, что среди них окажется что-то стоящее.)
Избыток лута происходил из-за того, что игра использовала теже значения дропа, но помноженные на тот факт, что количество появляющихся врагов увеличивалось пропорционально количеству игроков в команде. Чтобы решить сложившуюся ситуацию значения дропа пришлось слегка уменьшать с возрастанием количества игроков. Уменьшение все равно было меньшим по отношению к увеличению количества мобов. Не смотря на уменьшение шанса дропа каждого отдельного врага, шанс в общем целом увеличивался, так как врагов становилось больше с каждым пребывающим игроком в команде. (прим. автора - Отсюда следует предположение, что количество игроков в отношении фарма какого-то определенного уникального моба является фактором, не оказывающим на это никакого влияния.)

Набор предметов - рабочая лошадка дропа.

Так что такое набор предметов? Это список предметов, который игра понимает и генерирует из него шмот находу. Набор может ссылаться на другие, создавая каскадные списки, до тех пор пока не получится вещь или оружие.
Давайте предположим, что список определений "StandardGunsAndGear" выбирает какую вещь дропнуть из первого набора в листе - Pool_GunsAndGear. Он выглядит так:
 

Этот пул располагается в верхушке цепочки и ссылается на дополнительные пулы 5и основных типов предметов. Заметьте, что он так же ссылается на пул "_All" для этих предметов, а это означает, что существует вероятность выпадения любого предмета данного типа. Важно знать, что при выборке из листа определений происходит проверка, где решается, выпадет ли предмет или нет. Каждый пул может выдать лишь 1 предмет из своего листа.

Сколько вешать в граммах?

Теперь игра выдает другое случайное число, чтобы определить какой из наборов выпадет. Из вышеуказанного набора вы получите только один предмет данного типа и эта вероятность показана в процентном соотношении рядом с соответствующим набором. На приведенной картинке видно, что из всех наборов предметов самым вероятным является набор оружия, а маловероятным набор реликвий.Вероятность вычисляется немного по-иному. Здесь она определяется на основе так называемых чисел "веса". Весы это заранее предопределенные разработчиками числа, которые опять позволяют менять игровой баланс и шансы выпадений в одном месте вместо того, чтобы изменять множество чисел в других местах. В примере выше значение вероятности "обычный" равно 48,13% вероятности и соотвествует 100 единицам веса, а "необычный" соответственно 10. Некоторые значения веса потом умножаются на заданные произвольные значения так, чтобы относительные вероятности отвечали тем или иным представлениям об относительной редкости предметов. Значения вероятностей вверху на картинке распределяются следующим образом:

[1] = 100

[2] = 45 = 100*0.45

[3] = 30 = 10*3

[4] = 22 = 10*2.2

[5] = 10

Теперь представьте, что веса и то как игра делает выбор из наборов предметов представлены в виде розыгрыша, лотереи. Это тип лотереи, где вы должны определенное число билетов положить в банку. Чем больше число билетов вы положите в определенную банку, тем больше ваши шансы выиграть этот предмет. Наши участники это Оружие, Щиты, Гранаты, Классы и Реликвии. Веса это то количество билетов из каждого набора вещей, которые наш участник положит в банку, чтобы победить. То есть у кого больше билетов, у того и больше шансов - справедливо. У оружия 100 билетов, щиты держат на руках 45 и т.д. Затем игра называет номер билета и объявляет победителя.

Обыкновенный значит обыкновенный

Итак давайте продолжим отслеживать путь дропа с момента убайства нашего бандита. Игра выбрала дроп какого-то предмета из набора Pool_GunsAndGear, нам выпал билетик "Оружие" в лотерее. Далее мы оказываемся в наборе Pool_Weapons_All, который выглядит так:

 

Как вы видите этот набор раскрывает еще один список наборов. В этом случае он описывает все ступени редкости предметов от обыкновенного до легендарного. К сожалению здесь редактор нам лукавит, сообщая о том, что степень редкости для обыкновенного оружия равен нулю. Это не так. Вес обыкновенного набора просчитывается формулой, которую сейчас редактор не в состоянии вычислить так как игра не запущена. В реальной игре цифры выглядят так:

Редкость                            ВероятностьШансы

Обыкновенный             89.92%      9 из 10

Необыкновенный8.99%                   1 из 10

Редкий0.89%                                  1 из 100

Очень редкий0.09%                       1 из 1000

Очень редкий (E-tech)0.09%1 из 1000

Легендарный0.009%1 из 10000

Так в чем же ложь этой формулы, которая пишет 0 напротив обыкновенных предметов? Во всем виновата реликвия Искателя хранилища, точнее таким образом она работает. Она повышает шанс выпадения предметов ранга выше обыкновенного только за счет того, что понижает шанс выпадения предметов обыкновенного ранга. В аналогии с лотереей эта реликвия забирает часть обыкновенных билетиков поэтому их шанс на выигрыш уменьшается.

Ну же пистолет! Дай пистолет!

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

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

Ура! Пистолет!

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

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

Уровень игры специально для новичков

Еще одной интересной вещью в информации выше является нечто, что находится в поле "Min Game Stage Requirement”. Это поле описывает часть информации, которая называется "уровень игры". Этот параметр отслеживает информацию о текущем состоянии игрока и приводит игровой мир в его соответствие, сообщая другим подсистемам игры то какие должны появляться враги, ящики и предметы. Уровень игры определяет то, почему вы сейчас деретесь с врагом 5 уровня, а не 15, так же он определяет почему из нашего бандита упал пистолет 8 уровня, а не 43. Уровень игры сохраняет баланс в соотношении с ростом вашего уровня в игре и является неотъемлемой частью игрового мира, того как он функционирует.

В случае с нашим примером в поле “Min Game Stage Requirement” в картинке выше пишется "Gamestage_02". Это говорит о том, что данный набор предметов срабатывает, если уровень игры для нашего врага равен хотя бы 2-му уровню.

Ограничивая лут

Мы используем поле минимального уровня игры в основном, чтобы ограничить выпадение конкретных предметов в течение прохождения. Вы можете задаться вопросом, а зачем мы собственно так ограничиваем дроп. Разве не будет лучше, если все предметы будут иметь шанс выпадения в любое время? В вопросе получения игрового опыта, особенно на поздних стадиях игры, это выражение будет звучать вполне корректно, это приемлемо находить все предметы. Но ранняя стадия игры - это совсем иной случай. На ней игрок только входит в мир Бордерландс. Когда на вас буквально сыпятся все типы разных предметов это может оказаться черезчур, и помешает полноценному пониманию каждого из них. Запрет на дроп конкретных предметов на той или иной ступени игрового опыта дает шанс дропа другим, что позволяет каждому новому предмету быть в свое назначенное время изученным перед тем как встретить новый элемент для изучения.

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

Ниже показана таблица, которая отображает на каком уровне в игру вводится те или иные предметы. В данном случае это оружия.
 

Как вы видите мы не даем шансов выпадения ни для какого ружия до тех пор пока вы не получите второй уровень. Это сделано для того, чтобы у вас не было иного оружия до того момента, когда вы получите пистолет от Клэптрапа. Следущим видом идут автоматические винтовки, потому что они хорошо показывают себя в большинстве случаев и являются основным представителем автоматического вооружения в шутере. Затем мы даем игроку немного времени, чтобы следующие миссии представили дробовики и снайперские винтовки, которые начнут выпадать к тому моменту. Пистолеты-пулеметы (СМГ) следущие, потому что они более утилитарны и мы хотим дать игрокам времени, чтобы они сравнили их с автоматическими винтовками и сделали свой выбор. И наконец на 10-ом уровне в игру вводится последний тип оружия - ракетницы. Они вводятся сейчас, потому что они мощные и найти их в игре это по-настоящему здорово, а ограниченный боезапас делает из них то оружие, которым вы воспользуетесь только в особых случаях.

Рандомный рандом

Я уверен, что некоторые из вас испытывали времена в игре, когда были моменты, что лут просто сыпался и моменты, когда он отсутствовал. Иными словами когда была пруха и когда ее не было. В эти моменты кажется, что игра намерено как-то искажает дропы то в лучшую, то в худшую сторону по какому-то своему желанию. Позвольте вас заверить: это не так.

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

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

Это означает, что каждый раз когда дропается какой-либо шмот есть равный шанс выпасть для каждого числа. Нет никакой фишки с переназначением веса игрой для той или иной группы предметов на основании того как долго не падала вам легендарка. Этот факт и объясняет появление таких моментов, когда вам так сказать "везет", и когда вам "не везет" будто бы потому что игра там сама по себе что-то меняет.

Важно запомнить, что вероятность тем точнее вычислить, чем большее число попыток у вас есть. Используя нашего старого доброго бандита для получения с него легендарки из таблицы вероятности, становится ясно, что наш расклад 10000 к 1. Это не означает, что вам придется убить его 9999 раз безрезультатно и только на следущий раз вам гарантировано выпадет оранж. Вам вообще может не везти в течении 19998 попыток, а потом вы сразу получите две одну за одной. Или может вообще случиться так, что вы прикончите беднягу 50000 раз, не получив с него ни одной оранжевой вещи, зато потом в короткий промежуток времени выпадет 5 счастливых чисел. Если такие странные случаи возникают, то ваши результаты так или иначе будут правдивы в соотношении 10000 к 1, но у вас останется чувство будто игра мухлюет у вас за спиной. Это не фантастика, так работает математика.

Пожарный случай

Есть несколько небольших исключений в правилах рандома, которые только что описывались. Они в меньшенстве и относятся к очень специфичным вещам. У модклассов в отношении игровых классов вес всегда завышен, однако в игре все же есть возможность получить модкласс для персонажа, который сейчас в игре не находится. Это исключение было реализовано потому что это было действительно хреново играть в соло и иметь только 25% вороятности получения модкласса для своего персонажа.

Вы вероятно заметили в самой первой картинке такие странные записи:



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

Комментарии: 6
Ваш комментарий

Спасибо за отличную статью!

0

Присоединяюсь! Полезная статья!

0

В borderlands 2 Шанс получить легендарный предмет в 3 раза больше в английской версии игры Как сделать чтобы и в русской версии было также???

0

играл в коопе с другом на норм режиме, почти с каждого босса с 1 раза дропалась хоть одна легендарка. Начали играть на ИИХ режиме, почти ни одной легендарки. Продолжаю сейчас играть соло, Гейдж 54 лвл, ИИХ режим, пытаюсь выбить Гарольда (легендарный пест) с Дикаря Ли, раз 20 убил, даже синей пушки не выпало, все белое барахло. В чем прикол? Теперь боюсь, стоит ли докачиваться на ультимейт волт хантере до 72 лвл, если легендарок вообще не падает...

0

Зачётное объяснение, благодарю! 3 апреля выйдет ремастер 1-2 борды, вот и поиграем)))

0

Полезная статья, благодарю! с:

0