- Bots were passed their own previous move and told it was their opponent's previous move.
- Bots were always given
0as the round index instead of the correct positive integer.
I was wondering what the second mistake was - I notice that I am no longer confused :)
Originally I was confused in this game as to why CliqueZviBot started decreasing around round 23 but I guess it is a combination of:
(not all of them but probably most, especially the first bullet)
In the Mutant Game, the PasswordBots aren't really on my team. Since it appears to them that the opponent started with 3, they will play 3 on every turn against everybody.
If the round index is always 0, that means the clone truce never ends and you have population dynamics based on which clones are getting 300-200 against which other clones. Not sure if it will be stable or not.
I suspected that my simulation strategy didn't end up being all that useful, but I'm still curious what bots I managed to simulate at all. Presumably at least the PasswordBots. I guess I can find out when the code is released.
This game continues from the alternate timeline here where I made two mistakes in the game engine.
0as the round index instead of the correct positive integer.CloneBots
Multiple people have noted that
CliqueZviBotis outperforming the otherCloneBots. This is due to how theCloneBotcode interacts with the bugs in the my engine.The
CloneBotsstill cooperate, but they do so imperfectly. AllCloneBotpairings result in 200-300 splits instead of 250-250 splits. TheCloneBotsuse source code parity combined with round number parity to determine who wins the 200-300 split. Therefore ifCloneBotAandCloneBotBget a 200-300 split in favor ofCloneBotBthen they will always get a 200-300 split in favor ofCloneBotB.Rounds 11-30
Round 11
Larks' CooperateBot died on round 11.
Round 12
PasswordBot from Team Multics died along with "Why can't we all just get along" from Chaos Army and an NPC.
Round 13
No casualties.
Round 14
6 bots died.
Round 15
5 bots died.
MeasureBot had succeeded in infecting AbstractSpyTreeBot's
movemethod and replacing it withreturn 0. AbstractSpyTreeBot ought perform better with MeasureBot out of the game.Round 16
3 bots from Chaos Army died
Rounds 17-22
4 NPCs died
Round 23
BendBot and Copoperater [sic] died. BendBot belonged to Zvi. CliqueZviBot does not actually belong to Zvi. It is named after Zvi's strategy from the original name.
Round 24
No casualties.
Round 25
Copybot Deluxe died.
Round 26
RaterBot died. RaterBot performed semantic analysis on its opponents' source code. This may have contributed to breaking the symmetry of the clones.
Round 27
No casualties.
Round 28
Empiricist died. Empiricist was the most complicated bot I agreed to write the code for. The bot is exemplar of a precise, well-written spec of a clever algorithm.
Round 29
1 NPC died.
Round 30
No casualties.
Summary of Rounds 11-30
Everything so far
List of Survivors
The CloneBots and the MimicBot are all still alive.
Two bots from Chaos Army survived this first ¼ of Order 66.
One NPC survived too. Silly 2 Bot always returns
2.In early tests of the game, I discovered that sometimes bots got stuck at a population of 2 from which they never died nor recovered. I added custom code to finish off any bot with a population of 2 or less. Any bot whose population drops to 2 or less will die.
Multicore's Mystery
Multicore is in first place. But Multicore should not just be in first place. As the sole traitor among the
CloneBots, Multicore'sMimicBotshould be dominating this competition. Plus, as a simulator, it should be able to cooperate on the first turn despite receiving misinformation about its opponent's previous move. I suspect that theMimicBot's simulator is useful because the other simulator,AbstractSpyTreeBothas the highest population of all non-clones.Multicore's failure to completely dominate probably has something to do with the bugs in the game engine. But there's something else which at play too.
Simple bots are most advantageous to simulate. They are easy to maximize cooperation with and there is little danger of simple bots winning in the long game. The simplest bots were my silly bots. The next simplest bots were the bots I wrote on behalf of non-programmers. I programmed exclusively in Lisp. The
MimicBotonly has has code to simulate opponents written in Python3 and cannot simulate bots written in Lisp. (The same goes forAbstractSpyTreeBot, whichMimicBot's simulator came from.) ThereforeMimicBotcannot simulate the bots which it would be most worthwhile to simulate.If this is true then
AbstractSpyTreeBotcontinues to influence this game.Today's Obituary
32or3on the first turn. Otherwise, returns5 - opponent_first_move.int(5 - opponent_avg). Otherwise randomly selects3or2randomly.2. Then always returns5 - opponent_previous_move3and2, starting with3.movemethod and return0. This succeeded against AbstractSpyTreeBot and failed on EarlyBirdMimicBot. Otherwise, it uses a hand-coded decision tree with 20 terminal leaves.3or2randomly until symmetry is broken. Then oscillates between2and3.2or3. Then always returns5 -opponent_previous_move.3 2 3 2. Then picks one of 5 strategies to use for the rest of the game.2or3. Then always returns5 -opponent_previous_move. (Same as Silly Counter Invert Bot.)3. Then always returns5 - opponent_previous_move3on the first turn. Otherwise, returns5 - opponent_first_move.2.2.2or3based off of round number.3s,2s,return 3s andreturn 2instances in its source code. Then picks a strategy based off of that.2on the first turn. Otherwise, returns5 - opponent_first_move.The mutant game will continue on November 27, 2020.