È possibile calcolare o dimostrare matematicamente se un gioco è bilanciato / giusto?


40

Questa domanda non è focalizzata sui videogiochi ma sui giochi in generale. Ieri sono andato a una fiera del gioco da tavolo e mi sono chiesto se esiste un modo per calcolare l'equità di un gioco. Certo, alcuni di loro richiedono una buona dose di fortuna, ma potrebbe essere possibile calcolare se un personaggio è sopraffatto. Soprattutto nei giochi di ruolo e nei giochi di carte collezionabili. Come, ad esempio, i creatori di "Magic: The Gathering" possono assicurarsi che non ci sia "una carta che li batte tutti", dato il numero impressionante di carte disponibili?


2
Come nota a margine, ci sono giochi in cui giocare rigorosamente per vincere sta rendendo il gioco meno divertente per tutti . Once Upon a Time ne è un esempio particolarmente notevole, ma in generale l'intera categoria di giochi "social" ne è piena.
Martin Sojka,

3
I creatori di MtG fanno molti playtest e quando anche questo non aiuta (a volte ci sono combo che ti permettono di vincere al primo turno), bandiscono le carte dai tornei (avvertimento, TVTropes).
liori,

1
Bene, esegui un sacco di simulazioni / raccogli dati. È così che fanno il bilanciamento in StarCraft 2 ... Misurano quali unità sono più utilizzate e quale razza vince di più. La raccolta dei dati è la chiave per giochi complessi e le statistiche sono altrettanto buone quanto la matematica. Ancora meglio direi, dal momento che catturerai anche effetti psicologici. Ecco perché non ci sono molti matematici che giocano a poker di quanto ti aspetti.
Per Alexandersson,

Alcuni dei migliori giochi da tavolo tedeschi sono sviluppati da matematici (ad esempio Reiner Knizia ) specializzati in teoria dei giochi, e lo dimostra. I giochi di Knizia in particolare sono estremamente ben bilanciati.
Konrad Rudolph,

Finora, i creatori di MTG hanno fallito frequentemente in questo e hanno rilasciato carte che si sono rivelate molto potenti (spesso a causa delle interazioni con altre carte che non hanno preso in considerazione), quindi hanno dovuto essere bandite durante i tornei ufficiali.
Philipp,

Risposte:


34

Sì, è teoricamente possibile - questa è una buona parte della teoria dei giochi che affronta questo argomento.

Tuttavia, è solo raramente pratico , e anche allora principalmente solo per giochi che non coinvolgono un randomizzatore (Chess, Reversi, Go e così via). Esplosione combinatoria assicura che il tempo teorico necessario per tali prove per giochi più complessi come Magic the Gathering possa essere facilmente più lungo di diversi ordini di grandezza rispetto all'età attuale dell'universo.

Alla fine, per qualsiasi gioco non banale dovresti probabilmente abbandonare l'idea di dimostrare l' equilibrio o l'equità di un gioco e andare invece con una combinazione di buon senso, istinto del designer, riutilizzo del sistema di gioco e durante i test.


11
Aggiungete a ciò che un gioco che si è dimostrato giusto non è necessariamente percepito come giusto dai suoi giocatori. Ed è la percezione che conta davvero il più delle volte.
Nevermind,

4
Inoltre, né Chess né Go si sono dimostrati "equi". Negli scacchi, non è noto se il giocatore bianco abbia o meno un vantaggio. In Go, diversi paesi hanno komi diversi , quindi Go non può essere giusto, al massimo, in tutti tranne uno.
BlueRaja - Danny Pflughoeft,

4
@BlueRaja: la teoria dei giochi ci offre assolutamente strumenti per analizzare l'equità nei giochi, ad esempio l'equilibrio di Nash. Se i guadagni sono uguali, allora il gioco è giusto. Se i profitti non sono uguali, il gioco non è giusto. Il problema è che non tutti i giochi hanno un unico equilibrio di Nash e i giochi più interessanti non ne hanno uno trattabile dal punto di vista computazionale anche se ne hanno uno (e questo è probabilmente per definizione di "interessante"). Ma la teoria dei giochi copre assolutamente questo dominio.

5
In realtà, anche se il gioco è totalmente casuale, si può dimostrare che è giusto. Ad esempio, lancia una moneta: teste io vinco, croce tu vinci. La definizione matematica di equità è E (ProfitOrLoss) = 0 nel lungo periodo. Joe Wreschnig sopra ha il commento più accurato qui.
kfmfe04,

1
@ BlueRaja-DannyPflughoeft: re diversi Komi in Go: ricorda che anche il punteggio è leggermente diverso, quindi un confronto è significativo solo se si considerano entrambi gli effetti.
Pieter Geerkens,

5

Risposta breve: qualsiasi gioco con un numero finito, anche se non definito, di mosse disponibili ha quindi un numero finito di possibili giochi. Ogni gioco con una "complessità dell'albero dei giochi" finita può teoricamente avere analizzato tutti i giochi possibili per determinare se il numero di giochi in cui ogni giocatore avrebbe vinto è uguale.

In poche parole: se il Giocatore 1 vince esattamente la metà di tutte le possibili giocate di una partita, la partita è bilanciata. Se questo non è vero, il gioco è distorto verso un giocatore o l'altro.

Tuttavia, questa semplice regola può essere abbastanza impossibile da mettere in pratica. Go, ad esempio, ha una complessità dell'albero dei giochi dell'ordine di 10 ^ 170 giochi possibili, più del numero di atomi che si ritiene esistano nell'universo conosciuto. Si pensa che sia impossibile compilare un albero di gioco esaustivo. Tuttavia, la libreria di giochi giocati e registrati è a milioni e suggerisce che il gioco ha un "vantaggio di prima mossa" (che è in genere mitigato con 1,5 punti di "komi" dati a White).

Contrariamente a ciò, anche date le complesse complessità complessive dell'albero di gioco, tutti i giochi M, N, K (una griglia di larghezza M, altezza N, in cui l'oggetto è per un giocatore creare una fila di K pezzi posizionando e mai spostandoli / rimuovendoli) vengono risolti perché esiste un collegamento; interi "rami" dell'albero del gioco possono essere identificati come causa sempre della perdita di un giocatore o dell'altro. I rami rimanenti seguono un modello che può essere identificato. Tic-Tac-Toe è l'esempio ovvio; oltre ad avere solo 300.000 partite possibili, ce ne sono solo 16 in cui un giocatore o l'altro non fa una mossa che ovviamente farà vincere l'altro giocatore alla mossa successiva. Quindi, l'albero di gioco inizia in piccolo e diventa più piccolo se si considerano i giochi che i giocatori probabilmente realizzeranno.

Nei giochi con un elemento di fortuna, la complessità dell'albero di gioco è gonfiata oltre il numero di decisioni disponibili per ciascun giocatore. Poiché il gioco non viene più giocato con "informazioni perfette", come negli scacchi, nelle pedine, nel gioco, Otello, ecc., È possibile che un giocatore che abbia giocato perfettamente con le informazioni conosciute al momento perda ancora contro il gioco elemento casuale. Questi giochi non hanno "soluzione"; tuttavia, di solito esiste ancora un albero di gioco finito e quindi teoricamente i giochi potrebbero ancora essere analizzati in modo esauriente. Questo di solito non è ancora possibile; invece i giochi che implicano probabilità vengono analizzati probabilisticamente per identificare le strategie di "scommessa migliore" e se queste strategie sono mostrate per favorire il giocatore che le usa, indipendentemente dalla strategia usata da qualsiasi altro giocatore (inclusa la stessa strategia),

In generale, si applica la seguente regola: se il design del gioco porta intrinsecamente alla disuguaglianza in uno o più dei seguenti, il gioco ha un pregiudizio:

  • Numero di mosse totali per ciascun giocatore
  • Numero di mosse disponibili in un dato momento che consentiranno almeno un'altra mossa per quel giocatore
  • Forza iniziale delle forze dei giocatori
  • Accesso a risorse limitate o aree di rilevanza strategica identificata

Ora, il design del gioco può introdurre una disuguaglianza ma tentare di compensare con un'altra. Oppure, il design del gioco può consentire casualità in aree che possono produrre parzialità, il che significa che un gioco potrebbe essere distorto mentre un altro è più equo (i giochi con schede di partenza casuali possono esibire questo). In questi casi, solo un'analisi empirica dei giochi tra giocatori di forza pressoché uguale nel lungo termine può dimostrare qualsiasi pregiudizio.

Per ulteriori discussioni sui pregiudizi nei giochi da tavolo, prova i forum di http://www.geekdo.com ; ci sono state diverse discussioni su un pregiudizio dimostrato nei giochi e su come evitare tale pregiudizio nello sviluppo del gioco in generale.


3

Immagino che non ci sia una formula matematica prefabbricata per valutare quanto sia giusto un gioco a causa di come ogni gioco sia così diverso e complesso.

Non puoi davvero confrontare diversi parametri di gioco e creare una sorta di punteggio di potenza di quanto è buono un personaggio (a meno che il tuo gioco non sia molto semplice) perché tutti influenzano il tuo gameplay in modo diverso e dipendono da come sono implementati (ad esempio come puoi valutare in che modo la forza si collega alla vitalità? Come si dà un valore numerico all'attacco speciale di un personaggio?).

Devi testare il tuo gioco. Un sacco . Gioca da solo e fai giocare gli altri e memorizza i risultati della battaglia / gioco in un file per fare statistiche e valutare la frequenza con cui alcuni personaggi vincono, in quali circostanze, ecc. Quindi, assicurati di implementare un modo per controllare i replay o analizzare il gameplay per vedere perché un personaggio del genere è sopraffatto e applicare le modifiche di conseguenza.

Davvero, non hai altra scelta che testare. Questo è uno dei motivi per cui esistono beta (ad es. Starcraft2 come beta ha dato a Blizzard l'opportunità di bilanciare le 3 gare in base ai risultati del gioco).

Per riassumere, gioca e fai giocare gli altri (l'avvio di una beta è un'opzione). Scopri perché il gioco è sbilanciato attraverso replay o analisi automatizzate e modifica ciò che deve essere modificato di conseguenza. Questo è l'unico modo in cui ti avvicinerai all'equità.


1
+1 per testare il tuo gioco . Il beta test è importante nei videogiochi e nei giochi da tavolo, più persone testano il tuo gioco, più è probabile che qualcuno trovi quella carta rotta o incantesimo che rovina tutto.
thedaian,

2
A chi ha effettuato il downvoting, perché?
Jesse Emond,

1
Il test è perfetto. Introdurre una nuova carta? Esegui una simulazione su larga scala di mazzi randomizzati per vedere quanto spesso faceva parte del mazzo vincente. Se la maggior parte delle giocate vincenti erano legate alla nuova carta, allora dovresti attenuarla e riprovare.
Waterwizard11,

2

Per essere in grado di dimostrare che un gioco era bilanciato o giusto, dovresti definire prima cosa significa equilibrato o giusto. Questi sono termini piuttosto vaghi che possono comprendere una serie di cose, ad esempio "equilibrio" del gioco è spesso inteso come:

  • ognuna delle diverse parti ha le stesse possibilità di vincere
  • la progressione nel gioco diventa sempre più impegnativa
  • le decisioni prese all'interno del gioco offrono rapporti di costo / payoff identici in alcuni / quasi / tutti i casi

E così via.

In generale, sono un fan del provare matematicamente cose come questa, ma per provare qualsiasi cosa attraverso la logica o il test devi prima definirlo chiaramente. Alcuni aspetti dell'equilibrio sono facili da testare attraverso la matematica se si è in grado di comprendere correttamente le regole del gioco. Altri sono molto più difficili da giudicare senza semplicemente condurre test empirici. Il problema principale è che la maggior parte dei progettisti di giochi non capisce veramente le meccaniche del loro gioco, dal momento che di solito finiscono per fondere le regole del gioco in una simulazione circostante, e quest'ultima è molto difficile da modellare accuratamente.


1

Teoricamente è possibile, ma per la maggior parte dei giochi è estremamente difficile, quindi può essere considerato impossibile.

Un approccio: converti il ​​gioco in forma normale. Il gioco in forma normale è un insieme di strategie per ogni giocatore e funzione che dice quanto è buono il risultato quando per una data combinazione di scelte. Il fattore casuale può essere modellato come un altro giocatore.

Quindi possiamo cercare strategie dominanti / dominate (cose da fare SEMPRE e cose da MAI fare). Il gioco è in qualche modo interessante, se non contiene strategie dominanti.

Quindi possiamo vedere cosa ogni giocatore può garantire per se stesso. per ciascuna delle "MIE" scelte, guarda il risultato peggiore possibile e prendi la scelta che ha questo meglio.

Se differisce molto tra i giocatori, c'è qualcosa di marcio nel gioco.

Ci sono altre cose da guardare (strategia mista dominante (scegliere ogni scelta con una certa probabilità), equilibri nash (combinazioni che una volta che tutti i giocatori sanno che gli altri faranno, sono localmente le migliori per tutti)).

Ma il primo passo è estremamente complicato per la maggior parte dei giochi, quindi di solito non è così utile. Ma può essere usato se puoi estrarre dettagli complicati / sostituire strategie con insiemi di strategie riconoscibili (ad es. Ordini di costruzione iniziali) e ottenere una approssimazione statistica dai giochi effettivamente giocati e può dirti qualcosa sui problemi nel gioco. Immagino che qualcosa come questo blizard faccia con SC.

Un'altra forma di gioco è quella in cui i giocatori si alternano e sanno tutto ciò che fanno gli altri (scacchi). Lì puoi provare a cercare la strategia dominante cercando l'albero di gioco dello stato (e di solito è ENORME, quindi di nuovo, troppo complicato da usare). E molti giochi sono senza conoscenza totale e questo complica molto le cose.

Un altro approccio, guarda le cose nel gioco e prova a confrontarle.

Un altro approccio: per il combattimento di gruppo (specialmente con partecipanti con grandi quantità) puoi provare a usare la simulazione della forza sulla forza (non l'ho mai usata e richiede matematica elevata (equazioni diferenziali) e duro lavoro per convertire il gioco in un modello appropriato).

Quindi la mia conclusione, molte cose possono essere fatte per bilanciare i sottosistemi di gioco, e quando il gioco è fuori (e durante il più betatest), molto può essere fatto analizzando i risultati, ma a meno che non si faccia tutto uguale, è quasi impossibile dimostrare che il gioco è bilanciato .

PS: puoi mascherare l'identità sostituendo un attributo con multiplo che insieme può essere utilizzato per calcolare l'attributo iniziale e rendendo tutto molto più casuale, quindi i giocatori non vedono quell'identità (

Attenzione, è facile sbagliare (es. Piccoli attacchi veloci contro grandi attacchi lenti), perché 18 tiri di d6 -18 danno risultati 0-90, 10 tiri di d10-10 danno risultati 0-90 1 tiro di d91-1 dà risultati 0-90 ma tutti hanno distribuzioni diverse.

PS2: Un saggio disse che l'equilibrio reale non è importante, l'equilibrio Percieved lo è.


Il concetto di strategia dominante è molto importante. L'esistenza di una strategia dominante in ogni situazione implica un'ingiustizia intrinseca, sebbene di solito ciò causi solo ridondanza nella progettazione piuttosto che un problema di equilibrio in quanto tale. Ma un designer deve essere in grado di evitare strategie dominanti per dare a ogni elemento la possibilità di avere uno scopo chiaro.
Kylotan,

Una cosa che ho dimenticato: l'esistenza della strategia dominante non deve essere un problema, purché sia ​​davvero difficile eseguirla, anche se il giocatore LO CONOSCE. Esempio semplicistico, il headshot è la strategia dominante in FPS, ma molti giocatori vanno al centro della massa perché è più facile da colpire, ma il bot ottimale andrebbe sempre per headshot.
user470365,

1

Molte buone risposte su come ottenere una risposta matematicamente corretta, ma proverò un'angolazione diversa: se il tuo codice lo consente, potresti simulare un numero molto elevato di giochi e quindi verificare se esiste una strategia (o strategie) che vincere troppo spesso.

Potresti avere familiarità con simulazioni Monte-Carlo o algoritmi genetici. L'idea qui correlata. Per giocare è necessaria un'intelligenza artificiale e alcune misurazioni chiave. Lascia che l'IA vada l'una contro l'altra in un grande torneo, abbastanza spesso, con diverse variabili di partenza e misuri i risultati.

Ho sempre voluto provare un approccio del genere per bilanciare classi / armi, sarebbe stato molto divertente.


1

Da una teoria della prospettiva computazionale, sembra che rispondere a questo non sia possibile in generale . Si tratta di porre una domanda su una proprietà di un programma e potrebbe essere applicabile il teorema di Rice . La mia ipotesi è che gioco si riferisca a un programma scritto in un linguaggio Turing Complete come c ++. Suppongo anche che per calcolare o dimostrare se un gioco è corretto significa che esiste un programma c ++ che legge un programma c ++ (il programma di gioco) e termina in un tempo finito per tutti i possibili input , con solo due output, giusto o ingiusto.

Una rapida ricerca mostra che è possibile avere un gioco deterministico ma indecidibile, vedi la diapositiva 7 qui e dall'International Journal of Game Theory: Alcuni giochi indecidibili determinati:

"Le macchine informatiche che utilizzano algoritmi giocano e persino imparano a giocare. Tuttavia, le proprietà intrinseche della finezza degli algoritmi impongono limiti alle abilità di gioco delle macchine. M. Rabin illustrò questa limitazione nel 1957 costruendo un gioco per due persone win-perd con regole decidibili ma senza strategie vincenti calcolabili ".

Il cervello umano è apparentemente più "potente" dei computer perché possiamo acquisire e applicare le conoscenze passate e talvolta sembrano contraddire risultati come il problema di Halting trovando cicli infiniti nei programmi. Ma come lo facciamo non è ben noto e non può essere scritto in modo preciso e inequivocabile in un algoritmo.


0

Volevo davvero commentare la risposta di Martin Sojka, ma non ho la reputazione. Ha ragione nel dire che la teoria dei giochi include il calcolo dell'equità di un gioco (per esempio, è una domanda aperta se in una partita a scacchi in cui sia il bianco che il nero hanno giocato perfettamente se fosse un pareggio).

Per MtG potrebbe benissimo essere completamente impossibile calcolare se sia giusto, ma nessuno ha dimostrato matematicamente che il calcolo sarebbe impossibile.

Potrebbe essere banalmente possibile dimostrare che è giusto - se è casuale chi va per primo e tutti giocano con le stesse regole, allora è giusto. Può darsi che chi vince per primo vince sempre, ma se chi inizia per primo è deciso in modo corretto, il gioco è giusto.


Rimuovi 109 caratteri e lo convertirò in un commento per te.
Jesse Dorsey

-2

Ciò che si intende per "giusto" è vago, lasciatemi spiegare:

Considera il gioco Rock-paper-cissors (http://en.wikipedia.org/wiki/Rock-paper-scissors): secondo te è giusto, suppongo (anche secondo me).

Consideriamo ora il gioco: Rock-paper-cissors-well dove il pozzo batte la roccia e la carta e il pozzo perde contro la carta. Sbilanciato, vero? Il pozzo sembra piuttosto sopraffatto: batte due armi e perde contro uno.

Ma si potrebbe dire che non è affatto sopraffatto: perché se sai che è più probabile che il tuo avversario usi il pozzo perché batte due armi, puoi agire semplicemente raccogliendo il foglio più spesso.

Quindi c'è una risposta al potenziale sopraffatto bene: basta scegliere più spesso il giornale. Ma poi sai che il tuo avversario potrebbe saperlo e potrebbe usare la carta abbastanza spesso, quindi pensi che dovresti usare le forbici più spesso. Ecc. Non veramente sopraffatto, solo un gioco diverso con regole diverse.

Consiglierei di leggere la teoria dei giochi e in particolare i giochi con informazioni imperfette (http://en.wikipedia.org/wiki/Game_theory).


5
Indipendentemente dalla combinazione di oggetti coinvolti, qualsiasi variante di Rock-Paper-Scissors è ovviamente giusta perché entrambi i giocatori sono uguali. Nella maggior parte dei giochi da tavolo, un giocatore si muove per primo.
Casuale 832,

-1. Che sia giusto o no può essere conosciuto o sconosciuto (e se sconosciuto, fattibile da sapere o impossibile da sapere), ma la teoria dei giochi ci offre molti strumenti per definire "equi" senza vaghezza.

Come, ad esempio, i creatori di "The Gathering" possono assicurarsi che non ci sia "una carta che li batte tutti" -> Stavo cercando di evidenziare questa frase e mostrare all'autore che la sua concezione di "correttezza" non è giusto. Altrimenti, ad esempio, in un gioco come Magic, le persone di solito non hanno le stesse carte del loro avversario, quindi anche se le persone iniziano contemporaneamente (non lo so in realtà), potrebbe non essere giusto. E l'analogia del gioco Rock-paper-cissors potrebbe non essere la migliore da considerare, ma spiega il mio punto.
JohnCastle,

@JohnCastle Questo non è il posto dove discutere la valutazione di OP di una fiera, dal momento che sarebbe una discussione e questo non è un forum di discussione (usare la chat per quello). L'eccezione sarebbe se il tuo post risponde alla domanda e discute la concezione dell'equità del PO come parte di ciò.
doppelgreener,

@JonathanHobbs, Come puoi dimostrare l'equità se non è definita correttamente? È vero che il mio post non è proprio una risposta - avrei dovuto postare solo sotto il post principale, non me ne sono reso conto - ma penso che sia importante definire l'equità prima di rispondere alla domanda.
JohnCastle,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.