Robo Home | Changes | Preferences | AllPages

A NeuralTargeting bot.

I always wanted to try with a neural net for aiming, but I never had heart to develop a neural net from scratch. Now, I found a cool library that implements neural nets and comes with source code (NRLIBJ by Daniele Denaro) ... so there is the result.

ScruchiPu is quite experimental for now. Don't expect it to be in the first places. There is a lot to try and lots of parameters to tune before it becomes competitive. But I wanted to release it to demonstrate that NeuralTargeting is possible (and I think has lots of possibilities).

Current version is 0.6 - Apr/03

Current version is 0.7 - Apr/04 - Changed the network topology

New version 1.0 released. Now it is ready for competition and (partially) open source.

ScruchiPu 1.0 made a 3rd in the first run of the Robocode Outpost league, just behind of Cigaret and Princess. It seems that the long battles make him good, as it gets enough time to learn. It makes me hope that when I will be able to reduce the size of the stored data, it will be good also in the ER.

It is designed for 1vs1 only.

-- Albert


How does it move?

It uses the same movement as MicroAspid 1.4.5 (nothing better for the moment).

How does it fire?

It uses NeuralTargeting. See the corresponding section for a complete description. It also adds persistence to store the trained neural nets and retrieve them later. Surprisingly, it learns quick enought (at least for simple movements). Try it agains SpinBot and see...

Note that NRLIBJ does the hard job, so the code of mine for aiming is scarce. I just fitted the pieces together.

How does it dodge bullets?

No dodging at all.

How does the melee strategy differ from one-on-one strategy?

ScruchiPu is a OneOnOne bot. It hasn`t melee strategy.

Where did you get the name?

Well... quite a long history.

Can I use your code?

I'm not releasing the code, but I have no problem to share the ideas, so just ask. The neural net library is not mine, and you can get it with source code.

What's next for your robot?

It can only store information for about 20 bots. I'w have to improve this to be able to store information for all good bots in the eternal rumble.

What other robot(s) is it based on?

Movement is from MicroAspid.

Questions anyone?

Cool! Way to go! Hurray! Well, I am just happy someone has tried this again and with promising results as well. NeuralTargeting is next for Marshmallow for sure. Do they take much space to save? -- PEZ

Depens on the number of nodes, from 3K to 15K+ using ZIP compression. But I'm using the default save functions in the library (sigthly modified to save into a ZIP file) which are quite inefficient, because they save data in text format. Calculate L1 x L2 + L2 x L3 + some overheat(L1,L2,L3 are the number of nodes in every layer). So for a 60/60/2 network you will need 3600 numbers plus some ovrhd. -- Albert

I saw you graphed ScruchiPu's targeting in NeuralTargeting. How did you come up with that graph? I would like to use something simular to help me debug my bots gun. (I have a few ideas, but nothing simple). -- Chase-san

I'm not sure what he used, but there is FloodGrapher, Narcissus (not sure if thats public, I think so), Fractal (maybe just old versions), and StatistRobot. That last one is the only one I've used. There are probably more, too, but any of those should work for you. -- Voidious

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited November 14, 2006 16:07 EST by Voidious (diff)