Open tedivm opened 7 years ago
It seems there is a bit of confusion about the purpose behind bonzAI. It is not intended to be a ready-to-use AI like TooAngel. It is just the code that I am running and I made it open so that there would be another open codebase to be used as a reference. So this change would require I do some modification before/after syncing with the repository.
I cannot ignore the fact that people are using it that way, whether I intended or not, and so I am mindful about how certain aspects might impact the game. This is why I have stopped publishing updates to the raiding code.
On the other hand, if people are going to use it, it is their responsibility to look through the code and update it to their specifications. I'm very clear about that in the readme. I have not tried to profit from this, when players have seemed to have me included in their TradeNetwork, I have contacted them and let them know about this issue.
To be clear, everyone who knows about this thinks it's super sketch. I'm trying not to make a big deal out of this, because it could have just been an accidental thing. But if you're actually leaving this here on purpose, knowing that it benefits you in this sketchy/underhanded kind of way . . .
@tedivm I know about this and do not think its "super sketch". I above all things in screeps hate people who deploy freely available codebases in screeps without any knowledge of what is in them or without even an attempt to modify them.
I use Bonzai's codebase as a reference for some things because his design is quite clever, but I write my own codebase for this reason: I can mimic the parts that I like with my own added spin, and do not take the parts that are clearly just for his own purposes.
I appreciate him making it available as it has helped me to grow as a player in the game and accomplish new things. I do not expect him to cater to me as someone benefiting from his code as that is just absurd.
It is my personal opinion that those who can't find this sort of thing for themselves and disable/change it are really not ready for the game, or just aren't trying and should be punished as such. Sorry if this is an unpopular opinion.
+1 @etrexel. Copy-pasters of AIs are probably the biggest threat to a game like Screeps and to any coding competition. Any players who aren't engaged enough to even skim their submitted code by the time they're at RCL6+ should be handicapped. Having code as advanced as Bonzai's available at all is risky already.
@etrexel - it's not just the users of the code who are at a disadvantage. The thunderkittens are getting resources from zombie/inactive/novice players. They're basically getting extra accounts to support their primary accounts via some clever social engineering.
From the readme page-
If you have any problems or something seems really unclear, please raise an issue.
To me it seems like this is unclear, so I went ahead and raised the issue. Even something as simple as a warning on the readme would make this situation better than it currently is.
clever social engineering
I think you give me too much credit! If it was an attempt to get resources, it would be a very poor one. The console is very verbose about who it is sending resources to.
I'm not opposed to making a change in future versions, I just wanted to clear up the confusion about bonzAI. It is really just intended as a reference. I see no problem with using it as a starting point if players want to run it directly, but they are pretty much on their own. The fact that people have decided to do this has been a bonus for me. Not because of some diabolical resource funneling scheme, but because the code has benefited greatly from having more eyes on it.
@bonzaiferroni for the record I did not assume you did this on purpose, and I just assumed that when I opened the ticket this would be resolved quickly. I was not expecting it to turn into the discussion that it did.
However, once the pushback towards solving the problem started then I got concerned. Whether you're intentionally creating a "diabolical resource funneling" or are just taking advantage of some stale code, the actual consequences here (you getting more resources) are the same. So now that you are aware of this, your decision to let it stand or correct it is a conscious decision on your part (as opposed to just inertia from an old codebase).
I think this is fine, actually. People who run external code without verification in some way deserve to be slapped. And bonzai could split his codebase into many submodules, or use the eternal config.example trick... but I can entirely understand if they don't want to.
The readme commit (0338664) is an entirely sufficient solution, I think.
The
TradeNetwork
should either be disabled by default or theTradePartners
list should be empty in this public repository. The reasons are simple-Some players may not realize they are automatically sharing their resources with other players. An "opt-in" system would be more fair, as it would prevent the people on the TradePartner list from essentially profiting off the ignorance of other players who have not read the entire code base.
The current setup means that non-coding players, and even zombie players, using this AI provide an unfair advantage to the people in the default TradePartners list.
Disabling it by default could be as simple as requiring a constant to be set to
true
or having a memory point set to toggle this.