Wallaby
Wallaby | |
Author(s) | Wompi |
Extends | AdvancedRobot |
Targeting | Circular Targeting |
Movement | Minimum Risk Antigrav Oscillating |
Released | August 2012 |
Current Version | 4.4 |
Code License | RWPCL |
Download |
Sub-Pages: Version History | Challenges
Background Information
- What's special about it?
Nothing really special. It is designed as close combat bot but over the time it changed to middle distance. I think the combination of movement and gun makes it working
- How competitive is it?
- MicroMeleeRumble ‒ APS: 68.8% (1st), PL: 134-0 (1st), Survival: 92.59%
- MiniMeleeRumble ‒ APS: 68.15% (2nd), PL: 171-2 (2nd), Survival: 91.32%
- MeleeRumble ‒ APS: 65.01% (13th), PL: 325-21 (22nd), Survival: 84.86%
Strategy
- How does it move?
The movement is a combination of Minimum Risk, Antigrav and Oscillation. All three movements are combined together but the weight changes as the battle progresses. At battle start the antigrav is a major factor to stay out of the initial heat. After the herd is thinned the oscilation kicks in and wallaby goes oscillating to mid combat distance. The movement has a fixed travel width of 185 pixel once the minimum risk angle is found, but can under certain circumstances, like near bots, switch to 'free' movement. Which leads to very nice avoid moves in crowded battle situations.
Wallaby Movement
- How does it fire?
The gun is designed for close to mid combat distance and is a precise circular gun with wall handling and wall backtracking. All scanned velocities of the target are averaged and used to feat the circular gun. The radar locks dependent on gun heat and while the target is locked the gun collects all heading difference of the target. If the fire angle has to be calculated, the circular gun projects the guessed target position with the overall average velocity and the average of the last heading differences.
Wallaby Targeting
- How does the melee strategy differ from One-on-one strategy?
just melee
- How does it select a target to attack in melee?
closest until two opponents left, after this the one with the least energy
- What does it save between rounds and matches?
matches - nothing
rounds - nothing, static variables for code size
Additional Information
- Can I use your code?
Sure, its open source.
- What's next for your robot?
There are alot of things i don't like and want to be fixed.
- to much wall hitting
- with implementing of the 'free' movement the wall hits are decreased by a huge margin
- engaging stronger opponent (more energy)
- still an issue but not as bad as i first thought
- the main flaw with 2-3 opponents left is, the movement brings Wallaby mostly between the other bots and therefor they all together shoot at me. Luckily, Wallaby can kill bots very quickly and the time where everyone can shoot at me is very short. Especially with the last two enemies rule - shoot the one with the least energy
- of course hitrate (never enough)
- yes still true
- i had to define hit rate new - it should say 'increased hit rate for the same bullet power profile'. You can easily increase the hit rate by using a lesser bullet power, but this has to be weighted to score vs survival and vice versa
- would be nice to bring it in top 10 general
- well top 19 is reached and Wallaby starts to win against top 9 bots (of course by a very small margin).
- now on top 16 and the win margin against top 10 bots is increased
- after fiddling in a little randomisation for the movement - now top 15-14
- version 4.4 reached top 13 after 10k battles but it is still very tight because the difference is 0.04% to top 15
- Does it have any White Whales?
Of course the mighty Capulet a bot of CrazyBassoonist - only micro bot where my survival is under 60%.
My next step would be beating GlowBlowMelee a bot of rozu - v4.4 is very close -0.15% (mini), and 0.01% (general)
Would be nice to beat SandboxDT a bot of Paul Evans (0.1% to go) - yes, left him behind with 0.4%
- What other robot(s) is it based on?
It combines the basic concepts from robowiki and is not based on a particular bot.
Credits
Credit for inspiration goes to CrazyBassoonist. I learned alot just by watching his bots.
Credit for code size goes to alot of nano bot authors. Mainly the top ranking melee nano bots.
And of course Credit to all robowiki contributors for making it easy to learn robocode from the scratch.
Credit to Voidious for making his RoboRunner and providing a very nice melee test environment.