[Home]RoboRumble/Version 0 1

Robo Home | RoboRumble | Changes | Preferences | AllPages

These are the /RequestedFeatures edited to reflect version 0.1:

On the subject of stable rankings: It wouldn't be difficult to do both. Have a main results page which integrates all results, and have a second results page which only pays attention to results within the last 24 hours or some other sort period of time. The recent results page would be like a for fun league to see who came out on top today, the overall page would be your stable and meaningful rankings, yet they could both use the same data and wouldn't require terribly much extra work if it's all just dumped into a database (sort by date, take newest, voila). -- Kuuran

I think it dangerous to digress away from speaking about features but I will for just a moment. Unless I am mistaken, the ELO system is just another way of taking the output from a Roboleague run and refiguring the output data. I know Kawigi uses the output of a league as feed data for an Excel spreadhseet to determine his projected ER rankings. As such, this leads me to believe this is more a presentation and formatting issue than anything else. As long as the output of the system is in a clearly defined format, then the manner in which it is parsed and scored can be left to the "owner" of that particular league / scoring system. This is also why I would suggest we stay at the 10,000 ft level and discuss features first. Once defined we can start to drill into the detail a bit. Sorry if I sound bossy. I am just trying to herd some cats here and see if we can in fact stay focused as a community long enough to actually rally for a good cause =^>. I will most likely start nagging about details next week ;) -- jim

Kuuran, great idea to use the latest results and tranform it in different ways. We could maybe add that to the project goals. I mean "... and amuse us". RO is fun because of it brute rankings I think. As for implementation. If we assume we are not going to rewrite RoboLeague we can also assume we have XML as the output format of each run. It's a pretty good format if you ask me. =) -- PEZ

I would agree to start by using RoboLeague and its XML output. Furthermore, it's easy for the server to create battles, because the division/league setup is also stored in XML by RoboLeague. If we do this this, I can help with the XSL-T stuff... Maybe RoboLeague is not perfect, but it saves us a lot of work at the start. We can always decide later to either hack RoboLeague or build something new. -- Vic

I have been teaching myself XSLT recently, and would agree that that is the way to go. I can probably help with that. -- Tango

I have always thought that Roboleague would serve as the basis of the client side and an interim step to a truly distributed system. It already interfaces with the repository, it just needs to be automated some how. If we start out by focusing on getting an automated way to make Roboleague go out and make sure it has all the latest implementations of each bot in it's league then we will have automated the update, even if we are stuck with a human requirement to add new robots. Automating the addition of new robots would be a bit more difficult and I have not wrapped my head around that idea. I think that would be part of the initiative to distribute the processing and be one of the earliest tasks that we would need to tackle in distributing the process. -- jim

The client won't be running matches with the same robots each time. The server will just give them a list of matches, and then RoboLeague can make sure they have it, and if not download it (different versions of the same bot have different names, so it's just a matter of not putting in the code that RoboLeague has to group different versions). -- Tango

Ok, I just read the documentation of RoboLeague: RoboLeague already has distributed battles among its features. It can automatically update bots. It also automatically sends the bot jars to the clients so updating will be no problem. Has anyone already played around with these features? Maybe we could organize a test .. -- Vic

Vic I was not aware that it could do all of this. Can you point me to the place where you saw this. In particular the the automatic update piece. If you can point it out I will give it a whirl. -- jim

Roboleague's current distributed league system requires full-time servers, essentially. What it does is, when you run a league, it looks for the other servers and sends them their chunks, it's not an @HOME style thing. Unless you wanted to say everyone get online between the hours of 9 and 10 (or something) in a given timezone and then run the league routinely at those hours, but that's not really getting away from the horrors of league maintenance, it's just making it faster. -- Kuuran

The documentation on distributed leagues is here: http://user.cs.tu-berlin.de/~lulli/roboleague/RoboLeague.html#distributed_league ... Kuuran, what does RoboLeague do when one of the servers is not online? If it just skips that server then there is no problem. In that case a client only needs to identify itself to the server once. The server would then check each time it wants to distribute a battle if that client is online. -- Vic

That is a good point, we'd need to test that behaviour - unless you have a source I don't. However that leaves the issue of the client having to remain online for the duration of the battle if it's going to be handled in realtime like that. -- Kuuran

Are you sure it has to be online the whole time? We might be able to get round that. Either way, it seems someone has already done most of the work for us. :-) -- Tango

I have tested what RoboLeague does with a known client that is offline, and it simply skips them. So no problem there. A client needs only to register to the server once. I also tested if RoboLeague sends the jars of new or updated bots to the client and that also works perfectly. I tested on one computer running a client and server with two different bot directories. I will test using two computers over a network tomorrow. -- Vic

Yes, but the point was more that the client probably won't handle a client popping offline mid-battle sanely. -- Kuuran

I have a few points to make here (sorry if they have been discussed elsewhere or should not be posted here).

Jim and I did a transatlantic test on RoboLeague's Distributed Battles and it was quite easy to make it work:

What we haven't tested yet:


-- Vic

Are we thinking that we will just set the server to continually run battles, and it will therefore be using whichever servers are online, all the time? -- Tango

Robo Home | RoboRumble | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited August 24, 2003 18:28 EST by Kawigi (diff)