- Archived Talk 20050722
Real Name: Mattias
Location: Goteborg, Sweden, Europe
Born in: 1977
|Name||Category||Best Ranking||Current Ranking||Score||Notes|
|PulsarMax||1-on-1 MegaBot||3rd (Feb 24, 2005)||3rd||2065|
|PulsarNano||1-on-1 NanoBot||1st (Aug 23, 2004)||6th||1813||Holds several RobocodeLittleLeague titles (nano: 1-on-1, overall & micro: 1-on-1) and two records|
|PulsarNanis||1-on-1 NanoBot||2nd (May , 2005)||2nd||1802||Holds several RobocodeLittleLeague titles (nano: 1-on-1, overall: 1-on-1)|
When I last tried robocode in the fall of 2003 I started out with the basics. from head on targeting, to linear and circular targeting in a virtual gun array. Then converted them all to gf targeting with virtual bullets (instead of using the max escape angle they used max velocity from that heading both forward and backwards). But I never took it beyond distance segmentation for some reason. Maybe I didn't think of it at that time. Instead I tried to predict the enemies position more and more accurately with time since stop on average, avg speed etc etc and put that into the circular targeting stuff. At least that ended up with 28% hitrate against ArtOfWar. But then everything I tried in movement failed to improve and I got tired of being beat by the good bots. SandboxDT seemed unbeatable and no really new ideas could be seen (from my limited view of it all), and it seemed that it the only way was hard work to copy sandbox dt and improve small details to be able to win.
Then one day in beginning of april 2004 I saw the wiki bookmark and went back and too my surprise SandboxDT wasn't the leader anymore. That inspired me to start coding on a new bot. But carefully this time and not wanting to rush it. Read a lot of things on the wiki (great resource) experimented, watched robots and took notes. Eventually I started to understand what wave surfing was, but it wasn't until I started to almost get it to work that I understood how such a neat idea could be so hard to actually implement. Seemed easy enough! But I started with wave based GF gun this time, with a few more segments than distance this time around :) But having no idea what segments were good and there was no way I was going to recode my robot everytime I thought of a new segment or read about one I made a guessfactor targeting virtual gun array where I just state how many and what segments I want to have. Java reflection made it possible to dynamically pick the number of dimensions and sizes easily for this. A month later PulsarMax 0.1 was released! Note: I am not using reflection any more, the core functionality I was looking for could just as well be implemented with Lists of Lists (etc) holding arrays.
I've learned a lot from this wiki and while my actual robocoding haven't created anything groundbreaking or inspiring for anyone (yet!) I hope to be able to give back some things however small to the community. Things such as RoboRumble/RatingDetailsComparisonServlet and the rewrite of the RoboRumble server DataManager for better performance and reliability hopefully helps some.
My current robocode ideas that have yet to be implemented and tested involve dynamic data segmentation, virtual guns that are sort of situational based, one thing I'll keep secret for now (ooh the suspense..., it works doesn't it? or not...), and other things!