I would say my golden feature was a complete store of the whole map I could see,
So what I managed to implement (but not really use to its full potential) was the following:
Id store the whole map,
Then i would store the enemy X, Y and Speed
I would use those variables to determine what moves my enemy made
Which in turn helped me track power ups. Knowing when they could boost, Knowing when they could EMP, Knowing when they had Lizards. But… I probably needed 2 more weeks to really hone this.
Then I would simulate my own best moves
Simulate my best move if I do “Nothing” which gave me a score on my Nothing moves.
Then I would simulate what a cybertruck placement would do to my enemy (Potentially force boost break)
Or just drop it on the closest enemy Powerup.
Backfired a lot because I often got EMPd when I was going to pass over boosts and covered it with a Cybertruck.
In terms of what data I had. I had a form where I would run the following 4 sims:
My Best
My Best Nothing
Enemy Best
Enemy Best Cybertruck Interference
Enemy Best Powerup interference
Then I would score all and choose something from there.
But my actual scoring Algorithms seems to be slightly off still.
I had all the data, But I never really used it.
And I have some last moment bugs thats also a bit troublesome.
But yeah, I would say thats my golden feature.
Just a pity I did not manage to actually use it better.
Did some moves where I would counter my enemy.
Would have loved to see what this implementation would have done with a training AI (By example fine tuning my powerup values and running hundreds of matches to find that “near perfect” balance).
But as usual I generally brute force my entries. But this year I lost control of things a bit.
Id say thats the most impressive aspect of my bot. Reason I believe on the right seed my bot would be unstoppable.
But I did not quite get my: when to go for powerup and when to leave quite right.
And sometimes simpler is better