Version History
Author
UnderDark (the person, not the bot)
Extends
Robot (Thats right: Robot)
What's special about it?
I wanted to try and build a good bot extending only Robot
Great, I want to try it. Where can I download it?
https://www.robocoderepository.com/BotDetail.jsp?id=2485
How competitive is it?
Ranked #3 in the ExtendsRobotCompetition (v 2.2.18) Ranked #3 in the ExtendsRobotCompetition (v 2.0.0)
How does it move?
It's has several movement stratagies: AntiGravity Life Tracking Oscilation PerpendicularMovement Move to a corner Move in a circle Sit Still Rams the other bot Random Point Tracking
How does it fire?
CircularTargeting LinearTargeting HeadOnTargeting
How does it dodge bullets?
By Moving ;)
What does it save between rounds and matches?
Learning Finite-State Machine (LFSM) data between rounds
Where did you get the name?
From my nick-name (UnderDark)
Can I use your code?
Goto /Source to view the released code
White Whales:
Girl 1.2 Krazy 1.5
What's next for your robot?
Create GuessFactorTargeting Gun
Comparing the details of v 1.2 with v 1.3, it seems that v 1.3 is more vulnerable to HOT-targeting now. Solving some issues does not necessarily mean a better score, but thats only one more reason to continue enhancing your bot. --GrubbmGait
Forgive my ignorance: what does HOT stand for? --UnderDark
HeadOnTargeting, this means shooting at the position the other is at that moment. If the other is moving randomly, it usually stays around the same position, so you have a chanche hitting it with HOT. If the other is circling around you, you will never hit it.
Btw, you can compare different versions of the same bot like this:
I did not see your bot in action, but I noticed the resultdrop against some HOTbots. --GrubbmGait
Thanks for the tips --UnderDark
Congratulations with your score at the ExtendsRobotCompetition ! --GrubbmGait
Thanks, but I still can't beat Girl, and in my tests: I would lose to Krazy as well
Even my 'normal' bots have a hard time beating Girl, its one of the reasons it is part of my testbed. Nevertheless, you improved a lot since the first version. --GrubbmGait
Does anybody know what kind of movement Girl does? --UnderDark
It's basically an AntiGravity type movement that keeps it out of trouble in melee as well as one vs one. Looking at the code, it also appears that it makes a bit of extra effort to avoid HeadOnTargetting?. -- Alcatraz
It's actually possible to store data between rounds. You just have to make it static... -- lRem
Strike that, it wasn't working because I was resting the settings back to default every round, adding a if(getRoundNum()==0)
fixed this problem --UnderDark
hi--andrew
Hey, now why'd you have to go and do that! I'll run the ERC later tonight. -- Alcatraz
Well, it only beats them once in a while, so your dominance is still relativley safe ;) --UnderDark
Girl 1.2's movement in melee is MinimumRiskMovement, and the descriptions of Coriantumr's movement in MeleeStrategy/UnderstandingCoriantumr are mostly fairly accurate to Girl (Girl 1.0 was an ExtendsRobot modification on some random dev version of Coriantumr). The 1-on-1 movement is just a random oscillator movement with "wall-smoothing" (which, of course, isn't that smooth in this case), and a bit of extra head-on avoidance (as Alcatraz said - it's basically a Musashi-trick thing). -- Kawigi
I have a question--does UnderDark go after all the robots that are not called UnderDark in meelee? Because I have noticed that whenever I put in one of my robots against several UnderDarks?, they all attack mine first. -- Kinsen
Hmm, thats interesting, and actually a pretty good idea, it both improves your own score and provides some basic team stuff. Too bad you cant do it for your package. It could definitely mess with the RoboRumble if someone with alot of bots in the melee had the bots attack each other last. Would that be legal? -- Jokester
No, that would be cheating. -- ABC
All UnderDark3's use a non-communicative IdentifyFriendFoe? (IFF) system:
if(e.getName().length() >= 14 && getOthers() > 1){ if((getName().subSequence(0,14)).equals(e.getName().subSequence(0,14))){ targeting=0; enemyName=""; } }How is this cheating? --UnderDark
Well i think that is legal, its just what I was suggesting (for the whole package thing) would be. Damn me and my big mouth. I could have taken the melee word by storm with 1000 differently named clones of walls, which would just sit still and die when everyone but PheonixM was left. Mwahahah...
BTW, why 15 characters? -- Jokester
----------------------------- |m|a|t|t|.|U|n|d|e|r|d|a|r|k|3| |0|1|2|3|4|5|6|7|8|9|A|B|C|D|E| -------------------------------UnderDark
Just for your information (if you did not notice it already), v2.3.22 works fine now with JRE 1.4.2. --GrubbmGait
I noticed, but thanks for posting it. --UnderDark
I have thought of doing the same thing but I find that it is either better to put them on a team or not bother because you have to get each other in the end. The only reason why I would try to do that is if I am making a "team" against another "team." -- Kinsen
Well this way you could develop a certain team level without messages and commands. The only real advantage to this would be something like I described above, being able to make a pseudo team for melee competitions. This wouldnt really be fair, but would be an interesting twist, especially having a noncommunicative team setup. What UnderDark does doesnt really count, since hes doing the full name, but if he was to say do the first 5 characters (look for all matt. robots) then it would give a different result. -- Jokester
I'm not sure if I agree with the stuff about HOT bots. I downloaded the latest version, but could not touch it with my HOT bots (I'm not good enough to make non-HOT-bots). -- Bayen
My comment concerned some of the first versions, I think UnderDark has made some improvements since. -- GrubbmGait