Talk:Diamond

From Robowiki
Revision as of 19:34, 22 August 2009 by Zyx (talk | contribs) (gun heat dimension > weighting unsynced waves)
Jump to navigation Jump to search

I can't believed it, it almost the same thing I'm doing in my TheRiver! (I have the ideas about displacement vector, but never known that it is called displacement vector) Anyway, nicely done! Here are my result that I just ran if you want (EDIT: more, and the debugging graphics is the exactly same as one I'm creating)

The one problem of this robot is lack of one-on-one performance (or you will never see 9 2nds). I saw it lost to Shadow and Phoenix a lot.

» Nat | Talk » 06:16, 15 May 2009 (UTC)

Rank Name Score Surv. Bonus Bullet Dmg. Bonus Ram Bonus 1st 2nd 3rd
1st voidious.Diamond 1.0 14361 (13%) 10850 540 2807 164 0 0 6 9 5
2nd abc.Shadow 3.83c 13453 (12%) 10100 630 2633 89 1 0 7 3 5
3rd rz.Aleph 0.34 12804 (12%) 9600 270 2861 73 0 0 3 4 5
4th abc.Tron 2.02 12261 (11%) 8450 630 3052 127 2 0 7 3 3
5th kawigi.mini.Coriantumr 1.1 11909 (11%) 450 360 2998 101 0 0 4 3 3
6th florent.XSeries.X2 0.7 9472 (9%) 695 90 2349 84 0 0 1 4 2
7th ags.surreptitious.MiniSurreptitious 0.0.1 9411 (9%) 6550 0 2785 68 8 0 0 4 5
8th tzu.TheArtOfWar 1.2 9240 (9%) 6750 90 2355 42 2 0 1 3 4
9th abc.tron3.Tron 3.11 8050 (7%) 5400 360 2245 42 4 0 4 2 1
10th davidalves.Phoenix 1.02 7443 (7%) 5550 180 1679 32 2 0 2 0 2

Not so bad... 6th place. Lost to Mellaris, Shadow, Tron and Aleph. But it used to win them in battle full of top melee bots! » Nat | Talk » 10:03, 15 May 2009 (UTC)

I haven't focused on the 1v1 movement much yet, because it doesn't matter as much as other things and I don't want to get distracted by it. (There's no hiding what a 1v1 nut I've been so far in my Robocode career.) But the 1v1 performance is pretty decent, I think it's mainly that the gun has trouble hitting surfers (no accounting for firing waves or gun heat yet). --Voidious 13:38, 15 May 2009 (UTC)

Decent? It's very strong in 1v1! It's 1v1 pairings are nearly complete and it's sitting in 11th place. Though... it does get beat by the top mirror-bot in the rumble :)
Man... all these new bots are not only topping RougeDC which used to be in 12th, but are also causing shifts in ranking of old bots so they're now above RougeDC... damn... I really got to get my new stuff out of the garage to join in on this fun! --Rednaxela 15:38, 15 May 2009 (UTC)

Thanks! The gun doesn't segment on firing waves or gun heat or anything, so it's not a huge surprise that a mirror movement that is reacting to bullet fire ('cause I'm surfing) works well against it. What kind of gun is on PolishedRuby? And why is there no page anywhere for it? --Voidious 17:38, 15 May 2009 (UTC)
PolishedRuby is just the gun of the latest RougeDC version, on top of a basic 'goto location' based mirror movement, with very slight alterations to energy management. No page for it because 1) Not much to say about it 2) I'm lazy. Diamond is the highest ranking bot I can see that it beats I think, so it shows well how Diamond's gun is notably lacking (in 1v1) against it's own surfing movement. Of course, I'm considering making a second version of PolishedRuby, which mirror's the enemy's firepower and firing time as well... that might demonstrate it even more clearly... ;) --Rednaxela 18:21, 15 May 2009 (UTC)

Wow -- takes me over a year to make a decent gun and you churn out a brand new top melee and 1v1 bot in what, a month or less? --Darkcanuck 15:46, 15 May 2009 (UTC)

Thanks, but that's so not a fair comparison. =) Basing anything off the Dookious movement would yield a really nice rating in 1v1, and I've got plenty of experience with DC and Minimum Risk Movement from Lukious and BrokenSword. --Voidious 17:38, 15 May 2009 (UTC)

It lost to a LOT of surfer, count from lowest score: Phoenix, Dookious, Ascendent, RougeDC, CassiusClay, Chalk, Shadow, YersiniaPestis, Gauss, DrussGT, Garm, WeeksOnEnd, Hyperion, LifelongObsession, CunobelinDC, MathcupAGF (not a surfer actually) and PolishedRuby (mirror, as Rednaxela mentioned) Perhaps some weight on firing scan will make you score better. » Nat | Talk » 16:12, 15 May 2009 (UTC)

Don't remind me, I'm trying not to focus on 1v1 here... :-P --Voidious 17:38, 15 May 2009 (UTC)

I'll give you some time before I resume working on a melee bot :-D Seriously, nice work! And it seems strong in 1v1 too! Are you also using your displacement targeting in 1v1? Or do you switch to regular GFs? --Skilgannon 16:14, 15 May 2009 (UTC)

I also use the displacement targeting in 1v1, getting about 87 in the TCRM right now (full results soon). One point of note is that I invert the vectors depending on the enemy's orbit direction, just like GFs, but I calculate orbit direction relative to the bot closest to the target (whether that's Diamond or another enemy). In 1v1, it's probably not acting much different than GuessFactors, but in Melee, I think it should work better than GFs. If nothing else, it seems far more "right" to me. I was actually considering "wall smoothing" the vectors instead of throwing out ones that would end up off the battlefield, then it would act even more like GFs. ;) --Voidious 17:38, 15 May 2009 (UTC)

Awesome (re)entrance you made in melee! You and justin really shake up that rusty top-10 there. Seems that in melee the gun is more important than in one-on-one. Maybe it is time to say farewell to my old CT-gun . . . --GrubbmGait 17:29, 15 May 2009 (UTC)

Thanks. I was surprised how much the gun mattered in Melee. I had it in my head that HoT is OK in Melee because of bots like HawkOnFire. This is partly true, of course. But I developed the basic movement first using only HoT, and when I upgraded the gun, the performance in my test beds shot up dramatically. --Voidious 17:38, 15 May 2009 (UTC)

Just asking quick, does this robot select enemy or do the thing like the one describe at Shadow/ShadowsMeleeGun? » Nat | Talk » 06:42, 18 May 2009 (UTC)

Nope, nothing like that. I actually don't remember ever seeing that page. Maybe I'll save that idea for when I run into a wall with other improvements. Which might be soon. =) --Voidious 14:07, 18 May 2009 (UTC)

Congrats with going up to 7th in melee (again)! I'm guessing all those red arrows probably have something to do with it. :) --Positive 09:58, 28 July 2009 (UTC)

Isn't the red arrow present the vector of the displacement vector? » Nat | Talk » 11:35, 28 July 2009 (UTC)
Thanks! I actually have no idea what caused it. =) I've just been working on the gun for 1v1. The red arrows are just some new graphical debugging in the gun, indicating the firing angles for the most similar situations. The yellow arrow is the chosen firing angle, and the yellow line through the yellow arrow indicates the "bandwidth" used in the kernel density estimator. --Voidious 13:59, 28 July 2009 (UTC)
Well, improving the one-on-one gun/movement could gain a number of points. When you are the last survivor, you gain the last survivor bonus, ain't you? » Nat | Talk » 14:11, 28 July 2009 (UTC)
Since you said you want these things pointed out to you Nat, "don't you?" would probably be more correct than "ain't you?" in this case I believe. The words "gain the last survivor bonus" behave as a verb, which means it's a matter of "do" or "do not". Well the wikipedia article does say that "ain't" is sometimes used for "do not" in some dialects, but I'd call that a rather obscure and that "don't" would make more sense. --Rednaxela 15:43, 28 July 2009 (UTC)
Thank you very much. Actually I mean the 'are not' for the word 'ain't' I usually forget that verb got the auxiliary verb do. » Nat | Talk » 16:00, 28 July 2009 (UTC)
Yes, the 1v1 changes can help in Melee, but I've had a lot of 1v1 improvement already and not much of it helped the Melee rating. My best guess is that one of my gun fixes just affected Melee way more than I realized it would... --Voidious 19:16, 28 July 2009 (UTC)

--Rednaxela 02:33, 3 August 2009 (UTC) Nice stuff Voidious! Hm, thinking about this just made my realize that my new surfing code I'm about to begin could also work as a good codebase to build melee movement on. Hopefully I can catch up to this melee activity, because even after I get that movement working I'll need to get a working melee gun since my past guns wouldn't work at all. Nice debugging graphics too btw :) --Rednaxela 15:43, 28 July 2009 (UTC)

You mean you actually watch battles with interesting new bots/versions? Last time I did that was . . . eh . . years ago. Did you notice btw that in the last few months 4 bots passed the old nr 4 Tron 2.02, which held that place for, well, years? Time to convert my ideas for GraafDracula to real code, so I can take advantage of the momentum and enter the top-3. ;-) --GrubbmGait 18:01, 28 July 2009 (UTC)
Thanks. =) That Melee top 3 has been the same since I started Robocoding, so I think we all have some catching up to do. :-P If you start work on the Melee movement, you can add simple radar, target selection, and power=3 Head-On Targeting and do surprisingly well. Early dev versions of Diamond were like that. From there, working on the gun and the Wave Surfing was very fun and familiar.
And I hear you, GrubbmGait. I've watched some battles recently and I find myself thinking stuff like, "whoah, DrussGT is yellow?" =) --Voidious 19:16, 28 July 2009 (UTC)

Woah 6th place! And you made your survival rate a lot higher. Damn, what are you doing to that thing? :) --Positive 01:03, 3 August 2009 (UTC)

1.241 through 1.243 have just been changes to bullet power. It's always amusing how the simplest stuff can be worth so many points. =) 1.242 actually had even better survival, but less rating points, so I made it a bit more aggressive in 1.243. I was actually getting pretty discouraged until 1.24... I had barely improved melee performance since 1.0. But now I'm excited and thinking of some new ideas to try. =) --Voidious 01:14, 3 August 2009 (UTC)
Nice stuff Voidious! Mm... bullet power... I wonder how the adaptive bullet power techniques I used in RougeDC will apply in melee. All this excitement is making me want to stay up very late tonight working on my new melee engine... If only I didn't have to wake up for work tomorrow :) --Rednaxela 02:33, 3 August 2009 (UTC)

Congrats, 4th place now! I'm very curious what you changed this time. :) --Positive 12:29, 12 August 2009 (UTC)

Thanks! I'm pretty stoked. =) Hope I don't ruin it with an immediate new version, but I realized a bug in the new code (while laying in bed). Basically, I added a "mathematically correct" way of adding a damage taken risk factor (noting that enemies closer to you and enemies that are alive are more likely to do damage, and trying to account for that). --Voidious 12:34, 12 August 2009 (UTC)
Do you mean that Diamond now tries to never be the closest opponent to any enemy? --Positive 12:48, 12 August 2009 (UTC)
No, he already did that. =) What I mean is Diamond weights enemies by how much damage he has taken from them (similarly to how Minimum Risk Movement usually weights enemies by their energy, which Diamond does too), but in a slightly less naive way than just using the raw "damage taken from this enemy". --Voidious 12:52, 12 August 2009 (UTC)
Ahh, okay, that's pretty clever. :) --Positive 12:58, 12 August 2009 (UTC)
Would I be so bold to guess, that the 'slightly less naive way' would involve normalized hitrate calculations? :) --Rednaxela 13:09, 12 August 2009 (UTC)
In that spirit, yes, but slightly more naive than what I'd do in 1v1. =) I just account for distance and the time that the enemy was actually alive. --Voidious 13:16, 12 August 2009 (UTC)
Ahh, I see why the word slightly was used in that case, haha. --Rednaxela 13:26, 12 August 2009 (UTC)
Since 1.271, which is a slightly bug-fixed version of 1.27, is back to 1.262 rating, I think it's safe to say 1.27 was just luck. =) Oh well... --Voidious 15:28, 12 August 2009 (UTC)

Just a silly question. In Diamond's version history is written that in 1.02 you did "A bunch of gun tweaks, including a gun heat dimension". I believe I've read this in other places too, but never saw an explanation, what exactly do you mean by gun heat dimension? --Navajo 17:39, 22 August 2009 (UTC)

This is basically a measure of how close the measured scan is to an actual firing scan. It an easy way of taking into account bots that react to when you fire, because when you fire your gunheat is 0, so your aiming will be clustered around 0 for the gunheat dimension. I hope this makes sense =), it's not the clearest explanation. --Skilgannon 18:01, 22 August 2009 (UTC)

Also note, this only applies when one is recording every tick, not just the firing ticks. Essentially, what a 'gun heat' dimension is, is a way to still include data from waves that you didn't actually fire, but bias against those results in proportion to far away they were from the actual firing tick. --Rednaxela 18:05, 22 August 2009 (UTC)
I think in the gun heat dimension does a bit more than that, because if your gun heat is 0.4 makes you aim considering waves with gun heat at 0.4 more strongly, which makes the gun to aim accordingly to how many ticks it has to turn before firing. --zyx 18:34, 22 August 2009 (UTC)

Names

I just looked inside Diamond for the first time, and "DiamondWhoosh"? Nice :) --Rednaxela 01:23, 22 August 2009 (UTC)

Thanks, though I like "DiamondFist" a lot better. =) It's always a fun (and embarrassing) time trying to come up with new movement / gun class names. --Voidious 02:22, 22 August 2009 (UTC)