Ikabot-Collective / ikabot

A Python-based bot designed for automating tasks in the game Ikariam
https://discord.com/invite/3hyxPRj
MIT License
97 stars 65 forks source link

Feature - automate attacking barbarians #225

Open Rakkuzan opened 8 months ago

Rakkuzan commented 8 months ago

Is your feature request related to a problem? Please describe. Currently, there is no way for the bot to continuously attack barbarians up to a certain level.

Describe the solution you'd like Create a way to predefine a plan of attack for each level of the barbarian village, and then let the user choose the max level at which the village should be attacked. It would be nice if this would also calculate travel time + load time and sent an attack so that it arrives just after the village is rebuilt.

coecharlin commented 8 months ago

Interesting idea, perhaps with this release it would be easier to also develop the possibility of attacks on players. I see some users suggesting this evolution but I believe it is difficult to deal with this demand.

susikaman commented 8 months ago

Interesting idea, perhaps with this release it would be easier to also develop the possibility of attacks on players. I see some users suggesting this evolution but I believe it is difficult to deal with this demand.

The difficulty is not the issue with this, but rather the morality. Ikabot was not designed to be used as a cheating tool against other players, but rather for sims playstyle.

But the original suggestion for barbarians is a good one. I was surprised to know that the barbarian attacking bot was not automatic to begin with, since Ikabot is all about automation.

Rakkuzan commented 8 months ago

Interesting idea, perhaps with this release it would be easier to also develop the possibility of attacks on players. I see some users suggesting this evolution but I believe it is difficult to deal with this demand.

The difficulty is not the issue with this, but rather the morality. Ikabot was not designed to be used as a cheating tool against other players, but rather for sims playstyle.

But the original suggestion for barbarians is a good one. I was surprised to know that the barbarian attacking bot was not automatic to begin with, since Ikabot is all about automation.

I do agree the pvp aspect should not be automated.

ikagod commented 8 months ago

The difficulty is not the issue with this, but rather the morality. Ikabot was not designed to be used as a cheating tool against other players, but rather for sims playstyle.

I think the PVP aspect will be automated eventually as well. Especially with the plans I have for the upcoming ikariam model within ikabot, many automation scripts will be much easier to write. Alongside that there will definitely be options for pillaging, occupying, defending etc... (basically everything you can currently do in the game) As for the actual automation scripts that come pre-written with ikabot, I don't really have anything against not including any that pillage actual players. Although, I have had in mind an idea to make a script that automatically and passively scans nearby islands for inactive players, spies on them, and automatically pillages them (can hardly call this PVP, there's a reason why they call it farming inactives), but IF that ever happens it will be in the far far future. If the community and other contributors and collaborators voice their objections on these methods even being included in the ikariam model we can always remove them, but I don't think that will be the case. Also keep in mind that this project is open source and that anyone can fork it and add these methods themselves if they so chose and release them for free on github.

Generally when it comes to moral issues, the only thing I find morally offensive is writing scripts that automate waves in PVP, especially if the script itself can provide some highly optimized plan of attack. I think in that regard, it's best left up to the players to decide what the optimal waving strategy is and to execute it. Otherwise I feel like the game will lose it's charm.

Unfortunately for our barbarian friends, they are not players, so human rights do not apply to them. I think the original proposition is a great idea. It could also be expanded upon by writing pre-determined optimal waves for each barbarian village level, although writing this will require the knowledge and expertise of a highly experienced barbarian destroyer. The army for the waves could be trained using the train army module that we already have, but this is I think far too complicated and will probably not be possible until the ikariam model is finished.

Don't expect me to work on this issue anytime soon though, I am fully focused on developing the model right now.

Update: I just found this open source forked ikabot repo that, from glancing over it for a few minutes, seems to do the exact thing this issue is requesting: https://github.com/Migolina/ikabot

ninichuuh commented 6 months ago

So will we use this part in new version?

ikagod commented 5 months ago

So will we use this part in new version?

Most certainly not in the upcoming version (7.0.0). This feature will be added either once someone else decides to work on it and submit a PR, or until I finish working on the ikariam-model branch of ikabot, which will take quite some time.