Difference between revisions of "BeepBoop"
(link to understanding page) |
(Add some more credits) |
||
Line 62: | Line 62: | ||
I used many ideas from throughout the wiki. | I used many ideas from throughout the wiki. | ||
* It started off based on [[WaveSerpent]], although at this point it works quite differently. | * 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 [[User:Rednaxela/kD-Tree|kd-tree]] implementation. | ||
* It uses [[Wall Smoothing/Implementations/Non-Iterative|non-iterative WallSmoothing]] by [[David Alves]] and [[Wall_Smoothing/Implementations/Fancy_Stick|fancy-stick WallSmoothing]] by [[Simonton]] | * It uses [[Wall Smoothing/Implementations/Non-Iterative|non-iterative WallSmoothing]] by [[David Alves]] and [[Wall_Smoothing/Implementations/Fancy_Stick|fancy-stick WallSmoothing]] by [[Simonton]] | ||
− | + | * It was indirectly influenced by many other bots/pages including [[CassiusClay]], [[ScalarR]], [[Kawigi]]'s [[GuessFactor Targeting Tutorial]], [[Maximum_Escape_Angle/Precise_Positional/Non-Iterative|non-iterative PPMEA]], and [[Innovations since 2005]]. | |
− | |||
− | * It was indirectly influenced by many other bots/pages including | ||
[[Category:MegaBots]] | [[Category:MegaBots]] |
Revision as of 01:42, 8 June 2021
- 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.
- 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.