Esta pregunta no se centra en los videojuegos sino en los juegos en general. Ayer fui a una feria de juegos de mesa y me pregunté si hay una manera de calcular la equidad de un juego. Claro, algunos de ellos requieren una buena porción de suerte, pero podría ser posible calcular si algún personaje está dominado. Especialmente en juegos de rol y juegos de cartas coleccionables. ¿Cómo, por ejemplo, pueden los creadores de "Magic: The Gathering" asegurarse de que no existe la "única carta que les gana a todos", dada la impresionante cantidad de cartas disponibles?
40
Respuestas:
Sí, es teóricamente posible, esa es una buena parte de la teoría del juego que trata este tema.
Sin embargo, rara vez es práctico , e incluso en su mayoría solo para juegos que no involucran un aleatorizador (Ajedrez, Reversi, Go, etc.). La explosión combinatoria asegura que el tiempo teórico necesario para tales pruebas para juegos más complejos como Magic the Gathering puede ser fácilmente varios órdenes de magnitud más largos que la edad actual del universo.
Al final, para cualquier juego no trivial, es probable que tengas que abandonar la noción de probar el equilibrio o la imparcialidad de un juego y, en cambio, optar por una combinación de sentido común, instintos de diseño, reutilización del sistema de juego y durante las pruebas.
fuente
Respuesta corta: cualquier juego con un número finito, aunque no definido, de movimientos disponibles tiene un número finito de juegos posibles. En teoría, cualquier juego con una "complejidad de árbol de juego" finita puede analizar todos los juegos posibles para determinar si el número de juegos en los que ganaría cada jugador es igual.
En pocas palabras: si el jugador 1 gana exactamente la mitad de todas las jugadas posibles de un juego, el juego está equilibrado. Si esto no es cierto, el juego está sesgado hacia un jugador u otro.
Sin embargo, esta simple regla puede ser bastante inviable de poner en práctica. Go, por ejemplo, tiene una complejidad de árbol de juego del orden de 10 ^ 170 juegos posibles, más que el número de átomos que se cree que existen en el universo conocido. Se cree que es imposible compilar un árbol de juego exhaustivo. Sin embargo, la biblioteca de juegos jugados y grabados es de millones, y sugieren que el juego tiene una "ventaja de primer movimiento" (que normalmente se mitiga con 1,5 puntos de "komi" dados a las blancas).
Contrastando eso, incluso dadas las grandes complejidades generales del árbol de juego, todos los juegos M, N, K (un tablero de cuadrícula de M ancho, N altura, en el que el objeto es que un jugador cree una fila de K piezas colocando y nunca moverlos / eliminarlos) se resuelven porque hay un atajo; Se pueden identificar "ramas" enteras del árbol del juego que siempre causan la pérdida de un jugador u otro. Las ramas restantes siguen un patrón que puede identificarse. Tic-Tac-Toe es el ejemplo obvio; Además de tener solo 300,000 juegos posibles, solo hay 16 en los que un jugador u otro no hacen un movimiento que obviamente permitirá que el otro jugador gane en el próximo movimiento. Entonces, el árbol de juego comienza pequeño y se vuelve más pequeño cuando consideras los juegos que los jugadores probablemente harán.
En los juegos con un elemento de suerte, la complejidad del árbol del juego se infla más allá del número de decisiones disponibles para cada jugador. Debido a que el juego ya no se juega con "información perfecta", como lo es en ajedrez, damas, Go, Othello, etc., es posible que un jugador que haya jugado perfectamente dada la información conocida en el momento aún pierda ante el juego. elemento aleatorio Estos juegos no tienen "solución"; sin embargo, generalmente todavía hay un árbol de juego finito y, en teoría, los juegos aún podrían analizarse exhaustivamente. Esto todavía no suele ser factible; en cambio, los juegos que involucran probabilidad se analizan probabilísticamente para identificar las estrategias de "mejor apuesta", y si se demuestra que estas estrategias favorecen al jugador que las usa, independientemente de la estrategia utilizada por cualquier otro jugador (incluida la misma estrategia),
En general, se aplica la siguiente regla: si el diseño del juego lleva inherentemente a la desigualdad en uno o más de los siguientes, el juego tiene un sesgo:
Ahora, el diseño del juego puede introducir una desigualdad pero intentar compensar con otra. O bien, el diseño del juego puede permitir la aleatoriedad en áreas que pueden producir sesgo, lo que significa que un juego puede estar sesgado mientras que otro es más justo (los juegos con tableros de inicio aleatorios pueden exhibir esto). En estos casos, solo el análisis empírico de juegos entre jugadores de una fuerza aproximadamente igual a largo plazo puede demostrar algún sesgo.
Para obtener más información sobre el sesgo en los juegos de mesa, pruebe los foros de http://www.geekdo.com ; Ha habido varias discusiones sobre el sesgo demostrado en los juegos y cómo evitar dicho sesgo en el desarrollo del juego en general.
fuente
Supongo que no existe una fórmula matemática prefabricada para evaluar qué tan justo es un juego debido a que cada juego es tan diferente y complejo.
Realmente no puedes comparar diferentes parámetros del juego y crear algún tipo de puntaje de poder de cuán bueno es un personaje (a menos que tu juego sea muy simple) porque todos afectan tu juego de manera diferente y dependen de cómo se implementan (por ejemplo, cómo puedes evaluar cómo se relaciona la fuerza con la vitalidad? ¿Cómo se le da un valor numérico al ataque especial de un personaje?).
Tienes que probar tu juego. Una gran cantidad . Juega tu juego solo y haz que otros lo jueguen y almacena los resultados de la batalla / juego en un archivo para hacer estadísticas y evaluar con qué frecuencia ganan ciertos personajes, bajo qué circunstancias, etc. Luego, asegúrate de implementar alguna forma de verificar las repeticiones o analizar el juego para ver por qué ese personaje está dominado y aplicar los cambios en consecuencia.
Realmente, no tienes otra opción que probar. Esa es una de las razones por las que existen las versiones beta (por ejemplo, Starcraft2 como beta le dio a Blizzard la oportunidad de equilibrar las 3 razas en función de los resultados del juego).
En resumen, juegue su juego y haga que otros lo jueguen (comenzar una versión beta es una opción). Vea por qué el juego está desequilibrado a través de repeticiones o análisis automatizados y cambie lo que debe modificarse en consecuencia. Esa es la única forma en que se acercará a la equidad.
fuente
Para poder probar que un juego fue equilibrado o justo, primero deberías definir qué significa equilibrado o justo. Estos son términos bastante vagos que pueden abarcar una variedad de cosas, por ejemplo, a menudo se considera que el "equilibrio" del juego significa:
Y así.
En general, soy un fanático de probar matemáticamente cosas como esta, pero para probar cualquier cosa a través de la lógica o las pruebas, primero debe definirlo claramente. Algunos aspectos del equilibrio son fáciles de probar a través de las matemáticas si puedes entender las reglas de tu juego correctamente. Otros son mucho más difíciles de juzgar sin simplemente realizar pruebas empíricas. El problema principal es que la mayoría de los diseñadores de juegos no entienden realmente la mecánica de su juego, ya que generalmente terminan fusionando las reglas del juego en una simulación circundante, y este último es muy difícil de modelar con precisión.
fuente
Teóricamente es posible, pero para la mayoría de los juegos es extremadamente difícil, por lo que puede considerarse imposible.
Un enfoque: convertir el juego en forma normal. El juego en forma normal es un conjunto de estrategias para cada jugador y función que dice qué tan buen resultado es para una combinación dada de opciones. El factor aleatorio se puede modelar como otro jugador.
Luego podemos buscar estrategias dominantes / dominadas (cosas que SIEMPRE deben hacer y cosas que NUNCA deben hacer). El juego es por lo menos interesante, si no contiene estrategias dominantes.
Luego podemos ver lo que cada jugador puede garantizar por sí mismo. para cada una de "MI" elección, observe el peor resultado posible y elija la que tenga la mejor opción.
Si difiere mucho entre jugadores, hay algo podrido en el juego.
Hay otras cosas a tener en cuenta (estrategia mixta dominante (elegir cada opción con cierta probublidad), equilibrios nash (combinaciones que una vez que todos los jugadores saben que otros harán, son las mejores para todos).
Pero el primer paso es extremadamente complicado para la mayoría de los juegos, por lo que generalmente no es tan útil. Pero puede usarse si puede eliminar detalles complicados / reemplazar estrategias con conjuntos reconocibles de estrategias (por ejemplo, órdenes de construcción iniciales) y dar como resultado una aproximación estadística de los juegos realmente jugados y puede decirle algo sobre problemas en el juego. Supongo que algo así como este blizard hace con SC.
Otra forma de juego es el juego donde los jugadores se turnan y saben todo lo que otros hacen (ajedrez). Allí puedes intentar buscar una estrategia de dominat buscando en el árbol de estado del juego (y normalmente es ENORME, así que de nuevo, demasiado complicado de usar). Y muchos juegos carecen de conocimiento total y complican mucho las cosas.
Otro enfoque, mira las cosas en el juego e intenta compararlas.
Otro enfoque: para el combate en equipo (especialmente con participantes de grandes cantidades) puedes intentar usar la simulación de fuerza en fuerza (nunca la usé, y requiere una gran matemática (ecuaciones diferenciales) y un trabajo duro para convertir el juego en un modelo adecuado).
Entonces, mi conclusión, se pueden hacer muchas cosas para equilibrar los subsistemas del juego, y cuando el juego está fuera (y durante la prueba beta), se puede hacer mucho analizando los resultados, pero a menos que haga todo igual, es casi imposible demostrar que el juego está equilibrado .
PD: Puedes enmascarar la similitud reemplazando un atributo por varios que juntos pueden usarse para calcular el atributo inicial, y haciendo que todo sea mucho más aleatorio, para que los jugadores no vean esa similitud (
Tenga cuidado porque es fácil cometer un error al hacerlo (p. Ej., Pequeños ataques rápidos frente a grandes ataques lentos), porque 18 lanzamientos de d6-18 dan resultados 0-90, 10 lanzamientos de d10-10 dan resultados 0-90 1 lanzamientos de d91-1 da resultados 0-90 pero todos tienen distribuciones diferentes.
PS2: Un hombre sabio dijo que el equilibrio real no es importante, el equilibrio percibido sí lo es.
fuente
Muchas buenas respuestas sobre cómo obtener una respuesta matemáticamente correcta, pero intentaré un ángulo diferente: si su código lo permite, podría simular una gran cantidad de juegos y luego verificar si hay una estrategia (o estrategias) que ganar con demasiada frecuencia
Es posible que esté familiarizado con las simulaciones de Montecarlo o los algoritmos genéticos. La idea aquí relacionada. Necesitas una IA para jugar y algunas medidas clave. Dejas que la IA se enfrente entre sí en un gran torneo, con frecuencia suficiente, con diferentes variables iniciales y mides los resultados.
Siempre quise probar un enfoque como ese para equilibrar clases / armas, sería muy divertido.
fuente
Desde una perspectiva de teoría de la computación, parece que responder esto no es posible en general . Está haciendo una pregunta sobre una propiedad de un programa y puede aplicarse el Teorema de Rice . Mi suposición es que el juego se refiere a un programa escrito en un lenguaje Turing Complete como c ++. También supongo que calcular o probar si un juego es justo significa que existe un programa c ++ que lee un programa c ++ (el programa del juego) y termina en un tiempo finito para todas las entradas posibles , con solo dos salidas, justo o injusto
Una búsqueda rápida muestra que es posible tener un juego determinista pero indecidible, vea la diapositiva 7 aquí y del International Journal of Game Theory: Algunos juegos determinados indecidibles:
"Las máquinas de cómputo que usan algoritmos juegan juegos e incluso aprenden a jugar juegos. Sin embargo, las propiedades de finitud inherentes de los algoritmos imponen limitaciones en las habilidades de juego de las máquinas. M. Rabin ilustró esta limitación en 1957 al construir un juego de ganar-perder para dos personas". con reglas decidibles pero sin estrategias ganadoras computables ".
El cerebro humano es aparentemente más "poderoso" que las computadoras porque podemos obtener y aplicar conocimientos pasados y, a veces, parece contradecir resultados como el problema de detención al encontrar bucles infinitos en los programas. Pero cómo lo hacemos no se conoce bien y no se puede escribir de manera precisa e inequívoca en un algoritmo.
fuente
Realmente quería comentar sobre la respuesta de Martin Sojka, pero no tengo la reputación. Tiene razón en que la teoría del juego incluye el cálculo de la equidad de un juego (por ejemplo, es una pregunta abierta si en un juego de ajedrez donde tanto el blanco como el negro jugaban perfectamente si sería un empate).
Para MtG, bien podría ser que sea completamente inviable calcular si es justo, pero nadie ha demostrado matemáticamente que el cálculo sea inviable.
Podría ser trivialmente posible demostrar que es justo: si es aleatorio quién va primero y todos juegan con las mismas reglas, entonces es justo. Puede ser que quien vaya primero siempre gane, pero si quien va primero se decide de manera justa, entonces el juego es justo.
fuente
Lo que se entiende por "justo" es vago, déjenme explicar:
Considere el juego Rock-paper-cissors (http://en.wikipedia.org/wiki/Rock-paper-scissors): según usted, es justo, supongo (según yo también).
Ahora, consideremos el juego: Rock-paper-cissors-well donde el pozo golpea la roca y el papel y el pozo pierde contra el papel. Desequilibrado, ¿verdad? El pozo parece bastante dominado: vence a dos armas y pierde contra una.
Pero se podría decir que no está dominado en absoluto: porque si sabes que es más probable que tu oponente use el pozo porque vence a dos armas, puedes actuar eligiendo el papel con más frecuencia.
Por lo tanto, hay una respuesta al potencial sobrepoblado: simplemente elija con más frecuencia el papel. Pero entonces sabes que tu oponente puede saber eso y puede usar el papel con bastante frecuencia, por lo que crees que deberías usar los cissors con más frecuencia. Etc. No realmente dominado, solo un juego diferente con reglas diferentes.
Recomendaría leer sobre teoría de juegos y especialmente juegos con información imperfecta (http://en.wikipedia.org/wiki/Game_theory).
fuente