Difference between revisions of "Watermelon"
m (→Movement) |
|||
Line 26: | Line 26: | ||
[[Image:SynapseMagLevDebugGraphics.png | left]] | [[Image:SynapseMagLevDebugGraphics.png | left]] | ||
Paints waves, with brighter segments where the bins are fuller. | Paints waves, with brighter segments where the bins are fuller. | ||
+ | |||
+ | [[Category:Bots]] |
Revision as of 01:09, 6 September 2008
Contents
Structure
It's built on a modular framework, coded pretty cleanly, but not good enough yet to be open source. Maybe once it's done something on the rumble that will change. Now that I'm using Eclipse, I could even rename it! Refactoring is wonderful.
Movement
Uses Wave Surfing, implemented in a straightforward manner. To the extent that that's possible grumble grumble. I used Simonton's non-iterative Wall Smoothing code, and my own future position prediction. It took forever to realize that the future prediction needs to call the wall smoothing function for each imaginary tick, but I finally got it.
It kind of uses the Musashi Trick, by seeding the bins with a single hit at Guess Factor 1. The magnitude of the initial seed is such that the first real hit overrides it.
It also takes bot width into account, averaging the danger from covered bins.
Currently there's no segmentation, but I kept the possibility in mind, so it shouldn't be too painful.
Firing
None yet. I can't really live-test any guns until I have enough movement to stay alive.
Radar
In 1v1, points the radar at the opponent's last position. Perfect lock. If I miss a turn in 1v1 (usually due to excessive debug graphics) the radar falls back to the optimal melee radar, which reestablishes the lock.
Debug Graphics
Paints waves, with brighter segments where the bins are fuller.