Round III setup#16
Merged
Merged
Conversation
Collaborator
RemarksReally nice job, you absolutely killed it with this update! 🚀 EvaluationHere are the results across 500 games with 100 rounds each on random maps, compared to the last statistic:
Conclusions
|
Collaborator
|
wow, very nice! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



As a basis for Round III, I implemented some improvements to our bot based on the behaviour in Round II #14.
Dont run headless to the next pot of gold
The gold value is now weighed against distance, movement costs, and enemy proximity. If the pot is not worth the sprint or an enemy is closer, the bot backs off and explores instead.
Include exploration of the map
I integrated the frontier exploration logic of the Explorer bot from @the-other-thanos Explorer dora #4 . The bot now actively seeks out unknown map areas instead of idling when no gold is reachable.
Refine the amount of moves per round
An affordability check ensures we never spend more than we can gain. The number of moves per round is now staggered based on pot value — higher value pots justify more aggressive sprinting.
I made some test runs on different maps. We are performing quite ok, I would say. But our winning rate is quite dependent on the type of map we are playing in. So I think it would make sense to adapt the baviour based on the map we are playing in, but also including a proper default behaviour if we are playing a new map.
Regarding enemy avoidance: I reduced the path-blocking from 3 tiles to 2, since blocking 3 tiles slowed our bot down too much. This sometimes causes collisions now. A possible solution for Round III could be to switch from avoidance to collision-exploiting — actively using enemy positions to our advantage rather than routing around them.