Halite AI Challenge 2018 Results
Today I am writing about my bot in the Halite 3 2018 competition
Final Results
I talked a little about the Halite 2018 competition in an earlier blogpost.
This is an annual open source competitive AI challenge designed around a particular game. This year the objective was to collect “halite” and return it to your shipyard.
Overall I came 831st out of over 4000 competitors. My company Imagination Technologies came 41st out of 460 different companies, universities, and schools.
Overall my bot was relatively efficient in its halite use which is partially why I managed to get such a high score, roughly in the top 20%.
My final bot was in PHP and I came third out of all PHP competitors which I am happy with.
A little about the bot
The initial focus with this challenge was improving the pathing algorithm. This was because you used halite as you moved across the map, relative to the amount of halite on the square. This mean that to optimise your movement you could perform complex pathfinding for more optimal solutions.
Combined with this, bots could only occupy a single square at once without being destroyed. However they could swap squares. I spent a good amount of time changing the initial pathing so that bots were smart enough to swap positions without colliding.
Since halite was randomly distributed on the map, at start of each match I analysed the map to decide where to target. This then apportioned a number of each ships to an area to collect halite.
When the game neared its end I would ensure that all my ships moved back to the shipyard and deposited their halite. No points were given for halite not in the shipyard so they calculated how many turns it would take them to go back to their base and moved when close to the end.
What next?
Towards the end of the competition I ran out of time to improve my bot so next year I hope to be able to spend more time on it.
PHP seemed to be pretty fast for what I was doing but I am going to experiment with using c++ next year to see if I can do more in each turn.
I hope to get a higher position next year than I did this year.