Estoy haciendo un juego que presenta varios tipos diferentes de rompecabezas en secuencia. Elijo cada rompecabezas con un número pseudoaleatorio. Para cada rompecabezas, hay una serie de variaciones. Elijo la variación con otro número pseudoaleatorio. Y así.
La cuestión es que, si bien esto produce una aleatoriedad casi verdadera, esto no es lo que el jugador realmente quiere. El jugador normalmente quiere lo que percibe e identifica como aleatorio, pero solo si no tiende a repetir acertijos. Entonces, no realmente al azar. Simplemente impredecible.
Al pensarlo un poco, me imagino formas extrañas de hacerlo. Por ejemplo, eliminar temporalmente las N opciones más recientes del conjunto de posibilidades al seleccionar una nueva opción. O asignando a cada opción una probabilidad igual, reduciendo la probabilidad de una opción a cero en la selección, y luego aumentando todas las probabilidades lentamente con cada selección.
Supongo que hay una forma establecida de hacer esto, pero simplemente no conozco la terminología, así que no puedo encontrarla. ¿Nadie sabe? ¿O alguien ha resuelto esto de una manera agradable?