Difference between revisions of "IWillFireNoBullet"
m (version update) |
m (→TODO) |
||
Line 61: | Line 61: | ||
* Motion | * Motion | ||
− | ** | + | ** <strike>[[Minimum Risk Movement|Minimal Risk]]</strike>, since v0.1 |
− | ** danger path motion, i.e. exact calculation of danger for the path point at proper time | + | ** <strike>danger path motion, i.e. exact calculation of danger for the path point at proper time</strike>, semi done since v0.3 |
+ | *** The algorithm still miscalculate predicted path, around flipped velocity vector |
Revision as of 04:55, 20 August 2015
IWillFireNoBullet | |
Author(s) | Beaming |
Extends | AdvancedRobot |
Targeting | none |
Movement | Minimal Risk with shrapnel dodging |
Released | 2015 |
Current Version | v0.2 |
Code Size | MegaBot |
Code License | open source and comes with no string attached |
Contents
Background Information
What's special about it?
It is ultimate pacifist. As name implies, it will not fire a bullet.
How competitive is it?
In 1 on 1 it is naturally quite mediocre. Though it will outlive many quite strong bots, it does not collect the damage points and thus its APS is low.
But look at its melee rating, here is where the surprise is coming. Even version v0.1, sits at 232nd place out of 389 participating bots. I.e., it is better than the 3rd of the croud.
What is under the hood?
It has a game simulator inside, where each bot see others. Based of course on this bot radar information and its ability to analyze it: guns fired, etc. Thus when I want to see how enemy fired, I just ask the simulator to provide firing solutions, from the enemy point of view.Though, enemy drivers are routed to a dummy proxy, which blocks motion and firing commands to the robocode engine.
How does it move?
It tries to serve all the waves fired at it. Instead of full simulation of the wave interception, it uses precursor danger concept, which to a similar to Anti-gravity motion. Main difference, it uses force potentials (for those who remember physics) instead of repelling forces of enemy bullets and bots.
How does it fire
It does not. But it predicts incoming wave danger, based on guns which might be used by enemy.
Great, I want to try it. Where can I download it?
It is in official roborumble and melee listings, look for eem.IWillFireNoBullet there. Alternatively, feel free to download the source code and play with it.
Thanks
I suffer from "not coded here syndrome" so my code is quite original. Though, I took a lot from my own EvBot. You might see uncleaned leftovers of that bot scattered in the source.
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.
Also, its design was influenced by the ideas behind the XanderCat, i.e., modular design and, yet not well implemented by me, idea of components registration for custom calls/events.
TODO
- More guns and targeting
Head-On Targeting, since v0.1Linear Targeting, since v0.2- circular
- guess factor
- pattern matching
- Motion
Minimal Risk, since v0.1danger path motion, i.e. exact calculation of danger for the path point at proper time, semi done since v0.3- The algorithm still miscalculate predicted path, around flipped velocity vector