Hoy me he topado con el juego Cookie Clicker, que te recomiendo que evites hasta que tengas al menos unas horas de tiempo que perder.
La idea básica del juego es esta: Tienes un gran alijo de moneda, que aumenta constantemente al ritmo dado. En un momento dado, tienes una serie de mejoras, cada una de las cuales tiene un costo $c_n$ y cada una de ellas tiene un valor de producción $p_n$ . Al comprar una actualización, el costo se deduce de mi banco, y la tasa de ingresos se incrementa por el valor de la producción.
Por ejemplo, si tengo $1,000$ galletas aumentando a un ritmo de $10$ galletas por segundo, podría comprar una actualización $(150,2)$ que tendrá un resultado final de $850$ galletas que aumentan en $12$ galletas por segundo.
Me tropecé con esta pregunta que preguntaba sobre una posible heurística, pero se demostró que la heurística en cuestión tenía algunos defectos. (También robé gran parte de mi notación de allí)
Encontré la siguiente fórmula para dar la "mejora de tiempo" de cualquier actualización, que es la cantidad de tiempo que se ahorrará al comprar esa actualización.
$$\text{Time Improvement} =\frac{g-x+\text{min}(0,x-c_1)}{p_0}-\frac{g-x+\text{min}(c_1,x)}{p_0+p_1}$$ Donde $p_0$ es la tasa de producción actual, $x$ es mi escondite actual, y $g$ es el objetivo de cuántas galletas en total quiero tener. Básicamente, esto tiene en cuenta el tiempo que se espera que tome a la tasa actual y futura, y el tiempo que tomará para volver a ganar el dinero gastado/esperar para ganar el dinero para gastar. Además, los valores más grandes se consideran mejores.
A partir de esto, mi estrategia ha sido comprar la actualización con la mayor mejora de tiempo. Si aún no tengo suficiente dinero para comprar la mejora requerida, establezco el costo de esa mejora como mi objetivo actual y repito la estrategia. Sin embargo, no creo que esto sea lo óptimo.
Aunque el juego no tiene un final definido, me voy a fijar un objetivo de $4$ mil millones de galletas, suficientes para comprar el condensador de antimateria. Supongamos que tengo una tasa inicial de $0.1$ galletas por segundo. Aquí está la lista de las principales mejoras del juego, aunque hay varios otros potenciadores:
Cost per item, Increase of cookies per second
15, 0.1
100, 0.5
500, 4
3000, 10
10000, 40
40000, 100
200000, 400
1666666, 6666
123456789, 98765
Al comprar una actualización, el costo de esa actualización aumenta en $15\%$ aunque el valor de la producción sigue siendo el mismo.
¿Cuál es la mejor estrategia para juegos similares a éste? Dada una lista de mejoras, ¿cómo debo hacer mis compras para minimizar el tiempo que lleva llegar a los cuatro mil millones?
1 votos
También está la venta, que fue parte de una estrategia posiblemente defectuosa que utilicé durante esos dos días de mi adicción a este juego.
0 votos
¿Cuándo termina el juego? Quiero decir, ¿termina después de un tiempo fijo conocido desde el inicio o termina después de un número conocido de compras? También, ¿el conjunto de mejoras es fijo, es decir, desde el principio hasta el final tienes un conjunto fijo de mejoras disponibles y una vez que compras una mejora desaparece del conjunto?
0 votos
En la pregunta que enlazas, dice que una actualización tarda un tiempo en surtir efecto, que depende de tu ritmo de producción actual. Aquí no lo hace. Eso parece que bien podría cambiar las cosas.
0 votos
En sentido estricto, el juego no tiene fin. El objetivo general es aumentar la tasa de producción para que sea lo más alta posible, lo más rápido posible. Además, puedes comprar la misma mejora varias veces, pero el coste aumenta un 15% cada vez, mientras que el valor de la producción permanece constante.
0 votos
@PhiNotPi: Parece que todavía (incluida la pregunta enlazada) tenemos una definición del objetivo o de las reglas. Sin eso, no tenemos pregunta. Votación para cerrar.
0 votos
Se han añadido más detalles.
0 votos
@Ross: En mi formulación (la pregunta anterior enlazada) me abstraje del banco describiendo "ahorrar suficientes galletas para pagar una mejora, y luego puyarla instantáneamente" como un proceso unificado que lleva algo de tiempo para construir la mejora. Pero se trata de descripciones isomórficas (al menos hasta el final del juego, cuando varios efectos no descritos aquí puede hacer que sea ventajoso retrasar la compra de algo hasta que se tenga una más que su precio en el banco).
3 votos
No hay una condición de victoria explícita, por lo que es el jugador quien debe fijarse los objetivos. En una buena primera aproximación podríamos decir que una estrategia domina sobre otra si la primera lleva a la tasa de producción $X$ a más tardar el segundo, para todos los casos suficientemente grandes $X$ . No es obvio que haya una estrategia globalmente mejor bajo esta definición - aunque un argumento concreto de que hay no es sería sin duda una respuesta interesante. (Esto podría deberse a que hay un rendimiento límite al que sólo se puede aproximar asintóticamente, o a que hay dos estrategias máximas pero no comparables).
1 votos
Ten en cuenta también que el juego real incluye complicaciones más allá de las descritas aquí. Por ejemplo, algunas "mejoras" funcionan incrementando la eficiencia de todos los "edificios" de un tipo determinado (lo que echará por tierra cualquier análisis que se base en que todo es aditivo), y algunas sólo pueden comprarse cuando ciertos otros edificios ya existen. A veces puede ser ventajoso comprar algo que no te da directamente mucho, sólo porque hará que después haya algo mucho mejor.
0 votos
Engañar es la mejor manera de ganar el juego rápidamente.