5 days have passed since the beginning of Codebusters* and players are still joining the competition. If you’re hesitating to participate in the contest, these players’ reactions could help you take the leap!

Also if you’re interested in knowing what happened during all the contest, you can read Codebusters logbook here.


*For those who don’t know the game: it’s a multiplayer league contest of AIs where you have to handle a team of busters, make them explore a map and capture more ghosts than the enemy team.

What do you like about this contest?

Wando
What I love about this contest is the different take most people have had. In the past, we’ve witnessed a race to get the best genetic algorithms or heuristics of some sort. Codebusters is taking a really interesting different route from that, and a lot of people have had to adapt to a different style of thinking to get some good teamwork with busters!

Thanks for the absolutely awesome contest. It’s been my favorite so far and I’m very excited for future ones too. I know a lot of people for who this is the first contest and I’d love to set up a CodingHub in the UK for the next one.
KingdomHS
I love the reference to Ghostbuster. The PvP system is quite original, but I have to admit that each time I have difficulties to understand all rules, and debugging my code has not been an easy task.
Zexion
This is my first contest. I didn’t dare trying the others before as there’s a lot of AI experts around. I find the contest quite good, because you can go far with just heuristics. However I have the feeling that in this one specifically you have to code a bunch of things before being able to see anything.
olsh

I like the contest because I (and probably many other people) don’t need to use brute force algorithm as in the previous one (Smash the Code).

tyrcho
This contest is my favorite (and I’ve participated in most of the previous ones)! I like the fog of war as it adds an exploration strategy to the problem. I also prefer PvP contests.
gragatrim

Like most contests on this site, it gets gradually more difficult, so it’s easy to start with something basic and iterate on it.

What part of your code/strategy are you proud of and why?

Wando
I’m particularly proud of the flow of my code this time. I made some effort to avoid ad-hoc solutions and tried to keep things neat, and went for a command queue design pattern that’s let me easily tweak different behaviors of the busters with little impact on the other behaviors.

Zexion

At the beginning, I was very proud of my strategy of map exploration. Then I saw the “camping” strategy… The latter has actually helped me reach silver.

olsh
Well, I’m proud that my strategy works. I think it doesn’t have anything special in comparison with other strategies though.
tyrcho
The part which handles exploration: it keeps track of what I saw or guessed. I have the feeling that often my AI has a better strategic vision. I also like the way my busters regroup as a battering ram to force the passage through campers. For once, my code is not too ugly, my methods have less than 10 lines. I’ve managed to force myself to refactor.
gragatrim

Probably the code to get my busters to wait around the enemy base and stun ones that come back with ghosts so I can try and steal them. Although as I’m getting higher up in the rankings that strategy isn’t paying off as much as it once was.

What are you planning to do next to improve your code?

Wando
Next I’m planning on making my exploration strategy a bit more sophisticated. I think it’s time to shake of the rand() and start hunting for those ghosts who’ve hidden away in corners 😉

I’m also going to be working on different strategies depending on the number of busters available, because I think many people might not expect that.
KingdomHS
I have to work on my exploring function to be able to detect more ghosts.
olsh
I’m going to fix all the bugs that I did in rush. 🙂
tyrcho
I really have to improve some tactical decisions, in particular not helping ennemies to bust ghosts I will not be able to capture. And if possible I have to organize my algorithm to take more collective decisions for my busters. Except the stuns, each buster chooses alone what to do.
Unfortunately I won’t be able to devote so much time to this until Sunday, I’m going to be overtaken…
gragatrim

Right now I think the weakest link is my ghost searching/path finding choice, so I’ll most likely be focusing on what my busters should be doing if they aren’t actively busting or stunning.

What language do you use and why?

Wando
I use C++, partly because it’s what I use the most for my own projects but I also really have never been able to shake off using pointers. I find it handy in contests like this for which OOP works nicely, and I think my command queue wouldn’t have worked out as well in many other languages. I’ve seen some very clever Python & Java CodinGamers around too though!

KingdomHS
I use Javascript, because Glorious Javascript Master Race.
Zexion

Python, I already have some things coded like a state machine. Plus it’s kind of a flexible language.

olsh
I use C# basically because I know the language pretty well.
tyrcho
Woah, I could talk about this for hours because I love this language. After having personally tried about fifteen languages (including basic, pascal, C, C++, eiffel, camel, php, python, groovy…) and spent about 10 years using Java for work, I’ve discovered scala by chance.

It’s an extremely expressive language. The collection APIs are very rich, it helps me save a lot of time on puzzles and contests. The compiler has a very advanced type system and can detect a lot of issues at compilation time.
Finally it runs on the JVM so you can reuse any library and framework from Java if needed.

On other contests, I’ve had difficulties compared to C/C++ users for optimizing critical parts (when you have to calculate possible plays on a tree and evaluate positions) but anyway it’s not my cup of tea. And for Codebusters, my algorithm doesn’t loop on futur so no regret this time!
gragatrim

I’m using PHP on this, I used to use it a lot, but haven’t touched it in a few years and wanted to brush the rust off. Thought something like this would be a great way to get back into the swing of things.

If you had to give a piece of advice to a new player of Codebusters without much time in front of him/her, what would it be?

Wando
Try some of the puzzles first and just get used to writing in a single file. If you can, make use of the CodinGame IDE plugin, it has really helped me keep track of my code this time. Also, debug mode is a lifesaver this time around!

 
Zexion
Well I started the contest yesterday, so I’m kind of a new player. I’d advise to check the chat, it’s quite easy to find tips there.
 
olsh
Do not rush, otherwise you’ll get a buggy strategy. Measure twice and cut once.
 
tyrcho
Code very quickly (in a matter of minutes) a first version of an AI and test against the boss to get feedback on what is not working well.
Do a list of improvement ideas and write it on paper. Prioritize approximately to begin with the most easy and promising ones.
Improve your IA in a few minutes and iterate.
On Codebusters specifically: move diagonally, capture the closest ghost, and bring it back to base. This is quite fast to code.
Then: better explore (following borders but not too closely, spreading busters…), capture the ghost with less stamina (bronze league), stun an enemy as soon as it is within range (wood 1 league)…
In the first leagues, I think you have to focus on an efficient map exploration.
Starting bronze, you have to handle campers.
gragatrim
Focus on one thing to code and don’t worry about anything fancy. Once you can get your busters to find a ghost and retrieve it, then you should start worrying about doing things in a more efficient manner.

If there’s something strange in the IDE, who you gonna call?

Wando
GHOST-BUSTERS!….or probably [CG]VonRickroll if that doesn’t work…

KingdomHS

CODEBUSTERS 😛 !

Zexion

CODEBUSTERS!

olsh

TECH SUPPORT!!

tyrcho

CodeBusters? My memories of the movie are quite blurry…
gragatrim

Bram Moolenaar


Thank you Wando, KingdonHS, Zexion, olsh, tyrcho and gragatrim for taking the time to answer my questions and good luck for the rest of the contest!