company_banner

Как разработчики делают игры «честными»

Автор оригинала: Richard Moss
  • Перевод


Когда проигрываешь в мультиплеере, проще всего обвинить баланс — рандом, пушка имба и далее по списку. Но где эта грань между тем, когда не хватило собственного скилла и когда у игры есть реальные проблемы?

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

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

А если с балансом все в порядке? Или он смещен совсем немного? Как вы это определяете? Как вообще кто-либо может это определить? И что такое «игровой баланс»?

Чтобы разобраться в том, как баланс реализован в разных жанрах и как разработчики настраивают (или перенастраивают) его в своих играх, я пообщался с опытными геймдизайнерами.


Fantasy Strike, Sirlin Games

Что такое «баланс»?


Сложно дать определение. «Опросите десять дизайнеров и получите десять разных ответов», — говорит доцент Рочестерского Института технологий и соучредитель Global Game Jam Иан Шрайбер. «Этот термин перегружен. Его можно использовать в контексте однопользовательской RPG, 4X-игры (например, Civilization), MOBA, MMO, настольной игры, сайдскроллера [и так далее]. И каждый раз он будет приобретать разное значение».

По мнению Шрайбера, баланс независимо от контекста подразумевает, что пользователю игра кажется честной. Именно кажется. Даже когда все системы будут полностью сбалансированы математически — игроку все равно будет казаться, что это не так (причины разберем чуть позже). Конечно, все тайтлы бывают нечестными в определенные моменты, поэтому «честность» баланса — общий термин. Под ним могут быть одинаковые точки старта для всех игроков, адекватная кривая сложности или одинаково успешные трассы, классы персонажей, стратегии, при условии равного уровня скилла и удачи.

Возможность выбирать среди нескольких жизнеспособных опций — может быть метрикой хорошего баланса. «Представим, что есть десять различных вариантов того, что вы можете делать», — предлагает автор книги «Играй на победу» и ветеран геймдизайна Дэвид Сирлин. «И один из них настолько мощный, что нет никакого смысла выбирать какой-то другой. Люди скажут, что игра не сбалансирована».


Таблица отражающая результаты битвы двух персонажей в Fantasy Strike и средняя вероятность их побед. Источник: sirlin.net

Немного размыто и далеко от практики, да? Но если вы немного позависаете в игровых группах Reddit, Discord или просто поиграете в онлайн-игру, то столкнетесь с людьми, которые постоянно жалуются на баланс и спорят. Все, начиная от рядовых игроков и нубов, заканчивая профи, хотят высказаться.

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

Разные игры — разные метрики


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

Сирлин считает, что настройка баланса в синглплеере или кооперативном мультиплеере завязана на предоставлении возможностей — на разъяснении того, как все работает, и на логике использования определенных скиллов и стратегий. Для начала нужно помочь новичкам сформировать в голове точные модели игры, чтобы они не чувствовали себя обманутыми. А про-геймерам дать возможность открывать новые горизонты игры.

Стандартный подход отладки баланса в соревновательных мультиплеерах подразумевает подстройку под топ-игроков. «Дорога всегда ведет в топ», — объясняет Сирлин. «И люди не захотят ее пройти, если будут знать, что в итоге проект окажется несбалансированным. Это ужасный PR. Турнир будет выглядеть, как полный треш».

Шрайбер согласен с этим мнением. «Большинство игроков останется на очень низком уровне, и лишь немногие достигнут уровня чемпионата», — говорит он. «Вам захочется настроить баланс под основную массу игроков, а не под 32 человека в топе. Но все будут смотреть стримы именно этих 32 игроков. Все будут стремиться достичь их уровня».

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

Прежде чем изучать тонкости баланса нужно усвоить несколько уроков о человеческом мышлении.

Психология игрового баланса


Честный не всегда означает честный. Стоп, что?

«Рассказывая [про баланс] на занятиях, я целую неделю посвящаю когнитивным заблуждениям. Например, люди очень часто неверно воспринимают математику. Или: ваша игра не настолько справедлива, как вам кажется, потому что генераторы случайных чисел несправедливы», — говорит Шрайбер.

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

«Некоторые меняют свои игры так, чтобы убедительно обмануть пользователей и говорить им то, что они хотят услышать», — поделился Шрайбер. «Сид Мейер выступил с отличной речью на GDC в 2010 году. Он рассказывал про Civilization Revolution, и как пришлось маскировать числа, потому что игроки неправильно воспринимают, что такое вероятность».


Если вероятность того, что юнит выиграет бой составляет три к одному, большинство считает, что он должен победить, хотя с вероятностью 25% случится обратное. И если юнит проигрывает, они чувствуют себя обманутыми. Чтобы исправить такой мнимый дисбаланс, девелоперы используют математическую уловку — шанс выигрыша три к одному или четыре к одному, который видят игроки, на самом деле намного выше.

Еще один подход, который позволяет совместить восприятие игрока и реальность, — прозрачность информации, то есть отражение статистики, которая показывает, что все было честно.

«Аркадная версия Tetris показывала, сколько именно блоков каждого типа появлялось в игре», — рассказывает Шрайбер. «Если казалось, что вам не выдавали палочек и что игра вас ненавидит, можно было посмотреть статистику. Палочек было достаточно, вы просто использовали их недостаточно хорошо».

Глубина и баланс — разные вещи


С другими ошибками восприятия работать сложнее. Сирлин описывает так называемое «заблуждение относительно глубины». Тайтл может показаться объемным из-за того, что при первом знакомстве в нем оказалось много неочевидных аспектов или заблокированных возможностей. «Раскапывая слой за слоем, можно подумать, что игра очень глубокая», — объясняет он.

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


Типы оружия особенно не менялись последние 20 лет, и на то есть причины. Unreal Tournament 2004, Epic Games

Вместо того, чтобы дать игроку несколько жизнеспособных вариантов развития событий (ключевой элемент баланса в игре), ее наполняют кучей механик, действий или оружия. Сирлин считает, что такой подход «ухудшает игру и убивает жизнеспособные варианты, за исключением одной или двух [доминирующих стратегий]».

Основатель Highwire Games и бывший лид-дизайнер Bungie Джейми Гризмер считает, что сложность должна нарастать пропорционально числу ролей в игре. Иначе дизайнер будет играть с тем самым заблуждением относительно глубины. Именно поэтому в большинстве шутеров одинаковый набор оружия: сложно найти дополнительные, которые привносят нечто важное в игру и при этом не становятся доминирующими.

Баланс и удовольствие от игры


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

«Они [второй лагерь] считают, что, если все сбалансировано, игра становится неинтересной», — пояснил Сирлин. «Например, если все персонажи в Street Fighter будут, как Рю, с небольшими отличиями, игра получится намного скучнее, чем настоящий Street Fighter».

Но баланс и разнообразие не обязательно исключают друг друга. В игре могут отлично уживаться супермощные виды оружия и персонажи, которые сильно отличаются друг от друга. «Guilty Gear — подходящий пример. Игра настолько разнообразная, в ней словно собрали героев из разных проектов, они используют совершенно непохожие механики. При этом баланс в полном порядке», — сказал Сирлин.

Главное не забыть про фейл-сейфы. В том же Guilty Gear реализовано несколько универсальных механик защиты (блоки).

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

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


Не верьте этому человеку. Sid Meier’s Civilization V, 2K Games

Как настраивают баланс в играх


Как сказал Гризмер на GDC в 2010 году, сложности возникают из-за того, что «игру нельзя сбалансировать, пока она не будет готова, [при этом] нельзя откладывать этот процесс на самый конец». Другими словами, чтобы все сделать правильно нужна финальная версия игры без багов. «При каждом изменении кор-механики баланс полностью слетает, потому что числа и действия приобретают совсем иной вес», — пояснил Шрайбер.

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

«Для начала потребуется воображение», — говорит Сирлин. Возьмем для примера файтинг. «Я держу в голове всю систему, и, придумывая персонажей, представляю, как они будут взаимодействовать друг с другом. Стараюсь, чтобы у всех были необходимые инструменты, которые помогут героям сражаться друг с другом».


Halo: The Master Chief Collection, Xbox Game Studios

Баланс начинается с предположений. Гризмер называет эту стадию «определение роли». В шутере нужны разные виды оружия, которые будут стрелять на разное расстояние (снайперские винтовки — на длинное, ружье — на короткое), наносить разный дамаг (стрелковое оружие и снаряды с большой площадью поражения) и так далее. Роль должна быть определена максимально четко и должна отличаться от всех других ролей. Разнообразие делает игру интереснее, а баланс лежит между хаосом (когда все происходит рандомно) и определенностью (когда все предсказуемо).

Следующий шаг. Когда реализованы все механики, дизайнеры тестят игру, чтобы убедиться, что ничего не упустили на первой стадии. Если с кором все хорошо, начинаются плейтесты: игру дают группе людей и смотрят, как все проходит. На этом этапе дизайнер ищет самые слабые места. «Наверняка, что-нибудь будет реализовано настолько плохо, что тестировать игру будет невозможно, пока это не пофиксят», — объяснил Сирлин.

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

Следующую стадию Сирлин называет «доработкой». Итерация. «Все больше людей играют лучше, то есть играют пользователи с высоким уровнем скилла», — говорит он.


Настолько скучной была бы Street Fighter V, если бы все персонажи походили на этого парня?

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

«Со стороны кажется, что дизайн строится на данных, но это не так», — говорит Сирлин. «Совсем не так — почти до самого конца разработки, потому что в процессе нужно учитывать слишком много важных деталей». Для примера можно рассмотреть, как настраивается сила броска Чунь Ли в Street Fighter. Нужно учесть и то, как часто она может использовать этот прием. Плюс его эффективность зависит от ее скорости передвижения, а также от того, на каком расстоянии от врага она находится.

«Детали накапливаются, поэтому лучше просто наблюдать, как люди играют, и делать субъективные выводы, что такая-то сила броска отлично работает в игре, и все функционирует честно».

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

Доверяй, но проверяй


Нельзя сказать, что аналитика не используется при настройке баланса игры. Сирлин собирает много информации по матчам после релиза игры, чтобы убедиться, что все сбалансировано. Шрайбер говорит, что некоторые студии используют анализ больших данных. Они собирают цифры с сотен тысяч или миллионов онлайн-матчей, как на стадии открытой беты, так и после релиза.

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

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


Yomi, Sirlin Games

Когда Bungie выпустила Halo 3, команда осознала, что снайперская винтовка работает неправильно. Некоторые пользователи применяли ее в непосредственной близости от врага. Она быстро прицеливалась, стреляла и наносила огромный урон, что не оставляла шансов.

Очевидное решение: реализовать определенные недостатки оружия. Например, погрешность успешных попаданий (как в RPG), снижение скорости передвижения игрока с винтовкой в руках или увеличение времени перезарядки. Но такие недостатки (включая уменьшение урона) негативно сказались бы на роли этого оружия в игре. Оно потеряло бы свою исключительность, казалось бы менее мощным. Можно ограничить количество патронов для снайперской винтовки, которое герой может носить с собой. Но, по слова Гризмера, это «повлияло бы лишь на средние цифры», собранные из тысяч матчей. Винтовка так и воспринималась бы имбой, точно так же, как игроки Civilization Revolution, считали, что шансы три к одному означают победу. Люди не обращают внимания на усредненные данные.

Корень проблемы сводился ко времени между выстрелами: максимальная скорострельность оружия. Ее нужно было снизить. Оказалось, достаточно увеличить время с 0,5 до 0,7 секунды. Это значительно снизило использование винтовки в ближнем бою и ее доминирующую роль, сохранив при этом все плюсы ее использования в других ситуациях.

Разрешимость задачи


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

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

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


Самая сбалансированная игра всех времен. Battle Chess, Interplay Entertainment Corp.

«[Разрешимость] относится не к раздумьям задним числом, а ко всей игре. Она затрагивает все наши усилия целиком. Как создать ситуацию, в которой определенные силы толкают игрока на то, чтобы он сделал X, при этом другие силы подсказывают, что никакой X не нужен. Если пользователи задумываются, нужно ли делать X, значит, я все сделал правильно. И это только две силы. В реальности мне нужны 20 сил, каждая из которых требует чего-то своего, все под разными углами, в противоположных направлениях», — объясняет Сирлин.

Как ни странно, такую ситуацию проще воссоздать для игр, которые не требуют сложных навыков, в которых легко следовать базовым стратегиям (например, в файтинге Fantasy Strike, пошаговых играх типа шахмат или Hearthstone), чем в более сложных играх (например, в Guilty Gear). В «простых» тайтлах больше людей получают доступ к настоящей игре — полному спектру возможностей.

Будет больше данных (субъективных, статистических или и тех, и других) по тому, насколько сбалансированы эти силы. А значит, выше вероятность того, что разработчики исправят все спорные моменты пока кто-нибудь не наткнулся на оптимальную стратегию.


Overwatch, Activision Blizzard

Жалобы не важны


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

Во-вторых, выход патчей не доказывает, что разработчики некомпетентны или что они ненавидят вас. «На самом деле, это означает, что они заботятся о балансе в игре», — сказал Сирлин. «Overwatch было много итераций, и его создатели вряд ли могли с самого начала выпустить игру в том варианте, в котором она существует сегодня. Это невозможно, потому что необходимые изменения стали очевидны только после релиза и постепенной эволюции тайтла».

Или, как сказал Шрайбер: «В ретроспективе может казаться очевидным, что определенная стратегия или любой другой аспект дают слишком большое преимущество. Но это не было очевидно даже для игроков в течение определенного времени, пока кто-то не обнаружил этот факт. Причем, возможно, случайно. Но игроки думают, раз вы не смогли сделать все идеально, значит, вы не знаете, что делаете».

Третий и самый важный момент. Жалобы на баланс, связанные с проигрышем, ничем не помогут. «Конечно, можно сообщить нам о любых изменениях, которые вы бы хотели внести. Но приведите обоснованные причины, а не просто слова о том, что вы все время проигрываете», — добавил Шрайбер.

Необходимо позволить разработчикам сомневаться, сказал Сирлин, «чтобы они все обдумали и поняли, что вы знаете про что сообщаете [прежде чем заговорили о предполагаемом дисбалансе]».

«Слова о том, что вы проиграли не имеют особого значения», — продолжил он. «Но если есть определенная группа людей, которая разделяет единое мнение и следит за турнирами, это уже кое-что. Сформулируйте, насколько вы уверены в своей жалобе и почему».
Playgendary
Разрабатываем и издаем мобильные игры

Комментарии 27

    –2
    World of Tanks — классический пример современного баланса маркетинга и «патент Кислого» как способ привлечения игроков денег.
    Дисбаланс создается намеренно!
      +3
      Да, давно пора сделать баланс: все танки станут круглыми, с одинаковой скоростью и одинаковым оружием.
      Различаться будет только броня и хп от уровня к уровню: (10*lvl) мм брони и (100*lvl) хп.
      Баланс? Да.
      Стало интересно? /irony
      PS особенно прекрасно упоминание «патента кислого» в контексте «Если вероятность того, что юнит выиграет бой составляет три к одному, большинство считает, что он должен победить, хотя с вероятностью 25% случится обратное. И если юнит проигрывает, они чувствуют себя обманутыми.»: текст патента доступен, но читать его могут не только лишь все, проще довериться ноющим блоггерам, которые не умеют в матстатистику. Просто прикинуть, сколько серверов нужно для обсчёта режима угнетения в танках тоже дано не каждому.
        0
        Посчитайте ПИКОВУЮ(когда он затыкается и очередь растет) производительность одного балансировщика ВоТ по доступным данным, сопоставьте с озвученной ВоТ логикой и будете сильно удивлены.
          0
          Вряд ли буду удивлён: если какой-нибудь марафон и половина выезжает на определённом классе, а в параметрах балансера — выпустить в бой 4 (или сколько там их сейчас?) классе — то да, для определённого класса будет очень долгое ожидание.
          То же и в кораблях: появляется задача на линкоры — в очереди висит под 300 линкороводов и единицы на остальном.
          Линкороводы будут висеть до таймаута, пока балансер не сменит паттерн и не выкинет в бой, к примеру, больше половины ЛК с обоих сторон.
          +1
          О, снова про шаротанки вспомнили
            0
            А что с ними не так?
            На мой взгляд, отличная модель сферического баланса в ваккуме.
      –2
      Starcraft2 — как пример отсутствия баланса и того, как игроки и некоторые стримеры водят за нос команду разработчиков для смены баланса, как они считают, в правильную сторону.
      Раса Терранов принципиально отказывается играть всеми юнитами. Мол будем играть только пехоту или только технику. И просят близов постоянно, что то сделать с Протосами, мол уж очень простая раса эти Протосы, а Терранам ой как сложно против них играть.
      На просторах ютуба проживает небезызвестный стример комментатор — который как выяснилось расист и ненавидит расу Простосов. Пол года пускал сопли на ютубе, какие Протосы имба, и как надо помочь остальным расам.
      В итоге что мы получили в игре: раса Зергов второй год подряд доминирует на всех турнирах, Протосы с горем пополам приспособились играть, а Терраны плачут, что Протосы имба.
      Так что водить разработчиков за уши — это очень плохая идея. Игрокам нужно приспосабливаться, а не стараться поменять баланс в свою пользу.
        –10
        Ну и кто у нас такой минусатор? Неужели сам великий комментатор на Хабре обитает или есть его адепты?
        Где аргументы?
          +1

          То есть вы утверждаете, что близзард изменили баланс потому, что посмотрели несколько видео русскоязычного комментатора на ютубе? Смешно. По поводу вселенской несправедливости — советую посмотреть видео Harstem'а, у него целая рубрика посвещяна жалобам на баланс. И научитесь уже играть в свое удовольствие, а не ныть на каждом углу (даже на Хабре, лол).

          +2

          Все знают что зерги имба, а самый дисбалансный матчап — это Зерг против Зерга. Потому что неважно какую тактику выберет противник, Зерг всегда выигрывает.


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

            +1
            Мол будем играть только пехоту или только технику.
            Принципиальное отличие от других рас в том, что апгрейды атаки/брони у терран отдельные для пехоты и меха, соответственно чтобы не отставать по стоимости войска и апгрейдам приходится выставлять приоритеты.
            раса Зергов второй год подряд доминирует на всех турнирах
            Небезызвестный фанат Альфа начал свой крестовый поход после ребаланса в начале 2019 и прихода меты чарджзилоты/архоны, отчего вдруг на супертурнире всея Кореи 2019 случилось 6 протоссов. Алсо статистически в SC:BW винрейт у зергов выше, что никоим образом не мешало Флешу доминировать на всех турнирах.
            Вердикт: вы плохо разбираетесь в Старкрафте (настолько что выдумали расу с одной буквой С в названии), не в курсе того, что в настолько тщательно разобранной игре всегда доминируют выдающиеся игроки (не нравится пример из корейского BW: July был единственным зергом, укатывавшем в бетон терран в первых сезонах GSL, не нравится пример из SC — посмотрите на результаты Arslan Ash) и даже не пытаетесь аргументировать.
            +1
            Очень странно, что про шахматы так мало написано. А ведь, на самом деле, — абсолютно несбалансированная игра. Белые имеют преимущество первого хода, которое для чёрных вообще ничем не компенсировано, хотя и в HS, и в HotA очень много сил потрачено на то, чтобы сбалансировать игроков, которые ходят первыми, с теми, что ходят вторыми.

            И вот, в шахматах уже скоро 200 лет как спорят, насколько же чаще выигрывают игроки белыми, а в последнее время уже заявляют, что баланс перекошен в сторону чёрных.
              0
              Может кто-нибудь привести примеры для расчета баланса в играх? Например, для Тетриса или тех же World of Tanks, ну или для сферический юнитов в вакууме. Интересно на примере посмотреть как можно сбалансировать игру, чем юниты будут отличаться друг от друга и как их сбалансировать
                0
                Взгляните здесь
                Если нужны более губокие и полные данные — посмотрите на курсы гейм-дизайнеров.
                –5
                Или: ваша игра не настолько справедлива, как вам кажется, потому что генераторы случайных чисел несправедливы», — говорит Шрайбер.

                Генераторы случайных (псевдослучайных, если точнее) чисел справедливы, начиная ровно с того момента, когда разработчики, использующие эти генераторы, будут сохранять начальный Seed генератора для каждого типа объектов (золотого лутобокса, например). В большинстве донатных помоек этого не делается ввиду того, что уменьшит прибыль, так как вероятность 10% получить топ приз с сохранением Seed при открытии 100 золотых лутбоксов, последовательно по 1, будет больше, чем без сохранения Seed.

                  0

                  Каким же образом?

                    0

                    Вот вам доказательство от питона


                    >>> import random                                                                                                                                                                                                                   >>> sum([random.random() < 0.1 for i in range(1000)]) / 1000                                                                                                                                                                        0.101  # без сброса сида больше
                    
                    >>> sum([random.seed() or random.random() < 0.1 for i in range(1000)]) / 1000                                                                                                                                                       0.096  # а со сбросом сида меньше

                    Это ни в коем случае не шутка, а серьезное и весомое доказательство.

                      –2

                      Можно не ёрничать. Я успел прочитать ваше "P.S. Если что, это шутка", до того как вы отредактировали коммент.


                      Теперь по существу. Серьёзное и весомое доказательство — это формула Пуассона в применении к игровым механикам. Она применяется для расчётов, когда вероятность P мала, а число N велико, и выполняется условие P * N < 10
                      Допустим, вероятность выпадения топ приза составляет 5% (вроде бы как 1 из 20)
                      1) Каждый раз, когда игрок открывает 1 лутбокс, он запускает новую серию испытаний, состоящую из 1 испытания. Вероятность того, что выпадет топ приз составляет 0.0488 из 1.
                      2) 10 лутбоксов — новая серия из 10 испытаний. Вероятность того, что выпадет топ приз составляет 0.3935 или 39,35%. Обратите внимание, что 39,35% — это шанс успеха серии, а не выпадения топ приза.
                      3) 20 лутбоксов — новая серия из 20 испытаний. Вероятность того, что выпадет минимум 1 топ приз составляет 0.6321. Хотя казалось бы она должна быть поближе к 1.
                      4) 100 лутбоксов — новая серия из 100 испытаний. Посмотрим, каковы наши шансы получить
                      1 топ приз или больше — 0.9933
                      2 топ приза или больше — 0.9596
                      3 топ приза или больше — 0.8754
                      4 топ приза или больше — 0.735
                      5 топ призов или больше — 0.5595
                      6 топ призов или больше — 0.384
                      7 топ призов или больше — 0.2378
                      8 топ призов или больше — 0.1334
                      9 топ призов или больше — 0.06807
                      10 топ призов или больше — 0.0318


                      То есть, если вы ожидаете, что открыв 100 лутбоксов, вы получите 5 топ призов с вероятностью, близкой к 100%, то вы ошибаетесь. Вы получите 5 и более призов только в 56% серий. То есть, открыв 100 раз по 100 лутбоксов вы получите 5 и более топ призов в 5 595 случаях из 10 000.
                      Это всё справедливо в случае, если в каждой из 4-х серий запускается генератор с произвольным сидом, то есть начинается новая серия испытаний, как обычно и происходит в играх с механикой лутбоксов.


                      В случае с сохранением сида ситуация меняется, так как все ваши испытания составляют одну непрерывную серию. Давайте теперь посчитаем, сколько раз вы получите 500 (вероятность 0.05 в 10000 испытаниях) и более топ призов в непрерывной серии из 10 000 испытаний ("непрерывный" аналог серии 100 по 100). Здесь уже для расчётов формула Пуассона не применима, так как P x N = 0.05 x 10 000 = 500 > 10. Для больших N используется теорема Лапласа.
                      500 топ призов или больше — 0.49999.
                      Как-то жиденько по сравнению с 0.5595 для "5 топ и более из 100". Но это только на первый взгляд. Давайте проверим вероятность получения в серии более 400 призов.
                      400 топ призов или больше — 0.99998. Сравните с 0.735 для "4 топ и более из 100".
                      420 топ призов или больше — 0.99991.
                      440 топ призов или больше — 0.99709.
                      460 топ призов или больше — 0.96709.
                      470 топ призов или больше — 0.91619.
                      480 топ призов или больше — 0.82119.
                      490 топ призов или больше — 0.67719.
                      Выглядит гораздо внушительнее, чем в 100 сериях по 100 лутбоксов.


                      Игроки давно уже заметили эту особенность в некоторых играх и копят лутбоксы, для того, чтобы открыть максимальное количество за 1 попытку (непрерывную серию). Приведу реальный пример: коллекционная Idle RPG "Clone Evolution". В ней есть казино, в котором представлены 8 различных видов призов. У каждого из них своя вероятность выпадения. Самые ценные призы — это редкие фиолетовые персонажи, которые нужны для создания легендарных оранжевых персонажей. Вероятность выпадения такого редкого персонажа где-то 0,15%. Игроками эмпирически было установлено, что для практически гарантированного получения необходимо иметь 800 жетонов (попыток), которые сливаются в сериях по 10 спинов, причем все эти 800 жетонов надо было потратить единовременно, ни в коем случае не выходя из интерфейса казино. Почему так? Ответ выше, в математике. Была прервана серия, так как перезайдя в интерфейс казино, сгенерировалось новое значение сида. Игроки интуитивно "просекли фишку" и использовали себе во благо.


                      Вы сами можете проверить приведенные цифры, используя онлайн-калькуляторы
                      Формула Пуассона
                      Теорема Лапласа

                        0
                        import random
                        
                        lootboxes = 100
                        series = 100
                        
                        # непрерывные серии
                        results = []
                        for i in range(series):
                            random.seed()
                            drops = []
                            for j in range(lootboxes):
                                drops.append(random.random() < 0.1)
                            results.append(sum(drops))
                        
                        print("Same seed min drops", min(results))
                        print("Same seed max drops", max(results))
                        print("Same seed avg drops", sum(results) / len(results))
                        
                        # новый сид на каждом лутбоксе
                        results = []
                        for i in range(series):
                            drops = []
                            for j in range(lootboxes):
                                random.seed()
                                drops.append(random.random() < 0.1)
                            results.append(sum(drops))
                        
                        print("Refreshing seed min drops", min(results))
                        print("Refreshing seed max drops", max(results))
                        print("Refreshing seed avg drops", sum(results) / len(results))

                        Результаты:


                        Same seed min drops 3
                        Same seed max drops 18
                        Same seed avg drops 9.79
                        Refreshing seed min drops 4
                        Refreshing seed max drops 18
                        Refreshing seed avg drops 10.17

                        Ох ты, если сид обновлять, то это выгоднее! Время опровергать весь ТеорВер!


                        Надо бы еще проверить, когда выпадет больше орлов — если одну монетку подбросить 100 раз, или 100 монет по одному разу.

                          +1
                          Обратите внимание, что 39,35% — это шанс успеха серии, а не выпадения топ приза.

                          Объясните терминологию, пожалуйста. Чем отличается «шанс успеха серии» от «шанса выпадения топ приза»?
                            +2

                            Теория вероятности так не работает. Обе ваших формулы являются апроксимациями, точную формулу даёт только распределение Бернулли.


                            Наблюдения игроков могут быть связаны со следующими эффектами:


                            1. игроки могли попросту ошибиться, в статистике неспециалисту это сделать очень легко;
                            2. рандом может быть "подкручен" разработчиками;
                            3. разработчики могли в свою очередь использовать приближенные формулы.

                            Во всех этих трёх случаях сброс seed оказывается ни при чем.


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


                            PS


                            Ну и да, если вдруг 4й вариант окажется верным — то как раз сброс seed будет давать более честный рандом, поскольку будет делать испытания независимыми; а вот его сохранение будет честный рандом перекашивать.

                      0
                      По мне баланс в игре, это «возможность добиться одного результата, используя различные механики»
                      Для примера
                      Если взять мир MMO, ну например World of Warcraft. То в ПВП очень часто можно наблюдать дисбаланс классов. В свое время, когда я играл. Довольно частая проблема была в том что палладины когда начинали проигрывать в битве, окутывали себя заклинанием неуязвимости, которое было на них около 30 сек, что по меркам боя пвп просто огромное количество времени. И за 30 секунд паладин мог убежать, отлечить себя. Когда у другого класса такой возможности не было. И сколько ты не прикладывай усилий, паладина ты не убьешь, если конечно игрок который за палладина не сделает ошибку.
                      Или возьмем Warlock, который навешивает проклятья, и урон растягивает по времени. Как хорошо бы ты не играл, ты не нанесешь достаточно урона персонажу, в то время как он тебя убьет.
                      К чему я это. С моей точки зрения баланс должен давать равную возможность в битве всем классам. Битва должна быть битвой навыков игроков, а не математической предопределенностью.
                        +1
                        Вот этот баланс и убил ВоВ. Фишки отобрали, все усреднили, трюки прицельно убрали.
                          0
                          Вот тут, как раз нужно мастерство геймдизайнера. Всегда есть искушение все усреднить.
                          А вот сделать так, чтобы был самобытный геймплей(крайне странно будет выглядеть маг который в ближнем бою сворачивает баранкой война), каждый игрок чувстовал мощь своего класса, тут нужно мастерство, и незаурядные способности.
                        +1
                        Почему-то в статье не затронута проблема 50/50. Когда средний процент побед сводится к 50%. В том же overwatch, можно успешно побеждать раз за разом, получая себе в команду адекватных игроков (не супер игроков, но просто нормальных), лишь ради того, чтобы, поднявшись в рейтинге, начать получать совершенно неадекватных игроков до тех пор, пока твой рейтинг не понизится, а процент побед не упадет до 50%.
                          +1
                          Плюсану. Если тащер — то на тебе тиму овощей и страдаешь. Если овощ — ты в тиме тащеров и кайфуешь.
                          К черту 50/50!

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое