Day one: Unleash the Geek – day I

Day two: Unleash the Geek – day II

Unleash The Geek Series

Day three has been a complicated one for my busy robots on Unleash The Geek: I did not manage to improve substantially until late night and it was a bit frustrating.

The two most important areas of improvement for my bot, after watching quite a few matches against the Silver Boss and other players are:

  • Lack of efficiency placing radars and collecting ore
  • Avoiding enemy traps (cause yesterday solution seems to fail sometimes)

If you remember my last post, ore probability is higher on the right side of the map so that is where my robots tend to place radars first. This is fine, but not the best in terms of efficiency because of the distance to base and the fact that radars are unlimited so it really is not that important to place them in the best spot possible.
So after quite a lot of complicated ways of tweaking the radar placement strategy I ended up with a much more simple solution: limiting the distance to base depending on what turn the game is at. In other words: place radars closer to base at first and start going farther as the game progresses.
Not perfect, but good enough.

But being more efficient is no good when your robots die. Why are my bots dying? I did implement a solution for that yesterday: never dig a hole that is not yours. But that is not always working cause sometimes the enemy places traps on my own holes! So sneaky.
How can I detect that an enemy has placed a trap? That is not possible right?

Two traps exploding at the same time killing some robots
Two traps exploding at the same time killing some robots

Well, it turns out I didn’t know how radars actually work: they keep you updated of the amount and location of ore in range, on every turn. Even when the enemy extracts ore your radar can see the actual amount remaining. I didn’t know that, I thought it was like a «snapshot» of ore mines when placing the radar and that was it.

So, now that we know that, there is a way to detect that an enemy has extracted ore, and that might mean that now there is a trap in there too. We can’t know for sure, but we can avoid taking risks. All we have to do is detect when an ore count decreases somewhere without our bots being there.
I will call this safe mode v2.

I haven’t seen one of my bots suicide since that improvement but sadly I still am not at the top of the Silver League. Mostly top 150 or so.

Time for some lateral thinking: can we bury ore in a cell instead of always extracting it? What would happen if we did so? Maybe we can move ore from one place to another. Maybe we can stack ore in one place. But why? Moving ore from one cell to another gives no points, all it does is create holes everywhere.
Hmmm, if an enemy started digging holes I would have less safe cells to dig because of the safe mode v2. Holes are like «owning» a cell.
Maybe I can dedicate one of my robots to dig on every ore before the enemy, so once there is no ore left I can start going back to my own holes while the enemy has nothing to do. That might actually work!

Here you can see my robot digging to "hide" ore
Here you can see my robot digging to «hide» ore

I will call it hide mode.

And this, on top of all the previous improvements pushed my bot to top 15 Silver.

Top 15 Silver League
Top 15 Silver League

Ah, Gold League was so close! That will have to wait till day four cause it is 1AM already.

Read the fourth part: Unleash the Geek – day IV