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?
It is the current robobumble King.
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 embedding functions for the gun and movement are learned offline using gradient descent. As well as trying to hit the opponent, it also tries to create helpful bullet shadows that shield its movement. For Energy Management, it aims 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.
- What does it save between rounds and matches?
Aiming/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 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.
- Diamond for inspiring how BeepBoop does distancing and how it turns different surf systems on/off based on the enemy's hit rate.
- It owes a lot to DrussGT including
- Precise wave intersection utilities.
- FastTrig utitilies.
- Anti-basic-surfer bullet powers.
- Fast kernel density estimation for aiming.
- It uses Rednaxela's kd-tree implementation.
- It uses non-iterative WallSmoothing by David Alves and fancy-stick WallSmoothing by Simonton
- It was indirectly influenced by many other bots/pages including CassiusClay, ScalarR, Kawigi's GuessFactor Targeting Tutorial, non-iterative PPMEA, and Innovations since 2005.