Musashi

From Robowiki
Jump to navigation Jump to search
Sub-pages:
Archived Talk 20090522
Musashi
Author(s) Axe
Extends AdvancedRobot
Targeting Vectorial Pattern Matching
Movement Random Movement
Current Version 2.18
Download

Background Information

Where did you get the name?
Miyamoto Musashi - Born at Japan, in the year of 1584. Criator of the "Ni-Ten" (Two Skies) sword school. Became one of the most famous samurai in the history, author of the book "Go Rin No Sho" (A Book Of Five Rings). Described himself as not only a swordsman, but a Strategist. Engage in countless battles and duels, like the episode of the battle against the Yoshioka swordsmen school, where he alone, defeated a huge group of swordsmen. He also defeated and killed in duel the samurai Sasaki Kojiro (known as the most talented and dangerous swordsman of his epoch), using himself a wood paddle. It was the victory of the perseverance, training and strategy against the natural born talent.
Read more: http://www.samurai-archives.com/musashi.html
What's special about it?
The Musashi Trick, introduced in this bot, was a huge step forward in the evolution of Head-On Targeting avoidance.

Strategy

This is my first duel bot. It is originally based in the HataMoto code (my first melee bot).

How does it fire?
I call it "Vectorial Pattern Matching", since it uses vectorial calculation and operations to perform the pattern matching.
How it works:
Scanning:
  • Store the last 25,000 opponents scanned positions, interpolating any missed scan (necessary to melee).
  • Also calculate and store for each scan Musashi's actual position and the "SamplesVectors", wich consist of 7 vectors, v1:(p to p-1), v2:(p to p-2), v3:(p to p-5), v4:(p to p-10), v5:(p to p-20), v6:(p to p-40) and v7:(p to p-80)
(where p is the actual position, p-5 is the position 5 ticks before...)
Aiming:
  • Take the latest "SamplesVector" (V1,V2..V7).
  • Rotate each of the stored SamplesVector by the angle diff between V1 and v1.
  • calculate the each sample's rate: |V1-v1|+|V2-v2|+|V3-v3|+|V4-v4|+|V5-v5|+|V6-v6|+|V7-v7|.
  • for each sample rate add the diff between samples and actual (* 1/100): distance to me, distance to wall and distance to corner.
  • Take the bests 50 rated SamplesVector.
  • "Play the movie" for each of the 50 bests, and calculate the guns angle to hit the target at these points.
  • Now rate each angle calculating it's diff. to each one of the 49 others.
  • Take the angle with the best (minimum) rate.
  • Fire at will...
Credits for ABC, his Tron's Gun inspired the Multiple Choice feature.

To Do List

  • Beat VertiLeach :). Beat Shadow & Tron :)). Beat SandboxDT :)))).
  • Finish this page.
  • Work in it's movement.
  • Clean the code (if u try to read the code, u surely agree with me)