Skip to content

Initial strats improv#12

Open
annadhm wants to merge 11 commits into
Game-Round-IIfrom
initial-strats-improv
Open

Initial strats improv#12
annadhm wants to merge 11 commits into
Game-Round-IIfrom
initial-strats-improv

Conversation

@annadhm

@annadhm annadhm commented May 26, 2026

Copy link
Copy Markdown
Owner

I thought about some imrovements for #8.
This code is based on @juwei95 code and also includes the #11 implementation

And added the following:

Currently, the walls of enemy paths are permanently added to ourMap and never removed. This significantly corrupts the map over time. So I implemented the removement of the paths from ourMap with every new gold pot.

For Path prediction of opponent players, I implemented a speed calculation. Making sure that our bot dont go for the gold if it would be to slow.

@annadhm annadhm mentioned this pull request May 26, 2026
@juwei95

juwei95 commented May 28, 2026

Copy link
Copy Markdown
Collaborator

Remarks

Thanks for fixing the map corruption issue.
I thought calling update_map every move would sufficiently clear the predicted paths of other players, but I didn't test it very thoroughly.

I evaluated your behavioral changes with my test script (#10), comparing the new code against the previous version (de6e8ea), similar to what @the-other-thanos suggested:

python3 monte_carlo.py -n 500 -r 100 -c 32

Evaluation

Here are the results across 500 games with 100 rounds each:

  • With the low gold guard only, the bot performs somewhat worse (28% fewer wins)
  • With the dynamic movement range prediction only, the bot performs significantly worse (72% fewer wins)
  • With both new features combined the bot performs somewhat worse (36% fewer wins)
  • The difference in performance grows for longer games over more rounds.
adl_vs_old_vs_new_100 adl_vs_old_vs_new_300

Conclusions

  • Dynamically predicting the number of moves other players will take, based on the maximum they can afford, seems too pessimistic. In practice a small hardcoded value works better.
  • The heuristic for the low gold guard does not appear to increase the efficiency of the strategy.
  • Separating the objective map data from subjective path predictions is definetly a good fix and makes the code clearer 👍.

@annadhm

annadhm commented May 31, 2026

Copy link
Copy Markdown
Owner Author

Yeah true! I Would suggest that we push your #8 bot as our submission for Round 2, and only include the map seperation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants