[Home]RobocodeLittleLeague

Robo Home | Changes | Preferences | AllPages

http://robocode.yajags.com/ Robocode Little League Home Page

/News /Feedback


For the first couple seasons, at least, fell free to give me a little /Feedback about how it is run and how the divisions are set up. Check the /News page for updates on what I'm doing with it.

A new tournament in the works by Kawigi. Rules, details, and sign-up will be coming soon. I've just started development on the automation engine. It's meant to encourage MiniBot competition like the recently retired MiniBotChallenge.

One significant difference between the RobocodeLittleLeague and the MiniBotChallenge will be the questions they try to answer. The MiniBotChallenge was opened by Tobe to answer the question, How good can you make your robot if it is restricted in terms of code-size?. The answer has come, and that is that they can be pretty darn good. The state of the art in nanos of today can beat many of the best robots in existance when the tournament was started. This tournament will try to answer the question, Which are the best robots in each weight division against other robots of the same size?. In other words, the competition has left the area of experimentation and become purely competition. While some competitive elements will likely remain from the MiniBotChallenge, I'm working out a whole new ranking system based on a similar pairing engine. -- Kawigi

Update:

The software to run battles for this tournament is nearing completion, the website is under rudimentary development, but nothing uploaded yet.

The current setup, with some things still to be changed is such:

There are a few things I'd still consider doing:

How about just add a SittingDuck to the league if there is an odd number? -- Tango

Proposed Divisions I would like to have both one-on-one and melee divisions for:

Possible additional Divisions

Logistics

Email the names of robots you would like to enter, as well as what divisions you would like them entered into, to robocode@yajags.com. I'm not sure when the first tournament will be, but it will likely start in the next couple weeks.

The tournament specifics, more information, and results will eventually be available at http://robocode.yajags.com/ - I'm not sure what (if any) relation will be maintained with http://www.yajags.com/ , but just be aware there might be something (even if it's just a link to them).

Newer Update:

The webpage is just about to an acceptable level (although it may end up getting completely thrown away later, but at least we're functional), and the automation program is getting close to completion. I still reserve the right to change the rules, too. See it so far at http://robocode.yajags.com/ . I also am running some test leagues of random jars I just happen to have around here, while modifying and tweaking the software slightly. I'll probably delete that later, but in the meantime, you can get some (inaccurate) idea what things will look like.

In the meantime, I now officially announce the first tournament in this league, which is scheduled for the weekend of September 13th-14th. Email your entrants to robocode@yajags.com , and if you want them in the Haiku/Sonnet?/Femto? divisions, let me know. -- Kawigi


Questions

Clarification question on sonnet bots: Do semicolons after field variables count?

 public class MyBot? extends AdvancedRobot{

    static int myVar; // Does this count?
     ...
 }

--David Alves

Yes, they do. If at all possible, find a way to do every single declaration you need on the same line ;-) (I've put some thought in about 'line trimming' recently...) Also, if the source has any code commented out, it would be easier on me (although not necessary I suppose) if either it was taken out when you package it up, or if you just take the semicolons out of it ;-) I suppose by Saturday I'll have my program skip comments, though. At any rate, technically, any non-commented semi-colon within the class counts. In other words, the only thing that is exempt is import and package statements. -- Kawigi

I don't mean to set a bad precedent, but I don't think I'll be able to access my email before that deadline due to some issues I'm currently having with it. Could you please add [arthord.Spinny 1.0] to the femto league? -- Kuuran

Eh, sure, I can sneak that one in... -- Kawigi

Thanks :) Interesting note: I was just working on FemtoSatan? (with somewhat less success) when I saw FunkyFemto in the repository. I guess you came to the same conclusion I did about a bot scoring near-perfects on it's opposition not really needing the codesize advantage? I'm thinking we'll see the ideal size stabilize around 150-300 with a few brave souls trying to compete on codesize alone around 35 and smaller. -- Kuuran

I'm thinking a codesize of about 100 gives the best performance / size ratio. At least, that's what I've found in my few experiments. --David Alves

The original top femto bots were just trying to make the smallest bot that could beat the sample bots, and those were down around the size of Spinny?. I mostly wrote FunkyFemto because I was wondering how small I could make it. It basically features a shortcutted version of FunkyChicken 1.1's gun with FunkyChicken 1.0's movement. I happened to be putting a little time into that when you told me to enter Spinny?, so I checked to see if I could beat it by enough. It can't beat it by 10x, but it can beat it by 8 or 9 times and it's only about 5 1/2 times its size.

In other news, I've also hacked FunkyChicken down to about 5 lines of code. It has a bug somewhere still I think, but if I don't ever turn, I should be able to have a haiku-pattern-matcher :-p -- Kawigi

What is the deadline (day and time) for submitting bots?

Clarification question on sonnet bots: How many lines does these codes will be counted?

 public class MyBot? extends AdvancedRobot{

    ...
    public Point move(Point p){
        return new Point();
    }
 }

 Is it 1 line or 3 line?
 and...this:

 while(true){doJob1();doJob2();}

 Is it 1 lines or 2 lines or 3 lines?

 Thanx very much.

--iiley

We're counting semicolons, so the first is one line and the second is two lines. -- Kuuran

Just for the record, I'm planning on starting the first tournament basically now (about 12:30 AM, Friday, or Saturday). I'll probably say entries are due Friday night, because I'll probably try to run the bulk overnight. For Iiley, of course, that's around Saturday at lunch time. Of course, I'm just doing this pretty much for the first time, so it may be 'adjusted' later. -- Kawigi

The overnight run had some issues with the math for scoring. It has been fixed and re-run in parallel (access to other computers is great when you're a Computer Science student ;-)). Results are now posted on the webpage. Congratulations to the winners! -- Kawigi

Hey, Question on Sonnet bot code 'obfuscation' here. So far, the only way i have been able to make my code have less semicolins is to put variable asignments in if statements like (3+(variable=3)==-999?1:1) or somthing like that and to declare a lot of variables of the same type on the same line. can anyone give me some suggestions of other ways to do this? i am asking because i looked at floodsonnets source code and have no screwing clue what is going o n aside from the fact that he is using a hash table. Thanks, Andrew. .. and oh yeah,,i have to say the 1/30ish sonnet tourn was pretty funny, i simply got paired against haiku esbots for the entire thing.

One way is to cheat and make all your variables the same type, regardless of what their actual type is, and then use longer lines of code to get the data out of them. Moving all your assignments into existing lines is also a very good idea, as is moving any method calls that can be made to return something inline. That last one might be a bit confusing, so... setTurnRight?((setFireBullet(3) == null ? 1 : 1) * turnAngle);. What that does is fire a bullet, then check the returned bullet object against null (if a method doesn't return anything there's no way to embed it, it's got to be a seperate line) using a ternary statement. Regardless of the outcome 1 is returned, multiply the result by the turn angle (leaving the turn angle the same as it was to begin with) to include it in the statement, and voila free bullet firing. -- Kuuran

Another thing that FloodSonnet does is put statements that could return something into if conditions and while statements, but I make sure each condition returns true so I don't "short-circuit and skip the rest. I just think it's funny that someone actually tried to understand FloodSonnet's code, though :-p -- Kawigi

A little pressed for time here. What's the latest day/time you accept bots (central/eastern time) for the saturday tournament? I made a sonnet bot that won't loose every single melee game and a slightly new nano bot . My micro/mini bot will have to wait untill next week. - Andrew

In general, I start the tournament between 10:00 and 11:00 Mountain Time, which is an hour later Central or two hours later Eastern. I check my RLL email before I hit the big red button, so if you contact me before that, I can squeeze last minute bots in. I'm also typically on AIM right before I start it (not ICQ, MSN or anything else, though, because I only have the AIM module installed on my Linux IM client, and I run the tournament in Linux) -- Kawigi

There should be an extends Robot division. It's fun and quite challenging. - Mike Zhang

I agree with Mike. It would be nice to write bots for a category where we're starting fresh, nobody really knows how good Robots can be... Maybe we should also have a Robot category for RR@H? --David Alves

that would be a nice change--andrew

I think a Robot catagory would be pretty cool. Hopefully somebody won't just re-write the AdvancedRobot class and then duplicate their current robot code.

As for those of you who are trying to minimize the line count by avoiding writing semicolons I have some tips. -- SoupThatIsThick

Does anyone know what's up with the little league nowadays? Seems like it has stopped operating for the last two weeks... -- geep

Sorry about not telling you guys what's up (well, most of you anyways). I just finished school and moved for my first real job :-) So I've had a funny schedule including not having a computer for a bit and other issues. And using my school computer account for the tournament won't work forever. I think it will be back on Saturday (cross your fingers), but in the near future, I'll probably need help running the tournament (In order to regularly deliver tournaments that last no more than one day, I'll probably need 3 or 4 total computers, including my own). So if you want to help and aren't planning on leaving robocode soon, talk to me. Of course, it will have to be people I trust, in general, as it might involve letting you in on the "security holes" on the RLL website (i.e. - the way I upload results). -- Kawigi

I can provide one computer. -- PEZ

Will there be held a tournament this weekend (20050409)? -- GrubbmGait

Yes, there should be. I've just been slacking because I've had extra personal/work things going on over the weekends. -- Kawigi

I can provide a computer too. -- Alcatraz

On 20050820 the RobocodeLittleLeague held its last tournament. This really is a pity as it was the only place where meleebattles were fought within their own WeightClass. Also quite unique was the combined OneOnOne / Melee ranking. -- GrubbmGait


Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited July 11, 2006 18:25 EST by Corbos (diff)
Search: