Talk:SimpleBot

From Robowiki
Jump to navigation Jump to search

Contents

Thread titleRepliesLast modified
Pre-surfing enemy waves515:55, 25 October 2017
Good Jump2908:15, 29 August 2017
Orbit Position510:57, 20 August 2017

Pre-surfing enemy waves

I'm actually very surprised by your results against close-rangers/rammers like GrubbmThree. I found a bug which was preventing me from maintaining distance properly, but still spent my day trying to match up your results. No success. Are you pre-surfing the enemy waves by keeping track of their gun heats? By yours explanation you are not, which would be amazing. I am on my upcoming version, though, which is pretty sad... I would be a lot happier if you told me you are pre-surfing those waves and that there is actually some flaw in my pre-surfing implementation :P

Rsalesc (talk)23:50, 29 August 2017

Ok, flattener doing flattener things... not quite sure how to solve it without losing points, still testing.

Rsalesc (talk)01:07, 30 August 2017
 
Edited by author.
Last edit: 15:55, 25 October 2017

I'm tracking enemy heats, but didn't implement gun heat waves yet. However, if there is no waves in air, I fire a HOT wave every tick to make me get to a better position using existing danger evaluation code. It works surprisingly well against Rammers though ;)

Xor (talk)03:53, 30 August 2017

Yeah, I thought of something like that, so I used some stupid fallback movement. What I thought was, instead of using a simple fallback movement, to test all three surfing options and pick the one that puts me in a better position to surf a wave fired X ticks later, where X is the no. of ticks 'til the enemy's gun is cool. The thing is that I don't know where the wave will be fired from. I would have to estimate it, and maybe I would have to estimate it after every tick. My robot is probably slow enough already. Additionally, I thought it was not worth it. Good to know it may work against rammers. My fallback movement oftenly puts me in a bad position.

Rsalesc (talk)04:05, 30 August 2017

I don't try to simulate real waves at all, just fire a HOT bullet every tick and delete it immediately. As a Rammer just looks like some HOT bullet that constantly firing at you at every tick.

Xor (talk)04:10, 30 August 2017
 

One side effect of this one tick surfing fallback movement is that it moves not only to a position far from enemy, but also with max escape angle (which is also good against both real bullets and rammers).

Xor (talk)04:12, 30 August 2017
 
 
 

Wow! SimpleBot jumped 130 rankings. 65 is really good. You forced me to make a new bot=).

Dsekercioglu (talk)10:33, 25 August 2017

It's simply because I finally decided to try some kNN instead of random ;) It's still very simple without any kernel density; ) And I'm really excited and expected to see your new bot beating this! :D

Xor (talk)11:37, 25 August 2017

Right now it has some fast learning problems like getting beaten against Walls or SpinBot in the first round=). Maybe I'll do some adaptive learning rate.

Dsekercioglu (talk)12:13, 25 August 2017

Yes neural networks are typical experiencing a hard time at the initial ;p How many layers are you using? Would you try using two networks, one fast learning, one deep learning?

Xor (talk)15:58, 25 August 2017

It is a perceptron with some pre-processing. I can try deep learning. It may be useful at hitting simple=) movements.

Dsekercioglu (talk)18:05, 25 August 2017
 

I tested it with some tuning. It can't pass my Anti-Surfer Gun against any sample bot.=(

Dsekercioglu (talk)19:19, 25 August 2017
Edited by author.
Last edit: 21:07, 25 August 2017

Have any of you had any success with a DC+NN gun? I got my NN gun working pretty well against surfers and, even though my DC gun is still doing better, I think I can improve it enough to surpass it. But it performs really bad against random movers compared to my anti-random gun, even when I set up more than one NN, like in Gaff. Does that combination make any sense?

Rsalesc (talk)20:08, 25 August 2017
 
 
 

I now beat SimpleBot with %57 both by Damage and Survival=). Maybe I'll pass you again.

Dsekercioglu (talk)14:53, 26 August 2017

Good result! SimpleBot's movement is not tuned at all (surfing last hit & 1 nearest neighbor gf) and I'm rewriting it ;)

Xor (talk)14:56, 26 August 2017

My gun just uses 5 input and movement uses 4 input. I didn't increase the number of features which will increase my performance %100. I will rewrite surfing too.=)

Dsekercioglu (talk)15:03, 26 August 2017

my movement uses just 3 inputs ;) my gun was using just 5 inputs too ;)

Xor (talk)15:05, 26 August 2017
 
 
 
 

38th, that escalated quickly! :)

Rsalesc (talk)02:48, 27 August 2017

thanks! the movement is still not tuned ;) just added second wave surfing to see the difference.

Xor (talk)02:58, 27 August 2017

Please, just stop robocoding for a while. My motivation is collapsing=).

Dsekercioglu (talk)09:15, 27 August 2017

There will be no release today ;) And congratulations to your new bot, it climbs up very fast! Waiting your new bot to beat me again!

Xor (talk)14:19, 27 August 2017

Thank you, I have tons of things to improve and lots of tuning to do but SimpleBot's movement will be easy to improve for you. I think you will be in top-30 in the next release and I just passed ColdBreath.

Dsekercioglu (talk)17:04, 27 August 2017
 

I just saw it. SimpleBot beats me with %51=(

Dsekercioglu (talk)17:07, 27 August 2017
 
 

Congratulations Xor.

But please stop doing it :) While my "improvements" move my bot down the rank, yours are pushing up. Very depressing for me ... :)

On a serious note. Excelent work and motivates me to push harder.

Beaming (talk)17:28, 27 August 2017

I had the same thing with WhiteFang. In every update the bot just didn't improve or fell down.

Dsekercioglu (talk)17:30, 27 August 2017
 

Thanks Beaming! My bot improved so fast only because it is just at the beginning (it's too simple therefore there are a lot of things to do which will definitely improve the performance), and it will face the same problem with everyone when getting complicated.

And one thing that's really important in my experience is that to limit your change to a very limited field, etc. don't touch anything in the movement when changing your gun ;)

And that's why sometimes I release several versions in one day ;) I release a new version even when doing some refactors to make sure not breaking anything.

Xor (talk)05:12, 28 August 2017
 
 
 

Time to change the name? "SimpleBot" is making me sad :P

Rsalesc (talk)16:24, 28 August 2017

I think so ;) It is getting complicated now, may be I should rename it to ComplicatedBot ;p

May be it's time to start over ;)

Xor (talk)16:41, 28 August 2017

You have everything that a good bot needs to have. Precise Prediction, Kd-Tree, Wave Surfing.

Dsekercioglu (talk)19:32, 28 August 2017

And to keep it simple, there's still a lot of complicated strategy I didn't use, etc. BulletShield, BulletShadow, PreciseIntersection, Flattener, AntiSurfer Gun, Virtual Gun...

Xor (talk)02:58, 29 August 2017

I know, I just want to make myself happy=).

Dsekercioglu (talk)08:15, 29 August 2017
 
 
 
 
 

Orbit Position

SimpleBot orbits around the enemy if I understood correctly from debug graphics. It is generally better to orbit around the fire position.

Dsekercioglu (talk)22:23, 19 August 2017

Thanks for your recommendation! I've tried both approach in an earlier version but I wonder if my implementation of orbiting around the fire position is correct or not, as it turned out to hurt my score a lot ;)

An interesting thing is that in 0.022 the score against weaker bots are improved a lot, but against stronger bots, decreased a lot ;) It seems that a mutation always works for some bots, and meanwhile hurts another. Maybe I could improve my score by switching to orbit fire position again in an later version, where the score against most bots are improved; )

Xor (talk)02:22, 20 August 2017
 

opps I found my precise prediction is using fire position, and the bot is actually orbiting the enemy ;)

(However I found this combination gives me the best score. Orbiting the enemy a little lower, but orbiting the fire position halfs my score;( )

Xor (talk)02:30, 20 August 2017
 

Got it! it is a mistake that I take the enemy bearing as orbit bearing, again ;) Now after switched to orbiting the fire position, the score against RaikoMicro improved a lot ;)

However, there is another bug that hurts a lot when I fix it ;(

Xor (talk)02:52, 20 August 2017

From what I've seen, most bots orbit the enemy location. Perhaps what might be useful is predicting the enemy location with your gun, then orbiting the predicted location in your precise prediction? DrussGT does something similar to this, although being a GoTo-surfer it doesn't work this way exactly.

Skilgannon (talk)10:27, 20 August 2017

I think something like this is really important for a GoTo-surfer, or you'll have to update GoTo location too frequently to match new information. IMO, however, a True-surfer can update gradually to smooth the effect of out-dated enemy location, but predicting still helps.

Now I'm orbiting around fire position while distancing on real time enemy location, in this way the result may be something between orbiting enemy location and orbiting fire location, say, when the distance to enemy kept good, it orbits fire location to maximize MEA, and when the distance to enemy is bad, it tries to adjust it gradually.

Xor (talk)10:56, 20 August 2017