MiniR101

From Robowiki
Jump to navigation Jump to search

MiniR101 is User:DavidR first Bot at Robocode. It started by being a Bot for experiments and learning. When I first packed it the size was near the MiniBot category, so I decided to keep it in that category. This would allow me to learn how to write more efficient code as I develop ideas. Also at the moment this is only a MiniMelee bot. It does very poor in 1o1 and this is probably the next thing I'll try to evolve in it (although I'm not very inclined to 1o1 at the moment...)

LOG

8Dez09 - v0.6 (1499Bytes) dmsr.MiniR101 0.6 src

In this version I just did basically two things that were missing.

  • One was to update the fitness function to take into account the danger of each enemy. I got this idea when looking to HawkOnFire code.
  • The second one was to fix the open source code problem. When I package the Bot it isn't packaging the source code (for what ever reason that I don't want to go into now) so I decided to put the source code in my own server and you can download it as a zip file.

v0.5 dmsr.MiniR101 0.5

Small changes make nice improvements...

v0.4 dmsr.MiniR101 0.4

This one was an attempt to bring 0.3 to a decent position. Although 0.3 did perform better than 0.2 in terms of Average Score, it was failing in Survival... I didn't had the time to check what was happening but I started making some adjustments that ended in 0.4. I happier with it now. I wont touch it until 2010 so...

  • Movement: Uses a fitness function to determine which placement is best to move to next (So it my take on Minimum Risk Movement)... Considers enemies position and geographical position.
  • Targeting: tracks enemies positions and tries to determine Deltas to estimate future position and then fires a bit randomly into that direction (I'll have to check this in the future)
  • Radar: Spins, spins, and when it finds a target it tries to invert direction, so it momentarily locks

v0.3 dmsr.MiniR101 0.3

This one is a mess... It was coded during a weekend from v0.2 and I changed so many things that I ended up with almost 3000 Bytes of code... I then had a huge battle to make him fit in the Mini category! The big difference is that I changed from a Random Firing Gun to a Random Firing Linear Targeting Gun (don't ask as I'll have to read the code to understand what is going on there).

Next: Take a deep look at this code before trying anything fancy, and see what small improvements can be made to recover the % survival that dropped 20% with this version...

v0.2 dmsr.MiniR101 0.2

Basically it's v0.1 with parameters optimized. This greatly improved the survival of the damn thing... (or at least made it dye a little bit latter)

v0.1 dmsr.MiniR101 0.1

First alfa release of a Robot with some ideas I was playing around. As I was coding I was first playing with the movement algorithm and was happy with it. Then I just added a simple Radar and Targeting ideas and packaged it. I saw it was 1599 Bytes so it was only 99 Bytes above the Mini category. I tweaked it a bit to make it fit in the Mini category and put it in the Melee Rumble just to see how it behaves there. I didn't do any parameter optimization or nothing... so what ever he does is what he is capable of just after birth...