eternaldensity / Sandcastle-Builder

xkcd: 1190: Time: The Game
Other
81 stars 66 forks source link

Autobuy logicat when zookeeper is done - upgrade #799

Closed Dorus closed 10 years ago

Dorus commented 10 years ago

It would be nice if there was a upgrade that autobuys the logicat (in tens) when zookeeper hits the pokebar.

I understand this would delay Shadow Dragon a little bit, but it would be a nice addition before that. I was thinking this could be a nice unlock around the time tens become more freely available, PR level 8 or 10.

waveney commented 10 years ago

I don't understand this request.

My Pokebar is at 430K, I only bother clicking when there are 15M or more puzzles, Shadow feeder takes care of the rest.

Dorus commented 10 years ago

This would be usefull pre "Crouching Dragon, Sleeping Panther", Althou i might be playing wrong because i was unable to get many charges into Achronal Dragon.

Dorus commented 10 years ago

I had some fun coding this, couple issues left: 1) Need a nice name 2) Description could be improved upon 3) icon 4) balanced cost 5) waveney doesn't understand the request

https://github.com/Dorus/Sandcastle-Builder/commit/02842a176e5d327f642acd314cc2eeeaebc42099

As for why i like this: It helps me chain solving logicats, and keep zookeeper at maximal use, as zookeeper continue to run in the background when logicats are bought, so now i can idle, have a logicat open and another one at full power in the background, and solve 2 in a chain.

LucidCrux commented 10 years ago

I don't get it either. What is the point of this? Buying logicats does nothing at all, you have to actually solve them. And besides that, logicats are supposed to be limited early on, otherwise zookeeper would not have a limit. You are not supposed to chain logicats either, that is the purpose of multisolving.

waveney commented 10 years ago

Curently that is only of use to players in a very very narrow window.

To be of general use (and work with shadow feeder), it should:

1) Have an adjustable threshold - click the Buy only when the number of puzzles exceeds that threshold only.

2) The adjustable threshold must be highly adjustable - you might start with 10, but then go up easily; this morning I click on puzzles when there are 15M, by this evening it will be 20M.

Dorus commented 10 years ago

Now you lost me. Why would you want to lower the threshold? The goal is to keep zookeeper active a little longer, and even if you buy the logicat early, zookeeper would already be active anyway.

Currently it goes up as the pokebar goes up, that seems steep enough.

waveney commented 10 years ago

I would want to raise the theshold for it to be of use. Pokebar is a small number, typically (for players with a high AC), so the number of puzzles is usually much larger than the Pokebar. It is a waste of time resolving the puzzles when the number is > Pokebar and < some moveable threshold. You want shadow feeder to take those away so that the next mnp you may get another number. For this feature to be of use, for players with higher AC, it would be for it to pre-click the puzzle buy so you can come back later with a pre-clicked number worth spending a few seconds solving.

Your goal for low AC, is different to mine with higher AC. A boost that operates in this area is useful for many players.

Some numbers (for me - I know others have even hgher AC): AC 64M, PR 420, PokeBar 460K.

LucidCrux commented 10 years ago

I still don't see how this isn't just some kind of weird extra level of crouching dragon, sleeping panther. Auto buying logicats just seems messy and unnecessary. Logicats are a manual mechanic. If you want to make something idle or automatable about logicats, then do that instead. If you want a boost that doubles the existing limit mechanics, try that. This is like a half measure either way and could potentially confuse people or lead to weird boost level uncertainty.

waveney commented 10 years ago

Dorus wants a boost so you can have one Logicat to solve and Zookeeper has another ready for you as soon as you have done it.

I want a boost to click buy when there are enough puzzles to be worth bothing with.

This is not about autosolving Logicats, its about optimising players time. With the right mechanics one boost could do both.

Dorus commented 10 years ago

Ah, now i see where you are going. I'm not at that stage of the game yet, so i didn't quite grasp the need.

I wonder if there would be any heuristics to decide on a good movable threshold, but that might take strategy out of the game we would like to keep. Some heuristics to decide when it's useful to allow a set number above the pokebar instead could be a option.

LucidCrux commented 10 years ago

"Dorus wants a boost so you can have one Logicat to solve and Zookeeper has another ready for you as soon as you have done it."

In other words, a doubling of existing limits. So why not a boost that doubles the existing limit to 20, not this weird half way thing.

"I want a boost to click buy when there are enough puzzles to be worth bothing with."

And this just sounds like extra storage to me also. You would essentially double (or less depending on what you set) your current limit, so that you can solve a puzzle when you want, but not have to wait for the buildup again for shadow feeder after you solve it. Except then it might just auto buy again and you'd still have to wait to refill for shadow feeder.

Wouldn't that be the same as some extra storage and an additional button that lets you only solve X puzzles instead of the max?

I feel again like either you guys are over complicating things, or I am not understanding this on a fundamental level. I don't mean to be argumentative, it just seems like I'm reading a different book than you guys or something.

waveney commented 10 years ago

Dorus

The formula is complex, very very complex. Depending on AC, PR and CDSP levels.

I would operate the threshold as the power of your new boost, and have buttons on it to raise (lower?) that threshold. Operate with 10, 20, 50, 100, 200, 500, 1000... Or something like that.

LucidCrux

I now understand what Dorus wants, I have been thinking in that area myself recently, now I realise they are the same (or can be). This amounts to just grind reduction, nothing overpowerful. It does not require extra storage beyond the adjustable threshold, the only buttons are on the new boost to toggle it and adjust the level. [[ Note to Dorus power can do both use GenericToggle with a ",1" after the me.id it will make the power negative when it is disabled]]

LucidCrux commented 10 years ago

Here is what I am getting from this. The top is a "clean" way, without leaving logicat in a dual state, the bottom is the dual state when a puzzle is active. I do not understand how it reduces grind, it just shifts storage from one place to another. Or am I just not getting it. If I'm not getting it, just tell me to screw off. ;P logicatpic

waveney commented 10 years ago

For low AC

Currently: - you have to wait a while then you answer a Logicat, then you wait another while and answer another. You can answer lets say 1 logicat every 5 minutes.

With thenew Boost - After 10 minutes you get to answer 2 logicats, one pre-bought the other awaiting. Rate of Logicats still 1 every 5 minutes, just that you answer 2 once every 10 minutes

High AC: Currently: If I feel like answering a Logicat, I wait 18 mnp (longer than usual - 9 cyclces), then spend 12mnp answering it (it was a difficult one). Then I can go back to waiting for one worth solving. Solving rate - whatever I can be bothered doing. All other cycles get processed to Bonemeal.

With the boost - When I can be bothered to solve one, it will be there. I solve it and the system repeats again. Solving rate - unchanged, time I need to concentrate on SB halved. All other cycles get processed to Bonemeal.

LucidCrux commented 10 years ago

For low AC that is literally like my picture. A boost that just doubles the storage would let you solve 2 every 10 minutes (requiring one less actual puzzle) and not leave things "dirty".

For higher, what about a setting for shadow feeder instead of a new boost. If you limit it to feeding X logicats to shadow dragon, you could still always have enough to be worth solving. And again this wouldn't leave it "dirty".

The end result would be another small boost for early logicat storage (which I don't think is needed, personally, but it's not a big deal), and another button/input on shadow feeder (and maybe also a shadow dragon feed X, and just for good measure a Solve X also added to logicat).

The reason I dislike having them auto bought so much is that there is potential for level/power confusion / complaints / questions / etc, and the fact that when a puzzle is active it hides all the information you can see in the boost. For certain settings that would mean if people want to read the description or stats, they may have to go find the autobuy boost and turn it off or change the settings. Having a puzzle open is a "dirty," half state to me, and not one that should be created unless the player triggers it (usually because they intend to solve the puzzle right after).

waveney commented 10 years ago

That sounds much much messier and would not actually help.

The proposed boost does nothing you can't do now, it just automates it intelligently. It does not require storing anything new other than the trigger threshold.

All I suggested was rather than have a fixed value to handle the low AC case that Dorus identified, a variable value that also makes it usefull for high AC.

The description and stats are still accessable. It already does things in background when a puzzle is open the shadow feeder still operates.

LucidCrux commented 10 years ago

I don't like it, and I don't see how it leaves things accessible since open puzzles block the description, or how some options for existing boosts is messier. But it's not my project to have any kind of final say so on, so I'll just leave it at that and let ed do what he will.

Dorus commented 10 years ago

If you want to see more stats with puzzels open, add that, should be reasonable trivial. It's something that slighly annoys me also. That said, i dont see how that would be in the scope of this suggestion, it's a unrelated issue (and this would still allow you to close away logicats or disable the boost if you want to see stats)

subanark commented 10 years ago

My current place is I have around 300 AC, panther rush at level 5. If I want to causally play a puzzle after the ONG, I have to buy 2 puzzles, not solving them, just hitting submit for 0 points, to get to 8 puzzles. Then I wait for zookeeper to give me 6 more. Solve the 10. Buy 2 more without solving to get down to 2. Then wait 2 zookeeper cycles to get up to 14 again.

What would be nice at this point, is to change panther poke/zookeeper to continue to work over the pokebar, but give lesser benefit, something like: logiPuzzles += logiPuzzle - min(logiPuzzle + pantherRush + 1, 4 + pantherRush * 2)

Dorus commented 10 years ago

@subanark that would render the pokebar useless as LucidCrux has argued before. Beside, my aim for this boost was to unlock it around Panther Rush 8 or 10.

For now it looks like eternaldensity has no opinion on this. Should i continue to work on my patch? I can try to include waveney's suggestion, but i find it hard to get the numbers correct since i'm not in that part of the game yet, so i will have to do some guessing. (I tried to work towards it the last few days, but it seems a need a bit more time to progress where i'm now).

eternaldensity commented 10 years ago

I haven't offered an opinion because I still don't understand the point of this.

subanark commented 10 years ago

All I'm saying is that the pokebar would still be valid, it would just give the same result if you had fewer caged logipuzzles if that would be more beneficial.

E.g. at panther rush 4, you can get 5 additional puzzles from panther pokes if you have 7 or less. While you get 0 at 8 or more. This means if you want to solve 10 at a time, you must first get your puzzles to 7, then wait for a panther poke,.

Dorus commented 10 years ago

You guys make me sad, i think waveney and myself perfectly explained it. For me, the real difference would be that i have a timeframe of a few minutes to look at the game while zookeeper runs at max effect, instead of having to decide between solving logicat's early, or wait till it hit the max and then solve one. I dont like the waiting part.

@subanark yes, i understand what you mean, but that's a part where you can get past with a little strategy too, i wouldn't want to spoil that part ;)

eternaldensity commented 10 years ago

I dont like the waiting part.

That's problematic.

MichealRein commented 10 years ago

I dont like the waiting part.

It's an idle game.

subanark commented 10 years ago

It's an idle game.

TODO?

I feel that there are many parts of the game where you simply can't idle. Or the benefits of ideling past a single ONG are insignificant.

Pretty much any time values start going extensional, you can't really idle as long as you are gaining resources at a linear rate.

I also really don't link spamming the mouse button for 100 clicks at a time to get glass out. I envision an idle game where you can leave the game going for a day, and come back to see some resources that you spend a bit of time allocating to get more value out for the next day.

eternaldensity commented 10 years ago

True, the Glass Saw is one of the worse non-idle things. When I was testing the other day I also experienced how annoying logicats are when you're just starting out. Maybe they're better once you can multisolve, but still I can understand why autosolving and autoclicking is pretty much necessary.

Dorus commented 10 years ago

Dorus The formula is complex, very very complex. Depending on AC, PR and CDSP levels.

I would operate the threshold as the power of your new boost, and have buttons on it to raise (lower?) that threshold. Operate with 10, 20, 50, 100, 200, 500, 1000... Or something like that.

I'm beginning to think i understand you. You mean the overshoot you get above pokebar if zookeeper has a good run. You wouldn't want to bother with logicat if it has a overshoot of 1%, but love to solve it if the overshoot is 50%. I'm not exactly sure what the average overshoot is, but i guess it will be between 12.5-25% (it will be either 25% or 50%, but i can't wrap my mind around the math right now). Since that's just the average overshoot, i wouldn't see why not solve all of them, at least half are above the average after all. But then, it wouldn't be hard to calculate the overshoot, and discard any under 25% or 50% (or perhaps 80%). If i'm right a 25% overshoot happens once every 2-4 runes, 50% overshoot every 4-8 runs and 80% overshoot every 40 or so runs. Wouldn't be too hard i think to simply make a button for 25, 50 or 80%. Perhaps make it a (somewhat) expensive upgrade of the zoo feeder. Thoughts?

Code14715 commented 10 years ago

The overshoot doesn't just get bigger as you go on. The range of the overshoot does, too. Every mnp, for me, results in an amount of puzzles well over the pokebar, even with the worst luck. Currently with 110G AC, and 440 CD,SP (raising it any higher is a pain, as well as pointless), my pokebar is at ~88M. After about 50 puzzle spawns, the lowest I saw was 2G, with the highest being 535G.

Dorus commented 10 years ago

I dont get how zookeeper could run above 100%, at best it produces (AC/1000)*PR logicats, on average it produces 1/4th of that, once every 100 runs it produces 81% of that. So if your CDSP level is low compared to AC, you will get that 81% run once every 100 runs on average.

waveney commented 10 years ago

If you are below the pokebar, Zookeeper runs. With high AC, it produces AC/1000 * random() Pokes.

So for me it generates about 1 million pokes on average. And with my PR level it will add 1000 puzzles per poke. So a net gain of about 1G puzzles per poke. This is way way over my pokebar.

Basically with high AC (and PR and CDSP) it will produce a LOT of puzzles.

Dorus commented 10 years ago

Actually it's AC/1000 * random() * random() pokes. pokes * PR = puzzles. When pokebar is still high compared to the zookeeper production, the average overshoot will be halved one more time, thus 1/8th of the maximal production. Once zookeeper produces a amount that dwarves CDSP, the average overshoot is 1/4th. The odds that random() * random() become .9_.9 is 10%_10%, or 1 in 100, thus a 80% overshoot has a 81% change of occurring at that point.

waveney commented 10 years ago

I can only see one random: var poke = Math.random() * (left - 10);

Thus in general for large AC the puzzles is then just AC_random()_PR /1000

This has a large range to it, I only bother to solve those at the higher end of the curve ~10% leaving the rest fo the shadow dragon.

Dorus commented 10 years ago

Follow me: var left = times; var furn = Math.floor((times + Math.random() * 3) / 2); left = times - furn; var draft = Math.random() * (1 + 2 * s) * (left - 7); // s = 0 at this point. left -= draft; var poke = Math.random() * (left - 10);

waveney commented 10 years ago

Fair enough, the random in furn has negligable effect though (it just rounds the times/2 up or down.

Dorus commented 10 years ago

True, but it's significant when AC is still in the 15-20 range. I also just noticed the number is halved 3 times, not just twice, the random factor does work just twice indeed. So the formula would be AC/2000 * random() * random().

Dorus commented 10 years ago

I just had a idea for this upgrade. Instead of the 50 or 80% ratio i spoke of before, you can simply open the logicats when they are over pokebar, but if they go over pokebar again in the background with a higher number, number of logicats, the current open puzzel is fed to the shadowdragon and the new pack is opened.

This could ofcourse be a somewhat expensive upgrade. Im still pondering. Not sure if i get to make this, might give it another go in the next week somewhere.

UltimateChaos commented 10 years ago

I have a brilliant idea for logicats when you have high AC...

Let's say ZK runs and it gives you... 50M puzzles. This amount gets stored.

Let's say it runs again and gives you 30M puzzles. This amount gets compared to the stored amount, it's lower, Shadow Dragon eats it.

ZK runs again annd gives you 70M puzzles. This is greater than the stored amount. This becomes the new stored amount and Shadow Dragon eats the previously stored 50M puzzles.

Player comes back after idling, looks at the logicat storage and there is the highest amount zk made in a single run. Group-solves 70M logicats.

Rinse-repeat...

waveney commented 10 years ago

Ok I will do something of that ilk (unless you want to do it) - should be failry straight-forward,

1) This will become part of the shadow dragon logic 2) The caged logicat display should say the number of Puzzles being solved 3) The current "open" is lost rather than being fed to the shadow dragon when a better number is found 4) As soon as the player has clicked on any of the controls it locks against further updates

Boost needs a name, price and an unlock condition.

Dorus commented 10 years ago

I had the logic for my first suggestion on https://github.com/Dorus/Sandcastle-Builder but if you wait for me to finish this up it can take a while, so feel free to go at it :)

waveney commented 10 years ago

Bananananas Boost now written.