A week ago, you were still working actively on your bot on the Codebusters contest. You had 8 days to code the smartest AI to handle a team of busters and make them explore the map and catpure more ghosts than the enemy team. Let’s come back on this crazy week.

The game

There were several parts in the Codebusters game. You had to manage a team of busters: from 2 to 5 starting from your base which was a corner of a rectangular map. Ghosts were spread on the map, but their positions were not known at the beginning of the game, because they were out of sight of the busters. As the enemy team was. This is called a “fog of war” and it changed everything.
So the first thing to do was to make the busters move on the map to explore it and discover ghosts. Once ghosts were found, the busters could “bust” them to capture them. Once captured, a ghost would be carried back to base by a buster with classic movement actions. Once in the base, busters had to release it, to mark definitely one point. These were the simple commands you needed to assign to your busters in Wood 2.

Leagues

As in Smash The Code, the game was split in several leagues: from Wood 2 to Legend. To be promoted to a league above, one AI had to be better placed than the boss of the league, a predefined AI chosen by us. It does not mean your AI had to beat the boss in a PvP match, but that it had to beat his score after all matches were computed.

Additional Rules

At the beginning of the contest, only three leagues were open: Wood 2, Wood 1 and Bronze.
After players reached Wood 1, they could use the “stun” command. Each buster could stun an opponent for 10 turns. Each buster could use it any number of times but with a 20 turns cool-down. This new rule brought fights in the arena between the teams. Indeed if a buster carrying a ghost was stunned, the ghost would be released.
Bronze league brought “stamina” to the ghosts. It worked as “health points”. It just meant that it needed several turns to get captured through the “bust” command. After that, there were no more rule changes, and the other leagues were opened every 2 days.

The results

The strategies

There is a forum topic where some players have already shared their strategy. It is super interesting, so I recommend you to have a look. You can also find the strategies of the winner and the third in the same topic.

Exploration

This has been handled most of the times by a predefined set of coordinates in the map to check. A lot of players also took advantage of the symmetry of the map (at the beginning only, since ghosts move away from busters) to guess where ghosts could be.

Busting

It began clear for players during the contest that a valid strategy was to take care of ghosts with less stamina first. Indeed they take less time to bust so you can score points quicker. I actually happened to add the following strategy in my code <ignore ghosts with more than 25 stamina> which enabled me to gain around 500 places in the ranking and get to gold in a single shot.

Stun fights

An easy strategy was to stun an enemy at range as soon as a buster could use his stun. But it could prevent the same buster to use it at a more important moment later. So be more efficient the AI had to decide which was the best moment to use it. And it was not easy, considering all the different configurations.

Scoring

The easiest (and most used) strategy was to go back to base in a straight line once you had captured a ghost. It led to the “camping” strategy, that is to wait near the enemy base for busters to come back with ghosts, stun them and steal their ghosts. One strategy used by the best players to counter it was to escort the buster carrying a ghost with one or more busters.

Some key points

Based on the feedback we received on the chat, by mail, on the forum or by the survey, here’s a brief idea of the goods and not-so-goods.

What can we improve?

  1. There has been several complaints about performance of the site during Codebusters. And indeed, we had memory leak issues. It has been fixed now. Also we’re trying continuously to improve the global performance of the site.
  2. The AI we chose to become the Silver league boss was probably not strong enough, as a lot of players stacked in Gold league at the end of the contest. It’s not so easy for us to evaluate which AI should be chosen considering the constant improvement of AIs during the week, but we’ll try to be more careful.
  3. The barrier entry at the beginning of the contest was higher than usual. It was not too difficult, but quite a bunch of lines were necessary to start competing.

What went well?

  1. The game was fun. Watching replays was really entertaining. A lot of players loved the graphics.
  2. Some didn’t like it, but overall, the different kind of contest, more focused on game logic and less on simulation, pleased a lot of CodinGamers. Don’t worry, it doesn’t mean we’ll prepare exclusively this kind of contest from now on.
  3. You’ve welcomed well the league system on Smash The Code. It’s confirmed now with Codebusters that you like it. And we’ll continue to tweak it and improve it!

The replays

After three days in the contest, we decided to launch a replay contest with CodinGame T-Shirts as prizes. Here are the three winner replays:
  1. Wobble dance by Husenap
  2. Emoji time by pcruiher08
  3. Chicken dance by OMGJebz
There is no secret that Husenap’s replay has been a true success. Here, on the chat, on Twitter, he received a lot of praises. So he decided to strike again!
Here’s another replay he has done to thank everyone who helped him win the T-Shirt: Thank you replay by Husenap.
And he didn’t stop there, he took the time to explain what he did for Codebusters in this nice blog article. Also if you want to know how he created the two replays, he explains it in this other article.
Congratulations to him for this amazing content.

Codebusters will be back!

As usual, the contest game will be back in the AI games section soon. We’ll add a few rules to the game but it’s a secret for now!
Prepare your busters to be ready on next Wednesday!