From Robowiki
Revision as of 01:39, 23 January 2023 by Beaming (talk | contribs) (zapper bot page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Author(s) Beaming
Extends AdvancedRobot
Targeting kdTree, Random, kdTree assisted random
Movement Wave surfing with exact path predictor
Released 2019
Current Rating 1on1 80.13 (64th)
Current Version v4.35
Code Size MegaBot
Code License open source and comes with no string attached

Background Information

What's special about it?

It is my attempt to write a better monolithic (single file) bot.

How competitive is it?

In 1 on 1 it is still quite weak and hovers just above top 100.

What is under the hood?

It is a wave surfer with kd-tree danger zones and kd-tree powered guns which decide between each other who has a best hit rate. Among common tree coordinates, it uses virtual/real wave, and was hit actually happening. Also, it takes in account time if gun needs it. The whole calculation is done on one nearest neighbor cluster. But weighted differently. Kd-tree coordinate weights for distance calculation are renormilized at the beginning of each battle (this seems to be a novel approach).

How does it move?

It creates a danger profile for an enemy wave based on kd-tree and surfs it. Depending on enemy hit rate it weights real and virtual hits/waves differently. For low hit rates enemies, it avoids real hit locations, but fore a better aiming opponents it avoids virtual hits too.

How does it fire

It used kd-tree with different weights for several guns, and select the best hitting one. There are also HoT and random guns (simple and kd-tree range limiting) in the mix.

Great, I want to try it. Where can I download it?

It is in the official rumble so just use the link from RoboRumble/Participants‎‎


I still suffer from "not coded here syndrome" so my code is quite original. But this bot would not work without Skilgannon and Rednaxela kd-trees.

Nevertheless, I owe to many people who made this wiki and its content available. Special thanks to Voidious and his wonderful RoboRunner tool which I used.

I extend my appreciation to Xor who is active in this Wiki, who keep me motivated to continue to improve. Additional, thanks for bug fixes in the robocode engine and RoboRunner.