Icehawk78 / FrozenCookies

An automated Cookie Clicker tool.
120 stars 171 forks source link

Bulk buy / mitigate early game lag #183

Open YellowOnion opened 8 years ago

YellowOnion commented 8 years ago

I've noticed that the algorithm determining the next purchase takes far too long for the time frame in which you earn cookies, and while the autobuy is still trying to figure out what the most efficient next purchase is, in the tens-of-cookies range, I'm earned 100k worth of cookies.

Maybe have the game just outright buy all efficient purchases it can afford after the calculation. (I assume it's currently only buying one at a time?)

TheProgenitus commented 8 years ago

you can let frozen cookie buy 10 or 100 buildings each time, when you click the corresponding button above the buildings list

YellowOnion commented 8 years ago

Your suggestion does seem to help.

lots of 10: in 1min, I get to 1.5 quadrillion cps lots of 100: in 1min, I get to 14 quadrillion cps assisted lots of 100: in 1min I get to 63 quadrillion cps

But as my testing shows, that my (poor guesstimates) is improving cp/s, really need something that reduces the time it takes to make a purchase, because waiting 200ms to make a purchase is worse than just buying anything sufficiently efficient.

My assessment is: lots of 1: most efficient build order, but can't keep up with the rate of cps lots of 10: kind of efficient, still no where near fast enough lots of 100: definitely not the most efficient build order, but makes purchases quick enough (time is money) that to the rate of income just has more bulk increase.

assisted lots of 100: basically an abuse of race condition, e.g: you buy the 1-4 prisms before it issues the purchase of 100 temples, highly temperamental to input timing.

Unless I'm misinterpreting how the code works (I should probably go dig and experiment)

I Hope to achieve both the most efficient build order (or at least a very good approximation), and keep the automation (I don't need to switch between buy lots, and don't need to assist it)

This could be done by: baking the first ~1000 purchases. (though I don't like this solution). Or something more intelligent, like bulk purchasing any items after the time heavy efficiency calculation.