Difference between revisions of "Talk:Toorkild"

From Robowiki
Jump to navigation Jump to search
m (Multiple Choice, You Say ...)
 
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
== Multiple Choice, You Say ... ==
 
== Multiple Choice, You Say ... ==
  
Great!  Thanks for migrating this so it caught my attention!  Now I know what I need to in the micro category :).  --[[User:Simonton|Simonton]] 14:35, 21 September 2008 (UTC)
+
Great!  Thanks for migrating this so it caught my attention!  Now I know what I need to do in the micro category :).  --[[User:Simonton|Simonton]] 14:35, 21 September 2008 (UTC)
 +
 
 +
God help me, but I actually completely understand that space compressed code.  I believe I even found a few ways to improve it here and there.  It might be time for me to Microbot. --[[User:Miked0801|Miked0801]] 16:01, 21 May 2009 (UTC)
 +
 
 +
God help me, if you can put it in a Nano. ;) Anyway, Toorkild is an awesome bot and my everlasting measure of my bots. :) --[[User:Robar|HUNRobar]] 18:20, 21 May 2009 (UTC)
 +
 
 +
I remember reading through Moebius once upon a time and not knowing WHAT was going on... I'm fairly sure my bots are easier to read than yours =). And I certainly didn't get the space compression right the first time, it took a bit of tinkering to get all the casts and brackets all in the right place =). If you can find a way to improve anything without going over the codesize limit I'd be glad for a few pointers ;-) and I'll give you credit. However I'd appreciate it if you didn't lift my gun (as seems to have been happening in the nanos, looking at 6 of the top 8 bots all using the same gun). Feel free to read the code, and understand it, and if you write a gun based on what you've learned that's fine. But I put a lot of work, testing, trial and error, and research of the Java API into writing it, so I feel a bit protective :-p I think Microbots have enough room in them for multiple implementations of the same idea to fit, and I've tinkered in nanos enough to know that the same <b>doesn't</b> hold in there. I actually build a pattern-matcher nano, only to discover later that I'd re-invented [[User:Simonton|Simonton]]'s gun, but using StringBuilders instead of Strings. As it happens, Simonton's implementation was 2 bytes smaller. I'd like to think that I got my gun algorithm in [[Toorkild]] about as good as it can be, but there's bound to be better ways out there. I'd like nothing better than for someone to come up with a brand new gun and movement combo that beats mine =) it'll give me something to work on (and distract me from studying for the upcoming mid-year exams ;-) ) --[[User:Skilgannon|Skilgannon]] 19:11, 21 May 2009 (UTC)
 +
 
 +
For fun, I put your bot up against spin bot and walls - 2 very matchable bots.  Wow it's fun seeing just how accurate your gun really is.  I now have a mark to shoot for.  --[[User:Miked0801|Miked0801]] 18:42, 27 May 2009 (UTC)
 +
 
 +
Robar, thank you very much for the compliment :-). If Miked0801 manages to fit it the gun in a nano I'll be seriously impressed, it was hard enough fitting it in a Micro =). However, while this discussion is mostly about the gun, I think the high score has just as much to do with the movement. After all, it's the same movement Decado, then Waylander, then Connavar, and now Toorkild uses. It got [[Decado]] to 3rd, [[Waylander]] to 1st, [[Connavar]] to 2nd (behind Waylander) and now has Toorkild reigning by over 2%. The way to do well in Robocode is finding a good idea and then squeezing every last drop of life out of it =) --[[User:Skilgannon|Skilgannon]] 20:01, 21 May 2009 (UTC)
 +
 
 +
: What a great quote. =) I want to see that in big bold text somewhere on this wiki! --[[User:Voidious|Voidious]] 20:09, 21 May 2009 (UTC)
 +
: Haha thanks. It doesn't feel right sticking my own quote somewhere "in big bold text", but if somebody else finds a good place... I'm not gonna stop you =) --[[User:Skilgannon|Skilgannon]] 20:41, 21 May 2009 (UTC)
 +
 
 +
: There's no way that your gun will even come close to fitting in nanoland.  Arrays and statics are too expensive.  Hell, there's no room to track anything but lateral velocity (no radial velocity offsetting of range nor patterning) which puts plenty of error into the thing as is.  And then sort by best match depth value across multiple buckets?  Lol.  The nano gun I'm using already takes the lion's share of available space and that's with massive range assumptions and no rounding.  The only advantage my gun ''might'' have is that I can preload values into the string for free allowing me to cheat 30 rounds of aim data in the bot if I really wanted to - but I feel that that is indeed cheating.  I could probably fit radial velocity checks into the PM, but then my movement code would basically be setAhead(1.0/0) setTurnRight(1.0/0);  die();
 +
 
 +
: But seriously, I read your comments and I'm not about to put out a clone with a few lines changed and massive credit given to you.  In nanos, that's how it's been done for a while, but in micros, you're right - there's still a lot of room for interpretation and implementation (and innovation.)  I'm not personally all that convinced that your gun is doing things it needs to do, but that's a gut instinct as I haven't had a chance to really run it through its paces yet.  When I get a few hours a breathing space at work (shhh), I'll give my own version a go and see if I'm right.  As a starting point, you are only using roughly 9.1 bits of each char's 16 bits at the moment.  A little fixed point math could make your gun much more accurate, but would make matching more difficult - hence my need to experiment a bit.  A few other ideas as I see them. --[[User:Miked0801|Miked0801]] 21:04, 21 May 2009 (UTC)
 +
 
 +
: Yeah, changing the granularity of the symbols is always a tough call, especially when working with lateral/advancing velocity when neither of them follow a fixed increment. I ended up just leaving them to max out at their usual +-8, but I always wonder if it wouldn't be better to make it, say, 16 or so. The rebuild would also be slightly more accurate. Anyways, give it a look over, and don't get caught =) --[[User:Skilgannon|Skilgannon]] 18:36, 22 May 2009 (UTC)
 +
 
 +
== Bad battles ==
 +
 
 +
Hey, I hate to be the bearer of bad news, but the rating for Toorkild 0.1.3 may be somewhat tainted. It's currently beating both [[YersiniaPestis]] and [[Pris]], for instance: [http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=jk.micro.Toorkild%200.1.3&vs=zyx.mega.YersiniaPestis%203.0], [http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=jk.micro.Toorkild%200.1.3&vs=darkcanuck.Pris%200.88]. Not sure how much it's affecting the rumble ratings... In a similar boat with latest Diamond, which I think is a legitimate improvement, but is inflated by some bad battles. --[[User:Voidious|Voidious]] 12:51, 9 October 2009 (UTC)

Latest revision as of 14:51, 9 October 2009

Multiple Choice, You Say ...

Great! Thanks for migrating this so it caught my attention! Now I know what I need to do in the micro category :). --Simonton 14:35, 21 September 2008 (UTC)

God help me, but I actually completely understand that space compressed code. I believe I even found a few ways to improve it here and there. It might be time for me to Microbot. --Miked0801 16:01, 21 May 2009 (UTC)

God help me, if you can put it in a Nano. ;) Anyway, Toorkild is an awesome bot and my everlasting measure of my bots. :) --HUNRobar 18:20, 21 May 2009 (UTC)

I remember reading through Moebius once upon a time and not knowing WHAT was going on... I'm fairly sure my bots are easier to read than yours =). And I certainly didn't get the space compression right the first time, it took a bit of tinkering to get all the casts and brackets all in the right place =). If you can find a way to improve anything without going over the codesize limit I'd be glad for a few pointers ;-) and I'll give you credit. However I'd appreciate it if you didn't lift my gun (as seems to have been happening in the nanos, looking at 6 of the top 8 bots all using the same gun). Feel free to read the code, and understand it, and if you write a gun based on what you've learned that's fine. But I put a lot of work, testing, trial and error, and research of the Java API into writing it, so I feel a bit protective :-p I think Microbots have enough room in them for multiple implementations of the same idea to fit, and I've tinkered in nanos enough to know that the same doesn't hold in there. I actually build a pattern-matcher nano, only to discover later that I'd re-invented Simonton's gun, but using StringBuilders instead of Strings. As it happens, Simonton's implementation was 2 bytes smaller. I'd like to think that I got my gun algorithm in Toorkild about as good as it can be, but there's bound to be better ways out there. I'd like nothing better than for someone to come up with a brand new gun and movement combo that beats mine =) it'll give me something to work on (and distract me from studying for the upcoming mid-year exams ;-) ) --Skilgannon 19:11, 21 May 2009 (UTC)

For fun, I put your bot up against spin bot and walls - 2 very matchable bots. Wow it's fun seeing just how accurate your gun really is. I now have a mark to shoot for. --Miked0801 18:42, 27 May 2009 (UTC)

Robar, thank you very much for the compliment :-). If Miked0801 manages to fit it the gun in a nano I'll be seriously impressed, it was hard enough fitting it in a Micro =). However, while this discussion is mostly about the gun, I think the high score has just as much to do with the movement. After all, it's the same movement Decado, then Waylander, then Connavar, and now Toorkild uses. It got Decado to 3rd, Waylander to 1st, Connavar to 2nd (behind Waylander) and now has Toorkild reigning by over 2%. The way to do well in Robocode is finding a good idea and then squeezing every last drop of life out of it =) --Skilgannon 20:01, 21 May 2009 (UTC)

What a great quote. =) I want to see that in big bold text somewhere on this wiki! --Voidious 20:09, 21 May 2009 (UTC)
Haha thanks. It doesn't feel right sticking my own quote somewhere "in big bold text", but if somebody else finds a good place... I'm not gonna stop you =) --Skilgannon 20:41, 21 May 2009 (UTC)
There's no way that your gun will even come close to fitting in nanoland. Arrays and statics are too expensive. Hell, there's no room to track anything but lateral velocity (no radial velocity offsetting of range nor patterning) which puts plenty of error into the thing as is. And then sort by best match depth value across multiple buckets? Lol. The nano gun I'm using already takes the lion's share of available space and that's with massive range assumptions and no rounding. The only advantage my gun might have is that I can preload values into the string for free allowing me to cheat 30 rounds of aim data in the bot if I really wanted to - but I feel that that is indeed cheating. I could probably fit radial velocity checks into the PM, but then my movement code would basically be setAhead(1.0/0) setTurnRight(1.0/0); die();
But seriously, I read your comments and I'm not about to put out a clone with a few lines changed and massive credit given to you. In nanos, that's how it's been done for a while, but in micros, you're right - there's still a lot of room for interpretation and implementation (and innovation.) I'm not personally all that convinced that your gun is doing things it needs to do, but that's a gut instinct as I haven't had a chance to really run it through its paces yet. When I get a few hours a breathing space at work (shhh), I'll give my own version a go and see if I'm right. As a starting point, you are only using roughly 9.1 bits of each char's 16 bits at the moment. A little fixed point math could make your gun much more accurate, but would make matching more difficult - hence my need to experiment a bit. A few other ideas as I see them. --Miked0801 21:04, 21 May 2009 (UTC)
Yeah, changing the granularity of the symbols is always a tough call, especially when working with lateral/advancing velocity when neither of them follow a fixed increment. I ended up just leaving them to max out at their usual +-8, but I always wonder if it wouldn't be better to make it, say, 16 or so. The rebuild would also be slightly more accurate. Anyways, give it a look over, and don't get caught =) --Skilgannon 18:36, 22 May 2009 (UTC)

Bad battles

Hey, I hate to be the bearer of bad news, but the rating for Toorkild 0.1.3 may be somewhat tainted. It's currently beating both YersiniaPestis and Pris, for instance: [1], [2]. Not sure how much it's affecting the rumble ratings... In a similar boat with latest Diamond, which I think is a legitimate improvement, but is inflated by some bad battles. --Voidious 12:51, 9 October 2009 (UTC)