Archived talk:SandboxDT 20090429

From Robowiki
Jump to navigation Jump to search
Sub-pages:
SandboxDTVersion History - Challenge - Movement Riddles - Archived Talk 20090429
       Archive        This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page.     

Graphs generated from FloodMini's saved data (a hobby of mine lately) don't show quite as pretty of a curve in some places (particularly close up), but version 1.81 has clearly the best profile when approaching a wall of any bot I have graphed. The no-fear-curving-with-the-wall mentality was worth it, and just ahead of FloodMini 1.2, which took advantage of the weakness so many bots have in this segment. -- Kawigi


With the Eternal Rumble out of action I was wondering what is the best bot against DT at the moment in 1v1, 800x600 field, a typical 500 round result (i.e. not the best) with no data files before the start.

If you have any results please post them below (even if it is not your bot) percentage score should be calculated as your score/total score and wins as your firsts/total rounds.

Robot_______________ Author___________ Score (% of total)____ Wins (% of rounds)___ Comment
WhatTheHeck Kawigi 81.2 90.8 MicroBot, Extends Robot, I started beating DT when I was into Robocode for only 2 months. Now I'm trying to beat DT legitimately.
FloodHT 0.8 Kawigi 44.0 33.2 Dev version is about the same (maybe barely better)
DuelistMini 1.1 David Alves 38.6 21.2
BasicSurfer RoboWiki 14.9 7.0

Aha, try and get us to tell you "Mine is the bot you need to test against!", eh? Clever. -- Kawigi

Check out Tron 2.01's properties file for a "legitimate" way to beat DT... ;) -- ABC

Ha, I just saw that! Did my latest Nano inspire that? Regardless, it's pretty friggin' impressive. Can't beat 'em, join em. Doesn't work quite as well against FloodHT, though. -- Kawigi

Hehe, Tron 1.5 has a "sandboxkiller" flag too, I use it to boost morale sometimes ;). I know I just need an excellent movement to beat DT, it's just that it's easier said than done... -- ABC

Shouldn't work against Marshmallow either. But this must sure mean that your gun is good. The mirroring is perfect, beautiful to watch. If you like I can send you my new movement when it's ready and you could try that against DT. Should be a movement that works good against most bots as well. Just holler my way if you would like to try. -- PEZ

At first I thought I was hallucinating when I saw it not moving at right angles :-p -- Kawigi

What it means for sure is that DT's movement is amazing, it can do what everybody else has been trying to do for ages, it can "Dodge This" :). I believe my gun is pretty good too, I'd be more than happy to try it with your movement PEZ, send it to asbc@mail.telepac.pt when it's ready. The Targeting challenge can probably tell me exactly how good it is, and I still have some ideas for improvements. Of course it is not Tron... I'm a stubborn guy, I won't give up easily on making a "Tron themed" kick ass bot! ;)

ABC I've just has a look at Tron 2.01 Sandbox killer - nice one. Don't get too excited however - I was assured that my development version of DT does not fail against Tron in the same way (I need to look at this - I don't know yet if it is it the gun bug I fixed or the new movement of DT or some other strange factor). In other words your gun may not be better - I will let you all know asap. -- Paul Evans

Update: It looks like DT looses against Tron's Sandbox killer due to movement - DT's movement had been optimised against other versions of DT. As a result DT find's it difficult to hit itself (or movement of itself) but the movement is sub-optimal against different bullet powers - so, by using different power bullets Tron gets a target it can hit. My development version od DT attempts to optimise against all bullets powers and does not fall into this trap.

M has an AntiMirrorGun in it's VG array in order to avoid others to take such easy advantage of its movement. Even if it's a crap anti mirror gun, it's not worth mirroring M. Interestingly this gun is Ms best guns at far ranges against some non-mirroring bots as well. DT is one of these bots actually. It's probably why M is one of DTs hardest foes (when M and DT has gotten some 500 rounds to get to know each other that is, with clean data files M is snack for DT). -- PEZ

So Paul, are you saying that DT's movement doesn't addapt to the enemy's bullet power at all or that it is unoptimised for Tron's particular bullet power choices? I also have a "mirrorBulletPower" flag in Tron, but I never got around to fully implement it, maybe I'll try it one of this days. This of course only serves to exemplify the dangers of only optimising your movement against your own gun...

The new DT does take into account bullet power and distance - and does so better than DT1.91 - I think it's in the final stages of development - I'm just testing it against some key bots to see if I have made any mistakes.

oooh! oooh! Do I get to have any of those key bots this time? -- Kawigi

Sorry - not at the moment - my final test set of bots are Cigaret 1.17, DT 1.61, Marshmallow 1.4.4, GlowBlowAPM 1.0, DuelistMini 1.1. As you can see the list is fairly old - I've been using them since development of 1.71. I thought they needed an update (hence the question at the top of this section). -- Paul Evans

Well, I guess you are seriously considering Tron 2.01 in SandboxKillerMode? =) -- PEZ

Fine, then, just read about the wrath of FloodHT on your bot ;-) I'm guessing you're also not testing against WhatTheHeck (but then, I wouldn't either) -- Kawigi

Just for fun DT 2.01 has been released :) (version 1.91 is still available for the movement challenge). DT 2.01 beats Tron in SandboxKiller mode (without the aid of a anti mirror gun). ABC do you want to try reflecting bullet power as well as movement - your gun might just do it. -- Paul Evans

About CigarQwhgads, I've emailed Iiley to ask if we should stick this one out in the wild. I would propose the name UltimateDeathToMegaBots, but I doubt the name would last. And I haven't tested it against other significant MegaBots (like FloodHT or Chameleon or BlestPain) -- Kawigi

  • I would suggest you name it Griffin. Of course you'll need to update its hype page. In my head Griffin will be able to transform and fusion from different parts of the world depending on where the power is strongest at the moment. wiki.mini.Griffin in this case I guess. -- PEZ
    • Iiley and I have decided on the name Sedan. Coming soon. Along with an explanation for where the heck that name came from. -- Kawigi

Oh~~NO~!!!Why you come out so fast,BlestPain only beat DT 1.91 a little some times,then DT 2.01 come out,kicked my pain,it's really a big deep pain for me.~;[ -- iiley

Sorry iiley I had not realised you were so close to beating DT - I would have released 2.01 faster if I had realised :-). BTW I like the performance of this bot - please don't add pattern matching. Nice victory dance. -- Paul Evans

I've just run a 5000 round battle between BlestPain and DT2.01 - I just made a win, but only just - so close I say it's a draw - time to look at my targeting... - congrats iiley. -- Paul Evans

The real difference here is that BlestPain just had the edge before, and now DT just has the edge. And for some reason the opposite has happened with this random MiniBot I need to polish up... -- Kawigi


I've cleaned up this page some. Lots of what has been said here is very valuable so I have saved it under the subpages /OldDiscussions and /MovementRiddles. -- PEZ

Now to my questions/remark. I tried repeat Tron's success with using MirrorMovement against DT in GB. It didn't improve GB's performance against DT of course. But if you try pitting the two foes against each other you'll probably see something strange in the beginning of many battles. DT seems to get stuck against the vertical wall and/or corner for a very long time. Is this on purpose? It almost looks like DT have problems as long as you are pushed back up against a wall, but when DT then decides to fight a closer battle the problem isn't an issue any more. -- PEZ

DT's movement never gets itself in a position where it will hit a wall in normal play, or to put it another way it will start turning to avoid a wall just before it need's to even if going at full speed. Unfortunatly the start condition of a battle is not under DT's control and if placed near an edge DT estimates it is in a position to hit a wall - DT's emergency action is to set a very slow max speed until the wall hitting danger is passed (usually by being parallel to the wall) - as it occurs at the beginning of a round before firing commences I don't think there is a problem. - Paul Evans p.s Thanks for the tidy up.

But the thing is that from my observations many shots are exchanged before DT gets unstuck. The only thing saving DT here is that GB can't hit a target, stationary or not. Though it couldn't be a big problem this since DT is by far the king of the hill. =) -- PEZ


Hmm... I keep getting an ArrayIndexOutOfBounds exception with SandboxDT 2.11.

=========================
Round 6 of 100
=========================
pe.SandboxDT 2.11: Exception: java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
    at pe.a.e.a(Unknown Source)
    at pe.a.b.a(Unknown Source)
    at pe.a.f.try(Unknown Source)
    at pe.a.f.else(Unknown Source)
    at pe.SandboxDT.run(Unknown Source)
    at robocode.peer.RobotPeer.run(RobotPeer.java:616)
    at java.lang.Thread.run(Thread.java:536)
SYSTEM: pe.SandboxDT 2.11 wins the round.
=========================
Round 7 of 100
=========================
pe.SandboxDT 2.11: Exception: java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
    at pe.a.e.a(Unknown Source)
    at pe.a.b.a(Unknown Source)
    at pe.a.f.try(Unknown Source)
    at pe.a.f.else(Unknown Source)
    at pe.SandboxDT.run(Unknown Source)
    at robocode.peer.RobotPeer.run(RobotPeer.java:616)
    at java.lang.Thread.run(Thread.java:536)

Wierd... Is anybody else getting this problem? -- Vuen

Lol, that's the most bizarre stack trace I've ever seen in my life. Of course, what do you expect from DT, and Paul's nasty habit of having a method called 'a' in a class called 'e' in a package called 'pe.a'... -- Kawigi

I'll try to find the problem - thanks for the information. DT also suffers from a file security problem running under Java 1.4.2_01 (I think all bots that do file i/o will, see the CompressedSerialization Page). In the mean time try deleteing DT's enemyStats file, it may corrupted. -- Paul Evans

  • Paul, did you try the fix on the MSWindows page to fix your IO problem? I have been using the 1.4.2_02 JVM for quite a while now with it and everything seems to work well.
  • The I/O security problem is sorted out with the -Dsun.io.useCanonCaches=false java option on 1.4.2 - this however has no affect on raw binary communication between team mates - for that a workaround is required.

...and Paul's nasty habit of having a method called 'a' in a class called 'e' in a package called 'pe.a'... I think Paul didn't realy wrote classes , methods and packages called 'a' 'b'.. . That just some kind of encryption. Paul doesnt't want others to read his code by decompiling it. --deathcon

I know, I just like to pick on his obfuscator. -- Kawigi

Hey Paul.Why don't you add a VictoryDance to SandboxDT?It would be nice to watch AND your bot wouldn't be hit from a bullet that was fires from the enemy just before he died.SandboxDT often get hit in such situations. --deathcon

I have no artistic flare, I'm sure any victory dance from me would be naff. I'm not so sure standing still after the enemy has died makes DT vulnarable - the enemy does not know when it is going to die - if it were to take advantage of the fact that DT goes stationary it would need to do head on targeting in situations where its energy is less than 16 - a side effect would be DT would probably increase it's likleyhood of not being in this position if the enemy took such an approach. --Paul

Bots that always fire head-on would get a few hits against you, as would very lucky other bots, it may give you 1 or 2 extra rating points, and as you aren't restricted in codesize, i would be inclined to do it. Try a 5 pointed star pattern, that might look nice, and fire outwards at each point, with a lower power each time, so you get a nice circle of bullets for a brief moment. -- Tango

I think just stopping any action the moment you have won is a rather cool VictoryDance. It's a very royal thing to do. -- PEZ

Paul, as you can see here it is not unnormal that a bot fires head on head at you:
(GuessFactors anticlockwise/clockwise moving and both together)
and please ignore these bars at 0.5 and -0.5 - that if from default data
10 Jan 2004 : removed pics. You can see my new one below. --deathcon

Interesting graphs - when you add the clockwise and anticlocwise graphs why don't you swap the sign of the guess factor on one of the graphs so that positive guess factors occur when either the opponent was going clockwise at fire and the hit was clockwise from the head on point or the opponent was going anticlockwise at fire and the hit was anticlockwise from the head on value (negative guess factors would be when the opponent was moving in one direction at fire and the eventual hit was in the opposite direction). In this way you should not need two graphs - you could pool the data and learn twice as fast (the two graphs are basically mirror immages of each other).

So far as the peak at 0.0 is concerned I am a little sceptical - the peak looks very sharp which is not typical of DT's movement. However, it appears to have about the same density as the peaks at around +0.7 (+ve in direction of initial movement) and so would have the characteristics DT movement is designed (to be hit as often in the high guess factor range as the mid (0.0) guess factor range - so far DT only actively adapts the relative sizes of these two natural peaks in it's movement profile).

-- Paul

Yes, what Paul says about mirroring clockwise and anticlockwise is an important feature of guess factors. Take advantage of it. If you want to see an example how it is done in code I think a pretty straight-forward implementation could Aristocles. At least it is very little code to read. =) No segments or anything to blur the picture. -- PEZ

But if you are always mirroring clockwise and anticklockwise you wouldn't need two segments at all.Maybe it't a nice trick at the beginning of a battle. However i have tweaked my gun a little. Removed old pics and here are the new one: http://www.mycgiserver.com/~deathcon/pe.sandboxdt_2.41.graph.jpg --deathcon

Exactly. You don't need a segment for clockwise / anticlockwise direction. That's the point. -- PEZ

Although there is a chance that some bots move differently when going clockwise as opposed to going anticlockwise. Probably due to bugs, rather than design. If you have DynamicSegmentation it might be worth adding a direction segment, but it would reduce the number of hits on each GF too much (about 50%, obviously) in other bots. -- Tango


Any news on the upcoming version of DT? Are you working exclusively on 1on1 or will the new version have improved melee/teams strategy? Btw, I don't know if you are aware but DT crashes sometimes when the final duel of a melee battle starts, something to do with the onBulletHit event. -- ABC

Hi ABC - glad you're thinking of me - DT 1v1 is being worked on at the moment - I've just spent a few days predicting where DT will be so that it can control it's movement and create a anti mirror gun. I have some positive results but I'd like to make a BIG return - watch this space. Paul

I will, got to watch my back now ;). Anyway, I was wondering if you are considering "artificial" ranking boosters, like pre-saved data, anti headOn/mirror movements, etc. I'm particularly worried about pre-saved data, since that would probably force me to develop my own gessFactor gun (I have some ideas but not much time). Alternatively I could start saving dodging data, that would maybe earn me some points in the rumble... Basicaly what I'm curious about is how serious you are on that 2000 points race. :) -- ABC

I guess Paul is more serious about it than most! =) You go watch your back good man. -- PEZ

I wouldn't say AntiHeadOn and AntiMirror were "artificial". (presaved data is, of course, and usually only gives you an advantage for the first couple of battles against any bot, anyway) -- Tango

Since you seldom get more than two battles against any bot presaved data gives a considerable advantage in the RR@H. I agree that anti-this-or-that-weakness are not artificial. Unless, of course, you are a supporter of PremierLeague rules. Which I am. But given the regular rules, any weak-bot-trashing is totally not artificial. -- PEZ

Agreed, I shouldn't have mentioned AntiHeadOn and AntiMirror in the same phrase as pre-saved data, they are both very valid tactics that make a bot more complete. I would call them "easy ranking boosters" instead, since they rely on the fact that a lot of bots in the rumble use HeadOnTargeting and wouldn't be so effective in a ER style competition where you only fight close ranked bots. Nevertheless, they would surely affect something DT is still the king of: Specialization Index. -- ABC

Might be. But a DT with the MusashiTrick and a Musashi-class AntiMirror gun would be kinda scary anyway. =) -- PEZ

No doubt about that. :) -- ABC

Paul, i was just testing your new 2.51, and got this:

=========================
Round 1 of 35
=========================
Reading Data
pe.SandboxDT 2.51: Throwable: java.lang.OutOfMemoryError
java.lang.OutOfMemoryError

It's strange because it's the first time in my life that I see that kind of error (the vm running out of memory). Could it be something in the new DT? -- Axe

It's happening oftenly here. The memory alocated to the process goes +90Mb... An easy way to get it is trying a match DT 2.51 X DT 2.51. I'm running it in a WinXP, Athlon 1.7Ghz, 512Mb. Please let me know if the problem is here. -- Axe

Another DT 2.51 error:

Round 26 of 100
=========================
SYSTEM: Bonus for killing ms.Ares 0.19: 7
pe.SandboxDT 2.51: Exception: java.lang.NullPointerException
java.lang.NullPointerException
   at pe.a.i.a(Unknown Source)
   at pe.SandboxDT.onHitByBullet(Unknown Source)
   at robocode.peer.robot.EventManager.onHitByBullet(EventManager.java:572)
   at robocode.peer.robot.EventManager.processEvents(EventManager.java:719)
   at robocode.peer.RobotPeer.tick(RobotPeer.java:1024)
   at robocode.AdvancedRobot.execute(AdvancedRobot.java:186)
   at pe.a.i.goto(Unknown Source)
   at pe.SandboxDT.run(Unknown Source)
   at robocode.peer.RobotPeer.run(RobotPeer.java:616)
   at java.lang.Thread.run(Thread.java:536)

This happened in about 30% of all battles. :-p --David Alves

Amazing! Even with these exceptions & errors, first and 1970+ scoring. Congrats, man! -- Axe

That error was in a melee battle, 1-v-1 I've only had out of memory errors, and those went away when I set -Xmx512M --David Alves

Yeah, I've had speed and memory issues with it too, grinds robocode to a screeching bloated halt. Very impressive release, though. -- Kuuran

Congrats! That new movement is great. But you must fix the memory leak. This DT hangs my RR@H client and you know what I do with bots doing that, right? I'll leave it in a few days since a king has certain privilegies. Amazing you could improve your movement this much! -- PEZ

I'm having memory problems when DT runs. It slows down RR@H to the absurd and finally it stops because it has no memory. -- Albert

Heh, I can't think of a reason that a movement algorithm would require that much memory! Congrats on getting back to #1 so quickly again! David and I had a bet going, and he won. :P -- nano

David knows how Paul works a little better than you, I suspect ;-) -- Kawigi

I'm looking at the memory leak now - hopefully I'll have a fix for it soon - as for speed I'll see what I can do - but I do expect it to be slow (if you want to see it run really slow (and beat shadow) try running with the hiseg gun option set in the properties file. -- Paul

If you found the memory hole you'd get rid of the gradual grind to a halt that is the biggest problem. Just generally slow execution isn't that big of a deal, it's the slowdown to a near standstill after some time that's an issue. -- Kuuran

Exciting with a DT 2.61! Do you have any prediction for it? -- PEZ

If it gets close to 2K I'll be pleased (I don't know because I did not test it well) - it should be top of the general 1v1 table - (the PL table won't be so good as I know it does not do well against PM's and good movers). -- Paul

Looks good so far, 1990 points! I tried "milking" the weak bots with Shadow 2.41, but must have done something wrong... Anyway, congrats, the crown is yours again. I won't be updating Shadow anytime soon, since I decided to do some major restructuring. -- ABC

Amazing movement. Impossible to hit! I feel frustrated. Although isn't it vulnerable to pattern matching? -- asm

It's not vulnerable to anything. You're not alone in your frustration. =) It should really be named SandboxHT instead. -- PEZ

Nice details sheet on DT 2.71 1-v-1!!! It's insane actually. This must surely be the strongest bot ever. -- PEZ

It seems to be struggling to reach the ranking of the last version... I'm sure it will get there, but it seems strangely slow to increase... -- Tango

It's early days yet - but I have concentrated on performance against the better bots, and hopfully not lost performance against the weaker bots - in the long term I think DT beats all bots (although DT vs Lacrimas is unstable - usually DT wins, but sometimes Lacrimas gets and keeps the upper hand). Hopefully the rating will break 2000 when DT starts fighting opponents it has already met). -- Paul

Best of luck! -- Tango

Do you think luck has anything to do with it? :) -- Paul

Of course it does. If you start off cornered in every single round, you don't really stand a chance, do you? As long as there is a random element, luck plays a part. Nevertheless, I have the greatest confidence that you will do it! :-) -- Tango


"Momentum = -23.400000000000006" That can't be good, can it? It's currently 10 points lower than the last version finished at... -- Tango

In the long run luck will have nothing to do with it. I think we will have to wait for DT to start meeting the same bots twice before we can see where it'll go. But, at least for DT 2.61 the saved data file grew too large. If 2.71 has the same problem this might get in the way. -- PEZ

I did not realise that 2.61's data overran - it should keep the enemystats.dat file to less than 190000 bytes - there should not be a problem unless there is another file other than the standard DT.properties file. PEZ can you give more information? -- Paul

Yes, that thing works, don't worry. I just mean it hit the 190K ceiling which must mean you can't fit all enemies in the file. I'm not sure how many you can fit though, so it might not be a problem. -- PEZ

Wow. Now DT doesn't have a single loss on its detail sheet! And looking at the LRP graph I strart to doubt I can make a bot that brings me the crown. It looks very balanced and the school of enemies are well contained. If one doesn't look close enough it looks like you don't collect those easy points from the head-on-targeters. There are no outliers up there like on Aristocles and other bots graphs. But looking closer you can see that it nails those bots with 99% and such. Which must mean you beat most other bots with the same relative ease. Incredible. Truly well done Paul. You really deserve that crown. -- PEZ

We've had problems with DT fighting older versions of itself, but now it's fought the current version of itself... that can't be right, can it? -- Tango

I bet it wins those fights too. =) -- PEZ

FYI DT can store full information on around 60 opponents and partial information on the rest (partial info at 70 bytes per opponent, full info at 3000 bytes). -- Paul

Ah, I'll have to remember that possibility. -- PEZ

Paul, I don't think that you want to hear it, but I'm still not able to run any team battles with your monster. I'm allway getting java.lang.OutOfMemoryError. Is this my fault or is 256MB ram simply not enough. -- rozu

David said last night that he needed to set it to a GB of memory to run the team RR@H client, and that with DTTeam, it peaked at 950 MB of memory. -- Kawigi


Gets worse than that Kawigi... I left it running overnight and this is what happened: http://davidalves.net/robocode/dt_team_memory.gif

That's the RR@H process on very bottom... Apparently a gigabyte of RAM isn't enough. I only have 1.5 GB, and I refuse to give it any more! >=( --David Alves

It's almost certainly my fault - I have not run a team round for many months now - presumably the more battles DT plays the grater the memory (memory leak) or is it like my last memory problem: the more bots in the enemyStats file the more massive the memory (lazy programming)? -- Paul

More bots would use more memory, that's unavoidable, the problem certainly increases with more battles, so it must be some leak (and one that remains after the match, as RR@H only runs 35 round matches, which it can certainly handle). I think there is a workaround, simply set the client not to iterate, and it will loop round using the batch file's loop, restarting java every time, so the leak is tidied up. It will run slower, but won't crash. -- Tango

he's back!

He always is. Nobody's managed to beat DT for more than a few weeks. :-P --David Alves

And with a new Cigaret-style movement! Can't wait to see where it ends up. :) -- ABC

1965 after 147 battles with low momentum... 2.81 may actually be weaker than 2.71 --David Alves

wow 1975 rating or so with momentum of over 300!--andrew

Don't get too excited, its rating won't start stabilizing until at least 100 battles are in and we're only at 29. (1943/+260)

I'm glad you are all watching :) -- Paul

1997 with 73 battles, looking good! :) -- ABC

The heat is on (3.01). I'll start my client again. -- PEZ

It seems to be struggling against simple bots of the low-rated micro and nano variety (Kakuru, Aurora, etc). As David has pointed out, those are going to bring you down fast. -- Kuuran

Expected % vs Aurora is about 80%, and he's only underperforming by 3.7%. It's not enough to be a problem. I was refering more to the extremely low ranked bots, say 1400 and below. Case in point: a bug caused YALT 1.0 to crash sometimes vs. 3 bots, all ranked 1350 or below. Since I was getting about 60% instead of the predicted 90+%, my rating vs. those three bots was a good 400+ points lower. Even when diluted by the results from all the other bots, it was dragging my score down. Fixing the bug, with no other changes, was worth 27 rating points. A good rule of thumb is that any bot that has an expected score over 90% and PBI of -5% or worse is trashing your rating. --David Alves


Here's a better candidate:

dans.Cinnamon_1.2	74.2	2	9-3-2004:18:22	86.4	-12.2

Actual rating difference: 493.7
Rating difference from %: 282.1
Rating damage: -211.6

Ouch! --David Alves

(edit conflict) Err I think I misread the PBI of Virgin as the PBI of Aurora. Kakuru, Cinnamon, Predator, BiggerDeath are all really big problems, though. Around 70, 80 or so expected and PBIs through the roof. Most importantly, there's no reason for a bot historically as rock solid as DT to be underperforming to any of them. Nor is that loss to Smoke encouraging :p -- Kuuran

What happened here:

radnor.RamRod_1.0 32.0 4 9-3-2004:18:51 79.1 -47.0

It's over 4 battles, so isn't a fluke. Something wierd must have happened... -- Tango

I think it's a dynamic distance problem - from the name of the bot I think I'm not running away from the bot because I only select from distances I have sufficient results from - It's a simple fix - maybe tomorrow. -- Paul

I would guess that one bot is dragging down your rating quite a lot. I'd fix it ASAP, it could be the difference between 1999.9 and 2000. ;-) -- Tango

It also seems like virtually every pm in the rumble has DT's number. -- Kuuran

good old ramrod. i know exactly why it's working so well against sandbox and musashi. but i'm not about to tell. you can figure it out yourselves pretty easily anyway. new radnor bot similar to ramrod (but a lot better) coming out soon to draw down so more ratings! --andrew

Hi there - I'm glad to see you all are doing a grand job - ratings are gradally moving higher. I'm also glad to see DT still gives a few headaches to the top bots I'm particularly pleased with its ranking in the PL. I'm still not in a position to do anything new but recently I've found myself thinking of new ideas and wanting to test them out - perhaps after Christmas I'll be back. -- Paul Evans

And I'm glad to know you still visit in on us! And of course to hear that you have started getting those ideas... Given enough time they will force you back. =) -- PEZ


What is the state of play with DT against the top bots - I can't believe the ratings are a true reflection of it's abilities - the state of the art must have progressed. -- Paul Evans

Great to hear from you again! I suspect DT could reach the top simply by optimising (special casing) it's strategy against headOn guns. The state of the art these days is WaveSurfing, it excels in crushing simple guns (99.9% scores) and fooling most GF guns. Fyi, Shadow's current version beats DT by 52% over 1000 rounds. -- ABC

Of course the rating is a true reflection of its abilities. At least it's the reflection we have agreed on to use. If you find it hard to interpret ELO score figures (hehe!) check out this table instead: http://rumble.robowiki.net/servlet/PremierLeague?game=roborumble&table=2 it shows the raw percentage average DT gets against the full range of RR bots. It also shows that DT is strong against the strong. It usually fights with Shadow for the PL crown. -- PEZ

Btw. DT is a WaveSurfer, in'it? Special casing against HOT shouldn't be necessary. Neither Pugilist nor CassiusClay does it. Does Shadow? -- PEZ

I turn off the flattener if all the enemy bullets fall in the same GF interval, I think it qualifies as special casing. I'm yet to make it more dynamic, my idea is to somehow detect the enemy's learning speed and adjust the flattening/dodging behaviour. -- ABC

DT is not a true WaveSurfer as I understand it - From memory it attempts to be hit equally across all guess Factors - it has a similar effect to wave surfing but not quite as efficient. On the other hand it will not fall victim to the first anti wave surfer gun. Is 52% the best that can be done to DT over 1000 rounds. -- Paul Evans

That sounds like WaveSurfing to me. And. Version 1.9.6.01 of CassiusClay collected 57% over 500 rounds. Never tested 1000 rounds though. -- PEZ

It sounds like only the 'flattening' part of wavesurfing. The 'other' part (what is that called anyway?) would make it a true wavesurfer, wouldn't it? --Vic

  • Well it depends on what we mean by wave surfing i guess. To me it's the technique of surfing the incoming wave with hit/visit stats as your guide. It could be used to avoid hits or flatten the curve or even collect hits. I beleive the 'other' part is called "avoiding hits". =) -- PEZ

My gun is relatively weak against DT's movement, the best I ever scored (in 1k rounds) was 54%-56% a few versions ago, but that version ranked lower in the rumble. I believe Shadow would score close to 60% with PEZ' gun. DT's movement is probably more like an adaptative random movement. Anti wave surfer gun? Mine does pretty well against most of them... ;) -- ABC

Please test what Shadow scores against DT with my gun! In any case we were talking about state of the art above. I think the current DT is behind in both movement and targeting. The state of the art is harder to pinpoint in targeting though. Both carefully selected segmentations on top of a simple FloodMini style gun and Shadow's monster PM/stat hybrid seems to work. Shadow both has the RRGunChallenge crown. That might be it's anti-wave-surfer qualities, it's only a one point lead and the number of wave surfers are 15 or so. But since the RR is what counts I would say the Shadow gun is the most state-of-the-art. Though I'm not rocket scientist enough to understand what it's about. =) -- PEZ

I think my lead int the RRGC is probably because a PM gun is better against simple movers, 15 wave surfers are not enough to make a difference. Maybe an AWSGC is in order? :) Anyway, your gun is way ahead of mine in both the TCs, and is state-of-the-art for sure. -- ABC

I disagree. If a gun is best in the lab doesn't count. The real world is what counts. -- PEZ

Clarification: As i started out by stating I think my style of gun is too state-of-the-art. Just not as state-of-the-art as your gun. -- PEZ

More reason to come back, there is no way you should ever see this.

1st: jekl.DarkHallow	84878	27450	5490	45845	6092	0	0	550	451	0
2nd: pe.SandboxDT 3.02	71009	22550	4510	39439	4509	0	0	452	549	0

Good enough for a %54.45 winning 54.9% of the rounds. Please come back Paul. Where ever you are you seem to bring excitement to this game :) Bring Kawigi, David_Alves, Jam, and iiley with you. -- jim

I utterly agree! We all miss these people... But David is pretty active, and i would include in this list ABC too (although i think that he is just waiting for someone to dethrone him)... -- Axe

Well I've been active for the past week anyway... before that, nothing since my YALT/JALT frenzy in March I think. I feel obligated to tie up a few loose ends... fix RobocodeGL and become #1 in 1-v-1. ;-) --David Alves

Well, i was away too for two monthes, only returned last week also... And also i wanna that crown! :) -- Axe

I don't care about that crown all that much these days. But outranking the soon ancient RaikoMX is so hard that it almost drives me nuts! Or if it already has driven me nuts... Maybe if I ever succeed with that I will shift focus and join you crown contenders. -- PEZ

Look what the latest CC does to DT over 1000 rounds! Hyaiii!

57.99%	1st: pez.rumble.CassiusClay 1.9.9.06    86750	30350	6070	44105	6224	0	0	608	393
	2nd: pe.SandboxDT 3.02                  62857	19650	3930	35545	3732	0	0	394	607

-- PEZ

It's just a scratch - I can still fight. -- Paul

 
BLACK KNIGHT:
    Come here!
ARTHUR:
    What are you going to do, bleed on me?

-- JohnDoe

Paul's remark made me laugh my ass off. That movie is one of my big favourites. English humor at its very best! -- PEZ

Latest CC vs DT 3.02:

60.917%	1st: pez.rumble.CassiusClay 1.9.9.96m	91521	33200	6640	44874	6807	0	0	665	336
	2nd: pe.SandboxDT 3.02	                58718	16800	3360	35364	3193	0	0	339	664

Sweeet!

-- PEZ

That's nice! Not as good but decent I guess:

57.105% 1st: pulsar.PulsarMax 0.8	86509	29900	5980	44344	6280	4	0	599	402	0
        2nd: pe.SandboxDT 3.02	        64981	20100	4020	37062	3798	0	0	404	598	0

-- Pulsar

62.8%	1st: pez.rumble.CassiusClay 1.9.9.96n   93158	34400	6880	44941	6936	1	0	691	311
	2nd: pe.SandboxDT 3.02                  55069	15550	3110	33528	2881	0	0	315	688

-- PEZ

64.1% 1st: pez.rumble.CassiusClay 1.9.9.96z   103467	36200	7240	51769	8258	0	0	725	276
      2nd: pe.SandboxDT 3.02                   57888	13800	2760	38343	2984	0	0	277	724

Yes, you are reading correctlty, that's a 72.5% survival for CC. =)

-- PEZ

I can't help but notice that 3.02 has a tendency to die in some melees, especially against a group of SittingDucks. Good ole null pointer exceptions ;) -- Jokester

  • i am not shure about the reason, but Paul released both a 1-vs-1 and melee version of Sandbox DT (pe.SandboxDT 2.71m). It is possible that only the latter can be used for melee battles. P.s. i get the same nullpointer exceptions when i use v3.02 and not only against SittingDucks. --Loki

I certainly can not help noticing this, but 3.02 never works against my robots. I tried it with sample.Fire and it worked fine but there is this null pointer exception after reading in the data and it is disabled every round I try with it. Maybe you could fix it up and let my try beating it :). (The robot I tried against it has not been released but it also does not work against my ScanFire.) -- Kinsen

It occurs in melee and 1-vs-1, and I don't think that it is the mentioned bug. -- Kinsen

I wish that it would beat my robots... it does not do anything besides turn its radar 360 degrees. -- Kinsen

Interesting, I tried it again, and it worked. However, it did not work before although I am at a different location that where I had usually tried it, but I think that I had tried it here before... so I am really mystified about why it did not work for so long. -- Kinsen

Here is the output:

pe.SandboxDT 3.02: Exception: java.lang.NullPointerException
java.lang.NullPointerException
    at pe.a.l.<init>(Unknown Source)
    at pe.a.i.int(Unknown Source)
    at pe.a.i.else(Unknown Source)
    at pe.SandboxDT.run(Unknown Source)
    at robocode.peer.RobotPeer.run(RobotPeer.java:633)
    at java.lang.Thread.run(Unknown Source)

-- Kinsen


I downloaded DT, just for the fun of it, even though the source seems to be unavailable. However, when I run him in MeleeBattles, sometimes if he destroys the third-to-last bot and the other bot is out of his radar, DT will just roll to a stop and get stuck. Hence other bots will beat him handily in Melee when they shouldn't. Does this happen with anyone else's version? --Pfvicm

I don't do much melee, so I haven't experimented with it, but I do know there's a separate version of DT in the melee rumble. SandboxDT 2.71m -- Voidious

Just for the heck of it:

67.6%
jk.mega.DrussGT 1.1.4	101105	37400	7480	48222	8003	0	0	748	252	0
pe.SandboxDT 3.02	48361	12600	2520	30808	2433	0	0	252	748	0
74.8% survival

 ;-)

-- Skilgannon

"Old Discussions"

The following was labeled "SandboxDT/OldDiscussions" on the old wiki, but it isn't clear how it fits chronologically with the rest of the talk on the SandboxDT page.

Phew! I think I will even wait a few minor revision numbers on Marshmallow before even downloading that beast. =) -- PEZ

Many minor and one major revision later Marshmallow still don't stand a chance against SandboxDT. -- PEZ

Times have changed and while Marshmallow still doesn't beat DT, it now wins some 10/50/100 round battles now and then. (June 2 2003). -- PEZ


It seems that version 1.81 of SandboxDT has a memory leak bug or some such. It's almost impossible to run it in 5000k+ round battles. I first thought it was a problem with Marshmallow but its the same with any bot you put up against it. -- PEZ

This is true and will be fixed in the next release - it seams that the Java garbage collector can not recover objects a robot has referenced at the end of each battle - in the case of DT it uses an ArrayList of Wave objects. The next version will make this ArrayList static and will be initialised at the beginning of each round (this solves the issue). -- Paul Evans


Um... I just looked at the EternalRumble stats, and SandboxDT is sitting at #1 on melee... (*:-(* WE STILL LOVE YOU TRON!) [edit] Hey, I ALSO just noticed that Tron hasn't yet been updated to 1.5 in the melee. How come? -- Vuen


I haven't been following the recent discussions on this page until now, but I have been experimenting with movement systems a lot recently (on paper and with code), and I have finally perfected a nifty little puzzle for all of you -- behold, TheSpikeConundrum.

Question 5: How does it work? ;)

-- nano

Very well. -- jim

Questionably (I'm still a little skeptical, your strength before was what you had between 0 and 1, not keeping 0 and 1 even. You seem to be solving Fhqwhgads' problem, not your own). -- Kawigi

In response, I must hasten to point out that Spike is merely an entertaining experiment, and by no means a solid grounds in and of itself for a serious movement system. I mean, try any other bot against him! They should fairly rip him to shreds. :) Pure-statistical guns that do not segment on acceleration will fall for Spike's trap, however. -- nano

The good news is that bots with shorter attention spans (bots who discard old data quicker) will see the (bigger) spikes appear and will be able to take advantage of it. This contrary to bots who average all data who'll see a flatter profile with two spikes. The hunt for the optimal 'attention span' is on :) We might start looking into the direction statistical relevance of differences ... -- FnH

Thank you Paul,did you run them 1000 rounds,and then run 1000 rounds again(with pre saved data)?I think the next 1000 rounds BlestPain could do better than DT(maybe can beat SandboxDT 2.01,in my once testing it did),what happened when DT save or load datas?.I have not plan to add the PM gun to BlestPain this time except I have a good enough way to evaluate the Virtual Guns.I am glad that you say BlestPain's dance is nice,did you noted that he has two different Victory Dance,the one most time you could see is design from a song of Lacrimosa which named "not every pain hurts",another is design from my being excited.Hope you like both of them,and hope you like its ramming running too(It may never happen when he vs DT as DT never be disabled). -- iiley

I think I ran a 5000 round battle - either way the issue is moot - DT 2.11 is released - it has a score advantage of 52.5% to 47.5% after training (better DT results in the first 800 rounds). Sorry. -- Paul Evans

People must be getting better, you are releasing versions much faster now. ;-) -- Tango

Either that, or he's messing up more often. But this time he said he's improved both his targeting and his movement. If he knew ways to improve it before, why didn't he do them? Or have we brought his weaknesses to light for him? -- Kawigi

I'd go with Tango's analysis. I have always suspected Paul had quite a few improvements up his sleave. They haven't really been called for before. Now iiley's movement and Kawigi's guns asks questions DT hasn't been asked before. It's way cool! -- PEZ

The targeting improvement was as a result of looking at iiley's movement - it was a simple change in the segmentation - no extra guns/ideas but enough to give me the edge. Up until the last version changing the movement was always a risky problem - but with the movement adaptor code most of the fine tuning is done automatically so changes are easier. The change here causes problems with bots collecting stats every tick - DT 2.11 has a tendency to move on bullet fire giving a false profile for Sedan - for Sedan to get accurate targting stats he will have to run 11 to 16 times more rounds. I keep nothing pre-coded ready for realease - it was simply more urgent to get a realease this time for obvious reasons. -- Paul Evans

I've only done 500 rounds, so this isn't a particularly acurate result, but it is interesting:

 1st: pe.SandboxDT 2.01	43781	13600	2720	24295	3165	0	0	273	228	0
 2nd: pe.SandboxDT 2.11	38846	11400	2280	22599	2565	1	0	228	272	0

I would understand the new bot being no better than the old one, but being worse...? Is this simply changes designed to make it better against some bots will automatically make it worse against others? I will run a longer battle tomorrow, but 500 rounds should be enough for a guess. -- Tango

While I don't know if this release is better or worse against FloodHT than the last one, I did notice that this release does worse against HT than against Sedan, which was noticeably not the case with the last release. And, it seems, I've actually convinced Paul to take my view on things to a degree concerning bullet-dodging :-p (since he was always an advocate of pure, good, unpredictable random movement). Regardless of whether my information gathering is correct or not, it would appear that this edition "flattens" itself against FloodMini significantly better than the old version (I think FloodMini tends to hit more often when he fires as his opponent is accelerating/decelerating, which caused him to hit in the +1.0 region and made more of a mountain of DT's profile). This may or may not be due to this. I'll do more looking probably later. -- Kawigi

Most versions of DT has reacted on bullet fire for all I know, at least up to bullet travel times below 27 or so. What I have heard Paul say is that there are risks connected with doing any such dodging since it makes it harder to keep your profile flat. I think that what he's now saying is that with his profile adapter in place this risk is more or less eliminated for him and thus DT can do this without messing up its profile. Note that he also seems to be able to exploit some aspect of iiley's movement. Wanna bet if this aspect might have to do with reacting on bullet fire? =) For when it comes to improving your bot against some bots and getting a punishment against others, I think that this is very hard to avoid. But at least you shouldn't worry about beating the old version of your bot. You should seldom meet that one in the leagues anyway. -- PEZ

Tango, I can confirm your results - I ran a 5000 round battle last night and it seems that the new DT 2.11 movement is weaker than the 2.01 movement - especially with the segmented stats. It looks like iiley's bot does not take advantage of this, but the new segmantation is better against BlestPain - I think new or old movement was about the same against BlestPain.

Kawigi, I did some graphs with FloodMini 1.3 - the result is that the peaks etc firing a wave each tick are different to the peaks when a wave is fired when you fire a bullet. A bot collectig stats each tick will now be at a disadvantage - it will not shoot in the best place. Be sure to fire waves only when you fire when graphing DT.

PEZ, you are correct, up until the last version I had code which may change direction when it detected enemy fire at closer distances. It looks like this DT's movement is weaker against segmented guns collecting data on bullet fire only. DT's guns are well adapted to learning fast in these conditions - others may need a few rounds to get there :) -- Paul Evans

The new(?) habit of sharply changing strafe angles is curious. Is this to create false peaks and bait, or is this something the movement adapter does to flatten dips in your profile without slowing down (and thus becoming fodder for acceleration segmentation)? -- Kuuran

You will see 4 'strafe' angles - a neutral angle designed to keep the same distance form the opponent, a sharpish retreat angle to get to an sensible working distance from the opponent if they are to close, a slight attack angle to get to the working distance if far away, and a sharp attack angle to ensure I kill an opponent if they are low on power (to collect the bonus). Only the slight attack angle is new (I think it was introduced in version 2.01) - it keeps DT out of the corners. The main reason for the retreat angle is to decrease the probability of a hit (a retreating bot gives a smaller hit angle than one that stays neutral or approches). I think anything other than a 90 degree straight line will make a bot easier to hit - the angles are not designed to flatten the curve for acceleration segmentation because, if anything, they become fodder for linear guess factor aiming, or segmentation based on the 'attack angle' of the bot.

I hadn't noticed the angles as prominently before, anyway. As for the segmentation based on attack angles, sure, but no one does that compared to segmenting on acceleration ;) Thanks for the explanation, appreciate it. :) -- Kuuran

Oh yes, various versions of my bots do this and it might be something I will let GloomyDark do. I think Kawigi has experimented with this as well. -- PEZ

LoL, of course I have. You'll often see my bots changing direction laterally and also doing a significant (usually 60 degree) turn at the same time to maintain an 'attacking' or 'retreating' angle. Since many of my bots put effort into distance control, I'm doing this quite often, especially if my opponent disagrees about the distance. -- Kawigi

There are no threads on this page yet.