[Home]Gladiator

Robo Home | Changes | Preferences | AllPages

Author: KID
Version History

What's special about it?

Nothing really.

Great, I want to try it. Where can I download it?

http://www.robocoderepository.com/BotDetail.jsp?id=2660

How competitive is it?

Well its in the top 10 in Melee, and has a score greater then 1850 in OneOnOne

How does it move?

Melee: MinimumRiskMovement.
OneOnOne: WaveSurfing.

How does it fire?

With VirtualGuns: Circular: normal, with avg heading, with avg velocity, and both avg heading and avg velocity; HeadOn?, Linear: with avg velocity and normal; Random, (a very bad) GuessFactor, TidalWave (my AntiSurferTargeting), PatternMatcher, and a LateralVelocity PatternMatcher.

How does it dodge bullets?

By moving.

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

Its mainly a Melee bot, but in OneOnOne has a form of WaveSurfing.

How does it select a target to attack/avoid in melee?

To attack it just fires at the closest bot, and it avoids them all.

What does it save between rounds and matches?

Rounds: everything.
Mathches: nothing.

Where did you get the name?

From the move, i though "that would be a cool name for a bot in melee".

Can I use your code?

Sure, it's in the jar.

What's next for your robot?

More work on the OneOnOne movement and my guns.

Does it have any WhiteWhales?

All good Melee and OneOnOne bots.

What other robot(s) is it based on?

HawkOnFire type movement,
SpareParts type code structure,
and many more, soon to be listed.


Comments, questions, feedback:

Welcome to the wiki! I noticed you have thought about the setup of your bot, the code is quite readable. A few remarks about its performance:

Note that these are just some tips after briefly watching a few OneOnOne and melee-battles, I did not dig into the code. As your bot seems to be ment for melee, check out the MeleeStrategy page. It covers everything you need to know about melee. --GrubbmGait

Thanks for the welcome! I have noticed that in OneOnOne my bot faces my enemy way to much, I tryed what you said and it made a BIG differance. Thanks for the tip! Also, All the other tips I have added into my bot in some way or another. I have one question though, is it better to aim at the stronger bots that are close to you, or the bots that are weak and somewhat far away? --KID

Assuming you are talking about melee then it is better to aim at the bot which you are most likely to hit. That way you get some return on the energy you invested into the shot. That is not always dependent on wether it is closest or not (although it often is). Kawigi will most likely offer that it is better to shoot at the enemy that is most dangerous to you. I am not sure, but "my boy is wicked smart" when it comes to melee. -- jim

The movement of my current meleebots is coupled to the enemy I am targeting, so therefor I favour to target the closest one. As AntiGravityMovement is less coupled to the current enemy, it could be advantiguous to target someone further away, as he is less expecting it. --GrubbmGait

Right now I am using (enemyEnergy / myEnergy) * enemyDistance to find the "EnemyRiskFactor?" (this is not in v.1), then I fire at the bot with the smallest EnemyRiskFactor?. I don't know how effective this is but it seems to work well, especially if the enemy is disabled or nere being. --KID

Well, Jim guessed quite well what sorts of things I'd say - when I started melee I assumed that the reason targeting the closest was good was because you were more likely to hit, so I tried targeting the one that I was most likely to hit. The reason this wasn't as effective was that (indeed) clearing out nearby bots is more important if you want to survive. So the reason to target one bot over another is the benefit to you (which comes from how likely you are to hit them) and the risk they pose to you (which comes from how likely they are to hit you). Shortest distance alone can strike a fine balance there, although I don't discourage using energy as a parameter.

KID - why is the enemy risk factor proportional to distance? Do further-away enemies pose a greater risk? I'm not sure I follow. I think you should do something more like (enemyEnergy / myEnergy) * enemyDistance. Of course, your energy should be constant for comparison's purpose, so that might as well be enemyEnergy / enemyDistance. You modify that just slightly and it starts looking like the risk function for HawkOnFire.

Also, make yourself a page! -- Kawigi

I spent a while toying with alternates to 'if closer than present target by x' with no success. I attempted factoring in enemy energy and my hit percentage against them and my scores dropped. It's on the back burner again for now. -- Martin


I got my computer up and running again, but now Gladiator 6.6g looses every meleebattle. I use Java 1.5 and have tried robocode 1.0.6 and 1.0.7Kawigi. Before uploading more results I will try to find out if the problem is my configuration, but can anyone else run one meleebattle to rule out a problem in Gladiator itself? -- GrubbmGait

Gladiator crashes on my mashine as well in meele Battles:

kid.Gladiator .6.6g: Exception: java.lang.NullPointerException
java.lang.NullPointerException
    at kid.Data.MovementProfile.inEvent(MovementProfile.java:60)
    at kid.Gladiator.onHitByBullet(Gladiator.java:197)
    at robocode.peer.robot.EventManager.onHitByBullet(EventManager.java:582)
    at robocode.peer.robot.EventManager.processEvents(EventManager.java:729)
    at robocode.peer.RobotPeer.tick(RobotPeer.java:1043)
    at robocode.AdvancedRobot.execute(AdvancedRobot.java:139)
    at kid.Gladiator.run(Gladiator.java:106)
    at robocode.peer.RobotPeer.run(RobotPeer.java:633)
    at java.lang.Thread.run(Unknown Source)

thanks for the heads up, i have seen this bug in OneOnOne, and was able to fix it there. just checked my code and makes sense that it would crash in Melee too. @GrubbmGait - it a bug in Gladiator, so it's not your fault. i'll release a new version to fix the bug. -- KID

Congratulations! It seems that you are the first to get into the melee top-5 since . . . well, since forever. -- GrubbmGait

Didn't notice! Wow... I was just planning on getting backk into contention for the top ten again. Wow... -- KID

Still a lot of opponents to face, but I think it's safe to say nice jump with .6.7. Looks like almost 8% better per opponent so far - impressive! -- Voidious

Thanks Voidious! I did some work with the MC2K6 and got some better scores against the simple targeters then I had before and I think it paid off! (but I still can't get higher then a 95 against BotA?, Grr...) I would appreciate it if someone would look though my code (hard, I know) and see where I can improve. -- KID

Please don't take offense to this, but it's more a matter of fixing bugs than making improvements when trying to master surfing HeadOnTargeting. Try hard coding some danger at GF-0, make sure your prediction is working correctly, and you're clearing out old waves correctly (to surf the "correct" one at all times); if all of that is working, you should get 99+ against BotA?, I reckon. Check out Komarious/Code if you want to see how simply she dodges GF-0 (hard-coded), and she gets over 99%. -- Voidious

No offense taken Voidious, but my form of WaveSurfing is more TrueSurf then anything else. So, ABC, if Shadow really is doing TrueSurf like I think it is, I could use some help on how to weigh the risk for forwards and backwards. There is another movement that I'm sort of working on that is like Komarious, and it gets 98+ against BotA?, but is not as good against PM or GF guns, yet. -- KID


Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited June 1, 2006 20:37 EST by KID (diff)
Search: