Чи можна обчислити чи математично довести, чи гра збалансована / справедлива?


40

Це питання стосується не відеоігор, а загалом ігор. Я вчора зайшов на ярмарку настільних ігор і запитав себе, чи є спосіб порахувати справедливість гри. Звичайно, деяким з них потрібна хороша порція удачі, але, можливо, можна було б порахувати, якщо якийсь персонаж пересичений. Особливо в рольових іграх та торгових картах. Як, наприклад, творці "Magic: The Gathering" можуть переконатися, що немає "однієї карти, яка б'є їх усіх", враховуючи вражаючу кількість доступних карток?


2
Як бічна примітка, є ігри, де грати суворо, щоб виграти, робить гру менш цікавою для всіх . Once Once a Time - один з таких особливо помітних прикладів, але загалом ціла "соціальна" категорія ігор їх сповнена.
Мартін Сойка

3
Творці MtG роблять безліч ігрових тестів, і коли навіть це не допомагає (іноді є комбінації, які дозволяють виграти в першу чергу), вони забороняють картки на турнірах (попередження, TVTropes).
liori

1
Ну, запустіть купу симуляцій / збирайте дані. Ось так вони врівноважують StarCraft 2 ... Вони вимірюють, які одиниці використовуються найбільше, а яка гонка виграє найбільше. Збір даних - це ключ до складних ігор, а статистика так само хороша, як і математика. Ще краще я б сказав, оскільки ви будете фіксувати і психологічні наслідки. Тому не так багато математиків, які грають в покер, ніж ви очікуєте.
Пер Олександрссон

Деякі з кращих німецьких настільних ігор розроблені математиками (наприклад, Reiner Knizia ), які спеціалізуються на теорії ігор, і це показує. Зокрема, ігри Кнізії надзвичайно добре збалансовані.
Конрад Рудольф

Поки творці MTG часто не справлялися з цим і випускали картки, які виявилися значно переможеними (часто через взаємодію з іншими картками вони не вважали), тому їх доводилося забороняти в офіційній грі турніру.
Філіп

Відповіді:


34

Так, теоретично це можливо - це хороша частина теорії ігор, яка займається цією темою.

Однак, це дуже рідко практично , і навіть тоді в основному лише для ігор, які не включають рандомізаторів (Шахи, Реверсі, Перейти тощо). Комбінаторний вибух гарантує, що теоретичний час, необхідний для таких доказів для складніших ігор, як Magic the Gathering, може легко бути на кілька порядків довший, ніж поточний вік Всесвіту.

Зрештою, для будь-якої нетривіальної гри вам, швидше за все, доведеться відмовитися від поняття доведення балансу чи справедливості гри і замість цього перейти до поєднання здорового глузду, дизайнерських інстинктів, повторного використання ігрової системи та впродовж тестування.


11
Додайте до цього, що гра, яка виявилася справедливою, не обов'язково її гравці сприймають як чесну. І саме сприйняття насправді має велике значення.
Nevermind

4
Крім того, ні "Шахи", ні "Го" не було "доведено", щоб бути справедливими. У Шахах невідомо, чи має гравець білих перевагу чи ні. У Go в різних країнах є різні комі , тому Go не може бути справедливим у більшості випадків, окрім однієї з них.
BlueRaja - Danny Pflughoeft

4
@BlueRaja: Теорія ігор абсолютно дає нам інструменти для аналізу справедливості в іграх, наприклад, рівновагу Неша. Якщо виграші рівні, то гра справедлива. Якщо окупність неоднакова, гра не є справедливою. Проблема полягає в тому, що не всі ігри мають унікальну рівновагу Неша, і більшість цікавих ігор не мають обчислювальних даних, навіть якщо вони є (і це, мабуть, за визначенням "цікавих"). Але теорія ігор абсолютно охоплює цю область.

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

1
@ BlueRaja-DannyPflughoeft: re різні Komi в програмі Go: Пам'ятайте, що оцінка також трохи відрізняється, тому порівняння має значення лише при розгляді обох ефектів.
Пітер Геркенс

5

Коротка відповідь: Будь-яка гра з кінцевою, навіть якщо не визначеною, кількість доступних ходів, таким чином, містить обмежену кількість можливих ігор. Будь-яка гра з обмеженою «складністю дерев ігор» теоретично може проаналізувати всі можливі ігри, щоб визначити, чи однакова кількість ігор, у яких виграв би кожен гравець.

Простіше кажучи: якщо Гравець 1 виграє рівно половину всіх можливих ігор гри, то гра збалансована. Якщо це неправда, гра є упередженою щодо одного чи іншого гравця.

Однак це просте правило може бути досить нездійсненним на практиці. Наприклад, складність ігрових дерев становить близько 10 ^ 170 можливих ігор, більше, ніж кількість атомів, які, як вважається, існують у відомому Всесвіті. Вважається неможливим скласти вичерпне дерево ігор. Однак бібліотека ігор, що граються та записуються, є мільйонами, і це дозволяє припустити, що гра має "перевагу в першому кроці" (яка, як правило, пом'якшується за допомогою 1,5 балів "комі", наданих Білому).

На противагу тому, що навіть з огляду на великі загальні ігрові складнощі, всі ігри M, N, K (сітчаста дошка шириною M, N висоти, в якій об’єкт для гравця створює ряд K-штук, розміщуючи і ніколи переміщення / видалення їх) вирішуються, оскільки є ярлик; цілі «гілки» ігрового дерева можна ідентифікувати як завжди, що призводять до того, що той чи інший гравець програє. Решта гілок слідують шаблону, який можна визначити. Tic-Tac-Toe - очевидний приклад; окрім того, що у вас є лише 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: Один мудрець сказав, що фактичний баланс не важливий, сприйнятий баланс є.


Концепція домінуючої стратегії є дуже важливою. Наявність домінуючої стратегії в будь-якій ситуації передбачає притаманну несправедливості, хоча зазвичай це призводить до надмірності в дизайні, а не до проблеми балансу як такої. Але дизайнеру необхідно вміти уникати домінуючих стратегій, щоб дати кожному елементу шанс мати чітку мету.
Килотан

Я забув одне: існування домінуючої стратегії не повинно бути проблемою, доки її реально важко виконати, навіть якщо гравець знає її. Спрощений приклад, хедшотінг є домінуючою стратегією в FPS, але багато гравців ідуть в центр маси, тому що його легше влучити, але оптимальний бот завжди буде працювати в голову.
user470365

1

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

Можливо, ви знайомі з моделюванням Монте-Карло або генетичними алгоритмами. Ідея тут стосувалася. Вам потрібен AI, щоб грати в гру і деякі ключові вимірювання. Ви відпускаєте AI один на одного у великому турнірі, досить часто, з різними стартовими змінними, і ви вимірюєте результати.

Я завжди хотів спробувати такий підхід, щоб збалансувати класи / зброю, це було б цікаво.


1

З теорії обчислення точки зору, це звучить , як відповісти на це неможливо взагалі . Це задає питання про властивість програми і може застосовуватися теорема Райса . Моє припущення, що гра стосується програми, написаної мовою Turing Complete, як c ++. Я також припускаю, що обчислити або довести, чи гра гра справедлива, означає, що існує програма c ++, яка читає програму c ++ (ігрова програма) і закінчується в кінцевий проміжок часу для всіх можливих входів , маючи лише два виходи, справедливо або несправедливо.

Швидкий пошук показує, що можна проводити детерміновану, але не визначену гру. Див. Слайд 7 тут і з Міжнародного журналу теорії ігор: Деякі не визначені визначені ігри:

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

Людський мозок, мабуть, більш "потужний", ніж комп'ютери, тому що ми можемо отримати та застосувати минулі знання, а іноді, здається, суперечать таким результатам, як проблема зупинки, шляхом пошуку нескінченних циклів у програмах. Але як ми це робимо, невідомо і не може бути записано точно і однозначно в алгоритмі.


0

Я дуже хотів прокоментувати відповідь Мартина Сойка, але репутації у мене немає. Він правдивий, що Теорія ігор включає обчислення справедливості гри (наприклад, це питання відкрито, якщо в шаховій грі, де і білі, і чорні грали ідеально, чи це було б поєднання).

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

Це може бути тривіально довести, що це справедливо - якщо випадково хто йде першим, і всі грають за тими ж правилами, то це справедливо. Можливо, той, хто йде першим, завжди перемагає, але якщо хто йде першим, це вирішується справедливо, то гра справедлива.


Видаліть 109 символів, і я перетворять це на коментар для вас.
Джессі Дорсі

-2

Що мається на увазі під "справедливим", неясне, дозвольте мені пояснити:

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

Тепер давайте розглянемо гру: Rock-paper-cissors-well, де колодязь б’є скелю, а папір і колодязь програє проти паперу. Неврівноважений, правда? Свердловина здається досить переповненою: вона б’є дві зброї і програє проти однієї.

Але можна сказати, що він зовсім не переможений: адже якщо ти знаєш, що твій опонент частіше використовує колодязь, бо б'є дві зброї, ти можеш просто діяти, вибираючи папір частіше.

Отож є відповідь на потенційний переможений колодязь: просто вибирайте частіше папір. Але тоді ви знаєте, що ваш опонент може це знати і, можливо, використовує папір досить часто, тому ви думаєте, що вам слід використовувати цизари частіше. І т. Д. Не дуже переможена, просто інша гра з різними правилами.

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


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

-1. Чи це справедливо чи ні, можна знати чи невідомо (а якщо невідомо, можливо здійснити чи неможливо знати), але теорія ігор дає нам безліч інструментів для визначення "справедливих" без розпливчастості.

Як, наприклад, творці "Збору" можуть переконатися, що не існує "тієї картки, яка б'є їх усіх" -> Я намагався виділити це речення і показати авторові, що його концепція "справедливості" не вірно. Інакше, наприклад, у такій грі, як Magic, люди зазвичай не мають таких самих карт, як їхній противник, хоча люди стартують одночасно (я не знаю насправді), це може бути не справедливо. І аналогія гри Rock-paper-cissors, можливо, не найкраща для розгляду, але це пояснює мою думку.
JohnCastle

@JohnCastle Це не місце для обговорення оцінки ОП щодо справедливості, оскільки це було б обговоренням, а це не дискусійна дошка (використовуйте для цього чат). Винятком буде, якщо ваша публікація відповідає на питання та обговорює концепцію справедливості ОР як частину цього.
doppelgreener

@JonathanHobbs, Як ви можете довести справедливість, якщо вона неправильно визначена? Це правда, що мій пост насправді не є відповіддю - я повинен був розміщувати лише під основним повідомленням, я не усвідомлював цього, - але я вважаю, що важливо визначити справедливість, перш ніж відповісти на питання.
JohnCastle
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.