Allrighty everybody! Here-a we go! :tada:

A very big congratulations to our top 8 finalists:

Well done on everyone’s hard work! We’re looking forward to seeing what your bots can do!

The finals will be held at Comic Con Africa on the:

23rd of September

Bot cutoff for all finalists is:

8 September 23:59:59.999 SAST

There will be one final Friendly this Friday the:

1st of September 2023

to give everyone one last hoorah!

Thank you all for participating, keep coding and we’ll see you next year!



Im so amped for this, Thanks, the Date itself is also very generous for tweaks,

I was very worried for a moment there :star_struck:
Im definately doing pizza after that…

Goodluck all, Push these next 2 weeks.
I have a very large overhaul and a few days of tweaking…


Can I assume the Production Config is the one that will be held for the finals?

Yes, all will remain the same

GOOD LUCK!! … … … I will need it…
Cant wait to see you all at CCA!!


Hi, would it be possible to share the match logs for the top 8? I really want to see how my bot played vs the others.


I have made my bot repo public GitHub - purposek/cyfi.

Initially based off the reference bot. Eventually moved away from using a state machine. Main services are:
The pathfinding service, used different algorithms based on whether bot was collecting, exploring, digging, evading or approaching.
The path traversal service to return the command to the next position
The adversarial action service decide whether to activate radar, steal, evade or approach if any opponents were in close range.

In summary the strategy was:

  1. Send commands as fast as possible. So stored my paths as dictionaries. Keys were the positions, values being the command to reach the next position. If I happen to miss a turn I would send the same command because I would be in the same position. The engine would ignore the command if it was already queued.

  2. Explore higher platforms first to avoid falling or digging to the bottom of the map. Also to try and collect away from everyone else because I assumed most bots would try to collect the nearest collectables first, and chances of getting stuck in steal/steal back loop were higher.

  3. Stop exploring and start digging earlier. The assumption was that other bots would try and explore the whole map before starting to dig. If the are other bots on the map, it would then take longer to get new collectables, if any, than just getting points from digging closest solid lumps.

  4. If an opponent is in my window, check radar. If missing from radar, run! If in radar try and approach for a steal. But did not try to focus on chasing down since that meant missing many turns. You could only check radar and steal when idle.


@Kortgat we’re in the process of generating videos showing all bots for a couple of the final matches. We’ll be releasing them soon.