Archived talk:Gouldingi 20030814
- Gouldingi Sub-pages:
- Gouldingi - Version History - Code - Archived Talk 20030814
|
I'm sure you saw my post about Cigaret's superhuman effort in passing DT, even though they aren't in direct competition it's fun to see. On another note, though, perusing those results, I couldn't help but notice one of the most impressive jumps I've ever seen. pez.mini.Gouldingi 1.2.1 jumped 28 spots! Not a lousy 28 from like 150th to 132nd, but he jumped up to 6th! Whatever you did you did it right, congrats. -- Kuuran
Thanks! I was very surpised to see Gouldingi take the #30 spot a while ago and to see it jump to a position among the top-10 is plain amazing. I fixed the problem with Gouldingi acting stupid when close to the same wall as the enemy, But I think the main difference is that I added some randomness to the velocity of the movement. I guess this makes it a bit harder for aiming methods that use the velocity of the enemy in their calculations. -- PEZ
Ahh, a shame GouldingiHT didn't also make it to this round... I didn't notify them about it, and I'm guessing PEZ didn't either... Nice job on this front, though! Actually, Gouldingi's gun is fairly decent. -- Kawigi
Well, I did notify Gerald, I guess it was just too late for new entries when I did. But next time. Next time! -- PEZ
Hey, it came ahead of Cigaret in the minibot ;) Actually, I'm rather surprised that he's fourth there and yet first on Eternal, I guess that shows every rating system is a little different. -- Kuuran
Well, Eternal uses an adapted ELO-rating which produces a remarkably stable rating. It leaves little room for chance. While MiniBot Challange uses a SwissTournament set-up where each season you only meet one bot. This is also remarkably stable, but of course leaves much more room for chance. Also Cigaret might be better to take advantage of the short 10-round matches in EternalRumble than in the 35 round matches in [[Minibot Challenge. Furthermore, being number one amongst minibots doesn't necessarily tranlate to be the best minibot to compete against all bots. Cigaret 1.17 changed movement slightly which probably means that Dalek, SandboxDT and other robots with saved movement profiles on it might have been fooled. But SandboxDT is learning quickly and Tad might very well package a new Dalek which knows better how to deal with this new Cigaret. -- PEZ
Congratulations, PEZ! Now it's your turn to be the favourite for the next king of the rumble. You're obviously doing things right and that should translate to an even more powerful mega bot. Have you got your victory speech ready? By contrast, Dalek is using aged technology and is running out of steam. -- Tad
Thanks! Though I'll bounce any favourism off me for now. I still have major problems getting a movement that works in the long run. And somehow the VirtualGuns complexity of Marshmallow gets in the way for the pure effectivness of the Gouldingi guns (which are present in Marshmallow as well...). But you are right that I now think I have some clues on how to make Marshmallow stronger. Dalek using aged technology? =) If you only add persistance to it you'll see it fight back the lost ground all by itself. If I had at all suspected that Gouldingi could make it to the top15 bots or so that Dalek meets I would have told you to pack its movement profile into Dalek. -- PEZ
Your modesty has been sabotaged by the latest success of Marshmallow! Keep it up and get to number one. Just be more rigorous with your testing. My own development approach is very conservative - even the smallest change gets 10k rounds against SandboxDT. If you make two changes and test the result it may be that one is positive and the other negative, but you will not know this. My impression of Gouldingi is that its movement is its big strength. It trashed Dalek like nothing else has in the last month or so - this in 10k rounds. My hit rate against it was embarrassing - about 10%. Yet now it seems you have unleashed a worse monster, a non-mellow marshmallow. I am happy for you but envious as well. Yes, I will add persistence to Dalek but I am not sure this will work better than my current approach. I'll test it and see. I don't have your courage - to send untested code out onto the world stage. -- Tad
Well, I'm more the trial-and-error type. Though it has been to many trial-and-horrors in the process. I use the EternalRumble as my testbed. It's a bit slow maybe... Besides, my experience is that whenever I focus too much on a single bot I have destroyed the general competetivness of my robots. Maybe SandboxDT is an exception, but there I have so far totally failed to produce any robot that has even the slightest chance. Not counting the HT-variants of Gouldingi and Mako then, but it's hardly my doing. =) Those bots also pronounce the problem. GouldingiHT does a much better job against SandboxDT, but ranks much lower in the totals. Anyways, I both agree and disagree about the movement of Gouldingi. It's superstrong against Dalek, yes. It is so by intention. (Have you checked the info box of Gouldingi's on RobocodeRepository?). While fiddling with the movement two things coincided:
- Dalek had grabbed the #3 spot so it was my bot of choice for most all my tests.
- I accidently switched off the gun of Gouldingi (when experimenting with WhenToFire)
Suddenly Gouldingi outsurvived Dalek 80% of the rounds! Without firing a shot. I was tempted to upload it like that, but since it lost in points I chickened out. =) Anyway, lots of other bots have trouble hitting it as well. But not all bots. Marshmallow figures it out after a while. And SandboxDT certainly does. So does PrairieWolf, Yngwie and a lot of the really advanced bots. But I think that if I can design a movement that works better against those bots I could have a bot on its way to #1. It will take a MegaBot of course. And the major problem is that I am sooo far from creating that movement in the first place so you won't see any of my bots be #1 in a while at least. -- PEZ
I'm tossing up whether to be flattered or annoyed that you used my gentle Dalek as a punching bag! Maybe you should introduce bot specific movement - use the best movement against whichever bot you are currently up against? By the way, do you do robocode full-time? You are amazingly productive. -- Tad
I suggest you choose the former. Like Paul Evans should be flattered that you have choosen DT for your sparring partner. =) It is bot specific movement that I have in mind. Marshmallow only chooses at random between its two different movement schemes. It might do better if it took notice if one movement system worked better than the other. Of course this will not be a DT killer until I invent the DT killing movement. =) My productivity when it comes to Marshmallow development is really low. Though I spew out minis and micros. But those take very little time to develop. No, I don't do Robocode full time. But I burn gallons of midnight oil with it. Too much I think. Gouldingi turned out to be a good amusement, since it provided me with a movement that I could plug into Marshmallow and that meant the difference between #18 and #3. You should try distilling some of your ideas in a smaller bot as well. And one more thing, Dalek isn't a rammer yet, is it? With the small margins in EternalRumble you should consider adding the three extra lines of code for this. -- PEZ
And, one more thing. If you like to figure out an antidote to Gouldingi-movement take a look at OrcaM/Code it's the same movement. Well, I guess that means I could as well publish the full Gouldingi/Code since its guns are, more or less, published in MakoHT/Code. Maybe tonight. -- PEZ
Thanks, PEZ, this is generous of you. The OrcaM code is far more complex and opaque than anything in Dalek. Even if I could work out what you are doing in the movement that would still give me no clue as to how to target against it. I have just begun a very simple-minded nano bot which provides some competition for NanoDuelist. I think your advice is sound about minis. By ramming I take it you mean to ram an opponent which can no longer fire. If so, this is on my list of 100 things to do, but a low priority. --Tad
Opaque? Complex? OrcaMs move() function? I think it's transparent and simple. You make me curious about Dalek source. =) Anyway, I, who wrote that code, can't figure out how to target it either. But StatistRobot says to always fire at +39 degrees on it and I guess that's what SandboxDT figures out fast and Marshmallow after a couple of 100 rounds. I can't, for my life, figure out why all my movement code keeps heavily overusing positive angles on that curve!! I can tell you what's going on. Look under "How does it move?" above. -- PEZ