Saguaro
Revision as of 16:12, 13 April 2026 by CrazyBassoonist (talk | contribs) (Saguaro 1.0 is likely #2 in the rumble)
| Saguaro | |
| Author(s) | CrazyBassoonist |
| Extends | AdvancedRobot |
| Targeting | Multimode |
| Movement | Multimode |
| Download | |
Background Information
- Bot Name
- Saguaro
- Author
- CrazyBassoonist
- Extends
- AdvancedRobot
- What's special about it?
- It's a competitive megabot that takes a somewhat different approach than other top bots.
- Great, I want to try it. Where can I download it?
- The source code is available on github.
- How competitive is it?
- Currently #2 in the roborumble.
Strategy
- What is its basic strategy?
- Saguaro is a multimode bot with eight modes. It has a nice method of exploring modes by tracking the score during different modes and creating a confidence interval for the mode's true mean score; this means that if one mode is substantially worse than another the bad mode can be ruled out after just a few rounds, but if two modes are very close in performance it will spend a lot of time testing to find which one is truly better. See the following pages for more information about how its various modes work:
- More Information:
- WavePoison
- Is this robot melee-capable?
- No.
- What does it save between rounds and matches?
- A lot. The main things that it saves between matches are data from mode exploration and the knn weights (no observations are saved). It does come preloaded with opponent data files, but the bot explores modes and learns opponent embeddings itself instead of having that data hardcoded into it. So its behavior against existing bots is just the behavior you would see after running it a few times against each one.
Additional Information
- Where did you get the name?
- Its a riff on my first megabot, PricklyPear.
- Can I use your code?
- RWPCL
- What's next for your robot?
- Saguaro is mostly feature-complete now, so mostly small tweaks. I do have a few ideas for potential future modes, but we'll see if those work out.
- What bots is it based on?
- It uses Rednaxela's kd-tree implementation and a FastMath class based on his FastTrig classes.
- The BulletShielding mode is based on how BeepBoop and EnergyDome do bullet shielding.
- In general I spent a lot of time learning from the source code of BeepBoop, DrussGT, and Diamond while making this bot, so big thanks to those Kev, Skilgannon, and Voidious for making those bots open source. The general idea of trying to maximize expected score was inspired by how BeepBoop does bullet power selection, and it also uses lessons from BeepBoop in a few other ways like for how it calculates 50%-weighted bullet shadows and how it estimates precise MEAs.
Version History
1.0
- First full release. Five additional modes + lots of other changes.
0.1
- Early release - ScoreMax, BulletShielding, and PrecisePrediction modes