Robo Home | TargetingChallenge | Changes | Preferences | AllPages

How about a TargetingChallenge? A stationary challenger shooting at non-shooting DT, Marshmallow, Cigaret, FloodHT and maybe GlowBlowAPM and some other bot whose author can supply a non-shooting version of. (One at the time of course). Since the challenger is stationary the test wouldn't be real-world translatable, but about the closest we can get. It could be two challenges, one where the challenger has no a-priori knowledge of the targets and one where it is allowed to use saved data. It would probably make me start working with Ms guns sooner. =) How about it? -- PEZ

I think we should also consider adding PatternBot and maybe some other typical movement bot. Maybe I can dig up the old code of ChaosMako?. -- PEZ

How many rounds? Maybe 250 rounds against each opponent? It could be run with RoboLeague divisions. -- PEZ

On second thought I think maybe not PatternBot, since you never meet something like that in the real world. But ChaosMako? could still be interesting since it was actually released and showed a very flat MovementProfile. -- PEZ

I think I'll do very well against GlowBlowAPM :-p (I've posted good 20% hit-rates against that bot over long battles, but lower in the short run, because it moves differently when it has less data on itself). Sounds fun, though. The next version of FloodHT can do stuff like this by modifying a properties file, like SandboxDT. The goal would basically to have these people get the lowest MCIndex against us, right? -- Kawigi

Yes, maybe we could average the MCIndexs. -- PEZ

So far it looks like SandboxDT has a higher score than PatternMatcherBot does. -- Kawigi

This challenge requires a range of reference bots - most of them not good - good targeting should be able to isolate a range of weaknesses in movement (going against DT will only isolate DT's weakness but not make a good general gun) (there is at least one problem with it which I am sorting out now so even that gun has a limited shelf life). A selection of 10 or so mid range bots should do the trick - perhaps some of the classics - LoneDragon?, Duelist, PrairieWolf, JollyNinja .... -- Paul Evans

The problem with that is that some of those bots are closed source and not under development which means it will not be possible to make them stop shooting. But we could use the ones with open source of course. But I still think the best movement we know should be represented. So at least DT. But why not FloodHT as well. What about a selection of open source midrange, preferrably classics plus DT and FloodHT? Arena size, 800x600 since that's the ER settings? -- PEZ

I think the original suggestions were pretty good (Duelist would be a good addition, too, maybe), GlowBlowAPM would be questionable, though (would give Paul and I a little bit of an advantage probably). -- Kawigi

Why would GlowBlowAPM mean an advantage for Paul and you? -- PEZ

Simply because GlowBlowAPM doesn't have a flat profile, and these two bots make use of this weakness a little bit more then others :) -- rozu

Targeting is all about exploiting weaknesses. I think GlowBlowAPM fits the bill very well. Can you make a version of it that doesn't shoot? -- PEZ

How about the following reference bots:

  1. SandboxDT
  2. FloodHT
  3. GlowBlowAPM
  4. Duelist
  5. TheArtOfWar
  6. Sparrow
  7. Aspid - If Albert could be so kind and make a TC-target version
  8. Tron
Add two open source classic bots. I think Aspid fits very well since Albert has quite a few bots in the rumble featuring about the same movement. And it has become quite a classic movement by now. I would like to inlcude Parakeet as well, but as long as the challenger bot doesn't move there's no point... -- PEZ

Not a problem to make a not firing Aspid. But my question is ... if Aspid doesn't fire, then all bots will get the same score against it, regardless of how well they do. May be Aspid should shot opposite to the bot? That way, the faster you kill it, the better the score. -- Albert

Is it so? If I miss all my shots I will get 0 in bullet damage and Aspid will outsurvive me. And from there it can go up to 100% hits (well, unlikely is an understatement, but anyway). -- PEZ

Yeah, the point is that the better-moving bot (relative to the aim of the challenger) will let the challenger shoot himself disabled, and therefore get some of the survival bonuses. I tweaked a version of FloodHT's movement until it could out-survive a power-3-shooting stationary SandboxDT about 2/3 of the time. -- Kawigi

Great idea, this challenge. Count me in.. -- Vic

Are their any rules as far as bullet power? -- Kawigi

You tell me. But I vote for not having such rules. -- PEZ

The only inherent advantage I can think of for altering bullet damage from what should work normally is stopping firing whenever you have an energy advantage and would lose it by firing. -- Kawigi

So be it. I, for one, will not fiddle with the bullet power or something like that to benefit from the rules of the tournament. I will enter Marshmallow as it is, just not moving. I would like the challenge to be of as much help as possible in getting an idea about how good guns our robots have. -- PEZ

Note, of course, that there's no real advantage to sitting and not firing when your opponent doesn't fire back ;-) -- Kawigi

Yeah, of course there is. If a robot moves such that it has a weakness or there is a particular period you can hit it better in than any of the others, then it would be worth only shooting at these times , rather than risking shooting yourself to death. Whether this applies to any of the test bots i'm not sure... -- Brainfade

I was referring to robots who stop shooting when their energy is below 2 and stuff like that. -- Kawigi

Well, it is still possible that you have shot them down to less than 2 energy, and so by not shooting you will win when the countdown starts. This will cost you bullet damage, but avoids the risk of shooting yourself to death. Brainfade

Which goes back to the fact you could probably win most rounds (at least for survival) by just firing until your opponent has lower energy than you. I might test and see what kind of effect this has on the index itself, maybe the score hit is enough to make it not an issue. -- Kawigi

Just out of curiosity, what is the problem you mentioned with your gun, Paul? I want to make sure I'm taking full advantage of it :-p -- Kawigi

My linear guess factor stats were wrong - when a bot was stationary when I fired I was always registering a hit, as a result stop-go bots ended up going against guns based on linear prediction when they should have been up against the max angle prediction stats. The fault is fixed now but I am working on movement before the next release as there seem to be no claims to the throne yet (I made a error in logic when tuning my movement for version 1.91). In all I hope to raise the bar for 1v1 on my next release (although I only expect 1 or 2 % at most). -- Paul Evans

Lol, I find that the more logic, the worse, when it comes to movement. Well, that's not completely true I guess... I agree, though, that your movement needs to be retuned, as I think that 1.91 was a bit of a downgrade from 1.81 and even 1.71 (although I'm not positive that either of those is clearly better than the other). Of course, in reality, I should stop teasing you, as it might result in a better bot coming out. And meanwhile, I should stop teasing PEZ. -- Kawigi

I uploaded a non firing version of Aspid called AspidMovement? into the repository, so it can be used for benckmarking. -- Albert

Which reference bots are available at this time? I'm only aware of:

I'm about ready to test my new ZoomTargeting gun hence the question... -- Vic

Way cool! I think TheArtOfWar, Duelist, and Sparrow are open source. I have had the ambition to make reference bots from them, but haven't got around to it yet. I'm working with movement again... Feel free to do it anyone! Since Kawigi's Fh... bot is also open source maybe we should make that a reference bot too. It has a nice, almost flat, curve, but not entirely flat. Yet Marshmallow seems unable to utilize those small spikes. Which makes it interesting I think... Kawigi can surely fix a reference version of it and FloodHT too. Right Kawigi? From there this should be a matter of adding one or two more bots to the index and hope Rozu will fix a reference GlowBlowAPM too. -- PEZ

I am looking forward to this as well. It will finally answer the question "how accurate is accurate enough". -- jim

I was being lazy and not releasing one yet because I figured there wasn't a hurry until the Tron and GlowBlowAPM versions came out. The dev version of FloodHT has a properties file, like SandboxDT but with a couple more options, so it will already be built into the next release. -- Kawigi

I'll upload a new version of Tron for this challenge this weekend, it will include v1.5's movement and the improved targeting I've been working on. --ABC

So is it going to do the properties file thing, too? -- Kawigi

I have made reference movers from all above-mentioned open source bots. Will post them on the repository later today... Another thing: should we use Fhqwhgads version 1.0 or 1.1? 1.0 has dynamic distancing which might be cool to test against.. -- Vic

Never mind that last point .. Fhqwhgads 1.0 of course had that performance problem, and since it does not fire, the dynamic distancing won't work properly I guess .. So I'm going for 1.1 -- Vic

I think too that the dynamic distancing would work even if it doesn't fire. But we already have two SandboxDT there to represent the SlowBot category (and, maybe GlowBlowAPM as well is a SlowBot?) so I would vote for Fhq... 1.1. Especially since it's on Java 1.3.1 that the previous version gets really slow. =) -- PEZ

Isn't dynamic distancing about balancing gun percentages against movement percentages? In this case there are no gun percentages. Maybe Kawigi himself can provide us with the answer.

PEZ, can you make a non-shooting Marshmallow? The list feels incomplete without a PEZ bot in it.. -- Vic

I suggest my Cigaret to be a reference bot~;],because i think its movement is better than its gun,Spark and Ash use the similar movement with a very basic PattenMatching? gun,but get 1# and 2# in ER micro 1v1,and Chameleon's movment is same to Spark's too however its Gun is very great.I hope to see how it can do in TargetingChallenge.;] -- iiley

OK, the quota for good movements are about filled up already. I totally agree that Cigaret has an excellent movement, probably better than its gun, which still is the best PatternMatching gun to date I believe. Let's add Cigaret to the index then. Can you disable its PM please? If it's not going to shoot any it could be made a TestBed for the purpose of thee challenge. But we should also have some more "flawed" movement included. Can anyone suggest some open source bots for this please? -- PEZ

Yes, I also chose Cigaret for my own tests and already disabled its gun. My tests also show that Cigaret has very good movement. I also noticed that Cigaret performs MUCH better than Ash against my PatternMatching gun. So that makes me curious: if their movement is so much alike why is Cigaret so much better against PatternMatching?. iiley, will you post a non-firing CigaretTC? on the repository yourself or shall I do it (because I've already got it here)? -- Vic

Oops, I already uploaded CigaretTC? along with the other TC bots. Hope you don't mind iiley! The only bot that's giving me problems is DuelistTC?. For some reason, taking out the gun makes it megaslow .. This gets worse as the rounds increase .. I can't find what the problem is, so maybe someone else can look at it? -- Vic

I've had that problem with SpareParts before... hmmm...

Initially Cigaret gave me the same problem, but that was caused by the fact that it was still firing its waves. That was easy enough to fix. With Duelist I could not find such a cause. -- Vic

Oh~~Its good,Thank you Vic for your help.~;] -- iiley

DuelistTC? runs too slowly on my PC,only 2 fps~~;[ -- iiley

I'v tried to make it faster,but I failed..~;[ -- iiley

I overrode all the firing methods and the getGunHeat method in Duelist, and commented out all of the I/O methods in AbstractAdvancedRobot?, and it did ok, but was still slow. Might have helped a bit, though. -- Kawigi

Ok, I have a "TC ready" version of Tron done, I'll upload it later today when I get home. It supports the same behavior settings as DT and a fourth one just for fun ;). Maybe someone could sumarise the TC rules (number of rounds, bots, battlefield, etc.) so we can start publishing some results... Update: Tron 2.01 uploaded to the repository, I'm ready to start testing.-- ABC

Great, thanx ABC! About the rules, has anyone checked the effect of firing bullets other then power 3? I think that may have a significant impact on the index. To see how our guns compare to each other I think its better to fire only power 3 bullets. -- Vic

I disagree. Aside from the fact that it's only *usually* a better idea to fire full-power, some robots use lower fire power as a strategy already (watch DT. He'll go thousands of rounds without firing a power-3 bullet I'll bet). So some good targeting systems aren't the same anyways with power-3 bullets. -- Kawigi

I disagree too,some bots can try to use different power bullet to poor opponent's movement,watch CigaretBH,it did better than Cigaret. -- iiley

Of course you'll get better results with low powered bullets, especially if your opponent doesn't fire back... But, for this challenge to work, we must all use the same power bullets, and 3 is a good number (faster battles). -- ABC

I dont think so,use larger power will get more Bullet Dmg score,because every 1 energy 0.1 power hit bullet get 4 score,but every 1 energy 3 power hit bullet get 5.33 score.Low power bullet just get more survil score. -- iiley

I'm ok either way, but it is quite a different challenge. You want a targeting, bulletPower management and whenToFire? challenge. The "optimal" targeting also looks for weaknesses in the opponents movement and fires lesser power bullets or even stops firing depending on the enemy's "situation" (near wall, good PM, etc). In that kind of challenge we will probably even see bots that don't fire for long periods of time waiting to get enough data on the opponents movement. A TargettingChallengeBP3? would be much simpler, you must fire 3 power bullets as soon as you get GunHeat()=0. -- ABC

BTW, I get around 4x better index if I don't limit Tron's bulletPower to 3... Tron is also a survivalist to some extent. -- ABC

Hmmm - It seems to me that the Targeting Challenge opens up the possibility of a somewhat novel tactic that one might call the Ghandi Tactic. As the name suggests, this tactic is to simply move around without shooting, attempting to make the opponent disable himself. If Kawigi was able to make a bot that beats SandboxDT 2/3 of the time using this approach, why would this be such a crazy tactic? Of course, it would only work in 1v1, but that's not such a disadvantage considering the overall strength of this approach. Have I gone completely off the track here or what? -- Phobos

If your opponent isn't firing, I still think it's good to use power-3 bullets. Then you need about a 12% hitrate to win half the battles. If we fire 0.1-powered bullets, we'd need a 14.3% hitrate. One could argue that you can almost always get that much better of a hitrate with low-powered bullets, but suit yourself. I suppose the only thing left to do is to try it out and see if it works to *always* fire lower-powered bullets. I also think it fair to fire lower powered bullets when your enemy has lower energy. This is beneficial whether or not your opponent fires. Your bullet damage score is pretty much the same in either case, unless your opponent is hitting walls. You need 100 bullet damage to kill them off if they're not expending their own energy or taking yours. That's unless you stop firing and still beat them. Ok, now for tests:

DT gets a 36.7% MCIndex against FloodHT firing using his normal power scheme (500 rounds, no previously saved data)

Under the same conditions, but with all power-3 bullets, DT's MCIndex against FloodHT will be 59.7 (holy crap.)

With all minimum-power bullets, inactivity time actually kicks in frequently if you don't change it. Of course if you do change it, it takes a really long time to run (because whenever I lose, I have to wait the whole of that time). After much patience (ok, I admit, I cut it off after 400 rounds), DT gets 39.1%. Not only is this not worth it to test, it doesn't seem worthwhile to do.

At any rate, I call for just intelligent energy management, nothing out of the ordinary. I'm not overly worried about comparing TCIndexes to MCIndexes directly. I think that choosing a good bullet power is part of good targeting. It's not merely the AimingChallenge?, afterall ;-)

Phobos - what you are missing is that I still lose by a large margin in score if I do that. And even when DT wins 80% of the time against me, I still out-score him. On the other hand, I can actually out-score DT given a proper advantage of familiarity against him.

 -- Kawigi

I agree that choosing a good bullet power is part of good targeting, but this is not a "real world" test. In this challenge you don't have to kill your enemy before he kills you, you have all the time in the world (save for the inactivity timeout) to do it... Imo, this will lead to rather "unreallistic" bullet power choices, not to the "best" ones. If we limit the BP to 3 we'll all have the exact same time to kill the enemy or die trying. Anyway, like I said before, I'm ok with both choices, maybe we should take a vote? -- ABC

Vic I only now saw you suggesting we use Marshmallow in the challenge. But if we agree that it's a bot with quite good movement, then there is no room for it I think. As Paul pointed out we should try to get the guns tested against some less good movement as well. Maybe GouldingiHT? It's a good movement alright, but obviously not too good or it would outperform Gouldingi. Just a suggestion. Are we out of classic bot with open source by the way? I have a feeling we should be able to find at least one or two. -- PEZ

Actually, even the current FloodMicro's cliche'd movement wouldn't be a bad fit, for similar reasons to Aspid. Or I could put out a movement-only version of my test-bot, SandboxFlattener, which is basically MakoHT's movement minus a fix or two, and the original DynamicDistancing code. If your targeting is weak at any range, it would find it ;-) -- Kawigi

Cool. I vote for SandboxFlattener. And maybe some nano-movement? -- PEZ

Since some targeting work best with this or that bullet power and most movement system show strengths and weakneses for different bullet power as well I think this would be a somewhat crippled challenge if we forced all to fire power 3. Granted, Marshmallow wouldn't mind, it's the only thing it knows what how to do. But then the way we calculate the index becomes tricky so I think we might have to move out of Robocode rules and invent some other kind of measure. How would it be if we agreed on a way to calculate hit rates and a way to calculate average bullet power or something like that? Wouldn't it be possible to calculate an index from that? Some of you math dudes could maybe come up with a formula for normalizing the hit rate for average bullet power? Do we need anything more than:

for this? Could it work? To avoid creating a too complicated set of rules I suggest we agree on:
  1. Not optimizing our gun code for the challenge. Same gun as for when the bot is used in real battle.
  2. You shoot until either the enemy is killed or you are disabled.
-- PEZ

Ok, then we skip Marshmallow and add GouldingiHT as the PEZ reference bot. Previously you suggested ChaosMako?. Maybe still an option? On more flawed, older bots: how about Ingwie? It's open-source, it's a classic (and it's Dutch ;-) -- Vic

I recognized that lower power will get better results at this challenge now,because enemy does not fire,whatever power bullets you fire,when you kill a enemy you will only get 100 Bullet Dmg score,unless enemy hit wall.Then the Bullet Dmg socre is not relative to bullet power,but the survival -- lower power usually get higher hit ratio -- get higher survival score -- get better results.Then i vote to only 3 power bullets.And i also agree on "Not optimizing our gun code for the challenge" if you use not only 3 power bullets. -- iiley

only by using power 3 bullets will you be able to compare targeting between challengers. -- Paul Evans

OK, I'm convinced. Power 3 bullets only. -- PEZ

name   power 3 only  power unrestricted  don't care
Vic x
iiley x
Kawigi x
Paul Evans x

Consider splitting this page into /Rules?, /ReferenceBots, /Chat?, /Results. -- PEZ

GouldingiHT doesn't have a PEZ movement. It's Kawigi's early attempts att flat movement. The challenge can do without a reference bot of my crafting. But I can add the properties-trick to Marshmallow anyway for anyone curious about what index they would get against it. Yngwie is a good candidate. I vote for it. I don't have the time at the moment, but we should compile a list of /ReferenceBots now. I would like it to be ten bots. Ten is a nice figure. =) -- PEZ

About the scoring, do we go for the MC-comparable enemyScore/myScore or the more linear bulletDamage/numRounds? Maybe both?

Is 500 rounds ok for everybody?

Btw, just noticed something strange, if you run a battle between DT (or Tron) in reference mode and SittingDuck, SittingDuck wins a few rounds! It must be some strange Robocode bug... -- ABC

Yeah, the bullet collisions don't seem to work right, and sometimes bullets that shouldn't hit each other do and it makes it so you can't hit stationary targets when you're stationary sometimes. If ArtOfWar? could figure that out, it would probably do better against the TC entrants than he currently does. I noticed the bug by watching BeerPoet against 99 SittingDucks?. -- Kawigi

500 rounds is OK with me. I vote for the MC-compatible index, however I have a suggestion: Since it is very unlikely that any gun will get to 100% maybe it would be more intuitive to have an Index = (100 - (enemyScore/myScore * 100)). This will increase the Index when your gun is performing better, which seems more natural. -- Vic

I vote for the MC-compatible too,it's simple~;],and Index = (100 - (enemyScore/myScore * 100)) is great,then better gun get higher score.~;] -- iiley

Could some please summarize what the final rules are for this challenge? I am sure it is somewhere in all of this but I am not sure I can pull it ou tall on my own. Maybe place it on it's own plage? -- jim

It's actually hidden on the results page, (100 * (damage_points / 50000)) (the logic being that the perfect bullet damage would be 100 for each of 500 rounds). The nice thing about this index is if you look at the final score from Roboleague, it displays the focused challenger's average score, you just take the average bullet damage and divide by 500 for your average index. -- Kawigi

I actually understood that part. I was more concerned about the parameters under which the challenger (ie non-TC bot) was placed under. Three power bullets always? Move or don't move? etc. I assume it is similiar to the PatternMatcherChallenge but that may not be the case. -- jim

I think the final concensus was all power-3, not moving (like the PMC). -- Kawigi

That's a shame. I'd be interested to see how Vapour does at this, but unfortunately allowing the gun to choose bullet power is a critical part of the aiming strategy without which it just will not work! -- Shrubbery

You could always enter the RRGunChallenge. -- PEZ

Robo Home | TargetingChallenge | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited April 12, 2005 1:19 EST by PEZ (diff)