Detergent13 / tft-bot

Automate Teamfight Tactics (TFT) for token/mission farming. Updated for Set 11!
GNU Affero General Public License v3.0
81 stars 45 forks source link

[Suggestion] Advanced features should be off by default going forward #10

Closed Benjamin-Berger closed 3 years ago

Benjamin-Berger commented 3 years ago

The bot is pretty perfect in its current state as a basic token farm. I think it should be preserved as is.

New features and improvements should be deactivated by default unless the user specifically activates them.

This is primarily because, while testing a new feature, I ran into another Deterget13-tft-bot in the wild. It was using the basic code and ff'd at 3-2.

The reason not to over engineer this is simple. Bot's may progress and its a constant fight to stay on top (cool, but less effective for farming). And secondly, running into many bots that all are using the exact same logic will be detrimental to everyone overall. This actually lends itself to the idea of multiple comps, b\c it was noticeably harder to find champs because the other one was looking for the same (the default) ones.

It all depends on what you intend for this bot to be.

Rafinhi commented 3 years ago

I think the biggest problem to solve right now is using screen recognition for moving between phases, it's enough that the bot misses one phase, and It will become stuck. Ale there is no option to turn it on in the middle of a run.

As for advanced functions, i guess they are rather useful if someone tries to rank up in ranked mode than to farm casual.

PS: How do you know you know you ran into Deterget13-tft-bot and not someone who just manually ff'ed at 3-2? Was he buying nidalees? :D

Benjamin-Berger commented 3 years ago

Right now mine doesn't have that issue because i check for game end or 4 dead (i was able to get a capture of reasonable confidence). That being said I don't remember having that issue with the base code.

Thats the thing though, I don't think this bot will ever get to the point of being able to actually rank. Right now its about generating coins, and some 'advanced' features added are to increase potential coin gen.

haha i've been messing around with the bot a lot and it was easy enough to recognize the default. the person followed every pattern, from which champs they bought, how they bought them and spend gold, and where they clicked on the 2-4 carousel. If its not this bot (it was) then it was one programmed to do exactly the same thing

Rafinhi commented 3 years ago

I didnt have the problem with the base code 2 days ago, then yesterday it randomly stopped on "Loading" 🤷 It might be rare, but happens

Detergent13 commented 3 years ago

The bot is pretty perfect in its current state as a basic token farm. I think it should be preserved as is. New features and improvements should be deactivated by default unless the user specifically activates them.

I'm with you on that one- the bot works pretty well as it is (at least for farming), so I'm cautious about adding non-optional features. My thought was that we could pass options through command line arguments (so you can save your options in a .bat file) or maybe just a config file to avoid having to select the same options all the time. No-surrender could be added as an option as well, rather than being a separate branch. Could get messy if I don't do it right though, so might take some planning and thought before adding it.

Detergent13 commented 3 years ago

I didnt have the problem with the base code 2 days ago, then yesterday it randomly stopped on "Loading" 🤷 It might be rare, but happens

Odd, haven't really had any issues that I can remember with it missing recognition, but could definitely vary with your setup or just be super low odds. I don't think there's much of an alternative to using CV though, unless LCU works in game as well, but the endpoints would definitely be a pain to find and implement.

Benjamin-Berger commented 3 years ago

Considering ~10 min to first surrender nets you 2 tokens, im pretty happy with where it is. I got a reasonable confidence with my 4 dead. I see it as 10 minutes = 2 tokens as a base, and then trying to maximize it from there. Happy to share the 4 dead, but i only realized late that I'm using a non-default board, which i didn't previously consider.

image