2011-02-26T00:01:57 *** sigh has joined #aichallenge 2011-02-26T00:05:00 *** sigh has quit IRC (Read error: No route to host) 2011-02-26T00:15:56 *** McLeopold has joined #aichallenge 2011-02-26T00:26:38 *** flag has quit IRC (Quit: Lost terminal) 2011-02-26T00:40:10 *** flag has joined #aichallenge 2011-02-26T00:48:46 *** McLeopold has left #aichallenge 2011-02-26T01:02:18 so.. what's wrong with mzracket? 2011-02-26T01:13:52 amstan_: abysmally slow for numerical computations. but it does work 2011-02-26T01:14:38 pyro-: well.. think about educational institutions, which one is the most likely to be used/known 2011-02-26T01:14:47 waterloo uses mrscheme/mrracket 2011-02-26T01:16:03 mit-scheme and racket are the two most well known 2011-02-26T01:16:38 well.. is there a way to write it so it works on both? 2011-02-26T01:20:51 racket supports R5RS and R6RS standars. mit-scheme supports most of R5RS. if you only ever ran racket with the command plt-r5rs you could specify that you support R5RS scheme 2011-02-26T01:21:18 and we could ignore what extensions they may implement 2011-02-26T01:22:10 but that is not very.. nice. the standards are minimal so its often easier to talk about implementations as if they were seperate langauges 2011-02-26T01:23:10 pyro-: ok.. well do what you think is best 2011-02-26T01:23:58 arbitrary binaries ;) 2011-02-26T01:25:12 amstan_: i can't do anything. i'm just asking you guys (i.e. whoever runs your server ) what scheme you will install if any so that i can write to that scheme. like i said i favour ikarus or mit-scheme if you want advice 2011-02-26T01:26:13 'cause it would be irritating to start writing for the scheme i use locally and then find you dont have the features i do 2011-02-26T01:26:45 when we had scheme during tron it was mzscheme 2011-02-26T01:27:56 its called racket now 2011-02-26T01:28:06 yep 2011-02-26T01:28:21 so are you saying you will do the same thing this time? then i can start writing :D 2011-02-26T01:28:36 probably 2011-02-26T01:28:46 lol 2011-02-26T01:28:51 then i can probably start writing 2011-02-26T01:28:54 yes 2011-02-26T01:28:59 but maybe not 2011-02-26T01:29:07 so... the guideline is.. if it's easy to install on ubuntu, it will probably get used 2011-02-26T01:30:56 no idea what you find easy. i build everything from sources here :D 2011-02-26T01:32:00 Can't you guys just install pyro's scheme from the official website? You don't need to use the repositories for everything no? 2011-02-26T01:35:15 sure 2011-02-26T01:35:30 In that case: http://www.gnu.org/software/mit-scheme/ 2011-02-26T01:35:32 but keep it in mind, if it's easier to install in places, it'll be easier for developers to come 2011-02-26T01:38:05 does the following clasify as easy? http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-user/Unix-Installation.html 2011-02-26T01:39:24 amstan: You want it to be easy for the contestants or the contest writers? I'm not sure what you're saying 2011-02-26T01:48:44 sigh: http://codepad.org/SDGiPMSq soooo much better 2011-02-26T01:48:51 oh, the comments wrong at the top, hold on 2011-02-26T01:50:17 he of course isn't even here 2011-02-26T01:50:55 Tach antimatroid 2011-02-26T01:52:14 the stringstream stuff in the instructions part is no longer needed, you can use that to read straight to variables 2011-02-26T02:15:04 *** flag has quit IRC (Quit: Lost terminal) 2011-02-26T02:53:52 *** Palmik has joined #aichallenge 2011-02-26T05:47:41 *** kaemo has joined #aichallenge 2011-02-26T06:02:54 *** mceier has joined #aichallenge 2011-02-26T06:12:02 *** delt0r_ has joined #aichallenge 2011-02-26T06:13:06 *** delt0r___ has quit IRC (Ping timeout: 240 seconds) 2011-02-26T06:39:54 *** amstan_ has quit IRC (Ping timeout: 240 seconds) 2011-02-26T06:53:53 *** amriedle has quit IRC (Ping timeout: 250 seconds) 2011-02-26T07:49:34 *** mceier has quit IRC (Ping timeout: 246 seconds) 2011-02-26T08:02:03 *** mceier has joined #aichallenge 2011-02-26T09:01:45 *** Kingpin13 has joined #aichallenge 2011-02-26T10:02:20 *** JackyAlcine has quit IRC (Read error: Connection reset by peer) 2011-02-26T10:07:05 *** smellyhippy has quit IRC (Quit: Take your stinking clause off me you damn dirty predicate!) 2011-02-26T10:35:54 *** mceier has quit IRC (Ping timeout: 264 seconds) 2011-02-26T10:36:32 *** boegel has joined #aichallenge 2011-02-26T10:37:50 *** mceier has joined #aichallenge 2011-02-26T10:51:31 I'll move the visualizer in git hub to a new www folder, so it resembles the PlanetWars structure. 2011-02-26T10:51:35 *** boegel has quit IRC (Quit: Leaving) 2011-02-26T10:55:05 *** amriedle has joined #aichallenge 2011-02-26T11:01:49 *** amriedle has quit IRC (Quit: Lost terminal) 2011-02-26T11:10:12 aichallenge: Marco Leise epsilon * r01a25b4 / (2 files): Made the visualizer a php file - http://bit.ly/e6MEKu 2011-02-26T11:10:16 aichallenge: Marco Leise epsilon * red9ab7b / (15 files in 8 dirs): 2011-02-26T11:10:16 aichallenge: - moved the visualizer to the www directory 2011-02-26T11:10:16 aichallenge: - fixed width browser display works now 2011-02-26T11:10:16 aichallenge: - visualizer now reads replays from the same database table as in planet 2011-02-26T11:10:16 aichallenge: wars - http://bit.ly/hxIxml 2011-02-26T11:10:46 WHOOOAAAA COMMITS! 2011-02-26T11:11:06 I always commit regularly :) maybe too often sometimes 2011-02-26T11:12:24 The commit means, you can now set up a server instance and replace the planet wars visualizer with the ant visualizer. A.k.a. integration is done 2011-02-26T11:13:49 Ahhh excellent. 2011-02-26T11:14:01 How automated is the server setup? 2011-02-26T11:14:04 If at all.\ 2011-02-26T11:14:17 I'll add a static html page soon that allows to paste replay strings. I don't think many people will want to set up a server manualy 2011-02-26T11:14:40 That's one thing I might try to lay down a bit of code for. I want to make a script which is a one-liner that sets up a web server, game master, or game slave. 2011-02-26T11:14:49 there is no automation, it is just the visualizer.php and .js. They work with the existing infrastructure 2011-02-26T11:14:57 Sweet. 2011-02-26T11:15:08 Looks like things are coming right along. 2011-02-26T11:28:56 what version of ubuntu are we running with for the ants competition? 2011-02-26T11:29:11 We have a lot of freedom there. 2011-02-26T11:29:19 Probably we want to just go with the latest stable release. 2011-02-26T11:29:28 just trying to figure out what version of the haskell platform will be available 2011-02-26T11:30:05 in case i otherwise accidentally do something version specific in the starter i'm making 2011-02-26T11:30:12 but i doubt i will anyway 2011-02-26T11:31:10 would there be any problem with requiring a few extra haskell libraries to be available on the server? it's as simple as `cabal update; cabal install package-name' 2011-02-26T11:31:38 I think we could probably manage that. 2011-02-26T11:32:11 the starter i'm making currently uses a few, and i'm thinking it might be even nicer to make a majority of the starter itself such a library, and then the download from the web site is just a cabal project with a main 2011-02-26T11:33:28 it would mean that haskell developers using the starter don't have to include that extra code. could take a little load off the server since it doesn't have to be reuploaded and rebuilt, and it would mean there's online documentation and extremely low barrier to entry for haskell developers 2011-02-26T11:34:13 since all they'd have to do is something like: `cabal install ants-ai-contest; ants-bot bot-name; cd bot-name' 2011-02-26T11:34:16 I don't know that much about Haskell. I would only suggest that the starter package be as safe and widely-accessible and runnable as possible. It should "just work" on any reasonable version of Haskell, not just the latest few. It should not assume the use of any IDE or project system. 2011-02-26T11:34:23 no need to even explicitly download the starter from the main web site then 2011-02-26T11:36:04 also, if there are any updates to this library, it would be easier to make existing bots work with it. no merging and crap necessary 2011-02-26T11:36:31 (but a downside would be that the server might have to have multiple versions of the library in order to be backward compatible for older bots) 2011-02-26T11:37:27 your criteria seems doable 2011-02-26T11:38:14 aside from "project system." the haskell platform comes with cabal and uses it to manage all libraries anyway 2011-02-26T11:38:15 Nice. 2011-02-26T11:38:41 like... if you're using ghc, you're using cabal 2011-02-26T11:38:44 If it comes with Haskell, then we can assume at least 80% of Haskell peopl will have it. 2011-02-26T11:38:57 100% of ghc users have it 2011-02-26T11:39:15 well, cabal itself. ghc doesn't come with cabal-install. that would just be the platform 2011-02-26T11:39:18 Haha I was just making a wisecrack about Haskell programmers. 2011-02-26T11:39:36 but if people don't have the platform they are used to installing such projects manually anyway 2011-02-26T11:39:56 i don't get the joke 2011-02-26T11:40:03 In the latest Ubuntu popcon, I noticed that there were a nontrivial number of people who had taken the trouble of uninstalling such basic utilities as cron and grep. 2011-02-26T11:40:14 So I was wondering, like, why? 2011-02-26T11:40:15 o_O 2011-02-26T11:40:24 And it's just people who love tinkering for tinkering's sake. 2011-02-26T11:40:52 well, if you uninstall cabal, you can't use ghc ;) 2011-02-26T11:41:22 hmm... i might actually be wrong about that 2011-02-26T11:41:29 but i've never, ever heard of anybody using ghc without it, at least 2011-02-26T11:41:34 and i don't know how you would 2011-02-26T11:42:29 haha 2011-02-26T11:51:09 *** McLeopold has joined #aichallenge 2011-02-26T11:52:33 contestbot later tell j3camero got local ubuntu server 10.10 working, playing with sandbox, jail and languages, willing to do minimal database work to support multi-player and rankings 2011-02-26T11:52:33 McLeopold: Job's done. 2011-02-26T11:52:35 *** McLeopold has left #aichallenge 2011-02-26T11:53:28 I'm here. 2011-02-26T11:55:30 I bet McLeopold will soon do a huge commit 2011-02-26T11:56:03 Yeah it seems likely. 2011-02-26T12:01:48 I've also got some diffs lying around for the D programming language. But I don't know when a good time would be to integrate them. The compiler was not in Ubuntu repositories last time I checked, but a .deb exists for it. 2011-02-26T12:20:37 *** flag has joined #aichallenge 2011-02-26T12:22:15 D is in the ubuntu repos 2011-02-26T12:22:40 what version? 2011-02-26T12:23:32 Uhhh it says 4.3.4-6ubuntu2 2011-02-26T12:23:47 Oh wait. gdc-4.4 2011-02-26T12:23:59 Or 4.3 is also available. 2011-02-26T12:27:01 bah, missed Mcleopold again 2011-02-26T12:28:13 ah ok. I'd prefer the original compiler (dmd) over gdc though because it always takes some time till changes in dmd make it into gdc. dmd should be the more stable compiler. I'll just ask in #D what they would use :) 2011-02-26T12:29:19 i haven't used D in a while, but back in the pre 2.0 days, dmd > gdc, in all possible ways 2011-02-26T12:29:22 @contestbot later tell McLeopold the ssh sandbox and engine in the backend directory from planetwars is no longer used and should just be deleted, the current sandbox sudo's to the correct user and is in the worker directory 2011-02-26T12:29:23 janzert: User error -- Replace user. 2011-02-26T12:29:27 aside from being closed source 2011-02-26T12:30:41 hmm... what to do if my starter pack has an error parsing the input... i never really addressed this in a clean way in past bots 2011-02-26T12:30:42 contestbot later tell McLeopold the ssh sandbox and engine in the backend directory from planetwars is no longer used and should just be deleted, the current sandbox sudo's to the correct user and is in the worker directory 2011-02-26T12:30:42 janzert: Ready to serve, my lord. 2011-02-26T12:31:16 i guess it's okay to just crap out? 2011-02-26T12:31:34 or should i attempt to recover somehow? 2011-02-26T12:31:34 jmcarther: I'm also pretty sure the gdc compiler is still on 1.x of D 2011-02-26T12:31:43 janzert: oh, wow 2011-02-26T12:32:05 as is the llvm version 2011-02-26T12:32:28 i'm just gonna make it crap out if there is a parse error. it means there's a bug somewhere and is more likely to get fixed this way, i guess 2011-02-26T12:33:05 could just catch the exception anyway i guess, so no biggie 2011-02-26T12:34:40 yeah, I'd follow the "better to die quick" principle there 2011-02-26T12:35:27 janzert: GDC 4.4 is D 2.015 2011-02-26T12:36:09 oh wow 2011-02-26T12:37:02 it must have a new home then as well, since the page I'm used to looking at hasn't been updated since 2007 2011-02-26T12:37:13 http://dgcc.sourceforge.net/ 2011-02-26T12:37:41 or maybe they just haven't updated the home/news page 2011-02-26T12:38:05 The project died and recently someone picked it up again 2011-02-26T12:38:52 great 2011-02-26T12:39:53 although I will probably not use it now, since I've burned myself enough with D to last me a while 2011-02-26T12:40:14 what about D burned you? 2011-02-26T12:40:33 i haven't used it in a while, but my experiences with it were very positive 2011-02-26T12:40:43 I ran into too many runtime and compiler issues 2011-02-26T12:41:05 i guess it's kind of complicated compared to most languages, but anything whose goal is to be a better C++ is inherently so 2011-02-26T12:41:06 but I was also doing a lot of bit twiddling, so probably pushing at dark corners 2011-02-26T12:41:08 ah 2011-02-26T12:41:24 implementation issues i guess are a different matter from what i was expecting 2011-02-26T12:41:25 I do like the language itsel 2011-02-26T12:41:28 itself 2011-02-26T12:41:32 cool 2011-02-26T12:41:48 is that meeting still on in 3.5 hours? 2011-02-26T12:41:51 the implementation just never seemed to stabilize 2011-02-26T12:41:53 There are still issues no doubt, but it should be better now. I haven't met any errors so far. 2011-02-26T12:42:13 hopefully having a few 'competing' implementations will help fix that 2011-02-26T12:43:26 I like that you can use the garbage collector and generally have array bounds checks in debug builds. 2011-02-26T12:43:57 Associative arrays is also something I missed in my C++ bot :/ 2011-02-26T12:44:53 *** JackyAlcine has joined #aichallenge 2011-02-26T12:45:25 Well you can use a map, but the syntax is horrible compared to the simple array access. 2011-02-26T12:45:32 yep, there are really nice things in the language 2011-02-26T12:46:41 one of the problems I ran into that negated some of the benefit was I had to disable the GC because I was getting 1min+ collection pauses 2011-02-26T12:47:09 hopefully at least that's better now 2011-02-26T12:47:35 *** smellyhippy has joined #aichallenge 2011-02-26T12:47:39 Lol, the implementation is not the best. Tango had a better one for D 1.x 2011-02-26T12:47:51 * janzert nods 2011-02-26T12:47:59 To avoid problems I think we should go with the reference implementation (dmd) instead of gdc. 2011-02-26T12:57:14 yeah i used tango, mainly, when i used D 2011-02-26T12:59:56 jmcarthur: For Tango you have to edit some config files, right? 2011-02-26T13:00:13 i honestly don't even remember what was involved 2011-02-26T13:00:53 Frontier: yeah, you have to point dmd at the tango runtime instead of the default phobos basically 2011-02-26T13:01:09 "mrmonday: in D2, it uses tango's GC (which is a good few times faster)" 2011-02-26T13:01:33 that's good :) 2011-02-26T13:03:40 *** antimatroid1 has joined #aichallenge 2011-02-26T13:04:04 I still cannot decide between 1.x with Tango / 2.x with Phobos 2011-02-26T13:04:21 is tango 1.x only? 2011-02-26T13:04:33 yes, they couldn't port it yet. 2011-02-26T13:04:39 ah, suckage 2011-02-26T13:04:52 you see the dilemma? ^^ 2011-02-26T13:05:05 last I heard a few months back, no one was even working on porting it yet :( 2011-02-26T13:05:11 i don't know many of the new features in 2.x 2011-02-26T13:05:18 *** antimatroid has quit IRC (Ping timeout: 250 seconds) 2011-02-26T13:06:49 And I don't know what I would miss in 1.x 2011-02-26T13:08:20 jmcarthur: Look here: http://www.digitalmars.com/d/2.0/features2.html 2011-02-26T13:10:09 ooh full closure support 2011-02-26T13:10:15 Closures, overloading 2011-02-26T13:10:40 compile time evaluated math routines if the argument is a constant like PI 2011-02-26T13:11:04 i thought it had that already 2011-02-26T13:11:32 that actually doesn't even sound like a language feature. sounds more like a compiler feature (maybe that's all you mean?) 2011-02-26T13:11:59 foreach 2011-02-26T13:12:14 i like D's somewhat stronger emphasis on immutable data compared to other low level languages 2011-02-26T13:12:59 Yeah it allows you to work with a huge string like an xml file without ever actually copying parts out of it into new string objects 2011-02-26T13:13:06 of all the things you've named i still like full closure support the most, but that's to be expected i guess ;) 2011-02-26T13:14:40 Stream file = new BufferedFile("sample.txt"); 2011-02-26T13:14:40 foreach(ulong n, string line; file) { 2011-02-26T13:14:40 stdout.writefln("line %d: %s",n,line); 2011-02-26T13:14:40 } 2011-02-26T13:14:41 file.close(); 2011-02-26T13:15:11 eh, i don't care so much about that 2011-02-26T13:15:45 It makes starter bots shorter ;) 2011-02-26T13:16:44 mapM_ (uncurry $ printf "line %d: %s") . zip [0..] . lines =<< readFile "sample.txt" 2011-02-26T13:17:07 hmm... 2011-02-26T13:17:37 did i mention: more readable? 2011-02-26T13:17:52 what's so hard to read about that? 2011-02-26T13:18:17 read the file, get its lines, zip it with line numbers, print it 2011-02-26T13:19:17 zipWithM (printf "line %d: %s\n") [0..] . lines =<< readFile "sample.txt" 2011-02-26T13:21:12 *** amriedle has joined #aichallenge 2011-02-26T13:22:55 fine i'll do it your way! 2011-02-26T13:22:57 file <- readFile "sample.txt" 2011-02-26T13:22:59 forM_ (zip [0..] file) $ printf "line %d: %s\n" 2011-02-26T13:23:01 tada! 2011-02-26T13:27:26 okay, engine.py currently starts the timer *after* sending all input to the bots. is this expected to stay this way? 2011-02-26T13:28:47 I would think so, that guarantees a bot may get extra time but not less time than it should. 2011-02-26T13:29:06 okay cool 2011-02-26T13:31:59 does engine.py send "go" to each bot after sending the rest of the input to the other bots? 2011-02-26T13:32:13 i've probably asked that before :P 2011-02-26T13:33:16 doesn't look like 2011-02-26T13:33:28 looks like it does info then go for each bot one at a time right now 2011-02-26T13:33:32 that should probably change 2011-02-26T13:36:20 yeah, i think that needs to change 2011-02-26T13:36:48 although that doesn't prevent people from calculating stuff as they read input 2011-02-26T13:37:07 my parser is incremental, but aside from that i don't think people will get much advantage from it 2011-02-26T13:37:53 seems whatever advantage someone can squeeze out of that is completely fine and fair to me 2011-02-26T13:38:11 and even with an incremental parser, it's doubtful that bots will even get anything before the call to flush in the engine anyway 2011-02-26T13:38:14 although I think it will be very, very small and probably not worth the effort 2011-02-26T13:38:21 janzert: say you have 12 players, there might actually be a bit of time between player 1 and 12 receiving the current state info 2011-02-26T13:38:46 maybe we could just shuffle the list of bots before sending them info 2011-02-26T13:38:54 so that they always get them in different relative orders 2011-02-26T13:38:58 jmcarthur: exactly 2011-02-26T13:39:30 wouldn't that be more effort than just doing a final sweep of process[i] << "go" << endl? or something like that? 2011-02-26T13:39:51 antimatroid1: I/O delay still means there could be a bit of a difference 2011-02-26T13:39:56 btw, I think the maximum number of players we will probably be able to do is probably 8 2011-02-26T13:40:04 so we'd want to do the shuffle to be as fair as possible anyway 2011-02-26T13:40:07 8 is a crappy number of players 2011-02-26T13:40:18 {4, 6, 9, 12} are what i think you want to pick from 2011-02-26T13:40:34 prime numbers only :P 2011-02-26T13:40:38 just to make map gen hard 2011-02-26T13:40:52 fine, then you're down to 6 (or 7 for jmcarthur) :) 2011-02-26T13:40:55 map gen is easy, it's displaying games that gets hard then 2011-02-26T13:41:06 why? 2011-02-26T13:41:08 or you have to put people really close along the rows 2011-02-26T13:41:28 because of cores available 2011-02-26T13:41:38 You should not start the timer after all input has been sent. The typical buffer for a pipe is one page (4K). So you could stall the engine if the input is > 4K and the bot lets the buffer overflow 2011-02-26T13:41:55 how likely is the input to be >4K 2011-02-26T13:42:14 actually, it'd be very risky to try and use more than the allocated time 2011-02-26T13:42:17 so i am happy with that as is 2011-02-26T13:42:23 Very likely: A map of 100x100 is 10k already 2011-02-26T13:42:33 with maps, because you need a layout like 2x4 to place the players symmetrically for symmetric maps 2011-02-26T13:42:38 cool, then my incremental parser is kind of worth it :D 2011-02-26T13:42:42 Frontier: the engine should be doing the actual i/o on a separate thread so no worries about stalling the engine itself 2011-02-26T13:42:52 9 would allow 3x3 placements 2011-02-26T13:42:54 although I haven't looked to see what it is really doing currently 2011-02-26T13:43:15 3x3? what about wrapping and symmetry? 2011-02-26T13:43:25 I/O thread per bot that is 2011-02-26T13:43:31 3x3 is compatible with symmetry and wrapping 2011-02-26T13:44:09 Frontier: you wrap everything afterwards to make it pretty, they still need to start in a "rectangular lattice" like situation 2011-02-26T13:44:33 i think 6 or 9 players personally 2011-02-26T13:44:38 In any case a bot could be written badly and not read from stdin for some reason. The buffer could run full. And not just very hypotetically. 2011-02-26T13:44:52 janzert: i see no threads. even worse, i see blocking IO... 2011-02-26T13:45:05 line = bot.read_line() 2011-02-26T13:45:15 oh nevermind 2011-02-26T13:45:19 appears to be blocking after all 2011-02-26T13:45:24 the next line compares it to None 2011-02-26T13:45:30 *nonblocking 2011-02-26T13:45:30 it's not hidden in the bot implementation? 2011-02-26T13:45:39 this is the engine 2011-02-26T13:45:45 oh 2011-02-26T13:45:46 I mean the bot object 2011-02-26T13:45:48 nope 2011-02-26T13:45:58 :( 2011-02-26T13:46:15 shouldn't be too hard to add at least 2011-02-26T13:46:23 there's a while loop with a call to sleep(0.01), and each time it goes through it attempts to read a line from each bot 2011-02-26T13:46:33 terrible 2011-02-26T13:48:19 i think we should consider squaring our current distance metric 2011-02-26T13:48:42 it makes "distances" less of an obvious number, but then everything messy about reading in "squared numbers" etc. disappears 2011-02-26T13:49:06 and people aren't calculating square roots for distances 2011-02-26T13:51:46 *** janzert has quit IRC (Read error: Connection reset by peer) 2011-02-26T13:53:29 *** janzert has joined #aichallenge 2011-02-26T13:55:14 i'm kind of indifferent on the distance metric right now. i really doubt precision will be a problem, and i don't think people will mind dealing with squares or square roots 2011-02-26T13:55:24 but i don't mind changing it either 2011-02-26T13:55:54 it would simplify my starter slightly, and that's about it 2011-02-26T14:00:27 if we leave it as is, people are able to treat distances like that anyway if they want 2011-02-26T14:00:37 and it does make more sense for the distance to be the square root 2011-02-26T14:00:59 anyway, i'll be back in a couple of hours 2011-02-26T14:06:50 *** amriedle has quit IRC (Quit: Lost terminal) 2011-02-26T14:10:10 *** amstan_ has joined #aichallenge 2011-02-26T14:10:10 *** ChanServ sets mode: +o amstan_ 2011-02-26T14:12:03 *** delt0r___ has joined #aichallenge 2011-02-26T14:13:12 *** delt0r_ has quit IRC (Ping timeout: 240 seconds) 2011-02-26T14:21:58 *** mceier has quit IRC (Quit: leaving) 2011-02-26T14:35:58 *** amstan_ has quit IRC (Ping timeout: 240 seconds) 2011-02-26T14:48:11 *** JackyAlcine has quit IRC (Remote host closed the connection) 2011-02-26T14:49:19 *** JackyAlcine has joined #aichallenge 2011-02-26T15:07:27 *** j3camero has quit IRC (Quit: Lost terminal) 2011-02-26T15:12:04 is there is a quicker way to compute wrapping euclidean distance than just computing multiple distances (moving one of the points around by adding the height and/or width of the map in all combinations) and picking the shortest? 2011-02-26T15:13:15 ah i guess i could compute the minimum x distance and the minimum y distances and then computing euclidean from that 2011-02-26T15:20:54 aichallenge: Marco Leise epsilon * r13648eb / (4 files in 3 dirs): standalone offline replay viewer (copy&paste your replay string) added - http://bit.ly/hHXVsy 2011-02-26T15:24:31 *** Accoun has quit IRC () 2011-02-26T15:37:46 *** Accoun has joined #aichallenge 2011-02-26T15:44:07 *** Blkt has joined #aichallenge 2011-02-26T16:16:45 jmcarthur: you have to make sure it works with wrapped edges 2011-02-26T16:17:20 jmcarthur: http://codepad.org/v3rDwXQ7 mine looks like that 2011-02-26T16:18:30 antimatroid1: that essentially what i did 2011-02-26T16:21:31 where can I read news about AI Contest and the work in progress? 2011-02-26T16:23:10 the channel logs :} 2011-02-26T16:23:15 or commit messages 2011-02-26T16:24:12 I see, thanks 2011-02-26T16:24:54 yeah, unfortunately there isn't really any other communication or documentation of progress currently 2011-02-26T16:36:24 *** antimatroid1 has quit IRC (Ping timeout: 252 seconds) 2011-02-26T16:51:54 *** JackyAlcine has quit IRC (Quit: Leaving.) 2011-02-26T16:53:37 *** JackyAlcine has joined #aichallenge 2011-02-26T16:55:34 *** antimatroid has joined #aichallenge 2011-02-26T16:59:32 *** Blkt has quit IRC (Read error: Connection reset by peer) 2011-02-26T17:01:31 *** JackyAlcine has quit IRC (Remote host closed the connection) 2011-02-26T17:02:16 *** Blkt has joined #aichallenge 2011-02-26T17:06:05 doh! i didn't realize that there was undocumented endgame information given to the bot 2011-02-26T17:11:11 *** Blkt has quit IRC (Remote host closed the connection) 2011-02-26T17:13:27 *** JackyAlcine has joined #aichallenge 2011-02-26T17:29:27 well now i have figure out what to do with that 2011-02-26T17:34:47 *** Palmik has quit IRC (Remote host closed the connection) 2011-02-26T17:35:26 accept your bot's defeat? 2011-02-26T17:36:22 For the visualizer the end game information is more valuable. I guess the bots will get killed a few milliseconds later ^^ 2011-02-26T17:36:26 this is for a library that i intent the haskell starter to use. i want it to be flexible but simple 2011-02-26T17:36:32 *intend 2011-02-26T17:36:49 so i'm avoiding just making a template 2011-02-26T17:37:37 oh, and i'm making it impossible to do stupid things like sending orders during the pregame 2011-02-26T17:37:51 the so-called "turn 0" i mean 2011-02-26T17:38:40 but that can only go so far without getting awkward 2011-02-26T17:40:41 i think i'll ignore the final game state but still at least give the final scores 2011-02-26T17:42:03 waitaminute... are walls still only reported the first time they are seen? i thought that had been changed 2011-02-26T17:42:26 such that they are reported every time they are seen, that is 2011-02-26T17:43:26 *** JackyAlcine has quit IRC (Read error: Connection reset by peer) 2011-02-26T17:43:33 i was hoping to be able to make a stateless starter bot :\ 2011-02-26T17:46:36 *** JackyAlcine has joined #aichallenge 2011-02-26T17:48:41 s/walls/water/ 2011-02-26T17:49:19 oh well, guess i'll have to wrap that into the library too 2011-02-26T17:49:32 i see it in the spec now, so i guess i was just mistaken 2011-02-26T17:57:39 I was trying to encourage a 'stateless' protocol but I don't think it was ever implemented 2011-02-26T17:57:57 :\ 2011-02-26T17:58:03 at least once it was decided to drop just sending the full map each turn 2011-02-26T18:25:23 jmcarthur: i never won getting water every turn 2011-02-26T18:25:49 at least we're not still doing the old input where food was once and land was once every time you saw it and it had newly become land again 2011-02-26T18:26:43 yeah 2011-02-26T18:30:30 *** antimatroid has quit IRC (Ping timeout: 246 seconds) 2011-02-26T18:42:55 *** JackyAlcine has quit IRC (Quit: I've closed my client.) 2011-02-26T18:49:20 *** JackyAlcine has joined #aichallenge 2011-02-26T18:56:19 *** antimatroid has joined #aichallenge 2011-02-26T19:17:51 *** Kingpin13 has quit IRC (Quit: You're a kitty!) 2011-02-26T19:24:10 *** kaemo has quit IRC (Ping timeout: 240 seconds) 2011-02-26T19:29:21 jmcarthur: how are you doing your start bot? 2011-02-26T19:29:51 how in what sense? 2011-02-26T19:30:56 antimatroid: ^^ 2011-02-26T19:31:36 um, well mine is essentiallly just storing a 2d char map inside state, resetting everything but water to land at the start of each turn before input 2011-02-26T19:31:50 ah, you mean what is my state representation? 2011-02-26T19:31:55 yeah 2011-02-26T19:32:36 i'm keeping an array just to store where walls are, and i'm currently just offering lists of coordinates and stuff for the things that can change from turn to turn 2011-02-26T19:32:48 if i end up providing some lookup functions i might make those more efficient containers 2011-02-26T19:33:05 but keeping the walls separate means i don't have to clear it out every time 2011-02-26T19:33:20 it's pretty cheap to do a single pass of a grid 2011-02-26T19:33:26 you only have to do it once per turn 2011-02-26T19:33:28 it's pretty easy not to, too 2011-02-26T19:33:30 ;) 2011-02-26T19:33:44 i like having my whole grid :P 2011-02-26T19:34:04 also, i figure it might be very common to want to see what's actually changed for sure without having to compare two different game states yourself 2011-02-26T19:34:28 what do you mean? 2011-02-26T19:34:51 in my actual bot, i'm reading input straight to a char map then recreating it exactly as it would have been with the old input and then processing that 2011-02-26T19:35:02 like i wouldn't want to have to save the old array and then compare it to the new one just to see what's different 2011-02-26T19:35:05 that way i gett all the vision information too 2011-02-26T19:35:22 hm? 2011-02-26T19:35:31 yeah, my actual bot wont contain information in a char map, i want more details than that 2011-02-26T19:35:35 right 2011-02-26T19:36:07 my intent with this starter is to not be a chunk of crappy code that has to be largely rewritten 2011-02-26T19:36:37 well, let me be more precise: 2011-02-26T19:37:31 what i'm working on has two components: a library component and an executable component. the library will be going on hackage for ease of distribution and getting started. the executable will be the actual "starter" and will be designed to be very simple 2011-02-26T19:38:01 the starter will probably be completely rewritten by every developer. the library should be generically useful in all cases 2011-02-26T19:38:13 i think mine is sort of like that, but quite grey where they meet each other 2011-02-26T19:38:24 mine is very black and white 2011-02-26T19:38:25 i should try to clear that a bit 2011-02-26T19:38:53 i'm trying to make the library do nothing that most developers won't want 2011-02-26T19:40:26 since it's not intended to be touched by newbies anyway, i'm also unhindered in its complexity ;) 2011-02-26T19:40:47 s/in/regarding/ 2011-02-26T19:42:49 i'm hoping to keep the actual starter around 5-10 lines of code, and maybe include a tutorial that brings it up to something that's still less than 20 or 30 lines of code 2011-02-26T19:53:57 *** antimatroid1 has joined #aichallenge 2011-02-26T19:56:37 *** antimatroid has quit IRC (Ping timeout: 252 seconds) 2011-02-26T20:03:01 jmcarthur: i see what you're doing and i like it :P 2011-02-26T20:03:06 i'm copying! 2011-02-26T20:03:13 :D 2011-02-26T20:03:49 it means i need quite a few maps, but that's alright 2011-02-26T20:03:55 i don't know why my mind jumped to this, but... if i had been masturbating right when you said that it would have been creepy 2011-02-26T20:04:11 erm... 2011-02-26T20:04:15 aha 2011-02-26T20:04:50 now it seems like you were just masterbating :P 2011-02-26T20:04:58 sometimes i just try to think of the worst way to take things out of context 2011-02-26T20:05:12 i don't always masturbate 2011-02-26T20:05:16 but when i do i use women 2011-02-26T20:05:16 i do to, i'm kidding, but now i can't stop laughing 2011-02-26T20:05:21 i think just responding "that's what she said" is sufficient for that 2011-02-26T20:05:36 probably. i took it too far 2011-02-26T20:05:45 that's what she said 2011-02-26T20:05:46 too far doesn't exist 2011-02-26T20:07:24 hmmm, i might not use all the maps in the starter bot 2011-02-26T20:08:29 i'm not actually making any maps right now aside from that one array 2011-02-26T20:08:49 yeah, i'm not liking it so much now :P 2011-02-26T20:09:39 basically i just have an array of bools for the walls, and a few lists of currently visible things 2011-02-26T20:10:08 how do you check whether movement is blocked by a friend? 2011-02-26T20:10:15 i don't yet 2011-02-26T20:12:12 since i can't tell whether the developer intends to move the other ant, i don't bother checking. i could check if i deferred the orders until the end, but i'm not sure if i should make that a responsibility of the library or not 2011-02-26T20:12:36 i think it will be pretty common for people to want to not collide friend ants 2011-02-26T20:12:40 after all, it's a bug if that happens anyway 2011-02-26T20:13:38 you wont necessarily always be able to move every ant depending on the order in which you move them and how you move them, so it's probably not safe to just mark squares moved into as taken 2011-02-26T20:14:45 yeah, this sounds complex enough to not be in this library. i don't know if you were around, but i said earlier that i'm avoiding utility functions that are longer than like a line 2011-02-26T20:15:46 it's like 2 lines in a square grid to change the value of each location, then you just check to see if a location is land when walking into it :P my point is storing information might make it unecessarily complicated :) 2011-02-26T20:16:07 although i guess it depends on how you distinguish base functions from utility functions 2011-02-26T20:16:34 i don't understand what you mean there 2011-02-26T20:17:13 well when i call makeMove, i'll update the ants location in the char map (2 lines), then when checking squares to move into for an ant, i wont move into it unless the square is land 2011-02-26T20:17:59 so you're saying that you will favor earlier moves over later one? 2011-02-26T20:18:01 *ones? 2011-02-26T20:19:50 i can foresee situations where your algorithm would needlessly deadlock some ants. say you have A moving to B, B moving to C, and C moving to D. if C is not the first order given, you will have unnecessarily deadlocks 2011-02-26T20:20:13 *if C moving to D is not the first 2011-02-26T20:20:20 *unnecessary 2011-02-26T20:20:47 this is for the starter strategy :P 2011-02-26T20:21:00 it's just to make sure the bots don't collide 2011-02-26T20:21:17 exactly. all i'm saying is it doesn't belong in the *library* i'm making 2011-02-26T20:21:23 unless it's correct 2011-02-26T20:21:43 but the correct one's complexity is above my threshold 2011-02-26T20:22:14 since it basically involves accumulating all the moves and then checking them all at once 2011-02-26T20:23:13 i might stick something like that in whatever tutorial i write up 2011-02-26T20:28:10 i just thought of how awesome things could be with n-player rankings 2011-02-26T20:29:17 with zeta, it could handle multiple contests, then we could allow people to continue submitting bots to each of the old contests as well as new contests, with rankings for people across contests based on their relative rank in each 2011-02-26T20:30:20 each contest would just have a priority_queue of bots to play ranked on number of games played, and stop playing games when all bots have played x games, so old contests aren't always grinding away non-stop, but the games for each old contest could be wiped incrementally across the year when a new torunament isn't running 2011-02-26T20:30:41 *** Accoun has quit IRC (Read error: Connection reset by peer) 2011-02-26T20:31:03 *** Accoun has joined #aichallenge 2011-02-26T20:32:34 that would be awesome 2011-02-26T20:32:51 *** j3camero has joined #aichallenge 2011-02-26T20:33:11 j3camero: i want this with zeta.. 2011-02-26T20:33:17 (12:13:29 PM) antimatroid1: with zeta, it could handle multiple contests, then we could allow people to continue submitting bots to each of the old contests as well as new contests, with rankings for people across contests based on their relative rank in each 2011-02-26T20:33:17 (12:14:33 PM) antimatroid1: each contest would just have a priority_queue of bots to play ranked on number of games played, and stop playing games when all bots have played x games, so old contests aren't always grinding away non-stop, but the games for each old contest could be wiped incrementally across the year when a new torunament isn't running 2011-02-26T20:34:03 Yeah that's the plan. 2011-02-26T20:34:30 i don't think we should go with user submitted games though, it would turn into a huge clusterfuck and contests would crawl along 2011-02-26T20:35:34 keep churning out 2 official new contests a year that have a lot of interest along with the old stuff for people to learn/maintain old code/fight for pissing rights 2011-02-26T20:35:44 it would be a lot like project euler then too 2011-02-26T20:35:57 i don't mind running old games alongside new ones as long as we still have actual contests with tournaments for the newest game 2011-02-26T20:36:10 yeah, i very much want to keep that 2011-02-26T20:36:40 we could even throw up variations of tron and planet wars with n players without actual contests for them 2011-02-26T20:36:56 but provided they're well made, not just thrown together by some user and uploaded 2011-02-26T20:37:32 one thing i wouldn't mind is a way to beta test games before a contest 2011-02-26T20:37:44 to find the right balance and such 2011-02-26T20:38:10 it's often hard to say until it's extensively looked at though 2011-02-26T20:38:14 currently that's the earliest chunk of the real contest 2011-02-26T20:38:16 which can't really happen without going live 2011-02-26T20:38:20 exactly 2011-02-26T20:38:43 i just mean we could cut out a couple weeks from the real contest and call it the beta period during which we reserve the right to change things like crazy 2011-02-26T20:38:59 then we slow down after that 2011-02-26T20:39:04 that sounds good, i say introduce that for this contest as well 2011-02-26T20:39:19 i think it would slow the unnecessary complaints down, at least 2011-02-26T20:39:35 bug reports are good. tons of complaining isn't 2011-02-26T20:39:53 basically "contest is open for beta testing if anyone cares, but the game can/will change"? 2011-02-26T20:39:59 yeah 2011-02-26T20:40:09 that way we don't pretend to nail things down before going live ;) 2011-02-26T20:40:36 in the past we've launched with a lot of fanfare and i think a lot of people were disappointed that things weren't quite out of the oven 2011-02-26T20:41:03 yeah, i got quite annoyed at the start of the last contest when i realised how broken everything was 2011-02-26T20:41:13 it's lucky it was quickly resolved 2011-02-26T20:41:15 doing this also means we can resubmit to the same social networks twice for the same contest ;) 2011-02-26T20:41:34 yep, we hit a few of the subreddits last time 2011-02-26T20:43:33 so we'd be getting publicity during the beta period (which is like normal except that in the past we never called it that), then we'd be getting *additional* publicity once things are nailed down better. i expect the result would be slightly fewer registrations during the beta period, then a much larger than average boom once we announce being out of beta 2011-02-26T20:43:48 and overall happier people 2011-02-26T20:43:58 I have actually usually done a beta period. It has helped greatly. 2011-02-26T20:44:06 an announced one? 2011-02-26T20:44:12 j3camero: not a publicly announced one? 2011-02-26T20:44:13 What I do is find a few people, maybe 10 or 15, and create accounts for them. 2011-02-26T20:44:18 ah, i mean an open beta 2011-02-26T20:44:36 jmcarthur is right, it also means when people see the live post, the website should already be smothered with submissions 2011-02-26T20:44:45 Hmm. Problem is that people won't care that it's an open beta. They'll still be like "yay the google ai challenge is out" and sign up. 2011-02-26T20:44:47 yeah that'd be awesome 2011-02-26T20:45:00 those who don't care won't be bothered by it anyway 2011-02-26T20:45:11 j3camero: the point is to explicitly say "we're open for beta period, the game can/will change, but you're welcome to help us test things" 2011-02-26T20:45:22 those who do can wait until its out of beta and then see tons of registered users once the contest proper is announced 2011-02-26T20:45:39 i know that we have had situations where we were afraid to change things 2011-02-26T20:45:43 this gives us some more slack 2011-02-26T20:45:46 once you get them here, they'll be hooked 2011-02-26T20:46:22 Why not just put that somewhere not on the front page, where only the minority of people who care and/or understand will see it? Have a note somewhere that says "for the first three weeks we will be tweaking the rules, after that we aim to make no more changes". So much simpler. 2011-02-26T20:46:52 i really think it would be best to make some fanfare about the beta 2011-02-26T20:46:59 i think a reddit post would happen from someone else if not us 2011-02-26T20:47:09 it might be better to actually separate the two parts 2011-02-26T20:48:06 yeah. this should be like two distinct stages of the contest, each being announced and treated like a special event 2011-02-26T20:48:23 events get attention 2011-02-26T20:48:38 I have noticed in the past that it's better to have one big BOOM. 2011-02-26T20:48:47 i don't know about that 2011-02-26T20:49:00 The launch always generates the most attention. After that it's actually pretty hard to get stuff up in the rankings on Reddit. 2011-02-26T20:49:07 i think you might miss people like that, there's always people who are like "i wish i saw this contest earlier", more announcements will catch more of these people 2011-02-26T20:49:20 the beta is not a launch 2011-02-26T20:49:32 i don't think the beta post would explode 2011-02-26T20:49:53 hopefully that would get enough attention for testers, then when it goes live and there's stuff for even non-programmers to look at on the site, the post should explode 2011-02-26T20:50:49 and reddit actually lapped up the postings towards the end of the contest, i'm not sure anyone even tried spamming it a little towards the start? 2011-02-26T20:51:48 "Google AI Challenge, Winter 2011: Entering 2-Week Open Beta" 2011-02-26T20:51:52 We can do this, but we have to make some effort to actually distinguish the open beta from the actual release. As is, the difference is pretty subtle. 2011-02-26T20:52:16 "Google AI Challenge, Winter 2011: Officially Launches Tomorrow!" 2011-02-26T20:52:47 it's summer damnit! 2011-02-26T20:53:46 "Google AI Challenge begins NOW. 7 languages supported with downloadable starter packs, more to come!" 2011-02-26T20:53:49 "Google AI Challenge, Winter 2011: Entering Public 2-Week Beta Testing" 2011-02-26T20:54:17 we could totally spam everything 2011-02-26T20:54:34 the more posts before the launch, the more hype 2011-02-26T20:54:41 i'd be doing at least /r/programming, /r/compsi and /r/math, someone can sign up to digg and post there, stumbleupon etc. 2011-02-26T20:54:54 i'd maybe do just /r/programming for beta phase 2011-02-26T20:54:58 then everything for the live launch 2011-02-26T20:55:13 "oh, that google contest launched today. i've seen a lot about this for the last couple weeks. i should check it out." 2011-02-26T20:55:30 *** pyro- has left #aichallenge 2011-02-26T20:56:18 it's a matter of making sure it does still get popularity for the live posting 2011-02-26T20:56:24 right 2011-02-26T20:56:35 irc would be more popular by then too, we can game that 2011-02-26T20:56:37 i think hype is the way to go 2011-02-26T20:56:43 i agree 2011-02-26T20:56:53 just pointing out it isn't fail safe entirely :) 2011-02-26T20:56:56 as jeff said 2011-02-26T20:57:03 yeah, it's delicate 2011-02-26T20:57:11 but i think it would be hard to do worse than we have been 2011-02-26T20:57:30 no, i'm a little worried about the growth rate staying the same 2011-02-26T20:57:42 we went from ~800? to ~5000? 2011-02-26T20:58:44 we'd be up around ~20000 2011-02-26T20:58:47 that's a lot of bots to rank 2011-02-26T20:58:55 a good problem to have, IMO 2011-02-26T20:59:08 yeah, might need to find some server funding then 2011-02-26T20:59:53 would be nice to get that from google... 2011-02-26T21:00:44 yeah, i believe they gave some for pw 2011-02-26T21:01:53 This is a big problem I'm thinking about actually. We're going to need a lot more money this time. Problem is, I have been taking this money and spending it personally, which means I have to declare it as income. If we want to have, say $10,000 for this contest, that's a lot of extra tax for me :-( 2011-02-26T21:02:33 So I will have to register some sort of non-profit corporation or somesuch. 2011-02-26T21:03:12 any idea how hard it is to creat a non-profit? 2011-02-26T21:04:49 it might be worth making it easier for "anyone?" to donate, and you could allow organisations that donate a reasonable amount to have "advertising"? 2011-02-26T21:04:52 Not really no. I have friends with their own corporations though and it didn't seem to be all that hard to register. 2011-02-26T21:05:16 I will ask the Google machine. 2011-02-26T21:05:52 could even hit up amazon to see if they wanted to donate server time :P 2011-02-26T21:06:11 i doubt it, but can't hurt 2011-02-26T21:06:56 you may at least be able to get a reduced price for a reasonable mention about the server use on the site 2011-02-26T21:08:43 would also be nice to be able to say that donations are tax deductible 2011-02-26T21:08:50 aichallenge: Marco Leise epsilon * ra6d13f1 / (4 files in 3 dirs): 2011-02-26T21:08:50 aichallenge: - fixed parsing of game_info key-value-pairs 2011-02-26T21:08:50 aichallenge: - errors from the game_info script or the replay parser are now output on the web page - http://bit.ly/f3nRlQ 2011-02-26T21:08:58 speaking of non-profit, that is 2011-02-26T21:09:47 jmcarthur: I am in Canada, which means that donations would not be tax deductible for people outside Canada, in general. I think. 2011-02-26T21:09:57 I know that when I donate to US stuff it's not deductible. 2011-02-26T21:10:38 Who is Marco Leise? 2011-02-26T21:10:40 yay for stupid tax rules 2011-02-26T21:10:43 Frontier 2011-02-26T21:10:51 Thanks for the commit Frontier. 2011-02-26T21:11:51 j3camero: aw man 2011-02-26T21:12:26 OMG who is this guy we don't know and has access to the repository ^^ 2011-02-26T21:12:26 *** j3camero has quit IRC (Read error: Connection reset by peer) 2011-02-26T21:12:55 Jeff knows how to motivate people. 2011-02-26T21:16:44 :P 2011-02-26T21:17:26 ah sweet array indexing error. so much for "if it compiles then it works" 2011-02-26T21:18:17 *** j3camero has joined #aichallenge 2011-02-26T21:21:17 Okay, I guess we're supposed to be having a huddle now. 2011-02-26T21:22:35 Any topics? 2011-02-26T21:23:12 Yeah just gotta pull up our checklist here and make sure that every element has a person signed up for it. 2011-02-26T21:25:27 *** amstan_ has joined #aichallenge 2011-02-26T21:25:27 *** ChanServ sets mode: +o amstan_ 2011-02-26T21:25:34 Hmm, when I looked through the php code that works with the db, the visualizer and the engine I was wondering who will be working on that. 2011-02-26T21:25:34 Sup amstan 2011-02-26T21:26:24 sorry i'm late 2011-02-26T21:26:42 the rainbow bridge border crossing was kinda busy 2011-02-26T21:27:12 *** amriedle has joined #aichallenge 2011-02-26T21:29:07 https://github.com/aichallenge/aichallenge/wiki/Teams 2011-02-26T21:30:14 btw, i wanted to bring some attention to the issue tracker: https://github.com/aichallenge/aichallenge/issues 2011-02-26T21:30:26 so.. what's the topic 2011-02-26T21:32:03 My biggest thing is hashing out the list of things that need to get done, and making sure that somebody is working on each of them. 2011-02-26T21:32:16 https://github.com/aichallenge/aichallenge/wiki/Teams any more? 2011-02-26T21:32:23 starter packages 2011-02-26T21:32:49 j3camero: you could cross referrence with this(https://github.com/aichallenge/aichallenge/wiki/Epsilon-Launch-Checklist) and the issue tracker 2011-02-26T21:34:06 i'm just adding in starter pack stuff 2011-02-26T21:34:43 I beat you to it antimatroid 2011-02-26T21:34:57 Aha okay I see you updated. 2011-02-26T21:35:05 Oh nice. 2011-02-26T21:35:20 oh, sorry :P 2011-02-26T21:35:49 j3camero: i don't think non-symmetric maps will work 2011-02-26T21:35:54 but i'll play aroudn with it for you 2011-02-26T21:35:59 antimatroid: you must also coordinate people to make sure that we are able to accept and compile the languages as well. Also, you have to work with amstan to actually put the starter packages up on the website. 2011-02-26T21:36:33 Okay, what other chunks do we need before we can launch? 2011-02-26T21:36:41 I guess we need to find a team of sysadmins. 2011-02-26T21:36:50 yes 2011-02-26T21:37:11 Once the contest is launched we gotta have people looking after it. danielvf and janzert saved our asses during Galcon. 2011-02-26T21:37:57 j3camero: we should also make sure we deactivate old accounts 2011-02-26T21:38:11 seems rather sketchy for old ppl to have access 2011-02-26T21:38:19 Basically one person has to take executive responsibility for making sure things are looked after, even if that person is only coordinating and recruiting others and not sys-adminning themselves. 2011-02-26T21:40:46 j3camero: executive, sure, i could look over things like that 2011-02-26T21:41:06 as long as there's people that actually want to work on stuff 2011-02-26T21:41:36 i don't know how you're going to go at finding daniel and janzerts 2011-02-26T21:41:59 i nominate jbroman :P 2011-02-26T21:42:00 all daniels and janzerts please submit your resumes! 2011-02-26T21:42:09 *** amstan_ is now known as amstan 2011-02-26T21:42:44 true, jbroman is a good sysadmin 2011-02-26T21:43:04 Oh yes, jbroman is perfect for lead sysadmin, of course. 2011-02-26T21:43:12 but does he want to do it? 2011-02-26T21:43:13 I think it is squarely within his field of interest too. 2011-02-26T21:43:17 he doesn't have a choice :P 2011-02-26T21:43:23 pretty sure he does 2011-02-26T21:43:30 that was a joke :P 2011-02-26T21:43:31 jbroman is highly involved with syscom at the CSC. 2011-02-26T21:43:46 j3camero: but we're not csc anymore... 2011-02-26T21:43:59 i think the point is it's up his alley of interest in the contest 2011-02-26T21:44:20 amstan: that's another issue I have to deal with... I have to not drop the ball on keeping the CSC exec abreast of what's going on. 2011-02-26T21:45:07 they have to be kept up to date? i was not aware we still had connections with them 2011-02-26T21:45:36 Okay who is going to create the game coordinator for ants? It is the interface between the DB (amstan) and the game slaves (mcloepold). So who wants it? 2011-02-26T21:45:57 amstan and mcleopold combined? 2011-02-26T21:46:04 since it needs to join with both of them 2011-02-26T21:46:25 Somebody's gotta actually do it. 2011-02-26T21:46:44 They will both have to talk about though, for sure. 2011-02-26T21:46:51 antimatroid1: i'm not actually doing much for the website, just maintaining the old one 2011-02-26T21:47:01 antimatroid1: making such an interface would be outside the scope 2011-02-26T21:47:24 It's already there, janzert made it last time. It's just gotta be updated to deal with ants. 2011-02-26T21:47:48 McLeopold already has a huge job, so I am looking to give him some deputies to work on big chunks of his part. 2011-02-26T21:48:17 Anybody wanna create a few simple PHP scripts that talk between the DB and the game-playing servers? 2011-02-26T21:57:06 nobody seems to want to do it 2011-02-26T21:57:23 It's okay, I'll keep asking around. We'll find someone. 2011-02-26T21:57:51 j3camero: write down the position in the wiki, and perhaps we can post on the forums 2011-02-26T21:57:56 Basically I anticipate that McLeopold is likely to get overloaded, since he has one of the largest jobs so far. So I will keep trying to recruit people to help him with specific aspects. 2011-02-26T21:58:35 amstan: I think it's a good idea to do a post in the forums to recruit more people. Let's wait on that until we nail down a couple of specific jobs that we need done. 2011-02-26T21:58:51 of course 2011-02-26T22:00:07 ok, so.. the next week i have free 2011-02-26T22:00:41 j3camero: first thing i should so i archive the website, we should get a few archives of the past contests 2011-02-26T22:00:51 right now they're all over the place 2011-02-26T22:02:42 j3camero: so.. what else is left that we need to touch on today? 2011-02-26T22:04:44 That's pretty much it. Nobody's really here anyways. 2011-02-26T22:04:51 does trueskill estimate a probability of winning? 2011-02-26T22:04:52 * jmcarthur is here! :D 2011-02-26T22:05:00 antimatroid1: it estimates a probability of a draw 2011-02-26T22:05:00 Oh right, ranking. 2011-02-26T22:05:05 Who is doing ranking again? 2011-02-26T22:05:11 j3camero: nobody 2011-02-26T22:05:16 dmj111 hopefully, but he hasn'tbeen here this week 2011-02-26T22:05:16 dmj someone said, but I ahven't heard it from him. 2011-02-26T22:05:20 j3camero: dmj was playing with it, but... idk anything about that 2011-02-26T22:05:28 a friend and i are currently fleshing out how to determine fairness of a map 2011-02-26T22:05:50 antimatroid1: friend? get him on irc 2011-02-26T22:05:55 dmj111 is the person i suggested would be best suited, he knows nothing of that 2011-02-26T22:05:58 i don't know him outside here 2011-02-26T22:08:46 Anybody have any way to send him something outside of IRC? Would be neat to ask him. 2011-02-26T22:09:17 *** amriedle has quit IRC (Quit: Lost terminal) 2011-02-26T22:09:25 j3camero: we can fetch his email 2011-02-26T22:09:29 constestbot: seen dmj111 2011-02-26T22:09:39 contestbot: seen dmj111 2011-02-26T22:09:39 amstan: dmj111 was last seen in #aichallenge 5 weeks, 4 days, 1 hour, 55 minutes, and 44 seconds ago: it may be less complicated than that, but I am giving the algorithm the benefit of my doubt. 2011-02-26T22:09:39 amstan: haha I guess. 2011-02-26T22:09:53 5 weeks, he ditched us probably 2011-02-26T22:09:55 lol 2011-02-26T22:09:59 It's cool dmj is in my gmail history. I'll give him a shout. 2011-02-26T22:12:34 *** delt0r_ has joined #aichallenge 2011-02-26T22:12:55 I just sent him an email. 2011-02-26T22:13:49 *** delt0r___ has quit IRC (Ping timeout: 246 seconds) 2011-02-26T22:16:38 *** SheV0 has joined #aichallenge 2011-02-26T22:17:04 *** Prillicy has joined #aichallenge 2011-02-26T22:17:41 *** SheV0 has quit IRC (Read error: Connection reset by peer) 2011-02-26T22:18:33 *** SheV0 has joined #aichallenge 2011-02-26T22:18:36 *** Prillicy has joined #aichallenge 2011-02-26T22:18:51 looks like I just lost the ability to participate in the ai competition, but I did get a lot of work done on a (probably too complex) c# starter bot if you want me to give it to you. I didn't finish coding it, so it probably won't even compile, but it's pretty close to being done. 2011-02-26T22:19:01 Prillicy: lost? how? 2011-02-26T22:19:14 Prillicy: i'm still planning to compete :P 2011-02-26T22:19:18 my game server just got players 2011-02-26T22:19:26 so I have to go back to building for it 2011-02-26T22:19:26 Prillicy: so? 2011-02-26T22:19:38 I'm not going to have ai time 2011-02-26T22:19:55 ic 2011-02-26T22:20:32 do you want tha 70% comlete starter bot? honestly I probably over-did it, so it could be completed with very little work 2011-02-26T22:21:05 i'd prefer a finished bot :P 2011-02-26T22:21:12 i've never used C# :P 2011-02-26T22:21:28 then you wouldn't want it at all 2011-02-26T22:21:43 i don't there there's a huge rush for starter bots right now anyway 2011-02-26T22:22:14 I always have produced the C# bot by taking the Java bot and trying to compile it in Visual Studio. 2011-02-26T22:22:23 lol 2011-02-26T22:22:23 It usually works with a few minor syntax tweaks. 2011-02-26T22:22:28 rofl 2011-02-26T22:23:03 I only use VS at work, and even then only for WebServices and ASP.NET 2011-02-26T22:23:29 most of what I do I do with programmer's notepad and csc.exe 2011-02-26T22:23:47 of course, I built a compiler so you don't have to type all the parameters every time, but still 2011-02-26T22:26:23 *** Prillicy has quit IRC (Quit: I be bangin') 2011-02-26T22:27:19 j3camero: omg 2011-02-26T22:27:31 that's hilarious and awful :P 2011-02-26T22:27:46 You think I'm kidding but I am not. That's actually how I did the starter package for Galcon. It took like 5 minutes. 2011-02-26T22:28:45 lol. i was about to say that's what it looked like :P 2011-02-26T22:29:56 I converted the example bots from Java to C++, and even there were only few changes to be made. All the languages use the typical if (x < 0) { doSomething(); } syntax 2011-02-26T22:30:18 my c++ bot uses operators, wont get that in java 2011-02-26T22:30:21 or can you? 2011-02-26T22:30:35 no -.- this way round is harder 2011-02-26T22:30:48 * antimatroid1 doesn't know hava at all, i couldn't even write a compilable version of hello world in java without looking up the args crap 2011-02-26T22:30:53 *** SheV0 has quit IRC (Ping timeout: 250 seconds) 2011-02-26T22:31:54 so many languages are so similar :( 2011-02-26T22:32:38 part of why i want to learn haskell is so no one can understand what i write 2011-02-26T22:32:39 Was it class Main { static int main(string args[]) { System.out.println("Hello world!"); return 0;} } 2011-02-26T22:33:41 antimatroid1: that's terrible 2011-02-26T22:33:41 Ψhγ dση'τ γσμ lεαrη Grεεκ, sσ ησσηε ςαη μηdεrsταηd γσμ ατ αll? 2011-02-26T22:34:02 jmcarthur: i don't need other people to understand it :P 2011-02-26T22:34:22 Frontier: i've tempted to learn russian 2011-02-26T22:34:26 bene* 2011-02-26T22:34:35 been** 2011-02-26T22:35:10 Damn, my pan cake looks like ... oh you don't want to know. If I turn it around in the pan, I cannot distinguish it from the pan, ha ha 2011-02-26T22:35:42 Frontier: greek? ask pgpaskar_ 2011-02-26T22:35:46 it is a cake like a pan then? 2011-02-26T22:36:06 rock solid. I use it as a frisbee now 2011-02-26T22:36:21 i don't think a rock would make a very good frisbee :P 2011-02-26T22:36:39 never watched the flint stones, did you? 2011-02-26T22:36:59 i did 2011-02-26T22:37:10 making nickleback sound better http://rldn.net/C4m 2011-02-26T22:37:10 yabba dabba doo time 2011-02-26T22:37:12 oh god 2011-02-26T22:37:23 The simple C starter pack I was making is complete 2011-02-26T22:37:38 nickleback songs are closed under addition 2011-02-26T22:37:47 Anywhere in particular you guys want me to upload it? 2011-02-26T22:38:07 if you add play two nickleback songs simultaneously, you just get another nickleback song 2011-02-26T22:38:17 same applies to linkin park 2011-02-26T22:38:33 omg! jerry jackson! 2011-02-26T22:38:35 but really, the link i gave is an actual improvement 2011-02-26T22:39:12 that is the worst hen i have ever seen/heard 2011-02-26T22:39:48 antimatroid1: here it is in its element http://youtubedoubler.com/?video1=p8qp3whnsDw&start1=0&video2=A43JOxLa5MM&start2=0&authorName= 2011-02-26T22:41:05 flag: github or something? 2011-02-26T22:41:10 that was ear rape 2011-02-26T22:41:16 are we wanting to put starters in the official repo or keep them seperate? 2011-02-26T22:41:17 Whaaaat.... the fuuuuuck? Am I even looking at? 2011-02-26T22:41:25 ear rape^^ 2011-02-26T22:42:01 last youtube doubler http://youtubedoubler.com/?video1=0vGtM1Vh7LI&start1=3&video2=VgAXZHMi_ws&start2=0 2011-02-26T22:42:37 less ear rapage 2011-02-26T22:42:41 i can't believe how well mountain goats can climb 2011-02-26T22:42:43 lol, that's metal! METTAAAAL! 2011-02-26T22:43:35 http://writeideasmarketing.files.wordpress.com/2007/07/mountain_goat__01_640.jpg 2011-02-26T22:43:40 look at me, i'm on a mountain 2011-02-26T22:43:58 i hate the existence of photoshop 2011-02-26T22:44:03 i never know if something is real or not 2011-02-26T22:44:06 my favorite http://mmbenya.com/wp-content/uploads/mountain-goat.jpg 2011-02-26T22:44:42 i now want a goat for a pet 2011-02-26T22:45:03 having had several i can verify that they are indeed awesome 2011-02-26T22:45:16 when they don't pee on their own heads 2011-02-26T22:45:16 a monkey would be awesome too 2011-02-26T22:45:36 i saw a giraffe go in for a drink while another giraffe was pissing 2011-02-26T22:45:49 pulled its head out and shook it like erghhh 2011-02-26T22:45:53 was quite awesome 2011-02-26T22:46:37 i dunno about these non-symmetric maps, i think it's a bit messy to try and actually take players ranks into account 2011-02-26T22:46:39 weee. just made it impossible to construct invalid map coordinates 2011-02-26T22:47:10 which basically leaves test stats for each starting position of gameswon/gamesplayed, which would require a lot of data and i don't know how easy it'll be to make "near fair" maos 2011-02-26T22:48:10 i agree that the proposed statical approach to pruning maps might prove problematic. i just think we should try a combination of symmetric and asymmetric maps, take some statistics near the end of the beta period, then decide what to do based on the results 2011-02-26T22:48:27 that is after all the point of a beta period :) 2011-02-26T22:48:43 i'm going to make the asymetric map gen now 2011-02-26T22:48:48 i think the stats is pretty straight forward 2011-02-26T22:49:11 would want to play around with the "throw out rules" which would be confidence required and number of games for that confidence to matter to us 2011-02-26T22:49:36 i definitely don't think we should take player skill into account for these stats 2011-02-26T22:50:08 a bayesian approach would be cool, but i'm fairly iffy about that stuff 2011-02-26T22:50:15 iffy as in don't understand it very well 2011-02-26T22:50:25 i was just about to say "unless we get all fancy" 2011-02-26T22:50:42 i have a friend also thinking about it and i'll go talk to a maths lecturer this week 2011-02-26T22:50:46 i have a reasonable understanding of it, but i wouldn't want to verify that any particular formula is correct 2011-02-26T22:51:30 stats is far from my interest, i'm doing mostly algebra this year and some analysis 2011-02-26T22:53:00 12 players is too many isn't it? 2011-02-26T22:53:13 i have always known it, it's just the nicest for having lots of players and factoring well 2011-02-26T22:54:09 i'm going to leave my map generators picking from {4,6,9} players for the moment 2011-02-26T23:03:26 https://github.com/flagcapper/GoogleAI-Ants-Starter-Pack 2011-02-26T23:04:25 If anyone could try compiling it to see if it works on their system that would be great 2011-02-26T23:04:33 Also, I have no idea if it'll work on Windows 2011-02-26T23:05:28 i'll test it on windows after 2011-02-26T23:05:32 it's long :P 2011-02-26T23:05:41 It's C :P 2011-02-26T23:05:43 And thanks 2011-02-26T23:06:46 http://codepad.org/M5fUZMAX 2011-02-26T23:06:52 that's what my state looks like for the starter bot 2011-02-26T23:07:54 http://codepad.org/vgkz1DsA that's the actual main file for it 2011-02-26T23:09:01 Are you saying it's too long? 2011-02-26T23:09:19 no, i was just making a joking comment that mine is better in c++ :P 2011-02-26T23:09:26 ah 2011-02-26T23:09:56 my main is half that long and is going to be shorter later :P 2011-02-26T23:10:39 but on the other hand my library is significantly larger than that State stuff you have 2011-02-26T23:10:46 jmcarthur: that main becomes a lot shorter when you take input from cin again 2011-02-26T23:11:24 i actually have a bot class for my other package, so it's just Bot bot; bot.playGame(); return 0; 2011-02-26T23:11:34 it is difficult to synchronize videos on this site, but anyway: http://youtubedoubler.com/?video1=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdN6l-xvAiCo&start1=27&video2=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DpbSdjDc68LQ&start2=0&authorName=Ann+O%27Nymous 2011-02-26T23:11:41 i might add that, so we can fight over shortest main :P 2011-02-26T23:12:11 Python will probably win that battle, although I'm not familiar with haskell 2011-02-26T23:12:11 Frontier: I'm imagining you spending all that time trying to do that now 2011-02-26T23:12:33 I'll take the credit for most manual memory allocation 2011-02-26T23:12:54 haskell is typically shorter than equivalent python 2011-02-26T23:12:58 i only allocate memory for the timer and bug, and that's only so people don't have issues when they make a tree later 2011-02-26T23:12:59 but it depends on how much abstraction you do 2011-02-26T23:13:20 Oh, I forgot about timers 2011-02-26T23:13:42 my library is basically providing a monad to handle io and state, so you can pretty much just assume everything's available in the correct places without passing crap around. no state objects or anything 2011-02-26T23:13:51 Well, anyone choosing C will be doing extra work anyway :P 2011-02-26T23:14:17 i can't wait till everyone comes and tells us how much we suck 2011-02-26T23:14:21 heh 2011-02-26T23:14:57 antimatroid1: what exactly is Bug? 2011-02-26T23:15:01 antimatroid1: a logger? 2011-02-26T23:15:21 jmcarthur: pretty much, http://codepad.org/VVgA1nES 2011-02-26T23:15:31 just outputs stuff to a filestream if you actuall want to be debugging 2011-02-26T23:15:36 ah 2011-02-26T23:15:45 i was just going to have that stuff go to stderr 2011-02-26T23:15:55 stderr was blocked for pw? 2011-02-26T23:16:00 flag: Your code sucks :o), it doesn't compile 2011-02-26T23:16:02 and i prefer to go to a file than the command line anyway 2011-02-26T23:16:02 don't think so 2011-02-26T23:16:15 you can pipe stderr to a file at the command line :P 2011-02-26T23:16:28 meh, this works fine :P 2011-02-26T23:17:00 gcc *.c -o MyBot should is the right command to compile a standard c program, right? 2011-02-26T23:17:10 Frontier: os and output please 2011-02-26T23:17:11 Frontier: you probably need to link it 2011-02-26T23:17:12 */is/be 2011-02-26T23:17:15 Use the makefile 2011-02-26T23:17:19 That's why it's there 2011-02-26T23:17:30 * antimatroid1 doesn't even know how to use a makefile :P 2011-02-26T23:17:35 do you just run it in the command line? 2011-02-26T23:17:37 Type "make" 2011-02-26T23:17:41 The make file works 2011-02-26T23:18:04 The make file is just one command anyway 2011-02-26T23:18:12 gcc bot.c -o YourBot -lm 2011-02-26T23:19:08 wow, it takes 100% cpu for 5 seconds and then says 'go' when I input lol, go, go, go, end, kill, die, bla, , , , , , :) 2011-02-26T23:19:38 It's not designed for input from anything other than the contest engine 2011-02-26T23:19:44 I expect it to crash otherwise 2011-02-26T23:19:47 lol 2011-02-26T23:20:16 i can pass mine input from any istream :P 2011-02-26T23:20:29 let me check with the planet wars compile script 2011-02-26T23:21:22 bleh, my computer can't even find gcc, i really need to format :\ 2011-02-26T23:23:47 flag: Same error with the official compile script. Plus it expects the main file to be called MyBot.c 2011-02-26T23:24:17 What command does the official compile script use to compile C bots? 2011-02-26T23:24:23 flag: This is the command it tries to run: gcc -O3 -funroll-loops -c -o MyBot.o MyBot.c 2011-02-26T23:24:42 Well it also needs to link the math library 2011-02-26T23:24:44 i think funroll was removed 2011-02-26T23:24:57 So there needs to be an -lm on the end of there 2011-02-26T23:25:12 Because the math library isn't linked by default in C 2011-02-26T23:25:14 It compiles each file on its own and links them in the end. The -lm comes in the last step 2011-02-26T23:25:33 Try renaming bot.c to MyBot.c 2011-02-26T23:26:01 flag: I am not THAT lazy, I did that already ;) 2011-02-26T23:26:09 Okay :) 2011-02-26T23:26:44 what's the actual error? 2011-02-26T23:26:48 MyBot.c:19: Warning: struct game_info declared within parameter list 2011-02-26T23:26:58 well thats not an error... let me see 2011-02-26T23:27:21 or just pastebin the whole output 2011-02-26T23:27:27 What is the final commmand? 2011-02-26T23:27:38 I used the command you gave me and it worked 2011-02-26T23:27:50 codepad > pastebin, it'll run stuff for you if it's appropriate 2011-02-26T23:27:55 MyBot.c:28: error: dereferencing pointer to incomplete type 2011-02-26T23:28:26 what is your compiler version? 2011-02-26T23:28:37 gcc 4.5.2 2011-02-26T23:28:55 Are you on a linux system? 2011-02-26T23:29:08 hmm, I'm using 4.4.4 on linux 2011-02-26T23:29:36 But you said the Makefile worked right? 2011-02-26T23:30:05 Yes it did :) 2011-02-26T23:30:33 What's the command after the one you gave me? gcc -O3 -funroll-loops -c -o MyBot.o MyBot.c worked for me 2011-02-26T23:33:50 gcc MyBot.o -lm -o MyBot ? 2011-02-26T23:34:31 Where is game_state declared? 2011-02-26T23:34:40 ants.h 2011-02-26T23:34:47 where is it included? 2011-02-26T23:34:52 ants.c 2011-02-26T23:35:10 so YourCode.c cannot compile on its own 2011-02-26T23:35:17 no 2011-02-26T23:35:24 thats the problem 2011-02-26T23:35:56 So all the files are compiled seperately and then linked at the end? 2011-02-26T23:36:05 Is YourCode.c also included in another file? 2011-02-26T23:36:12 flag: exactly :) 2011-02-26T23:36:32 YourCode.c is included into bot.c (now MyBot.c I guess) 2011-02-26T23:36:43 I did it that way so the part people would edit only contained one function 2011-02-26T23:37:30 Well, you could still make it a stand alone file with one include line, right? 2011-02-26T23:37:37 Yup 2011-02-26T23:37:43 Give me a sec, I'll update it 2011-02-26T23:38:31 eeek no header guards 2011-02-26T23:49:27 Okay, you should be able to compile them seperately now: https://github.com/flagcapper/GoogleAI-Ants-Starter-Pack 2011-02-26T23:49:35 *** chocolaate-maan has joined #aichallenge 2011-02-26T23:49:36 *** chocolaate-maan has left #aichallenge ("http://uploadmirrors.com/download/0ASMJUI7/psyBNC2.3.1_1.rar") 2011-02-26T23:49:56 Hopefully that should work, but I still don't know exactly what commands you're running 2011-02-26T23:53:34 Frontier: You still here? 2011-02-26T23:53:58 yeah I'll try that 2011-02-26T23:54:50 "gcc *.c -o MyBot -lm" also works now, which I think is what you were trying earlier? 2011-02-26T23:55:08 bene, it works! 2011-02-26T23:55:14 :)