Robo Home | Changes | Preferences | AllPages

Ever cool. This is my first Wiki page.

Anyway, so this page is for my robot, vuen.Wisp (http://www.robocoderepository.com/BotDetail.jsp?id=1522). Last year our computer class had a robocode competition, and I wrote Cake. This year we're having the competition again, so I wrote Wisp. After last year, I worked on Cake through the whole summer. I'm on a much shorter timeframe now, so I only worked on Wisp for about 2 hours; the sad part is, it's almost as good as Cake.

It's movement strategy is very simple: I started with a movement strategy similar to walls, but making it round the corners rather than stop. I then wrote anti-gravity into it. It computes anti-gravity to change direction only; it only turns when it reaches a wall. It uses a very simple slightly random timing function for timing it's direction reversals so it doesn't stick back and forth. Furthermore, it can't yet change direction while in the middle of a turn. This makes it's movement strategy very limited; however, it seems very powerful for being so simplistic. It's movement curve is MUCH flatter than Cake's in the 250-500 zone, but it's high in the -20 to 10 range at greater distances. I think its timing function is just tweaked well for the 250-500 distance; I'll rewrite the timer to factor enemy distance to see if I can get it that flat at all distances.

It's gunning strategy is also extremely simple; it alterates every bullet between shooting directly at the enemy or leadfiring the enemy assuming maximum velocity, and it always shoots power 3, always at the nearest opponent.

Anyway, I'm very impressed with it's performance after so little work; it still doesn't match up anywhere near the bigboys yet especially in duels, but it can perform suprisingly well, often much better than Cake in a melee.

I'd like to put a more work into it if I had the time; I'd make it be able to change direction when not near a wall, and round the corner at different distances from the wall to avoid being hit laterally. However, I'm not sure that I will work much more onto it. The bot was intended to be eventually packed into the minibot weight class, so it's designed on an optimized rather than powerful framework. I'd have to redesign it completely if I ever plan on making it a real competitor, so I doubt I'll work on it much more unless I decide to participate in the minibot competition.

Anyway, as soon as classes are over (2 more weeks of hell) I'll be massing together everything I know about programming and trigonometry and folding it all into one massive bot. I've been rolling around all sorts of new not-yet-discovered concepts in my brain for the past month, and I haven't yet the chance to try them. I'll start on a big fat framework for control and enemy prediction/data storage strategies, then create my powerhouse bot and the new SineSweep from that framework.

So for now, have fun with Wisp. Lemme know what you think! :)


Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited May 5, 2006 5:45 EST by Florent (diff)