From Robowiki
Jump to navigation Jump to search
Version History
Author(s) Voidious
Extends AdvancedRobot
Targeting Pattern Matching
Movement Wave Surfing
Current Version 0.13
Code License RWPCL

Background Information

What's special about it?
Nothing really, but it has what was once a pretty decent and unique Pattern Matching gun.
How competitive is it?
Not too competitive, especially by today's standards.


How does it move?
Wave Surfing ripped from Dookious.
How does it fire?
It uses a Pattern Matcher, and tries to match segmentation data at fire time, too. The first version used an "orbital" pattern matcher, measuring the turn rate in relation to what would be a perfectly orbital (staying perpendicular) turn rate at whatever distance, and even did path reconstruction with these relative orbital turn rates. (In this system, a bot circling you exactly would be a turn rate of zero.)
After the first release, I ditched the Orbital Pattern Matcher and went back to the vanilla PM version. It's the same in all regards except for the turn rate matching/reconstructions. In 0.12, I added a second gun in a Virtual Guns array, which is a Guess Factor style gun that is fed by the aim of the PM gun.
How does the melee strategy differ from one-on-one strategy?
The gun is melee aware, since I originally started the PM gun for melee; but the movement isn't, so she should still get soundly trounced.
How does it select a target to attack/avoid in melee?
The closest enemy.
What does it save between rounds and matches?
Everything between rounds, nothing between matches.

Additional Information

Where did you get the name?
It's named after Shaak Ti, a great Jedi Master.
Can I use your code?
Yes, it's released under the RWPCL.
What's next for your robot?
Collecting dust?
Does it have any White Whales?
No, it's too much of an experimental tank to care about White Whales ;)
What other robot(s) is it based on?
It uses the movement from Dookious. As such, some of the credits I give for Dookious should be given here, too:
  • Wave Surfing - invented/discovered by ABC
  • FuturePosition - A great piece of code from Albert to predict the result of different movements.
  • Rolling Averages - A simple, elegant concept from Paul Evans. I also adopted a very minor but notable implementation idea from PEZ.
  • Iterative Wall Smoothing algorithm - I'm no longer using a version of Kawigi's iterative Wall Smoothing, but many previous versions (of Dookious) did, and I used it as reference to write a faster one.
  • CassiusClay - I have learned a lot from the source code of CassiusClay, and many thanks go to PEZ for making it available!