Можно ли рассчитать или математически доказать, является ли игра сбалансированной / честной?


40

Этот вопрос сосредоточен не на видеоиграх, а на играх в целом. Вчера я пошел на выставку настольных игр и спросил себя, есть ли способ рассчитать честность игры. Конечно, некоторым из них требуется удача, но можно рассчитать, если какой-то персонаж одолел. Особенно в ролевых и торговых карточных играх. Как, например, создатели "Magic: The Gathering" могут убедиться, что не существует "одной карты, которая победит их всех", учитывая внушительное количество доступных карт?


2
В качестве примечания отметим, что есть игры, в которых строго игра на победу делает игру менее интересной для всех . «Однажды» - один из таких особенно примечательных примеров, но в целом вся «социальная» категория игр полна ими.
Мартин Сойка

3
Создатели MtG проводят множество игровых тестов, и когда даже это не помогает (иногда есть комбо, позволяющие вам выиграть в первый ход), они запрещают карты на турнирах (предупреждение, TVTropes).
Лиори

1
Хорошо, запустите кучу симуляций / соберите данные. Вот как они выполняют балансировку в StarCraft 2 ... Они измеряют, какие юниты используются чаще всего, а какая раса побеждает больше всего. Сбор данных - ключ к сложным играм, а статистика так же хороша, как математика. Я бы даже сказал, что лучше, так как вы поймете и психологические эффекты. Вот почему не так много математиков, играющих в покер, чем вы ожидаете.
За Александерссон

Некоторые из лучших немецких настольных игр разработаны математиками (например, Райнером Книзией ), которые специализируются на теории игр, и это видно. Игры Knizia, в частности, чрезвычайно хорошо сбалансированы.
Конрад Рудольф

До сих пор создатели MTG часто терпели неудачи в этом и выпускали карты, которые оказались слишком сильными (часто из-за взаимодействия с другими картами, которые они не рассматривали), поэтому их пришлось запретить в официальной игре на турнире.
Филипп

Ответы:


34

Да, это теоретически возможно - это хорошая часть теории игр, которая занимается этим вопросом.

Тем не менее, это очень редко практично , и даже тогда, в основном, только для игр, в которых не используется рандомизатор (Шахматы, Реверси, Го и т. Д.). Комбинаторный взрыв гарантирует, что теоретическое время, необходимое для таких доказательств в более сложных играх, таких как Magic the Gathering, может быть на несколько порядков больше, чем текущий возраст вселенной.

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


11
Добавьте к этому, что игра, которая доказала свою честность, не обязательно воспринимается игроками как справедливая. И именно восприятие действительно имеет значение в большинстве случаев.
Nevermind

4
Также ни «Шахматы», ни «Го» не были «доказаны» как честные. В шахматах неизвестно, есть ли у белого игрока преимущество. В Го разные страны имеют разные коми , поэтому Го не может быть справедливым, по большей части, во всех, кроме одного.
BlueRaja - Дэнни Пфлюгофт

4
@BlueRaja: Теория игр абсолютно дает нам инструменты для анализа честности в играх, например, равновесие Нэша. Если выплаты равны, то игра справедлива. Если выплаты неравны, игра не справедлива. Суть в том, что не все игры имеют уникальное равновесие по Нэшу, а большинство интересных игр не имеют вычислительно-ориентированного, даже если они есть (и это, вероятно, по определению «интересно»). Но теория игр абсолютно охватывает эту область.

5
На самом деле, даже если игра абсолютно случайная, она может оказаться честной. Например, подбросьте монетку: головы у меня выигрывают, хвосты у вас выигрывают. Математическое определение справедливости E (ProfitOrLoss) = 0 в долгосрочной перспективе. Джо Wreschnig выше имеет самый точный комментарий здесь.
kfmfe04

1
@ BlueRaja-DannyPflughoeft: разные коми в го: помните, что выигрыш тоже немного отличается, поэтому сравнение имеет смысл только при рассмотрении обоих эффектов.
Питер Гиркенс

5

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

Проще говоря: если игрок 1 выигрывает ровно половину всех возможных игр в игре, игра сбалансирована. Если это не так, игра смещена в сторону одного игрока или другого.

Однако это простое правило может быть совершенно неосуществимо на практике. Go, например, имеет сложность дерева игр порядка 10 ^ 170 возможных игр, больше, чем количество атомов, которые, как считается, существуют в известной вселенной. Считается, что невозможно составить исчерпывающее дерево игр. Тем не менее, библиотека игр, в которые были сыграны и записаны, исчисляется миллионами и предполагает, что игра имеет «преимущество первого хода» (которое обычно смягчается 1,5 очками «коми», отданными белым).

В отличие от этого, даже учитывая большие общие сложности игрового дерева, все игры M, N, K (игровая доска с шириной M, высотой N, в которой игрок должен создать ряд из K фигур, размещая и никогда перемещение / удаление их) решаются, потому что есть ярлык; целые «ветви» игрового дерева могут быть идентифицированы как всегда вызывающие проигрыш одного или другого игрока. Остальные ветви следуют шаблону, который можно идентифицировать. Крестики-нолики - очевидный пример; В дополнение к наличию только 300 000 возможных игр, есть только 16, в которых один игрок или другой не делает ход, который, очевидно, позволит другому игроку выиграть на следующем ходу. Таким образом, дерево игр начинается с малого и становится меньше, если учесть игры, которые на самом деле могут делать игроки.

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

В целом применяется следующее правило: если дизайн игры по своей сути приводит к неравенству в одном или нескольких из следующих элементов, игра имеет тенденцию к смещению:

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

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

Для большего обсуждения предвзятости в настольных играх, попробуйте форумы http://www.geekdo.com ; было несколько обсуждений продемонстрированного смещения в играх, и как избежать указанного смещения в разработке игр в целом.


3

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

Вы не можете реально сравнивать различные игровые параметры и составлять какой-то показатель силы того, насколько хорош персонаж (если ваша игра не очень простая), потому что все они по-разному влияют на ваш игровой процесс и зависят от того, как они реализованы (например, как вы можете оценить, как сила соотносится с жизненной силой? Как дать числовое значение специальной атаке персонажа?).

Вы должны проверить свою игру. Много . Играйте в свою игру самостоятельно, заставьте других играть в нее и сохраните результаты сражений / игр в файле, чтобы получить статистику и оценить, как часто выигрывают определенные персонажи, при каких обстоятельствах и т. Д. Затем убедитесь, что вы реализовали какой-либо способ проверки повторов. или проанализируйте игровой процесс, чтобы увидеть, почему такой персонаж одолел, и примените изменения соответствующим образом.

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

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


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

2
Для тех, кто отрицал, почему так?
Джесси Эмонд

1
Тестирование на месте. Введите новую карту? Проведите его через крупномасштабную симуляцию рандомизированных колод, чтобы увидеть, как часто она была частью выигрышной колоды. Если большинство выигрышных игр были связаны с новой картой, вам следует уменьшить ее и повторить попытку.
waterwizard11

2

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

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

И так далее.

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


1

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

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

Тогда мы можем искать доминирующие / доминируемые стратегии (вещи, которые ВСЕГДА делают, и вещи, которые НИКОГДА не делают). Игра как минимум интересна, если в ней нет доминирующих стратегий.

Тогда мы можем посмотреть, что каждый игрок может гарантировать для себя. для каждого «МОЕГО» выбора посмотрите на худший возможный результат и выберите тот, который имеет этот лучший результат.

Если между игроками много разного, в игре что-то гнилое.

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

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

Другая форма игры - игра, в которой игроки по очереди и знают все, что делают другие (шахматы). Там вы можете попытаться найти доминирующую стратегию, выполнив поиск по дереву состояний игры (обычно это ОГРОМНО, поэтому, опять же, слишком сложно в использовании). И многие игры не имеют полного знания, и это сильно усложняет ситуацию.

Другой подход, посмотрите на вещи в игре и попробуйте их сравнить.

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

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

PS: Вы можете замаскировать одно и то же, заменив один атрибут на несколько, которые вместе можно использовать для вычисления начального атрибута, и сделав все гораздо более случайным, чтобы игроки не увидели эту одинаковость (

Остерегайтесь того, что в этом легко допустить ошибку (например, быстрые маленькие атаки против больших медленных атак), потому что 18 бросков на d6 -18 дают результаты 0-90, 10 бросков на d10-10 дают результаты 0-90 1 бросок на d91-1 дает результаты 0-90, но все они имеют разные распределения.

PS2: Один мудрец сказал, что фактический баланс не важен, Воспринимается баланс.


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

Одна вещь, которую я забыл: наличие доминирующей стратегии не должно быть проблемой, если ее действительно сложно выполнить, даже если игрок ЗНАЕТ ее. В упрощенном примере, выстрел в голову является доминирующей стратегией в FPS, но многие игроки стремятся к центру масс, потому что его легче поразить, но оптимальный бот всегда будет стрелять в голову.
user470365 22.10.11

1

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

Возможно, вы знакомы с симуляциями Монте-Карло или генетическими алгоритмами. Идея здесь связана. Вам нужен ИИ, чтобы играть в игру, и некоторые ключевые измерения. Вы позволяете ИИ сражаться друг с другом в большом турнире, достаточно часто, с разными стартовыми переменными, и вы измеряете результаты.

Я всегда хотел попробовать такой подход, чтобы сбалансировать классы / оружие, это было бы очень весело.


1

С точки зрения теории вычислений, кажется, что ответить на это невозможно вообще . Он задает вопрос о свойстве программы, и теорема Райса может применяться. Я предполагаю, что игра относится к программе, написанной на языке Turing Complete, таком как c ++. Я также предполагаю, что вычисление или доказательство того, является ли игра честной, означает, что существует программа на С ++, которая читает программу на С ++ (игровая программа) и завершает за конечное время все возможные входные данные. , с только двумя выходными , справедливыми или несправедливо.

Быстрый поиск показывает, что возможно иметь детерминированную, но неразрешимую игру, см. Слайд 7 здесь и из Международного журнала теории игр: некоторые неразрешимые решительные игры:

«Вычислительные машины, использующие алгоритмы, играют в игры и даже учатся играть в игры. Однако присущие им свойства конечности алгоритмов накладывают ограничения на игровые возможности машин. М. Рабин проиллюстрировал это ограничение в 1957 году, создав игру, в которой два человека выигрывают и проигрывают. с разрешимыми правилами, но без вычислимых выигрышных стратегий. "

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


0

Я действительно хотел прокомментировать ответ Мартина Сойки, но у меня нет репутации. Он прав, что теория игр включает в себя вычисление честности игры (например, остается открытым вопрос, если в шахматной игре, где и белые, и черные отлично сыграли, будет ли это ничья).

Для MtG вполне может оказаться невозможным вычислить, насколько это справедливо, но никто математически не доказал, что вычисления будут невозможны.

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


Удалите 109 символов, и я преобразую это в комментарий для вас.
Джесси Дорси

-2

То, что подразумевается под «честным», расплывчато, позвольте мне объяснить:

Рассмотрим игру «Рок-бумага-ножницы» (http://en.wikipedia.org/wiki/Rock-paper-scissors): я полагаю, что, по вашему мнению, это справедливо (по моему мнению).

Теперь давайте рассмотрим игру: камень-бумага-ножницы-колодец, где колодец бьет камень и бумагу, а колодец проигрывает против бумаги. Несбалансированно, верно? Колодец кажется довольно мощным: он бьет два оружия и проигрывает против одного.

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

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

Я бы рекомендовал почитать теорию игр и особенно игры с несовершенной информацией (http://en.wikipedia.org/wiki/Game_theory).


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

-1. Справедливо это или нет, может быть известно или неизвестно (и если неизвестно, выполнимо знать или невозможно знать), но теория игр дает нам множество инструментов для определения «справедливости» без неопределенности.

Как, например, создатели «Сборов» могут убедиться, что не существует «одной карты, которая их всех побеждает» -> Я пытался выделить это предложение и показать автору, что его концепция «справедливости» это не так. В противном случае, например, в такой игре, как «Магия», люди обычно не имеют таких же карт, как их противник, поэтому даже если люди начинают играть одновременно (на самом деле я не знаю), это может быть нечестно. И аналогия игры «Камень-бумага-ножницы», возможно, не лучшая, но она объясняет мою точку зрения.
JohnCastle

@JohnCastle Здесь не место обсуждать оценку ФП, так как это будет дискуссия, а не дискуссионная доска (используйте чат для этого). Исключением будет, если ваш пост ответит на вопрос и обсудит концепцию справедливости ОП как часть этого.
Doppelgreener

@JonathanHobbs, Как вы можете доказать справедливость, если она не определена правильно? Это правда, что мой пост на самом деле не является ответом - я должен был написать только под основным постом, я не осознавал - но я думаю, что важно определить справедливость, прежде чем ответить на вопрос.
ДжонКастл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.