5
\$\begingroup\$

I posted this challenge about a week ago, and it has since become fairly popular with nearly 40 answers. In the chatroom, a user asked whether teaming was allowed. I said it was, if someone could figure out how it could even work.

Two teaming bots were posted shortly after, one of which easily taking first place. Due to the rule that a bot may not target another specifically, it was difficult to top them. After lots of arguing in the chatroom, we're unable to reach an agreement on what to do.

Some bots have been designed to use the teaming bot's IDing system to keep from being targeted by them. A few of our proposed solutions:

  • Ban teaming
  • Allow teaming without IDing
  • Restrict further entries
  • Allow teaming but restrict certain actions

What is usually done in these sorts of situtations?

\$\endgroup\$
  • 1
    \$\begingroup\$ This is one of my favorite KoTH challenges to have read through. The winning team was due, in part, to a pair of players working together to trounce the competition. \$\endgroup\$ – Poke Aug 8 at 17:14
  • 1
    \$\begingroup\$ @Poke In that challenge, it was a pair of players who teamed up. Here everyone is just making their own pair/squad of bots. \$\endgroup\$ – Alion Aug 8 at 17:29
  • \$\begingroup\$ That's essentially the same thing \$\endgroup\$ – Poke Aug 8 at 17:49
  • 1
    \$\begingroup\$ @Poke The current bot pair consists of a bot that always stuns an opponent and a bot that always attacks the same opponent (as both bots use the same target-picking logic). This prevents the target from being able to do anything about its situation. Both bots were written by the same user and posted at the same time with the expectation that the bot-that-only-stuns cannot and will not ever win. Current rules restrict writing bots that disrupt this behavior. \$\endgroup\$ – Draco18s Aug 8 at 17:50
  • \$\begingroup\$ Surely another bot could disrupt the target picking in some way... Maybe a guardian bot that stuns bots near a stunned bot or something like that. The point being that it's just another strategy in an evolving meta-game. Additionally the bot-that-only-stuns could win if other bots farm themselves to death. It's not the worst strategy; just a bad one. \$\endgroup\$ – Poke Aug 8 at 17:56
  • 1
    \$\begingroup\$ @Poke there's no "near" concept. All bots can target any other bot as they desire. There's also no ability to read stunned status. The only information available about a bot-that-is-not-self is: current effective hp, its worth, and its attack strength (plus a UID). \$\endgroup\$ – Draco18s Aug 8 at 17:56
  • 3
    \$\begingroup\$ Since all submissions must be serious contenders, does that invalidate the bot-that-only-stuns? E.g., EmoWolf-ing the challenge. \$\endgroup\$ – AdmBorkBork Aug 8 at 17:57
  • \$\begingroup\$ @AdmBorkBork It still fights and can farm resources, but its strategy assists another bot in getting the kill \$\endgroup\$ – Redwolf Programs Aug 8 at 17:59
  • \$\begingroup\$ @Draco18s that wasn't really the point... The point is that someone can write logic that defeats the pair. In this case you could emulate the strategy for determining the teammate or something like that \$\endgroup\$ – Poke Aug 8 at 17:59
  • 1
    \$\begingroup\$ @Poke ...which violates rules \$\endgroup\$ – Redwolf Programs Aug 8 at 18:00
  • 4
    \$\begingroup\$ If emulating the teammate-identifying behavior violates the rules, then so does the teammate-identifying behavior \$\endgroup\$ – Poke Aug 8 at 18:00
  • \$\begingroup\$ designed to take advantage of common strategies seems relevant imo \$\endgroup\$ – Poke Aug 8 at 18:01
  • \$\begingroup\$ @Poke Currently, the unofficial rule is "a bot may not attempt to identify(≈target) another specific bot unless that specific bot wanted to be identified by that bot" \$\endgroup\$ – Redwolf Programs Aug 8 at 18:02
  • \$\begingroup\$ @Poke which is what I said here, see chat for rebuttal. \$\endgroup\$ – Draco18s Aug 8 at 18:02
  • 3
    \$\begingroup\$ To me it looks like the identification strategies are in global space. There's no reason why I shouldn't be able to run the same calculation and "accidentally" mess up someone else's computation. Likewise in the challenge I posted, if one of the members of the pair died before they met up, then the strategy didn't work. \$\endgroup\$ – Poke Aug 8 at 18:08
9
\$\begingroup\$

Disallow Teams Entirely

Going to post this as its my opinion on the matter. The whole idea was actually my fault, too. It was a loophole in the original rules that wasn't explicitly mentioned but which skirted the boundaries of what was listed. I voiced the idea in chat with the expectation that it would be a cute attempt, but get blocked for violating the spirit of the challenge. SuperStormer just happened to actually write up a pair of submissions before I'd move on from just thinking about it to actually writing code.

I did this with Adventures in the Ruins too, and while it was deemed illegal, it also wasn't a long term winner due to the structure of the challenge: as only 8 bots would be run at a time, winning bots would play again and losing bots would be eliminated, until only 8 remained and those would then play for the final score. As one of the team literally sacrificed itself for the other, it would not move on to the next round. It was silly but a fun out-of-the-box bot.

Most of the suggested rules on how to limit teams has been very subjective or otherwise near unenforceable (e.g. "the owner of the team has to give you permission to identify as the team": this means that if the team is posted performing a given set of moves to identify team members, no other bot can ever perform those same moves which is silly).

Several other factors come into play as well, regarding what methods a solo bot can perform to defend itself against a coordinated attack from a team of bots, and as things currently stand, there is nothing a solo bot can do that's allowed. Or how is a team scored with regards to its placement in the challenge? Does the worth of the highest single bot counted? Is it the average among all team members? How does the controller know what's a team and what isn't without alterations to the controller that doesn't render it a unique challenge?

I have nothing against team-based challenges, but this one wasn't meant to be one and it should stay that way.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .