BeepBoop
- Sub-pages:
- Version History - Understanding BeepBoop
BeepBoop | |
Author(s) | Kev |
Extends | AdvancedRobot |
Targeting | GuessFactor Targeting |
Movement | Wave Surfing |
Current Version | 0.1 |
Code License | RWPCL |
Download |
Background Information
- What's special about it?
It is my first new bot in over 10 years!
- How competitive is it?
We'll see! It does really well against top bots, but I'm less sure how it will fare against the general rumble population.
Strategy
- How does it move?
It uses a new type of WaveSurfing I call PathSurfing. It is a sort of generalization of True Surfing. As well as considering going forward/backward/stopping until the wave passes, it also considers other "paths"; for example one might be driving forward 3 ticks and then reversing 5 ticks. An advantage over GoTo Surfing is that it considers how it gets to a point as well as the point itself. For example, it sometimes drives past and then reverses into the lowest danger point if that helps is get to a low-danger area on the next wave. The danger computation combines Bullet Shadows with multiple KNN systems including Flatteners.
- How does it fire?
It uses two KNN/GuessFactor guns, one tuned to hit surfers and the other tuned to hit other bots. The formulas for the gun and movement are learned offline using TensorFlow. For Energy Management, it tries to directly maximize the expected score at the end of the round by predicting its win probability and expected bullet damage for various candidate bullet powers.
- How does the melee strategy differ from one-on-one strategy?
It currently can't fight in melees.
- What does it save between rounds and matches?
Gun/movement data between rounds, nothing between matches.
Additional Information
- Where did you get the name?
It's just a silly name for a robot!
- Can I use your code?
Yes, but please (1) give credit and (2) open-source your bot!
- What's next for your robot?
Add bullet shielding? I think it's a bit of a cheap trick, but it might be necessary for getting competitive with DrussGT in terms of APS.
- What other robot(s) is it based on?
I used many ideas from throughout the wiki.
- It started off based on WaveSerpent, although at this point it works quite differently.
- It uses non-iterative WallSmoothing by David Alves and fancy-stick WallSmoothing by Simonton
- It uses precise wave intersection utilities and anti-basic-surfer bullet powers from DrussGT.
- It uses Rednaxela's kd-tree implementation.
- It was indirectly influenced by many other bots/pages including Diamond, CassiusClay, ScalarR, Kawigi's GuessFactor Targeting Tutorial, and non-iterative PPMEA.