¿Hacer una distribución aleatoria falsa?

8

A veces, un evento aleatorio "real" parece injusto y frustra a los jugadores. Por ejemplo, un enemigo tiene una probabilidad del 20% de causar el doble de daño ("golpe crítico"). Por lo tanto, podría hacer 4 golpes críticos seguidos con 1/725 de probabilidad. No es tan pequeño como parece.

Espero que la probabilidad pueda ajustarse después de cada golpe. Si el jugador acaba de recibir un golpe crítico, la probabilidad disminuye para el siguiente golpe. De lo contrario, aumenta.

¿Existe un modelo matemático para este comportamiento?

Lai Yu-Hsuan
fuente

Respuestas:

9

Es posible que desee repensar por completo lo que hacen los "golpes críticos" en su sistema y por qué los está usando. "Bueno, ¡otros juegos de rol los usan!" No es una razón válida. Una señal de advertencia de un diseño sesgado es la necesidad de aplicar cada vez más reglas especiales.

Cualquier tipo de bonificación aleatoria quita la habilidad táctica directa del jugador y se suma a la planificación estratégica (carga de elementos RPG, priorización de estadísticas en el equipo, etc.). Debido a este cambio de enfoque , tienes que decidir de qué se trata tu juego antes de aplicar sin motivo estándares viejos como críticas y balbuceos.

Mi sugerencia es que si quieres que la aleatoriedad participe en tu juego, glorifícate en ella, que sea aleatoria.

Pero si realmente desea agregar más reglas arbitrarias, simplemente puede comenzar una cuenta regresiva cuando ocurre la primera crítica y durante esa cuenta regresiva cualquier otra crítica se reduce al 50% y luego al 25%, y así sucesivamente. Cada crítico, por supuesto, restablece la cuenta regresiva . Esto le brinda dos lugares para ajustar sus reglas arbitrarias: cuánto dura la cuenta regresiva y cuánta reducción se acumula en cada crítica. Una combinación de esos dos controles le permite evitar claramente el problema tácito de "¿qué pasa si el jefe obtiene un crítico, luego normal y luego un segundo crítico?" que una simple verificación de cadena no solucionaría.

Patrick Hughes
fuente
5

Dota 2 utiliza PRD (distribución pseudoaleatoria) que no afecta significativamente la expectativa, pero disminuye las posibilidades de una racha, por ejemplo, una racha de bash. Echa un vistazo a esto, explica todo en detalle. http://www.youtube.com/watch?v=KdS-K_rosCI

Andrey S
fuente
De hecho no lo hace. Simplemente introduce el concepto sin ningún detalle sobre este algoritmo.
Lai Yu-Hsuan
@ LaiYu-Hsuan Sí, el video de la versión básica puede hacer que sea un poco más fácil de entender: youtu.be/yR7BcWfBCsc
aaaaaaaaaaaa
3

Creo que este es un caso en el que tratar de ser demasiado inteligente conducirá a una espiral de ajustes y ajustes al generador de números aleatorios que lo hará muy complejo.

La respuesta podría estar en la pregunta: si un jugador puede sentirse frustrado por demasiados golpes críticos seguidos, bueno, reduzca directamente las probabilidades de que esto suceda. Si el RNG dibuja un cuarto crítico en una fila, por ejemplo, puede volver a tirarlo. O incluso hacer cumplir critical = false.

sam hocevar
fuente
3

Un enfoque bastante común que puede usar que debería dar los resultados que está buscando: en lugar de tirar un dado cada vez, en su lugar, elija una carta: suponga que tiene una probabilidad de 1/10 de 'falla crítica', una probabilidad de falla de 4/10, una probabilidad de éxito de 4/10 y una probabilidad de 1/10 de 'éxito crítico'. Luego, en lugar de lanzar un d10 (metafórico) y manejar el resultado, baraja una pila de diez cartas de resultados (virtuales) y repartirlas, una por una, siempre que necesites generar dicho resultado. Cuando te quedes sin mazo, simplemente reorganiza y comienza a repartir de nuevo. Esto todavía puede generar fallas críticas consecutivas, pero garantiza que habrá éxito (y éxitos críticos) dentro de un lapso razonable. Si quieres que las cosas no sean tan obvias (y no te importa presentar una pequeña posibilidad de resultados extremos sucesivos), siempre puedes 'duplicar' tu mazo; construye una pila de veinte cartas que contiene dos copias de cada resultado y baraja eso en su lugar.

Steven Stadnicki
fuente
Esta es una respuesta genial. Es el equivalente de: si desea 10 números aleatorios del 0 al 100, en lugar de obtener un número aleatorio 10 veces, simplemente genera una matriz con todas las opciones posibles (0, 1, 2, ..100) y la baraja, luego use los primeros 10. Esto evita las repeticiones, por lo que no es un equivalente, pero en muchos casos es una solución mucho mejor.
zeh
1

La inferencia bayesiana trata bastante la situación. Comienza con una distribución de probabilidad para un evento que ocurre, luego, una vez que lo hace, actualiza esta probabilidad a una nueva. Estas son las probabilidades anteriores y posteriores, respectivamente. A menudo es más útil ver esto en forma de árbol (lo tomé de Internet).

ingrese la descripción de la imagen aquí

En el árbol, las ramas representan la probabilidad de tomar esa rama, y ​​los nodos son el evento. Entonces, en su caso, hagamos que A, B, C sean los eventos de obtener un golpe crítico con los ataques A, B y C resp. Entonces P y NP serán los eventos de obtener otro o no. Notamos que en el punto (B -> P) hay un 25% de posibilidades de obtener otro golpe crítico dado que obtuviste uno en el último turno. Por supuesto, su árbol no se vería así, pero es lo mejor que podría hacer en 5 minutos.

Palanqueta
fuente
1
¡La inferencia baysiana no tiene nada que ver con esto!
starwed
@starwed entonces, ¿te gustaría ofrecer un término diferente en lugar de simplemente gritarme?
Jemmy
@Jeremy, debes responder cómo resolver el problema del OP. Hasta ahora, acaba de reformular su pregunta con una ilustración matemática. Pero eso no le dice al OP cómo hacer que el RNG sea más divertido.
kurtzbot
1

Creo que ya hay algunas buenas respuestas dadas anteriormente, pero sugeriría un enfoque diferente.

Cuando el jugador realiza un golpe crítico, le está dando una pequeña recompensa para atraer más juego. Algo así como cómo un adicto al juego permanecerá en la mesa de póker "solo un poco más" después de ganar una mano. Cuando el enemigo es golpeado por un crítico, es posible que no esté aumentando la experiencia del juego, sino que simplemente se sienta injusto, especialmente si eso fue lo que los hizo perder la pelea.

Por lo tanto, mi sugerencia sería simplemente mantener los críticos para el jugador y no usarlos para los enemigos en absoluto. Después de todo, el jugador es un héroe y debe ser favorecido por los dioses mismos para alcanzar la grandeza :)

Mikael Högström
fuente
0

Aquí hay técnicas aleatorias pero no completamente aleatorias que uso.

1) Bolsa aleatoria. Coloque todos los resultados válidos en una bolsa, elija uno al azar y retírelo de la bolsa. Repita hasta que la bolsa esté vacía, luego vuelva a llenarla. Para agregar de nuevo al azar, rellena la bolsa cuando solo le quedan X artículos.

2) Porcentajes progresivos. Primera oportunidad X% de probabilidad, si falla la segunda tirada es X + Y%, luego X + 2Y%, etc. Restablezca a X% en caso de éxito. Tanto el valor inicial como la progresión se pueden ajustar (incluso no lineales).

3) Enfriamientos internos. Tira X y posibilidad, si tiene éxito, no tires durante los próximos N segundos o M intentos o lo que sea. Se puede combinar con otros métodos. Para agregar más aleatoriedad, haga múltiples verificaciones de eventos con diferentes coodlowns, es decir, haga 2 tiradas al 25% con 3 y 7 segundos de enfriamiento interno en lugar de 1 tirada con 50% con un 5s icd (no es exactamente la misma probabilidad, pero puede calcular y emparejar si es importante).

4) Espaciado pre-laminado. En lugar de verificar vs un porcentaje de cada evento, simplemente elija cuándo suceden los eventos. Por ejemplo, "este jefe critica cada 1d4 + 4 ataques". Funciona bien cuando quieres que algo suceda de manera relativamente consistente y algo aleatoria, pero no quieres eventos consecutivos. En algunos casos, un caso especial de métodos (2) más (3). Nuevamente, para obtener más aleatoriedad, puede tener 2 o más secuencias superpuestas.

Jeff Gates
fuente