Archived talk:SandboxDT 20090429
- Sub-pages:
- SandboxDT - Version History - Challenge - Movement Riddles - Archived Talk 20090429
|
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
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
- did you observe this in melee or 1-vs-1? --Loki
- have you checked the JRE_1.4.2_SecurityException_Bug page? --GrubbmGait
It occurs in melee and 1-vs-1, and I don't think that it is the mentioned bug. -- Kinsen
- i agree, it's not the JRE_1.4.2_SecurityException_Bug. I haven't observed it in 1-vs-1 yet (and b.t.w., it still wins with a large difference from my bots...). --Loki
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
- [View source↑]
- [History↑]