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

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

38 голосов | спросил Lurca 21 +04002011-10-21T17:02:17+04:00312011bEurope/MoscowFri, 21 Oct 2011 17:02:17 +0400 2011, 17:02:17

9 ответов


33

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

Однако это редко бывает практический , и даже тогда, в основном, для игр, в которых нет рандомизатора (Chess, Reversi, Go и т. д.). Комбинаторный взрыв гарантирует, что теоретическое время, необходимое для таких доказательств для более сложных игр, таких как Magic the Gathering, может быть легко на несколько порядков дольше, чем текущий возраст Вселенной.

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

ответил Martin Sojka 21 +04002011-10-21T17:32:46+04:00312011bEurope/MoscowFri, 21 Oct 2011 17:32:46 +0400 2011, 17:32:46
5

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

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

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

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

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

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

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

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

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

ответил KeithS 21 +04002011-10-21T23:37:27+04:00312011bEurope/MoscowFri, 21 Oct 2011 23:37:27 +0400 2011, 23:37:27
3

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

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

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

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

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

ответил Jesse Emond 21 +04002011-10-21T17:29:00+04:00312011bEurope/MoscowFri, 21 Oct 2011 17:29:00 +0400 2011, 17:29:00
2

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

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

И так далее.

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

ответил Kylotan 21 +04002011-10-21T19:24:07+04:00312011bEurope/MoscowFri, 21 Oct 2011 19:24:07 +0400 2011, 19:24:07
1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ответил user470365 21 +04002011-10-21T17:47:44+04:00312011bEurope/MoscowFri, 21 Oct 2011 17:47:44 +0400 2011, 17:47:44
1

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

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

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

ответил ADB 24 +04002011-10-24T23:48:18+04:00312011bEurope/MoscowMon, 24 Oct 2011 23:48:18 +0400 2011, 23:48:18
1

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

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

ответил user6552 28 +04002013-10-28T10:34:58+04:00312013bEurope/MoscowMon, 28 Oct 2013 10:34:58 +0400 2013, 10:34:58
0

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

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

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

ответил psr 21 +04002011-10-21T21:52:33+04:00312011bEurope/MoscowFri, 21 Oct 2011 21:52:33 +0400 2011, 21:52:33
-2

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

Считайте игру Rock-paper-cissors (http://en.wikipedia.org/wiki/Rock-paper- Scissors): по твоему мнению, это справедливо, я полагаю (по моему мнению).

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

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

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

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

ответил JohnCastle 21 +04002011-10-21T20:58:13+04:00312011bEurope/MoscowFri, 21 Oct 2011 20:58:13 +0400 2011, 20:58:13

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132