SUMMARY: Regarding possible code bases: * Robocup1 code is a source code of German DAInamite team, code in the repository doesn't contain apparent changes made by UofT students. * Build instructions and documentation for the robocup1 client can be found at: http://www.dainamite.de/fileadmin/Dainamite-Dateien/Papers/DainamiteFramework2006-11-23.pdf * Client is best built in Eclipse. * By the time online meeting was held Ioana and Yulia had robocup1 client built and running. * Philip has access to more documentation for the project, which he will share with everybody later. Maybe there is some work built on top of the robocup1 code that is not at the repository. Decisions to make: * which code base to use? (any of 4 sources from drproject or one of the libraries online). It is most probable that language we will use is Java. * do we want to improve existing advanced client or use only basic implementation? In first case we will have to study existing code and come up with improvements which might be challenging. In the second case we will have to build a lot from scratch. Preparation for Code Sprint: * Philip suggested that everyone should be familiar with available clients and should come up with 3-4 possible improvements for each client * Steve recommends reading up on strategies used by different teams At the Code Sprint: * Hotel for people who are coming to Toronto: Holiday Inn Midtown (280 Bloor Street West, +1 416 968 0010) * First in-person meeting on Friday (there are more details in the email sent out to everybody by Greg Wilson as to where and what time the Code Sprint starts) * By the end of the Code Sprint we should decide on code base, language and 7 ideas that we are going to implement Development process: * We split up into 2 teams, each team will be working on the same client, but will be implementing different features * To make it more competitive and facilitate development, two branches will regularly compete against each other * In the end of the term branches will be merged. Next meeting: in-person on Friday September, 25 at 9:00 am (Eastern time) at Bahen Centre online on Tuesday September 27 at 5:00 pm (Eastern time) on #robocup FULL TRANSCRIPT: [16:59] * philip_ (i=8064054b@gateway/web/freenode/x-tcehkalfckpzokaq) has joined #robocup [17:00] philip_ Hi all. Just missing Patrik and Steve at present. [17:01] philip_ We have a few things to discuss regarding the upcoming code sprint. [17:04] yulia ok. i'm here [17:04] philip_ OK, by my watch it's 5pm, so time to start, if people are here. [17:04] Chani ok [17:04] ioana i'm here [17:05] philip_ Perhaps Yulia can do the minutes this time? [17:05] yulia sure [17:05] philip_ Thank you! [17:05] philip_ First of all, has anyone made any progress with the Java code? [17:05] ioana i just got it to build, and connect to the server [17:05] * Steve_ (i=80640580@gateway/web/freenode/x-fnygiffwynolsuwz) has joined #robocup [17:05] yulia there are running and building instructions for robocup1 [17:06] yulia http://www.dainamite.de/fileadmin/Dainamite-Dateien/Papers/DainamiteFramework2006-11-23.pdf [17:06] philip_ Good going! I've only had the chance to take a quick look at it and wasn't able to get very far. [17:07] yulia I said it on the channel before, but robocup1 is unchanged copy of source code from dainamite.de site [17:07] philip_ I do have access to some extra documentation for the project, though, which I will forward to you all. [17:07] philip_ I think that there should be some more stuff on top of Dainamite, but maybe there isn't. [17:08] philip_ Anyway, we're hoping that we might be able to get one or two of the guys from that team involved this week. Depends on their schedules. [17:09] philip_ Hi Steve! [17:09] Steve_ Hey everybody :) [17:09] philip_ Well, if everyone can get the Java code running by the weekend, I think that will be a good position to be in. [17:10] yulia so we are taking this code as our base? [17:10] Brent_M Sorry I had to eat dinner [17:11] philip_ I think that it could be the code base you want to start with, as it seems to be the most effective of the four clients at present. As I said last time, it is your project, so you do have a say in this! [17:11] yulia i think it will take me personally a lot of time to understand that code before i'll be able to build on top of it [17:12] philip_ But you do want to produce something that improves upon the best client we presently have, and I think the easiest way to do this will be to extend this Java client. [17:12] ioana yulia, do you find the python clients easier to understand? [17:12] yulia aren't there restrictions in the competitions how much of someone else's code we can take? [17:12] philip_ Well, we could always do another poll. Does anyone else feel the same way? Do you find the Python code any better? [17:13] yulia python client is not using advanced machine learning stuff and python code isn't a winner of several big competitions already [17:13] philip_ Don't know about the restrictions - I'd imagine that open source code is allowed. [17:13] Brent_M I find the python code easier to understand, but after running a lot of simulations its clear that the players arnt very smart [17:13] Steve_ In terms of taking other people's code, the code base is free for you to use, since we're all considered to be part of the same project. [17:14] philip_ Yes, the Python code had to start from scratch, implementing all sorts of basic stuff, so there's not much intelligence in there. Could be extended fairly easily, I guess. [17:14] Steve_ And it's true that it'll take a bit of time to figure out the code well enough to build on it. But then again, it'll take a lot longer to start from scratch, and work up to the point that it's at already :) [17:15] Brent_M The structure is good though, everything is very organized [17:15] Chani I think we should at the very least use libraries... iirc yulia posted a link to various robocup libraries [17:15] yulia they use some cool machine learning stuff. i'm not sure i'm at the point when i can *improve* what those guys already have [17:15] ioana other than the dainimite one? [17:15] Chani hrm. [17:16] yulia it's just an archive of old robocup clients from previous years [17:16] yulia http://www.ida.liu.se/~frehe/RoboCup/Libs/ [17:16] yulia older versions of servers too. so I don't know how usable this is [17:16] Chani nothing in there really caught my eye [17:16] ioana thanks [17:18] philip_ I guess the trick with using third party libraries is to find new and interesting ways to use them - different strategies, etc. [17:18] ioana Steve_, so we're allowed to take code developed by other teams in previous years and use it for our entry in the competition? [17:19] Brent_M user [17:19] Brent_M oops [17:21] Steve_ If by "other teams", you mean the code that we've developed here over the summer, then certainly. When it comes to previously developed code, it only states that using other teams' binaries is frowned upon. [17:22] philip_ Given that the code is published, I would say that you would not be using binaries. [17:22] alexnico i don't know about the python code, but the java code seems very well documented [17:22] Steve_ But since we're actually modifying and enhancing the actual source code when making our code, what we're creating is original, and shouldn't be a problem. [17:23] ioana Steve_, but it doesn't look like the code in the robocup1 repository was developed by the UofT team [17:23] Chani grr. I wish eclipse would stop locking up [17:23] philip_ However, I can also see that it could be more satisfying to work on a new client, e.g. the one based off of the robocup2 team's work. [17:24] yulia Dainamite client is very impressive. They do passes between several players very precisely [17:25] ioana did you get it working? [17:25] yulia yeah [17:25] yulia i didn't use their monitor [17:25] yulia just connected them to server and started the game using rcssmonitor [17:26] ioana i'll try that [17:28] Steve_ Sorry, to address the source code issue, most of our previous teams based their clients on source code that was distributed freely on the web. But they've modified it significantly since then, so it doesn't fall under the rule of not using the binaries (i.e. compiled code) of other teams :) [17:29] philip_ Well, I guess we can complete this debate on Friday, but in the meantime, I think we should also talk a bit about the plan for the weekend and beyond. [17:30] philip_ Friday will be a sort of meet-and-greet combined with some set-up work. By the end of the day we need to make sure that we know what code base we're using and that we all have it working. [17:30] Steve_ Right. I'll be around on Friday and part of Sunday, but won't be around for Saturday, I'm afraid :( [17:31] Steve_ When are all of you getting into town? [17:31] Steve_ (for those of whom aren't in town already, of course) [17:31] philip_ On Saturday we want everyone to come armed with 3 or 4 ideas for extensions to the code base. We will pick 7 of these to form the deliverables for the project. [17:32] philip_ When I say "we will pick 7", that actually means that you will decide which ones you are going to implement. [17:32] Chani I'll be arriving thursday night [17:32] Chani my flight leaves at 6 on sunday [17:33] philip_ Once we've decided on the ideas, we should concentrate on design work initially. [17:33] Chani I'm really not sure what we can do with the code [17:33] yulia Chani, which code? [17:33] yulia the dainamite one? [17:33] Chani ya [17:33] Brent_M It seems like it may be hard to come up with 3 or 4 improvements, each, for robocup1 [17:33] philip_ I suggest that the group then starts work on one of the ideas, aiming to get it ready by the end of the weekend if possible. [17:34] yulia Philip, ideas for every codebase or for robocup1? [17:34] philip_ Just try and come up with 3 or 4 ideas. Chances are there will be overlap. Once we get rid of duplicates, there will probably (I hope) be more than 7 to discuss and pick from. [17:35] philip_ The ideas will be for extensions to whichever code base you settle on in Friday's discussions. [17:36] philip_ I would then suggest that the team split into two, and each sub-team works on three further ideas, competing against each other. [17:36] yulia so 2 different clients? [17:37] philip_ This will require you to work together both in your sub-teams, but also as a group, as you will eventually need to merge the two sets of mods together. [17:37] philip_ Not exactly 2 different clients - one client with two branches of development. [17:40] yulia that sounds reasonable [17:41] philip_ I thought so. :-) [17:41] Steve_ If this past summer's development is any indication, it'll work pretty well :) [17:42] Steve_ The idea is that the features that are added to these two versions would be combined eventually, but until that point comes, we can see how they fare against each other. [17:42] philip_ Yes, if we can organise regular matches between the teams, then I think it will give you further ideas about what needs improving. [17:42] Brent_M Is there anything we should prepare between now and Friday? [17:42] yulia Brent, ideas [17:43] Steve_ Just come ready to work ;) [17:43] Brent_M Even though we aren't set on which codebase we'll be using? [17:43] philip_ I think at present the best thing you can do is get clients running, if you haven't already, familiarise yourselves further with what they do, and, as Yulia says, look for ideas. [17:43] Brent_M Heh, kk [17:44] Steve_ Reading up on strategies that robocup teams use would be a good idea. That way, when we sit down to discuss what 7 strategies we want to implement by the end of the term, you'll all have taken time to think about them beforehand. [17:44] Brent_M I still haven't gotten robocup1 running, but I just got ant so hopefully it won't be too hard to get going [17:44] Steve_ Oh yeah, get that going as well :) [17:45] ioana Brent_M, it's easy to build it using eclipse [17:45] Chani I got it running in eclipse... [17:45] yulia actually one of the teams that beat Dainamite, has some cool stuff on their site with videos etc [17:45] Steve_ Sorry guys, I have to take off now. But if there are any last-minute questions you have before Friday, email either Phil or me and hopefully we'll resolve them before you arrive :) [17:45] Steve_ Otherwise, I'll see you all on Friday morning :) [17:45] Brent_M Eclipse? Okay, I'll try to use that [17:45] Chani hrm. I don't actually remember what hotel we're staying in. that *was* in one of the emails, right? [17:46] * Steve_ has quit ("Page closed") [17:46] Chani Brent_M: the pdf has nice easy instructions for eclipse [17:46] philip_ I've been trying to set up Eclipse, too. Not my favourite piece of software. [17:46] Chani but that only gets you one team [17:47] Chani I'll probably try and get it running from the console next [17:47] philip_ I think it was the Holiday Inn, and I think I saw that in an email. Just checking. [17:47] Chani maybe do a script to start everything nicely if there isn't one hiding in there already [17:47] ioana Chani, i think you need to start two processes to get two teams [17:48] alexnico you can run two processes from eclipse [17:48] alexnico simultaneously [17:51] philip_ Can't find the hotel details, I'm afraid. I'm sure they must have been sent out to you somewhere along the line! *crosses fingers* [17:52] philip_ So, do we need to discuss anything else at this time, or are we going to be done in record time?! :-) [17:52] alexnico here we go, Holiday Inn Midtown (280 [17:52] alexnico Bloor Street West, +1 416 968 0010) [17:53] Brent_M Well, I have a class to get going to [17:53] philip_ Right, that's the one I thought it would be. It's a ten minute walk from the CS department. [17:53] Brent_M I'll see you all later [17:53] * Brent_M (i=vash_303@user19.newres.utoronto.ca) has left #robocup [17:54] yulia well, if people are leaving, I'm assuming we are done [17:54] yulia I'll post minutes later tonight [17:54] philip_ It looks that way. [17:54] philip_ Thanks, Yulia! [17:55] philip_ I'll see you all on Friday morning. Email me in the meantime if anything comes up! Bye! [17:55] yulia Bye, Philip [17:55] * philip_ has quit ("Page closed") [17:55] yulia alright, i'm off too [17:55] yulia bye all